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

Issue 2260113002: Lazily install origin trial features on V8 objects (Closed)

Created:
4 years, 4 months ago by iclelland
Modified:
3 years, 11 months ago
Reviewers:
haraken, chasej
CC:
chromium-reviews, blink-reviews, blink-reviews-bindings_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Lazily install origin trial features on V8 objects. This patch speeds up the creation of new execution contexts, by not requiring V8 objects to be already instantiated in order to attach origin-trial-controlled attributes. Instead, any attributes which need to be bound are attached to the interface and prototype when the constructor for the object is first accessed. BUG=637148 Committed: https://crrev.com/b4791c071033d4cd85242cc531febf121ef196ea Cr-Commit-Position: refs/heads/master@{#421166}

Patch Set 1 #

Patch Set 2 : Move other non-global origin trials to constructor code #

Total comments: 3

Patch Set 3 : Move origin trials on globals to constructor as well #

Total comments: 18

Patch Set 4 : Update comments; style fixes #

Patch Set 5 : Rebase #

Patch Set 6 : Rebase against changes to Origin Trials Test interface #

Patch Set 7 : Remove unused global #

Patch Set 8 : Rebase #

Patch Set 9 : Explicity install on global objects again #

Patch Set 10 : Rebase #

Patch Set 11 : Return if no execution context is present #

Patch Set 12 : Rebase! #

Patch Set 13 : Reset test expectations #

Total comments: 8

Patch Set 14 : Switch from context,isolate,world to scriptState; Rebase on haraken's CL #

Patch Set 15 : Actually rebase onto 2372473002 #

Patch Set 16 : Rebase after parent CL landed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+312 lines, -299 lines) Patch
M third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/bindings.gni View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +50 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8Binding.h View 1 2 3 4 2 chunks +0 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp View 1 2 3 4 2 chunks +0 lines, -68 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8PerContextData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -10 lines 0 comments Download
A third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +97 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/modules/v8/ModuleBindingsInitializer.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp View 1 2 3 4 5 2 chunks +0 lines, -83 lines 0 comments Download
M third_party/WebKit/Source/bindings/modules/v8/v8.gni View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.h.tmpl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +16 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/partial_interface.h.tmpl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +41 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +17 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp View 1 2 3 3 chunks +1 line, -31 lines 0 comments Download
M third_party/WebKit/Source/core/testing/v8/WebCoreTestSupport.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/testing/v8/WebCoreTestSupport.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +13 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/core/workers/WorkerThread.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 87 (66 generated)
chasej
https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp (right): https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp:20: if (RuntimeEnabledFeatures::durableStorageEnabled() || (originTrialContext && originTrialContext->isFeatureEnabled("ForeignFetch"))) { Based on ...
4 years, 4 months ago (2016-08-19 20:14:02 UTC) #9
haraken
https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp File third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp (left): https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp#oldcode568 third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp:568: V8NavigatorPartial::installWebBluetooth(scriptState); It's a bit unfortunate that we need to ...
4 years, 4 months ago (2016-08-22 02:05:02 UTC) #13
iclelland
On 2016/08/22 02:05:02, haraken wrote: > https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp > File third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp > (left): > > https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp#oldcode568 ...
4 years, 4 months ago (2016-08-22 12:56:56 UTC) #14
haraken
On 2016/08/22 12:56:56, iclelland wrote: > On 2016/08/22 02:05:02, haraken wrote: > > > https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp ...
4 years, 4 months ago (2016-08-22 14:06:54 UTC) #15
iclelland
https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp (right): https://codereview.chromium.org/2260113002/diff/20001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp:20: if (RuntimeEnabledFeatures::durableStorageEnabled() || (originTrialContext && originTrialContext->isFeatureEnabled("ForeignFetch"))) { On 2016/08/19 ...
4 years, 4 months ago (2016-08-24 19:15:40 UTC) #20
haraken
Mostly looks good. https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp (right): https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp#newcode15 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp:15: void installConditionalFeaturesCore(const WrapperTypeInfo* type, v8::Local<v8::Context> context, ...
4 years, 4 months ago (2016-08-25 01:17:13 UTC) #21
iclelland
https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp File third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp (left): https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp#oldcode159 third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp:159: initializePendingFeatures(); On 2016/08/25 01:17:13, haraken wrote: > > Would ...
4 years, 4 months ago (2016-08-25 04:06:11 UTC) #22
haraken
On 2016/08/25 04:06:11, iclelland wrote: > https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp > File third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp (left): > > https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp#oldcode159 > ...
4 years, 4 months ago (2016-08-25 04:54:06 UTC) #23
iclelland
https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp (right): https://codereview.chromium.org/2260113002/diff/40001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp#newcode15 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp:15: void installConditionalFeaturesCore(const WrapperTypeInfo* type, v8::Local<v8::Context> context, v8::Isolate* isolate, const ...
4 years, 3 months ago (2016-09-23 19:45:24 UTC) #54
iclelland
chasej, haraken, can you PTAL again? I discovered this week that the global objects are ...
4 years, 3 months ago (2016-09-23 20:34:37 UTC) #55
chasej
lgtm
4 years, 3 months ago (2016-09-23 21:22:41 UTC) #58
haraken
https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h (right): https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h:20: CORE_EXPORT void installConditionalFeatures(const WrapperTypeInfo*, v8::Local<v8::Context>, v8::Isolate*, const DOMWrapperWorld&, v8::Local<v8::Object>, ...
4 years, 2 months ago (2016-09-25 23:55:27 UTC) #59
iclelland
https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h (right): https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h:20: CORE_EXPORT void installConditionalFeatures(const WrapperTypeInfo*, v8::Local<v8::Context>, v8::Isolate*, const DOMWrapperWorld&, v8::Local<v8::Object>, ...
4 years, 2 months ago (2016-09-26 03:30:15 UTC) #60
haraken
https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h (right): https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h:20: CORE_EXPORT void installConditionalFeatures(const WrapperTypeInfo*, v8::Local<v8::Context>, v8::Isolate*, const DOMWrapperWorld&, v8::Local<v8::Object>, ...
4 years, 2 months ago (2016-09-26 06:09:24 UTC) #61
iclelland
https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h (right): https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h#newcode20 third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h:20: CORE_EXPORT void installConditionalFeatures(const WrapperTypeInfo*, v8::Local<v8::Context>, v8::Isolate*, const DOMWrapperWorld&, v8::Local<v8::Object>, ...
4 years, 2 months ago (2016-09-26 13:51:20 UTC) #64
haraken
On 2016/09/26 13:51:20, iclelland wrote: > https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h > File third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h (right): > > https://codereview.chromium.org/2260113002/diff/240001/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h#newcode20 > ...
4 years, 2 months ago (2016-09-26 14:44:57 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2260113002/280001
4 years, 2 months ago (2016-09-27 03:43:00 UTC) #73
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/267387) win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, ...
4 years, 2 months ago (2016-09-27 03:47:14 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2260113002/300001
4 years, 2 months ago (2016-09-27 10:56:22 UTC) #82
commit-bot: I haz the power
Committed patchset #16 (id:300001)
4 years, 2 months ago (2016-09-27 11:02:54 UTC) #84
commit-bot: I haz the power
4 years, 2 months ago (2016-09-27 11:05:08 UTC) #86
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/b4791c071033d4cd85242cc531febf121ef196ea
Cr-Commit-Position: refs/heads/master@{#421166}

Powered by Google App Engine
This is Rietveld 408576698