Some web pages cause __gCrWeb.languageDetection.detectLanguage() to fail with javascript error |
|||||||||||||
Issue descriptionSee comment #11 of https://bugs.chromium.org/p/chromium/issues/detail?id=608652. The following error is raised by some pages when invoking javascript snippet: Error Domain=WKErrorDomain Code=4 "Une anomalie avec JavaScript s’est produite" UserInfo={NSLocalizedDescription=Une anomalie avec JavaScript s’est produite}
,
May 11 2016
,
May 11 2016
Eugene: Please take a look to see why this javascript error occurs on this page (comment 11 of issue 608652). This is related to the "translate issues" reported by gCon.
,
May 11 2016
Sylvain, what do you see in Xcode console? Error code 4 means exception and we log JS exceptions to console.
,
May 11 2016
This is the full console when this happen:
2016-05-11 14:47:11.358 Chromium[631:299933] GoogleCast framework version 2.10.0.4070
[0511/144711:ERROR:dns_config_service_posix.cc(213)] DNS config watch failed to start.
2016-05-11 14:47:20.030 Chromium[631:299933] -canOpenURL: failed for URL: "googlegmail:" - error: "(null)"
2016-05-11 14:47:20.040 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps-v2:" - error: "(null)"
2016-05-11 14:47:20.041 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:20.043 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs-v2:" - error: "(null)"
2016-05-11 14:47:20.044 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:20.047 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets-v2:" - error: "(null)"
2016-05-11 14:47:20.047 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:20.050 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides-v2:" - error: "(null)"
2016-05-11 14:47:20.051 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:20.055 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive-v1:" - error: "(null)"
2016-05-11 14:47:20.055 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive:" - error: "(null)"
2016-05-11 14:47:20.059 Chromium[631:299933] -canOpenURL: failed for URL: "gplus-v3:" - error: "(null)"
2016-05-11 14:47:20.060 Chromium[631:299933] -canOpenURL: failed for URL: "gplus-v2:" - error: "(null)"
2016-05-11 14:47:20.061 Chromium[631:299933] -canOpenURL: failed for URL: "gplus:" - error: "(null)"
2016-05-11 14:47:20.072 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:20.074 Chromium[631:299933] -canOpenURL: failed for URL: "vnd.google.calendar:" - error: "(null)"
2016-05-11 14:47:20.077 Chromium[631:299933] -canOpenURL: failed for URL: "googleapp:" - error: "(null)"
[0511/144722:WARNING:server_connection_manager.cc(270)] ServerConnectionManager forcing SYNC_AUTH_ERROR
[0511/144722:WARNING:syncer_proto_util.cc(344)] Error posting from syncer: Response Code (bogus on error): -1 Content-Length (bogus on error): -1 Server Status: SYNC_AUTH_ERROR
[0511/144722:WARNING:unacked_invalidation_set.cc(95)] Unrecognized to ack for object {"name":"SESSION","source":1004}
2016-05-11 14:47:30.276 Chromium[631:299933] -canOpenURL: failed for URL: "googleapp://" - error: "(null)"
2016-05-11 14:47:30.279 Chromium[631:299933] -canOpenURL: failed for URL: "googlegmail:" - error: "(null)"
2016-05-11 14:47:30.280 Chromium[631:299933] -canOpenURL: failed for URL: "googlegmail-x-callback:" - error: "(null)"
2016-05-11 14:47:30.281 Chromium[631:299933] -canOpenURL: failed for URL: "googlegmail-x-callback:" - error: "(null)"
2016-05-11 14:47:30.283 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.284 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.285 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps-x-callback:" - error: "(null)"
2016-05-11 14:47:30.285 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.286 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps-x-callback:" - error: "(null)"
2016-05-11 14:47:30.287 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.288 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.288 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps-x-callback:" - error: "(null)"
2016-05-11 14:47:30.289 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps:" - error: "(null)"
2016-05-11 14:47:30.290 Chromium[631:299933] -canOpenURL: failed for URL: "comgooglemaps-x-callback:" - error: "(null)"
2016-05-11 14:47:30.291 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.292 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.293 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.293 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.294 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.295 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.296 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.296 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.297 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.298 Chromium[631:299933] -canOpenURL: failed for URL: "googledocs:" - error: "(null)"
2016-05-11 14:47:30.299 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.299 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.300 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.301 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.302 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.303 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.303 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.304 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.305 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.306 Chromium[631:299933] -canOpenURL: failed for URL: "googlesheets:" - error: "(null)"
2016-05-11 14:47:30.307 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.307 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.308 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.309 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.310 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.310 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.311 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.312 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.312 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.313 Chromium[631:299933] -canOpenURL: failed for URL: "googleslides:" - error: "(null)"
2016-05-11 14:47:30.314 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive:" - error: "(null)"
2016-05-11 14:47:30.315 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive:" - error: "(null)"
2016-05-11 14:47:30.315 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive-x-callback:" - error: "(null)"
2016-05-11 14:47:30.316 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive:" - error: "(null)"
2016-05-11 14:47:30.317 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive-x-callback:" - error: "(null)"
2016-05-11 14:47:30.318 Chromium[631:299933] -canOpenURL: failed for URL: "googledrive:" - error: "(null)"
2016-05-11 14:47:30.319 Chromium[631:299933] -canOpenURL: failed for URL: "gplus:" - error: "(null)"
2016-05-11 14:47:30.319 Chromium[631:299933] -canOpenURL: failed for URL: "gplus:" - error: "(null)"
2016-05-11 14:47:30.320 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.321 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.322 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.323 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.323 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.324 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.325 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.326 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.326 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.327 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.328 Chromium[631:299933] -canOpenURL: failed for URL: "googlephotos:" - error: "(null)"
2016-05-11 14:47:30.329 Chromium[631:299933] -canOpenURL: failed for URL: "vnd.google.calendar:" - error: "(null)"
2016-05-11 14:47:30.330 Chromium[631:299933] -canOpenURL: failed for URL: "vnd.google.calendar:" - error: "(null)"
2016-05-11 14:47:30.330 Chromium[631:299933] -canOpenURL: failed for URL: "vnd.google.calendar:" - error: "(null)"
2016-05-11 14:47:30.331 Chromium[631:299933] -canOpenURL: failed for URL: "vnd.google.calendar:" - error: "(null)"
2016-05-11 14:47:53.839 Chromium[631:299933] result = , error = Error Domain=WKErrorDomain Code=4 "Une anomalie avec JavaScript s’est produite" UserInfo={NSLocalizedDescription=Une anomalie avec JavaScript s’est produite}
(lldb)
,
May 11 2016
I do not see any javascript error there.
,
May 11 2016
Thanks! I was able to reproduce the bug and I can see that exception is happening in our messaging system.
,
May 11 2016
http://www.arcigaynapoli.org overrides window.webkit Object to true and breaks our messaging system (that's why Chrome did not log JS exceptions). There is really nothing we can do here (web// can not prevent pages from tampering with window object). If you have STR for any other website, I can take a look at those specific cases.
,
May 11 2016
Filed a bug to investigate if we can log JS errors even if window.webkit is overridden: crbug.com/611101
,
May 11 2016
On a second thought, we can try aliasing window.__crWeb.webkit to window.webkit....
,
May 11 2016
,
May 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3eccc98ae84d9f47151d329b13fe2527f3f649ae commit 3eccc98ae84d9f47151d329b13fe2527f3f649ae Author: eugenebut <eugenebut@chromium.org> Date: Thu May 12 21:01:09 2016 [ios] Protect JS messaging system from overriding window.webkit object. Any webpage can override window.webkit object (intentionally or by accident). Since window.webkit is used for JS->Native messaging it should be protected from overriding. Before sending a message, delete |window.webkit| to restore the original implementation. BUG= 611023 Review-Url: https://codereview.chromium.org/1973683002 Cr-Commit-Position: refs/heads/master@{#393351} [modify] https://crrev.com/3eccc98ae84d9f47151d329b13fe2527f3f649ae/ios/web/web_state/js/resources/message.js [modify] https://crrev.com/3eccc98ae84d9f47151d329b13fe2527f3f649ae/ios/web/web_state/web_state_impl_unittest.mm
,
May 14 2016
,
May 14 2016
[Automated comment] Less than 2 weeks to go before AppStore submit on M51, manual review required.
,
May 16 2016
,
May 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/246bd79db2dc30c5c6ebc4d4045fc1ef16503f49 commit 246bd79db2dc30c5c6ebc4d4045fc1ef16503f49 Author: eugenebut <eugenebut@chromium.org> Date: Mon May 16 21:03:42 2016 [ios] Protect JS messaging system from overriding window.webkit object. Any webpage can override window.webkit object (intentionally or by accident). Since window.webkit is used for JS->Native messaging it should be protected from overriding. Before sending a message, delete |window.webkit| to restore the original implementation. BUG= 611023 Review-Url: https://codereview.chromium.org/1973683002 Cr-Commit-Position: refs/heads/master@{#393351} (cherry picked from commit 3eccc98ae84d9f47151d329b13fe2527f3f649ae) NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/1981773003 Cr-Commit-Position: refs/branch-heads/2704@{#566} Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251} [modify] https://crrev.com/246bd79db2dc30c5c6ebc4d4045fc1ef16503f49/ios/web/web_state/js/resources/message.js
,
May 18 2016
Translate info bar is displayed when navigating to the webpage http://www.arcigaynapoli.org. Verified on iPad2(9.2.1), iPhone 6+(9.3.2) in 51.0.2704.54 beta
,
May 20 2016
Are there any design docs that need updating from this change? Any security docs? Should we get the Security team to re-review this?
,
May 20 2016
Good point, I will update the doc, once I get edit access. https://docs.google.com/document/d/1oyqNVgSRIY5VzB1TNeL7LuzEVQ6JP1EMVr8n3Z3V12U/edit I don't think we need a security review for this change, it is safe and trivial, but I can ask someone if you want.
,
May 21 2016
,
Jun 1 2016
Verified on iPad Pro iOS 9.2.1, iPhone 6+(9.3.2) in 52.0.2743.21 Beta 1.Translate info bar is displayed when navigating to the webpage mail.ru , http://www.arcigaynapoli.org, qq.com |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by sdefresne@chromium.org
, May 11 2016