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

Issue 3055009: Use RenderWidget(Host) for full screen (Closed)

Created:
10 years, 5 months ago by boliu
Modified:
9 years, 6 months ago
CC:
chromium-reviews, ben+cc_chromium.org, Erik does not do reviews, Aaron Boodman, pam+watch_chromium.org, brettw-cc_chromium.org, darin-cc_chromium.org, John Grabowski, Paweł Hajdan Jr.
Visibility:
Public.

Description

Use RenderWidget(Host) for full screen Add RenderWidgetFullscreen(Host) subclasses, InitAsFullscreen method to RenderWidgetHostView, and add two new ipc messages for creating and showing full screen. Add createFullscreenWindow to RenderView that creates RenderWidgetFullscreen and sends message to browser which eventually creates RenderWidgetFullscreenHost. The show method on RenderWidgetFullscreen sends message to parent RenderViewHost in browser, which calls InitAsFullscreen on the view. BUG=16735 TEST=RenderViewHostTest.CreateFullscreenWidget Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=56690

Patch Set 1 #

Total comments: 1

Patch Set 2 : Add retrieving widget view size. Clean ups. #

Total comments: 14

Patch Set 3 : Style fixes #

Total comments: 5

Patch Set 4 : Fullscreen widget creation rewrite, remove RenderWidget::size(), refactor RenderWidget::Init #

Total comments: 2

Patch Set 5 : Fix gtk full screen initialization. Fix accidental removals when removing RenderWidget::size(). #

Patch Set 6 : Fix compile error #

Total comments: 3

Patch Set 7 : Fix nits #

Patch Set 8 : Fix typo in win. Rename variable. #

Patch Set 9 : Add a tiny unit test #

Patch Set 10 : Fix compile error on windows #

