Bug 95563

Summary: [JSC] Clear exceptions thrown in Dictionary
Product: WebKit Reporter: Michael Pruett <michael>
Component: WebCore JavaScriptAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: dglazkov, ggaren, haraken, jsbell, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
webkit.review.bot: commit-queue-
Patch
none
Patch
none
Patch haraken: review-

Description Michael Pruett 2012-08-31 05:41:36 PDT
Exceptions thrown in JSDictionary::get() are not cleared, causing subsequent calls to JSDictionary::get() to fail spuriously.
Comment 1 Michael Pruett 2012-08-31 07:13:49 PDT
Created attachment 161692 [details]
Patch
Comment 2 WebKit Review Bot 2012-08-31 07:54:15 PDT
Comment on attachment 161692 [details]
Patch

Attachment 161692 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13720198

New failing tests:
animations/suspend-resume-animation-events.html
Comment 3 Michael Pruett 2012-12-03 11:33:48 PST
Created attachment 177295 [details]
Patch
Comment 4 Michael Pruett 2012-12-03 12:16:22 PST
Created attachment 177306 [details]
Patch
Comment 5 Michael Pruett 2012-12-03 13:43:20 PST
Created attachment 177318 [details]
Patch
Comment 6 Michael Pruett 2012-12-03 14:52:56 PST
This change is necessary to implement IndexedDB for JSC.

Without this change, numerous calls to Dictionary::get() and Dictionary::getWithUndefinedOrNullCheck() fail in IDBDatabase::createObjectStore() and IDBObjectStore::createIndex() because earlier accesses to the options dictionary generated exceptions.

With this proposed patch and that in bug 103484, IndexedDB for JSC passes 143 out of 196 layout tests in storage/indexeddb.
Comment 7 Kentaro Hara 2012-12-03 15:54:05 PST
Comment on attachment 177318 [details]
Patch

I think this problem should be fixed in the IndexedDB layer not in the Dictionary layer. Please see discussion in bug 96614.
Comment 8 Kentaro Hara 2012-12-03 15:54:21 PST

*** This bug has been marked as a duplicate of bug 96614 ***