[webkit-reviews] review canceled: [Bug 40112] Database callbacks are made using the ScriptExecutionContext of the frame that owns the Database object, rather than that of the caller : [Attachment 59355] patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 25 03:03:00 PDT 2010


Dumitru Daniliuc <dumi at chromium.org> has canceled Dumitru Daniliuc
<dumi at chromium.org>'s request for review:
Bug 40112: Database callbacks are made using the ScriptExecutionContext of the
frame that owns the Database object, rather than that of the caller
https://bugs.webkit.org/show_bug.cgi?id=40112

Attachment 59355: patch
https://bugs.webkit.org/attachment.cgi?id=59355&action=review

------- Additional Comments from Dumitru Daniliuc <dumi at chromium.org>
I talked to Adam about what should run where, and I updated the test
expectations accordingly (assuming I understood him correctly). However, I
can't get the test to pass. So I'm uploading the patch to have something to
point Adam to, and hopefully he can tell me what I'm doing wrong. :)

I believe Adam's answer was that the callback objects should be created in the
context in which the callbacks are invoked. However, the
functions/variables/etc. that the callbacks "see" while they run should be the
ones in the context in which they were declared. So basically, if you have
frames A, B, and C, and each one of them has a log() method, and the DB handle
is opened in A, and the transaction callbacks are declared in B (and they call
log()), then when you run db.transaction(callback) in frame C, the callback
objects should be created in frame C, but the log() method in frame B should be
called.

When I run the test, it does always call log() in the frame in which the
callbacks are declared. However, it seems like the callback objects are always
created in that frame too -- that's the part that's failing.


More information about the webkit-reviews mailing list