Patch Set 11 : Add IPC::SyncMessage dependency. Fix auto complete. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+470 lines, -71 lines) Patch
M chrome/browser/extensions/extension_host.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_host.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/notifications/balloon_host.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_view_host.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_view_host.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +17 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_view_host_delegate.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
A chrome/browser/renderer_host/render_widget_fullscreen_host.h View 1 chunk +15 lines, -0 lines 0 comments Download
A chrome/browser/renderer_host/render_widget_fullscreen_host.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_helper.h View 1 2 3 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_helper.cc View 2 chunks +17 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +93 lines, -65 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.h View 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.mm View 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.cc View 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/resource_message_filter.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/resource_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/test/render_view_host_unittest.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/test/test_render_view_host.h View 8 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/tab_contents/background_contents.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/background_contents.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/interstitial_page.cc View 1 2 3 4 5 6 7 8 3 chunks +17 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/render_view_host_delegate_helper.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/render_view_host_delegate_helper.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +13 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/tab_contents_view.h View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/tab_contents/tab_contents_view.cc View 1 2 3 4 5 6 7 8 4 chunks +26 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_renderer.gypi View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/render_messages_internal.h View 1 2 3 4 6 7 8 9 10 2 chunks +14 lines, -2 lines 0 comments Download
M chrome/renderer/render_view.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/renderer/render_view.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/renderer/render_widget.h View 2 3 4 5 6 7 8 9 10 3 chunks +13 lines, -0 lines 0 comments Download
M chrome/renderer/render_widget.cc View 2 3 4 5 6 7 8 9 10 5 chunks +29 lines, -4 lines 0 comments Download
A chrome/renderer/render_widget_fullscreen.h View 1 2 3 1 chunk +34 lines, -0 lines 0 comments Download
A chrome/renderer/render_widget_fullscreen.cc View 1 2 3 4 5 6 7 8 9 1 chunk +56 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
boliu
Choosing subclassing RenderWidget/Host since full screen widget still behaves like a popup widget. However, some ...
10 years, 5 months ago (2010-07-22 00:23:34 UTC) #1
brettw
Overall the hookup looks good, it's nice you figured this out so quickly. I presume ...
10 years, 5 months ago (2010-07-22 22:35:46 UTC) #2
boliu
I changed the interface for initializing full screen where a WebWidget* is passed in instead ...
10 years, 5 months ago (2010-07-22 22:52:23 UTC) #3
boliu
Added a ipc messages to get the size of the render widget, since for a ...
10 years, 5 months ago (2010-07-23 19:17:22 UTC) #4
scherkus (not reviewing)
http://codereview.chromium.org/3055009/diff/7001/8004 File chrome/browser/renderer_host/render_view_host.cc (right): http://codereview.chromium.org/3055009/diff/7001/8004#newcode886 chrome/browser/renderer_host/render_view_host.cc:886: WebKit::WebPopupType popup_type) { indentation http://codereview.chromium.org/3055009/diff/7001/8010 File chrome/browser/renderer_host/render_widget_helper.h (right): http://codereview.chromium.org/3055009/diff/7001/8010#newcode184 ...
10 years, 5 months ago (2010-07-26 17:14:44 UTC) #5
boliu
On 2010/07/26 17:14:44, scherkus wrote: > http://codereview.chromium.org/3055009/diff/7001/8021 > File chrome/browser/tab_contents/render_view_host_delegate_helper.cc (right): > > http://codereview.chromium.org/3055009/diff/7001/8021#newcode136 > ...
10 years, 5 months ago (2010-07-26 18:58:06 UTC) #6
scherkus (not reviewing)
cool well this looks good enough to keep working on but I think brett should ...
10 years, 4 months ago (2010-07-28 18:39:19 UTC) #7
brettw
This looks OK from a high level. I would be interested in trying to simplify ...
10 years, 4 months ago (2010-07-28 18:57:04 UTC) #8
brettw
Just to clarify, if we simplified the widget stuff you were talking about, this would ...
10 years, 4 months ago (2010-07-28 19:34:04 UTC) #9
boliu
Right. So looking for a function, given a WebPopupType, creates the corresponding subclass of WebWidget. ...
10 years, 4 months ago (2010-07-28 19:41:53 UTC) #10
darin (slow to review)
I have some concerns about the design. I've just reviewed the bits in chrome/renderer/. http://codereview.chromium.org/3055009/diff/20002/21029 ...
10 years, 4 months ago (2010-07-28 20:44:43 UTC) #11
boliu
Refactored how WebWidget is created. Added static method RenderWidget::CreateWebWidget, and similar in RenderWidgetFullscreen. This way ...
10 years, 4 months ago (2010-07-29 00:53:18 UTC) #12
boliu
ping? I am also working on the patches that uses full screen for video. Trying ...
10 years, 4 months ago (2010-08-02 17:56:59 UTC) #13
boliu
Subsequent patches for full screen video: http://codereview.chromium.org/3026043 https://bugs.webkit.org/show_bug.cgi?id=43394
10 years, 4 months ago (2010-08-03 00:31:13 UTC) #14
scherkus (not reviewing)
so this Looks Good To Me as it looks like darin's comments were addressed -- ...
10 years, 4 months ago (2010-08-03 22:57:51 UTC) #15
scherkus (not reviewing)
also... any chance for some unit tests?
10 years, 4 months ago (2010-08-03 22:58:23 UTC) #16
boliu
I have spent a day looking at writing unit tests, but have not really found ...
10 years, 4 months ago (2010-08-06 22:11:44 UTC) #17
John Grabowski
Remember that all unit tests are run under valgrind. Even a basic allocation/deallocation of an ...
10 years, 4 months ago (2010-08-06 22:51:23 UTC) #18
boliu
After spending two days on writing some unit tests, only wrote a 4-line unit test ...
10 years, 4 months ago (2010-08-16 21:32:11 UTC) #19
boliu
So, is this patch close to being commit quality yet? I'm asking because this is ...
10 years, 4 months ago (2010-08-17 19:19:17 UTC) #20
scherkus (not reviewing)
10 years, 4 months ago (2010-08-18 19:12:31 UTC) #21
yes LGTM assuming them trybots pass

Powered by Google App Engine
This is Rietveld 408576698