Bug 94598 - [V8] Move reportUnsafeAccessTo() from V8Proxy to BindingSecurity
Summary: [V8] Move reportUnsafeAccessTo() from V8Proxy to BindingSecurity
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore JavaScript (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Kentaro Hara
URL:
Keywords:
Depends on:
Blocks: 85330
  Show dependency treegraph
 
Reported: 2012-08-21 07:19 PDT by Kentaro Hara
Modified: 2012-08-21 09:07 PDT (History)
6 users (show)

See Also:


Attachments
Patch (9.81 KB, patch)
2012-08-21 07:25 PDT, Kentaro Hara
abarth: review-
webkit-ews: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kentaro Hara 2012-08-21 07:19:23 PDT
To kill V8Proxy, we can move reportUnsafeAccessTo() from V8Proxy to BindingSecurity.
Comment 1 Kentaro Hara 2012-08-21 07:25:09 PDT
Created attachment 159685 [details]
Patch
Comment 2 Early Warning System Bot 2012-08-21 07:42:37 PDT
Comment on attachment 159685 [details]
Patch

Attachment 159685 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13543788
Comment 3 Build Bot 2012-08-21 07:48:24 PDT
Comment on attachment 159685 [details]
Patch

Attachment 159685 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13556093
Comment 4 Early Warning System Bot 2012-08-21 07:51:37 PDT
Comment on attachment 159685 [details]
Patch

Attachment 159685 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13545547
Comment 5 Gyuyoung Kim 2012-08-21 08:24:12 PDT
Comment on attachment 159685 [details]
Patch

Attachment 159685 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13550375
Comment 6 Adam Barth 2012-08-21 08:39:48 PDT
Comment on attachment 159685 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159685&action=review

This isn't quite right.  BindingSecurity.cpp is part of the "generic bindings", which means it's shared by JavaScriptCore and V8.  JavaScriptCore has a much better implementation of this function.  I'd like to delete the V8 implementation and share the better JSC implementation.  I'll try to get that done in the next day or two.

> Source/WebCore/bindings/generic/BindingSecurity.cpp:86
> +    Frame* source = firstFrame(BindingState::instance());

The proximate problem is that you can't use BindingState::instance() outside of V8 because in JavaScriptCore, BindingState is the ExecState and JavaScriptCore doesn't keep the ExecState in a static the same way that V8 does.
Comment 7 Kentaro Hara 2012-08-21 09:07:47 PDT
(In reply to comment #6)
> This isn't quite right.  BindingSecurity.cpp is part of the "generic bindings", which means it's shared by JavaScriptCore and V8.  JavaScriptCore has a much better implementation of this function.  I'd like to delete the V8 implementation and share the better JSC implementation.  I'll try to get that done in the next day or two.

Makes sense. Then let me wait for your fix. (I'm not in a hurry:)

Marking INVALID.