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

Issue 14323004: Make Frame's ScriptController an OwnPtr and remove the #include (Closed)

Created:
7 years, 8 months ago by Nico
Modified:
7 years, 8 months ago
CC:
blink-reviews, caseq+blink_chromium.org, Nate Chapin, loislo+blink_chromium.org, eustas+blink_chromium.org, alph+blink_chromium.org, yurys+blink_chromium.org, lushnikov+blink_chromium.org, abarth-chromium, vsevik+blink_chromium.org, pfeldman+blink_chromium.org, apavlov+blink_chromium.org, gavinp+loader_chromium.org, haraken, aandrey+blink_chromium.org
Visibility:
Public.

Description

Make Frame's ScriptController an OwnPtr and remove the #include Merges http://trac.webkit.org/changeset/148373 by AwesomeWeinig (but the projects have already diverged enough that the actual diff looks pretty different). Frame is included in almost 1000 files, so keeping it small speeds up compilation. This exposes a null-pointer deref bug in XMLHttpRequest that happened to work until now. To fix, also merge Sam's http://trac.webkit.org/changeset/148380: "Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html). We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController, we see this crash." BUG=none Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=148570 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=148609

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : . #

Patch Set 5 : rebase #

Patch Set 6 : nexttry #

Patch Set 7 : fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -11 lines) Patch
M Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/src/WebBindings.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/src/WebPluginContainerImpl.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/tests/IDBBindingUtilitiesTest.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/WebKit/chromium/tests/IDBRequestTest.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/scripts/CodeGeneratorV8.pm View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/NPV8Object.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/PageScriptDebugServer.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/ScriptEventListener.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/V8Binding.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/V8EventListener.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/V8LazyEventListener.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/custom/V8DOMWindowCustom.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/custom/V8DocumentCustom.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/custom/V8HTMLDocumentCustom.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/v8/custom/V8SVGDocumentCustom.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/DocumentStyleSheetCollection.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/EventTarget.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/ScriptElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/history/CachedFrame.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLCanvasElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLDocument.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLFormElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLPlugInElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLPlugInImageElement.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/parser/HTMLParserOptions.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/parser/XSSAuditorDelegate.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorAgent.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorController.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorFrontendHost.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorIndexedDBAgent.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorInstrumentation.cpp View 1 2 3 4 3 chunks +5 lines, -3 lines 0 comments Download
M Source/core/inspector/InspectorOverlay.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorPageAgent.cpp View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/inspector/PageRuntimeAgent.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/loader/DocumentWriter.cpp View 1 2 3 4 2 chunks +1 line, -1 line 0 comments Download
M Source/core/loader/NavigationScheduler.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/loader/SubframeLoader.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/loader/cache/CachedResourceLoader.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/DOMWindow.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/EventSource.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/Frame.h View 1 2 3 4 4 chunks +3 lines, -4 lines 0 comments Download
M Source/core/page/Frame.cpp View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/page/Navigator.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/Page.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/PageGroup.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/xml/XMLHttpRequest.cpp View 1 2 3 4 5 6 2 chunks +3 lines, -1 line 0 comments Download
M Source/core/xml/XMLTreeViewer.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M Source/modules/websockets/WebSocket.cpp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
Nico
r?
7 years, 8 months ago (2013-04-17 04:27:19 UTC) #1
abarth-chromium
What's the benefit of making this change?
7 years, 8 months ago (2013-04-17 04:32:06 UTC) #2
Nico
Frame.h is included in almost 1000 files ( https://code.google.com/p/chromium/codesearch#search/&q=%23include%5C%20%5C%22Frame%5C.h%5C%22&sq=package:chromium&type=cs ), so making it smaller speeds ...
7 years, 8 months ago (2013-04-17 04:36:17 UTC) #3
abarth-chromium
Ok. Ideally we'd know how much faster it's making compilation, but LGTM even without that.
7 years, 8 months ago (2013-04-17 04:39:53 UTC) #4
eseidel
wat? Wenig objected last time I tried this... or so I remember. I must just ...
7 years, 8 months ago (2013-04-17 06:20:01 UTC) #5
eseidel
lgtm too. I think this is worth doing even if it doesn't speed compiles. It ...
7 years, 8 months ago (2013-04-17 06:20:26 UTC) #6
Nico
Committed patchset #5 manually as r148570 (presubmit successful).
7 years, 8 months ago (2013-04-17 19:30:01 UTC) #7
Nico
This got reverted since it made a few XHR tests fail. The difference from patch ...
7 years, 8 months ago (2013-04-17 23:51:03 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/thakis@chromium.org/14323004/18002
7 years, 8 months ago (2013-04-17 23:55:05 UTC) #9
commit-bot: I haz the power
Retried try job too often on linux_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_layout_rel&number=4145
7 years, 8 months ago (2013-04-18 02:39:37 UTC) #10
Nico
7 years, 8 months ago (2013-04-18 03:17:16 UTC) #11
Message was sent while issue was closed.
Committed patchset #7 manually as r148609 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698