Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(585)

Issue 2023603003: Fix content scripts that use WebGL. (Closed)

Created:
4 years, 6 months ago by Ken Russell (switch to Gerrit)
Modified:
3 years, 9 months ago
Reviewers:
haraken, Zhenyao Mo, Yuki
CC:
chromium-reviews, blink-reviews, blink-reviews-bindings_chromium.org, vmiura, jochen (gone - plz use gerrit), Kai Ninomiya
Base URL:
https://chromium.googlesource.com/chromium/src.git@yukishiino-v8privateproperty-fix
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix content scripts that use WebGL. The code which adds hidden links between WebGL objects' JavaScript wrappers has basically been broken since it was introduced, and through the recent performance rewrite. Use toV8 rather than ScriptWrappable::mainWorldWrapper to get wrappers in the correct isolated world. Switch to using V8PrivateProperty rather than V8HiddenValue. Continue to use persistent caches on the main world, which was found necessary for performance reasons. BUG=581997 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel

Patch Set 1 #

Total comments: 3

Patch Set 2 : Rebased. #

Total comments: 4

Patch Set 3 : Reintroduced persistent caches. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+87 lines, -68 lines) Patch
M third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h View 1 2 1 chunk +0 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h View 1 2 1 chunk +12 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp View 1 2 5 chunks +7 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h View 1 2 3 chunks +3 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp View 1 2 16 chunks +65 lines, -44 lines 0 comments Download

Messages

Total messages: 20 (3 generated)
Ken Russell (switch to Gerrit)
haraken, yukishiino: please review the small change to V8PrivateProperty::Symbol, as well as anything else you'd ...
4 years, 6 months ago (2016-05-28 01:35:34 UTC) #3
haraken
LGTM assuming that performance looks good.
4 years, 6 months ago (2016-05-28 07:56:55 UTC) #4
Yuki
https://codereview.chromium.org/2023603003/diff/1/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp File third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp (right): https://codereview.chromium.org/2023603003/diff/1/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp#newcode6326 third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp:6326: v8::Local<v8::Object> sourceWrapper = v8::Local<v8::Object>::Cast(toV8( You can use a shorthand. ...
4 years, 6 months ago (2016-05-30 06:53:44 UTC) #5
Yuki
lgtm
4 years, 6 months ago (2016-05-30 06:54:04 UTC) #6
Zhenyao Mo
On 2016/05/30 06:54:04, Yuki wrote: > lgtm lgtm
4 years, 6 months ago (2016-05-31 02:06:12 UTC) #7
Ken Russell (switch to Gerrit)
yukishiino@: please take another look at this CL. After rebasing on top of your https://codereview.chromium.org/2007463003 ...
4 years, 6 months ago (2016-06-01 22:28:35 UTC) #8
Yuki
I successfully repro the regression on my local environment. There is almost no room to ...
4 years, 6 months ago (2016-06-02 13:07:23 UTC) #9
haraken
I don't really like this idea but what you could do is to introduce two ...
4 years, 6 months ago (2016-06-02 13:12:11 UTC) #10
Ken Russell (switch to Gerrit)
On 2016/06/02 13:12:11, haraken wrote: > I don't really like this idea but what you ...
4 years, 6 months ago (2016-06-03 00:59:14 UTC) #12
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/2023603003/diff/20001/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp File third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp (right): https://codereview.chromium.org/2023603003/diff/20001/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp#newcode328 third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp:328: preserveObjectWrapper(scriptState, framebufferBinding, V8PrivateProperty::getWebGLFramebufferAttachments(scriptState->isolate()), attachment, texture); On 2016/06/02 13:07:22, Yuki ...
4 years, 6 months ago (2016-06-03 00:59:19 UTC) #13
Ken Russell (switch to Gerrit)
Please re-review. This patch set eliminates the performance cost of this fix.
4 years, 6 months ago (2016-06-03 01:02:16 UTC) #14
Yuki
We're very sorry for having you take a long time on this issue, but Haraken ...
4 years, 6 months ago (2016-06-03 06:50:59 UTC) #15
Ken Russell (switch to Gerrit)
4 years, 4 months ago (2016-08-11 20:16:15 UTC) #16
haraken
On 2016/08/11 20:16:15, Ken Russell wrote: What does the empty message imply? :)
4 years, 4 months ago (2016-08-12 00:58:53 UTC) #17
Ken Russell (switch to Gerrit)
On 2016/08/12 00:58:53, haraken wrote: > On 2016/08/11 20:16:15, Ken Russell wrote: > > What ...
4 years, 4 months ago (2016-08-15 20:55:25 UTC) #18
Ken Russell (switch to Gerrit)
On 2016/08/15 20:55:25, Ken Russell wrote: > On 2016/08/12 00:58:53, haraken wrote: > > On ...
4 years, 2 months ago (2016-10-05 01:35:26 UTC) #19
Ken Russell (switch to Gerrit)
3 years, 9 months ago (2017-03-03 23:27:39 UTC) #20
Message was sent while issue was closed.
On 2016/10/05 01:35:26, Ken Russell wrote:
> On 2016/08/15 20:55:25, Ken Russell wrote:
> > On 2016/08/12 00:58:53, haraken wrote:
> > > On 2016/08/11 20:16:15, Ken Russell wrote:
> > > 
> > > What does the empty message imply? :)
> > 
> > Sorry, was adding kainino@ to the CC: list. I expect he'll take over this CL
> > from me in the next couple of weeks.
> > 
> > We started studying existing uses of VisitDOMWrapper in the Blink sources. I
> > have to admit I don't fully understand how this CL should be converted to
use
> > it. I'll send a separate email on this topic.
> 
> kainino@ implemented this in https://codereview.chromium.org/2023603003/ .
> Closing this CL.

Correction: kainino@ implemented this in
https://codereview.chromium.org/2273683003 .

Powered by Google App Engine
This is Rietveld 408576698