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

Issue 1170413003: Add a scoping object to help block scripting during plugin destruction. (Closed)

Created:
5 years, 6 months ago by dcheng
Modified:
5 years, 6 months ago
Reviewers:
haraken
CC:
bbudge, blink-reviews, blink-reviews-dom_chromium.org, dglazkov+blink, eae+blinkwatch, gavinp+loader_chromium.org, Nate Chapin, piman, rwlbuis, sof, tyoshino+watch_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Add a scoping object to help block scripting during plugin destruction. This doesn't block all scripting in plugin destruction: apparently, being able to script the DOM in an inconsistent state is a "feature" of Flash. Instead, the blocks are scoped to instances where the Frame/Document will be destroyed or replaced shortly afterwards: this is an extension of the earlier efforts to block synchronous scripting by plugins in frame detach. The eventual goal is to remove the need to run a nested message loop in these circumstances, so that the frame navigation and detach logic can be rewritten to be much easier to reason about. BUG=498088 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196832

Patch Set 1 #

Total comments: 5

Patch Set 2 : Reentrant -> Plugin #

Total comments: 2

Patch Set 3 : Rename static counter #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -4 lines) Patch
M Source/core/dom/Document.cpp View 1 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/frame/LocalFrame.cpp View 1 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/frame/RemoteFrame.cpp View 1 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/loader/FrameLoader.cpp View 1 2 chunks +2 lines, -0 lines 0 comments Download
A Source/platform/PluginScriptForbiddenScope.h View 1 1 chunk +49 lines, -0 lines 0 comments Download
A Source/platform/PluginScriptForbiddenScope.cpp View 1 2 1 chunk +34 lines, -0 lines 0 comments Download
M Source/platform/blink_platform.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
A + Source/web/WebPluginScriptForbiddenScope.cpp View 1 1 chunk +4 lines, -4 lines 0 comments Download
M Source/web/web.gypi View 1 1 chunk +1 line, -0 lines 0 comments Download
A public/web/WebPluginScriptForbiddenScope.h View 1 1 chunk +20 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (4 generated)
dcheng
The Chrome-side patch is at https://codereview.chromium.org/1172143004. In order to avoid breaking Flash, I've only very ...
5 years, 6 months ago (2015-06-10 01:21:40 UTC) #2
haraken
https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h File Source/platform/ReentrantScriptForbiddenScope.h (right): https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h#newcode12 Source/platform/ReentrantScriptForbiddenScope.h:12: // Similar to ScriptForbiddenScope, but more selective. This is ...
5 years, 6 months ago (2015-06-10 02:14:37 UTC) #3
dcheng
https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h File Source/platform/ReentrantScriptForbiddenScope.h (right): https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h#newcode12 Source/platform/ReentrantScriptForbiddenScope.h:12: // Similar to ScriptForbiddenScope, but more selective. This is ...
5 years, 6 months ago (2015-06-10 02:18:40 UTC) #4
haraken
https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h File Source/platform/ReentrantScriptForbiddenScope.h (right): https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h#newcode12 Source/platform/ReentrantScriptForbiddenScope.h:12: // Similar to ScriptForbiddenScope, but more selective. This is ...
5 years, 6 months ago (2015-06-10 02:22:19 UTC) #5
dcheng
https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h File Source/platform/ReentrantScriptForbiddenScope.h (right): https://codereview.chromium.org/1170413003/diff/1/Source/platform/ReentrantScriptForbiddenScope.h#newcode12 Source/platform/ReentrantScriptForbiddenScope.h:12: // Similar to ScriptForbiddenScope, but more selective. This is ...
5 years, 6 months ago (2015-06-10 03:11:03 UTC) #6
haraken
LGTM https://codereview.chromium.org/1170413003/diff/20001/Source/platform/PluginScriptForbiddenScope.cpp File Source/platform/PluginScriptForbiddenScope.cpp (right): https://codereview.chromium.org/1170413003/diff/20001/Source/platform/PluginScriptForbiddenScope.cpp#newcode18 Source/platform/PluginScriptForbiddenScope.cpp:18: ++s_reentrantScriptForbiddenCount; s_reentrantScriptForbiddenCount => s_pluginScriptForbiddenCount
5 years, 6 months ago (2015-06-10 03:28:38 UTC) #7
dcheng
https://codereview.chromium.org/1170413003/diff/20001/Source/platform/PluginScriptForbiddenScope.cpp File Source/platform/PluginScriptForbiddenScope.cpp (right): https://codereview.chromium.org/1170413003/diff/20001/Source/platform/PluginScriptForbiddenScope.cpp#newcode18 Source/platform/PluginScriptForbiddenScope.cpp:18: ++s_reentrantScriptForbiddenCount; On 2015/06/10 at 03:28:38, haraken wrote: > s_reentrantScriptForbiddenCount ...
5 years, 6 months ago (2015-06-10 03:31:48 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1170413003/40001
5 years, 6 months ago (2015-06-10 03:37:38 UTC) #12
commit-bot: I haz the power
5 years, 6 months ago (2015-06-10 05:08:36 UTC) #13
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=196832

Powered by Google App Engine
This is Rietveld 408576698