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

Issue 115293005: Add a layer of indirection between Frame and Page (Closed)

Created:
7 years ago by eseidel
Modified:
7 years ago
CC:
blink-reviews, krit, 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, vsevik+blink_chromium.org, pfeldman+blink_chromium.org, paulirish+reviews_chromium.org, apavlov+blink_chromium.org, gavinp+loader_chromium.org, devtools-reviews_chromium.org, pdr, f(malita), Stephen Chennney, aandrey+blink_chromium.org, rwlbuis, jamesr, site-isolation-reviews_chromium.org, jam
Visibility:
Public.

Description

Add a layer of indirection between Frame and Page This adds a new class FrameHost whose job it is to hold state which is shared between multiple Frames such as Settings or Clients. Right now FrameHost just redirects all calls to Page -- just enough to get Frame.cpp building using FrameHost instead of Page. In a follow-up change I will actually move ownership of Settings, (some of PageClients) and various members which Page holds onto just to be a central place for all Frames to access. Page and friends should be about holding onto page-level logic and members for coordinating interaction between frames. FrameHost is about holding members and logic which are simply shared between frames but do not need to coordinate between those frames. This provides the basic plumbing to allow me to remove most of the remaining includes of page/ classes from the rest of core. Anything left over after that will be actual layering violations and not just bad plumbing. R=abarth@chromium.org, abarth BUG=305811 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=164117

Patch Set 1 #

Total comments: 3

Patch Set 2 : Updated per review #

Patch Set 3 : Make GCC happy #

Unified diffs Side-by-side diffs Delta from patch set Stats (+149 lines, -100 lines) Patch
M Source/core/core.gypi View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/frame/DOMWindow.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/frame/DOMWindow.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/frame/Frame.h View 1 8 chunks +22 lines, -18 lines 0 comments Download
M Source/core/frame/Frame.cpp View 1 2 14 chunks +38 lines, -23 lines 0 comments Download
M Source/core/frame/FrameDestructionObserver.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/frame/FrameDestructionObserver.cpp View 1 chunk +1 line, -1 line 0 comments Download
A + Source/core/frame/FrameHost.h View 1 2 1 chunk +30 lines, -30 lines 0 comments Download
A + Source/core/frame/FrameHost.cpp View 1 1 chunk +22 lines, -11 lines 0 comments Download
M Source/core/inspector/InspectorOverlay.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/loader/FrameLoader.cpp View 1 2 2 chunks +6 lines, -4 lines 0 comments Download
M Source/core/page/Page.h View 1 2 4 chunks +8 lines, -0 lines 0 comments Download
M Source/core/page/Page.cpp View 1 2 3 chunks +4 lines, -2 lines 0 comments Download
M Source/core/svg/graphics/SVGImage.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/testing/DummyPageHolder.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebFrameImpl.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebFrameImpl.cpp View 1 2 3 chunks +7 lines, -3 lines 0 comments Download
M Source/web/WebPagePopupImpl.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 12 (0 generated)
eseidel
7 years ago (2013-12-13 23:08:41 UTC) #1
jam
sweet: have you given thought about what will happen to the objects that are created ...
7 years ago (2013-12-13 23:20:29 UTC) #2
eseidel
Yeah, there are a lot of objects which will need to be split into per-frame ...
7 years ago (2013-12-13 23:23:52 UTC) #3
jam
On 2013/12/13 23:23:52, eseidel wrote: > Yeah, there are a lot of objects which will ...
7 years ago (2013-12-13 23:30:59 UTC) #4
abarth-chromium
lgtm Neat https://codereview.chromium.org/115293005/diff/1/Source/core/frame/Frame.cpp File Source/core/frame/Frame.cpp (right): https://codereview.chromium.org/115293005/diff/1/Source/core/frame/Frame.cpp#newcode661 Source/core/frame/Frame.cpp:661: // If the node has a renderer, ...
7 years ago (2013-12-15 06:04:23 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eseidel@chromium.org/115293005/20001
7 years ago (2013-12-15 16:42:49 UTC) #6
commit-bot: I haz the power
Retried try job too often on linux_blink_rel for step(s) blink_platform_unittests, webkit_lint, webkit_python_tests, webkit_tests, webkit_unit_tests, wtf_unittests ...
7 years ago (2013-12-15 17:31:22 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eseidel@chromium.org/115293005/20001
7 years ago (2013-12-15 19:16:08 UTC) #8
commit-bot: I haz the power
Retried try job too often on linux_blink for step(s) blink_platform_unittests, webkit_lint, webkit_python_tests, webkit_tests, webkit_unit_tests, wtf_unittests ...
7 years ago (2013-12-15 19:48:42 UTC) #9
eseidel
Updating now.
7 years ago (2013-12-18 20:51:13 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eseidel@chromium.org/115293005/40001
7 years ago (2013-12-18 21:16:07 UTC) #11
eseidel
7 years ago (2013-12-18 21:26:23 UTC) #12
Message was sent while issue was closed.
Committed patchset #3 manually as r164117 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698