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

Issue 2814643003: Remove FrameViewBase as base class of PluginView. (Closed)

Created:
3 years, 8 months ago by joelhockey
Modified:
3 years, 8 months ago
Reviewers:
haraken, szager1, dcheng
CC:
blink-reviews, blink-reviews-frames_chromium.org, blink-reviews-html_chromium.org, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dglazkov+blink, dshwang, eae+blinkwatch, jchaffraix+rendering, kinuko+watch, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove FrameViewBase as base class of PluginView. Created new pure abstract class FrameOrPlugin to be used in places where polymorphism of frames and plugins is required. FrameView, RemoteFrameView and PluginView implement this class. FrameOrPlugin class has the minimal common methods required: SetFrameRect, FrameRect, Paint, Hide, Show, Dispose. The parent_, frame_rect_, and visible_ vars from FrameViewBase have now moved into WebPluginContainerImpl. Next step is to remove FrameView, RemoteFrameView, and Scrollbar from inheriting from FrameViewBase, and remove the FrameViewBase class. BUG=637460 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2814643003 Cr-Commit-Position: refs/heads/master@{#465144} Committed: https://chromium.googlesource.com/chromium/src/+/e4904c3670d6a8d4f88642ca7e18ca2a9878a684

Patch Set 1 #

Patch Set 2 : Changed upstream to origin/master. #

Total comments: 2

Patch Set 3 : fix unused var #

Total comments: 14

Patch Set 4 : No need for child_frame_view var #

Patch Set 5 : RemoteFrameView must also be FrameOrPlugin #

Patch Set 6 : Added class comment #

Patch Set 7 : Make FrameOrPlugin GarbageCollectedMixin #

Patch Set 8 : Merge after dependency CL #

Total comments: 12

Patch Set 9 : Remove FrameViewBase Paint, Show, Hide. #

Total comments: 2

Patch Set 10 : Remove FrameViewBase Paint, Show, Hide. #

Patch Set 11 : Address final comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+225 lines, -180 lines) Patch
M third_party/WebKit/Source/core/frame/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/core/frame/FrameOrPlugin.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +32 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 chunks +8 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 3 chunks +2 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrameView.h View 1 2 3 4 5 6 2 chunks +11 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrameView.cpp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp View 1 2 3 4 5 6 7 8 5 chunks +14 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutEmbeddedObject.cpp View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutPart.h View 1 2 3 4 5 6 7 3 chunks +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutPart.cpp View 1 2 3 4 5 6 7 7 chunks +38 lines, -31 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PartPainter.cpp View 1 2 3 3 chunks +12 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/plugins/PluginView.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +20 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/platform/FrameViewBase.h View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/platform/scroll/Scrollbar.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/scroll/Scrollbar.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.h View 1 2 3 4 5 6 6 chunks +25 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.cpp View 1 2 3 21 chunks +49 lines, -55 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 65 (40 generated)
joelhockey
This is the smallest change that I can do to remove PluginView from inheriting from ...
3 years, 8 months ago (2017-04-11 12:16:58 UTC) #8
dcheng
https://codereview.chromium.org/2814643003/diff/40001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h File third_party/WebKit/Source/core/frame/FrameOrPlugin.h (right): https://codereview.chromium.org/2814643003/diff/40001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h#newcode16 third_party/WebKit/Source/core/frame/FrameOrPlugin.h:16: class CORE_EXPORT FrameOrPlugin { My personal feeling about this ...
3 years, 8 months ago (2017-04-12 00:06:39 UTC) #14
joelhockey
https://codereview.chromium.org/2814643003/diff/20001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h File third_party/WebKit/Source/core/frame/FrameOrPlugin.h (right): https://codereview.chromium.org/2814643003/diff/20001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h#newcode16 third_party/WebKit/Source/core/frame/FrameOrPlugin.h:16: class CORE_EXPORT FrameOrPlugin { This class is pure virtual. ...
3 years, 8 months ago (2017-04-12 04:33:00 UTC) #15
joelhockey
I had some questions that I had put as comments on the CL. It looks ...
3 years, 8 months ago (2017-04-12 04:36:31 UTC) #16
joelhockey
I had some questions that I had put as comments on the CL. It looks ...
3 years, 8 months ago (2017-04-12 04:36:31 UTC) #17
haraken
Regarding oilpan, you should make FrameOrPlugin GarbageCollectedMixin. Then you can use HeapVector<Member<FrameOrPlugin>>.
3 years, 8 months ago (2017-04-12 06:18:56 UTC) #18
haraken
A suggestion on naming: - FrameView => FrameLayoutController - PluginView => PluginLayoutController - Scrollbar => ...
3 years, 8 months ago (2017-04-12 06:32:31 UTC) #19
joelhockey
https://codereview.chromium.org/2814643003/diff/40001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h File third_party/WebKit/Source/core/frame/FrameOrPlugin.h (right): https://codereview.chromium.org/2814643003/diff/40001/third_party/WebKit/Source/core/frame/FrameOrPlugin.h#newcode16 third_party/WebKit/Source/core/frame/FrameOrPlugin.h:16: class CORE_EXPORT FrameOrPlugin { On 2017/04/12 at 06:32:31, haraken ...
3 years, 8 months ago (2017-04-13 05:42:30 UTC) #27
joelhockey
I think the unresolved issues for this CL are: 1/ What to name FrameOrPlugin class ...
3 years, 8 months ago (2017-04-13 09:12:27 UTC) #32
haraken
On 2017/04/13 09:12:27, joelhockey wrote: > I think the unresolved issues for this CL are: ...
3 years, 8 months ago (2017-04-13 16:16:22 UTC) #35
dglazkov
On 2017/04/13 at 16:16:22, haraken wrote: > On 2017/04/13 09:12:27, joelhockey wrote: > > Given ...
3 years, 8 months ago (2017-04-13 16:18:25 UTC) #36
szager1
Sorry for the late drive-by, but: is there any reason not to make FrameViewBase inherit ...
3 years, 8 months ago (2017-04-13 17:28:10 UTC) #38
joelhockey
On 2017/04/13 at 17:28:10, szager wrote: > Sorry for the late drive-by, but: is there ...
3 years, 8 months ago (2017-04-13 21:51:50 UTC) #39
dcheng
https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h File third_party/WebKit/Source/core/frame/RemoteFrameView.h (right): https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h#newcode43 third_party/WebKit/Source/core/frame/RemoteFrameView.h:43: void Paint(GraphicsContext&, const CullRect&) const override {} This is ...
3 years, 8 months ago (2017-04-17 21:09:07 UTC) #40
joelhockey
https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h File third_party/WebKit/Source/core/frame/RemoteFrameView.h (right): https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h#newcode43 third_party/WebKit/Source/core/frame/RemoteFrameView.h:43: void Paint(GraphicsContext&, const CullRect&) const override {} On 2017/04/17 ...
3 years, 8 months ago (2017-04-18 00:42:41 UTC) #41
dcheng
LGTM w/comments addressed https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h File third_party/WebKit/Source/core/frame/RemoteFrameView.h (right): https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/frame/RemoteFrameView.h#newcode43 third_party/WebKit/Source/core/frame/RemoteFrameView.h:43: void Paint(GraphicsContext&, const CullRect&) const override ...
3 years, 8 months ago (2017-04-18 00:56:31 UTC) #46
joelhockey
https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/plugins/PluginView.h File third_party/WebKit/Source/core/plugins/PluginView.h (right): https://codereview.chromium.org/2814643003/diff/140001/third_party/WebKit/Source/core/plugins/PluginView.h#newcode58 third_party/WebKit/Source/core/plugins/PluginView.h:58: virtual bool IsPluginContainer() const { return false; } On ...
3 years, 8 months ago (2017-04-18 01:05:17 UTC) #47
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/2814643003/200001
3 years, 8 months ago (2017-04-18 01:06:00 UTC) #50
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/413288)
3 years, 8 months ago (2017-04-18 01:14:53 UTC) #52
joelhockey
haraken, could you give LGTM as OWNER in platform?
3 years, 8 months ago (2017-04-18 01:25:47 UTC) #53
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/2814643003/200001
3 years, 8 months ago (2017-04-18 01:30:17 UTC) #55
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/413310)
3 years, 8 months ago (2017-04-18 01:37:35 UTC) #57
haraken
LGTM
3 years, 8 months ago (2017-04-18 04:42:17 UTC) #60
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/2814643003/200001
3 years, 8 months ago (2017-04-18 04:43:10 UTC) #62
commit-bot: I haz the power
3 years, 8 months ago (2017-04-18 05:06:45 UTC) #65
Message was sent while issue was closed.
Committed patchset #11 (id:200001) as
https://chromium.googlesource.com/chromium/src/+/e4904c3670d6a8d4f88642ca7e18...

Powered by Google App Engine
This is Rietveld 408576698