Bug 62122
| Summary: | window.onerror broke m.facebook.com | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Krzysztof Czech <k.czech> |
| Component: | Evangelism | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | apavlov, ap, caseq, ddkilzer, loislo, pfeldman, podivilov, yurys |
| Priority: | P2 | Keywords: | InRadar |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Krzysztof Czech
I found a problem on http://m.facebook.com site. Generally problem occurs on registration form when one of the select controls with date is clicked. It could be either "year", "month" or "day" control. Browser shows an error page with "Connection error" message. Accordingly WebCore reports an exception with an error message, "Can't find variable: bagofholding". It looks like "bugofholding" might be some javascript. Unfortunately it could not be found.
Basically, the situation with error page happens with this commit "c8a06eb946ed0cbe5c144daa894c1fdb5d9f190a".
Precisely in ScriptExecutionContext::reportException method, as soon as execution flow reaches
dispatchErrorEvent method.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Yury Semikhatsky
Looks like the problem is in the site which sets error handler using window.onerror = ... and the handler is invoked for "Uncaught ReferenceError: bagofholding is not defined" which is expected behavior of window.onerror. Before the change you mentioned window.onerror didn't work in WebKit and no uncaught exceptions would reach window.onerror handler.
Alexey Proskuryakov
<rdar://problem/9560131>
Alexey Proskuryakov
I'm told that Facebook fixed this.