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

Issue 2626183003: Switch RemoteWindowProxy to use v8::Context::NewRemoteContext. (Closed)

Created:
3 years, 11 months ago by dcheng
Modified:
3 years, 9 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, mlamouri+watch-blink_chromium.org, dglazkov+blink, blink-reviews-bindings_chromium.org, blink-reviews, chromium-apps-reviews_chromium.org, kinuko+watch, blink-reviews-api_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Switch RemoteWindowProxy to use v8::Context::NewRemoteContext. BUG=527190 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2626183003 Cr-Commit-Position: refs/heads/master@{#453128} Committed: https://chromium.googlesource.com/chromium/src/+/4a40a757e7029a3f59b12543cbf617eceb15f7f0

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : Finish partial comment #

Total comments: 5

Patch Set 5 : Add DCHECK for detached global proxy #

Patch Set 6 : rebase #

Patch Set 7 : . #

Total comments: 11

Patch Set 8 : rebase #

Total comments: 9

Patch Set 9 : comments #

Total comments: 4

Patch Set 10 : . #

Total comments: 8

Patch Set 11 : comments #

Patch Set 12 : Consolidate comments #

Patch Set 13 : EventTarget as well #

Total comments: 19

Patch Set 14 : Comment all the things #

Patch Set 15 : . #

Patch Set 16 : Another comment #

Total comments: 4

Patch Set 17 : rebase #

Patch Set 18 : rebase #

Total comments: 10

Patch Set 19 : Add DCHECK #

Patch Set 20 : Address comment. #

Patch Set 21 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+323 lines, -285 lines) Patch
M components/guest_view/renderer/guest_view_request.cc View 1 chunk +1 line, -2 lines 0 comments Download
M extensions/renderer/guest_view/guest_view_internal_custom_bindings.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -2 lines 0 comments Download
M extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc View 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h View 3 chunks +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +79 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h View 1 2 3 4 5 6 3 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +43 lines, -61 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/ScriptState.h View 1 2 3 4 5 2 chunks +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/ScriptState.cpp View 1 2 3 4 5 6 2 chunks +1 line, -5 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8Binding.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/WindowProxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +108 lines, -22 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 4 chunks +3 lines, -110 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h View 1 2 3 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +11 lines, -14 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 16 17 18 19 4 chunks +36 lines, -28 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrame.h View 1 2 3 4 5 2 chunks +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/web/WebRemoteFrameImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +1 line, -4 lines 0 comments Download
M third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +9 lines, -6 lines 0 comments Download
M third_party/WebKit/public/web/WebRemoteFrame.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 101 (48 generated)
dcheng
https://codereview.chromium.org/2626183003/diff/60001/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h File third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h (right): https://codereview.chromium.org/2626183003/diff/60001/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h#newcode98 third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h:98: RefPtr<ScriptState> m_scriptState; The changes in LocalWindowProxy are just moving ...
3 years, 11 months ago (2017-01-18 23:43:18 UTC) #11
dcheng
Hmm. Unfortunately it looks like my machine died, so I'm done for the night. As ...
3 years, 11 months ago (2017-01-19 08:20:28 UTC) #16
dcheng
PTAL. https://codereview.chromium.org/2626183003/diff/120001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/120001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode109 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:109: V8DOMWrapper::setNativeInfo(isolate(), m_globalProxy.newLocal(isolate()), Note: this recently changed in https://codereview.chromium.org/2617733004/, ...
3 years, 10 months ago (2017-02-14 10:02:02 UTC) #17
dcheng
On 2017/02/14 10:04:38, commit-bot: I haz the power wrote: > Dry run: Try jobs failed ...
3 years, 10 months ago (2017-02-14 10:12:41 UTC) #22
Yuki
On 2017/02/14 10:12:41, dcheng wrote: > On 2017/02/14 10:04:38, commit-bot: I haz the power wrote: ...
3 years, 10 months ago (2017-02-14 10:14:28 UTC) #23
dcheng
On 2017/02/14 10:14:28, Yuki wrote: > On 2017/02/14 10:12:41, dcheng wrote: > > On 2017/02/14 ...
3 years, 10 months ago (2017-02-14 10:17:17 UTC) #24
Yuki
On 2017/02/14 10:17:17, dcheng wrote: > On 2017/02/14 10:14:28, Yuki wrote: > > On 2017/02/14 ...
3 years, 10 months ago (2017-02-14 10:20:06 UTC) #25
haraken
Overall looks good. https://codereview.chromium.org/2626183003/diff/140001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/140001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode92 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:92: if (m_globalProxy.isEmpty()) m_globalProxy should be empty ...
3 years, 10 months ago (2017-02-14 11:15:01 UTC) #30
Yuki
https://codereview.chromium.org/2626183003/diff/120001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/120001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode60 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:60: DCHECK(m_lifecycle == Lifecycle::ContextInitialized); nit: DCHECK_EQ? https://codereview.chromium.org/2626183003/diff/120001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode113 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:113: CHECK(m_globalProxy == ...
3 years, 10 months ago (2017-02-14 11:24:38 UTC) #31
dcheng
Note: this still needs some variation of https://codereview.chromium.org/2693203003/ to land; in addition, the WebFrameSwapTest.SetTimeoutAfterSwap is ...
3 years, 10 months ago (2017-02-15 11:08:41 UTC) #32
Yuki
Looks good overall. I'm looking forward to seeing this CL pass all bots. https://codereview.chromium.org/2626183003/diff/160001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File ...
3 years, 10 months ago (2017-02-15 12:04:30 UTC) #33
dcheng
Note: this still fails WebFrameSwapTest.SetTimeoutAfterSwap, so I need to investigate more about what's failing =( ...
3 years, 10 months ago (2017-02-15 23:14:37 UTC) #34
haraken
Mostly looks good. https://codereview.chromium.org/2626183003/diff/180001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/180001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode92 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:92: if (m_globalProxy.isEmpty()) As discussed before, shall ...
3 years, 10 months ago (2017-02-16 01:11:19 UTC) #35
dcheng
Btw, for the WebFrameSwapTest.SetTimeoutAfterSwap test, it looks like V8Window::hasInstance() fails for this case. I need ...
3 years, 10 months ago (2017-02-16 03:14:07 UTC) #36
dcheng
OK, added a pretty long comment in WindowProxy.h (and consolidated some of the other comments ...
3 years, 10 months ago (2017-02-16 04:29:19 UTC) #37
jbroman
On 2017/02/16 at 03:14:07, dcheng wrote: > Btw, for the WebFrameSwapTest.SetTimeoutAfterSwap test, it looks like ...
3 years, 10 months ago (2017-02-16 04:49:53 UTC) #38
jbroman
On 2017/02/16 at 04:49:53, jbroman wrote: > On 2017/02/16 at 03:14:07, dcheng wrote: > > ...
3 years, 10 months ago (2017-02-16 05:14:46 UTC) #39
dcheng
On 2017/02/16 05:14:46, jbroman wrote: > On 2017/02/16 at 04:49:53, jbroman wrote: > > On ...
3 years, 10 months ago (2017-02-16 05:49:01 UTC) #40
Yuki
On 2017/02/16 05:49:01, dcheng wrote: > AFAICT, HasInstance() is based on a strict equality check, ...
3 years, 10 months ago (2017-02-16 06:19:05 UTC) #41
dcheng
On 2017/02/16 06:19:05, Yuki wrote: > On 2017/02/16 05:49:01, dcheng wrote: > > AFAICT, HasInstance() ...
3 years, 10 months ago (2017-02-16 06:21:35 UTC) #42
dcheng
https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (right): https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#newcode16 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:16: ((method.returns_promise or interface_name == 'Window' or interface_name == 'EventTarget') ...
3 years, 10 months ago (2017-02-16 10:48:36 UTC) #43
Yuki
https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h File third_party/WebKit/Source/bindings/core/v8/WindowProxy.h (right): https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h#newcode46 third_party/WebKit/Source/bindings/core/v8/WindowProxy.h:46: // model consists of the inner global object and ...
3 years, 10 months ago (2017-02-16 12:47:39 UTC) #44
dcheng
https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h File third_party/WebKit/Source/bindings/core/v8/WindowProxy.h (right): https://codereview.chromium.org/2626183003/diff/240001/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h#newcode46 third_party/WebKit/Source/bindings/core/v8/WindowProxy.h:46: // model consists of the inner global object and ...
3 years, 10 months ago (2017-02-16 19:50:23 UTC) #45
Yuki
Overall, I think now I have (somewhat) good understanding, and I'm okay with this CL. ...
3 years, 10 months ago (2017-02-17 06:49:31 UTC) #46
haraken
On 2017/02/17 06:49:31, Yuki wrote: > Overall, I think now I have (somewhat) good understanding, ...
3 years, 10 months ago (2017-02-17 06:59:12 UTC) #47
dcheng
On 2017/02/17 06:59:12, haraken wrote: > Yeah, how hard will it be to implement the ...
3 years, 10 months ago (2017-02-17 07:16:52 UTC) #48
dcheng
https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (left): https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#oldcode514 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:514: {% if world_suffix in method.activity_logging_world_list %} Also, I had ...
3 years, 10 months ago (2017-02-17 07:30:43 UTC) #49
Yuki
https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (left): https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#oldcode514 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:514: {% if world_suffix in method.activity_logging_world_list %} On 2017/02/17 07:30:42, ...
3 years, 10 months ago (2017-02-17 10:53:17 UTC) #50
dcheng
https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (left): https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#oldcode514 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:514: {% if world_suffix in method.activity_logging_world_list %} On 2017/02/17 10:53:17, ...
3 years, 10 months ago (2017-02-17 10:57:00 UTC) #51
Yuki
https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (left): https://codereview.chromium.org/2626183003/diff/300001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#oldcode514 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:514: {% if world_suffix in method.activity_logging_world_list %} On 2017/02/17 10:57:00, ...
3 years, 10 months ago (2017-02-17 11:24:49 UTC) #52
dcheng
Any further thoughts? If not, I'm planning on landing this once https://codereview.chromium.org/2677653002/ gets a final ...
3 years, 10 months ago (2017-02-22 07:24:45 UTC) #58
Yuki
LGTM.
3 years, 10 months ago (2017-02-22 10:34:57 UTC) #59
dcheng
+lfg for OWNERS review of guest view parts
3 years, 10 months ago (2017-02-22 17:59:19 UTC) #61
lfg
lgtm
3 years, 10 months ago (2017-02-22 18:12:56 UTC) #64
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/2626183003/340001
3 years, 10 months ago (2017-02-22 18:24:48 UTC) #67
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/393338)
3 years, 10 months ago (2017-02-22 19:10:47 UTC) #69
dcheng
On 2017/02/22 19:10:47, commit-bot: I haz the power wrote: > Try jobs failed on following ...
3 years, 10 months ago (2017-02-22 20:35:17 UTC) #70
haraken
https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode92 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:92: if (m_globalProxy.isEmpty()) When you're re-initializing the global proxy, you ...
3 years, 10 months ago (2017-02-23 04:30:20 UTC) #71
dcheng
https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp File third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp (right): https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp#newcode92 third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp:92: if (m_globalProxy.isEmpty()) On 2017/02/23 04:30:20, haraken wrote: > > ...
3 years, 10 months ago (2017-02-23 04:55:41 UTC) #72
haraken
> So the problem is that the global proxy isn't instantiated with > |globalTemplate|. This ...
3 years, 10 months ago (2017-02-23 09:26:25 UTC) #77
dcheng
https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (right): https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#newcode81 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:81: {% if world_suffix in method.activity_logging_world_list %} On 2017/02/23 09:26:24, ...
3 years, 10 months ago (2017-02-23 09:44:43 UTC) #78
haraken
On 2017/02/23 09:44:43, dcheng wrote: > https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl > File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (right): > > https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#newcode81 > ...
3 years, 10 months ago (2017-02-24 05:07:48 UTC) #79
dcheng
On 2017/02/24 05:07:48, haraken wrote: > On 2017/02/23 09:44:43, dcheng wrote: > > > https://codereview.chromium.org/2626183003/diff/340001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl ...
3 years, 10 months ago (2017-02-24 08:51:44 UTC) #80
dcheng
On 2017/02/24 08:51:44, dcheng wrote: > On 2017/02/24 05:07:48, haraken wrote: > > On 2017/02/23 ...
3 years, 10 months ago (2017-02-24 08:58:05 UTC) #81
haraken
On 2017/02/24 08:58:05, dcheng wrote: > On 2017/02/24 08:51:44, dcheng wrote: > > On 2017/02/24 ...
3 years, 10 months ago (2017-02-25 00:35:34 UTC) #82
dcheng
On 2017/02/25 00:35:34, haraken wrote: > On 2017/02/24 08:58:05, dcheng wrote: > > On 2017/02/24 ...
3 years, 10 months ago (2017-02-25 03:16:38 UTC) #83
dcheng
On 2017/02/25 03:16:38, dcheng wrote: > On 2017/02/25 00:35:34, haraken wrote: > > On 2017/02/24 ...
3 years, 10 months ago (2017-02-25 03:51:46 UTC) #84
haraken
On 2017/02/25 03:51:46, dcheng wrote: > On 2017/02/25 03:16:38, dcheng wrote: > > On 2017/02/25 ...
3 years, 9 months ago (2017-02-26 16:11:53 UTC) #89
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/2626183003/380001
3 years, 9 months ago (2017-02-26 20:01:25 UTC) #92
commit-bot: I haz the power
Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/162286) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 9 months ago (2017-02-26 20:03:25 UTC) #94
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/2626183003/400001
3 years, 9 months ago (2017-02-26 21:01:53 UTC) #97
commit-bot: I haz the power
Committed patchset #21 (id:400001) as https://chromium.googlesource.com/chromium/src/+/4a40a757e7029a3f59b12543cbf617eceb15f7f0
3 years, 9 months ago (2017-02-26 22:37:32 UTC) #100
dcheng
3 years, 9 months ago (2017-02-27 19:21:39 UTC) #101
Message was sent while issue was closed.
A revert of this CL (patchset #21 id:400001) has been created in
https://codereview.chromium.org/2721693002/ by dcheng@chromium.org.

The reason for reverting is: Causing crashes in canary:
https://crbug.com/696528, https://crbug.com/696577.

Powered by Google App Engine
This is Rietveld 408576698