Chromium Code Reviews
DescriptionThis CL adds pepper flash fullscreen support on Mac.
Pepper has two fullscreen APIs:
src/ppapi/cpp/fullscreen.h pp::FullScreen::SetFullscreen()
src/ppapi/cpp/private/flash_fullscreen.h pp::FlashFullScreen::SetFullscreen()
The first fullscreen API simply causes the browser window to enter fullscreen as normal. This means that the menu bar and tab strip is auto-shown when the mouse is moved to the top of the screen. This feature is already working on the Mac and this CL doesn't change anything with respect to that API.
The second fullscreen API creates a new web content that is hosted in its own window. To keep the architecture similar to the Windows and Linux implementation I decided not to host the web content inside a browser window. Instead I'm using a custom borderless window that's similar to windows that NPAPI plugins use today.
The chrome browser fullscreen window has three interesting functionality:
1. allow OpenGL surface under the window to be visible to the user
2. Setup the background color for the tab strip / toolbar drawing
3. Auto-show the menu bar / tab strip when the mouse is at the top of the screen
Of these the flash fullscreen window only needs the first. For this reason I factored out that functionality into a new common base class, UnderlayOpenGLHostingWindow.
BUG=
TEST=call pp::FlashFullscreen::SetFullscreen(true). Verify that the plugin goes fullscreen.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=130311
Patch Set 1 #Patch Set 2 : a #Patch Set 3 : test #
Total comments: 3
Patch Set 4 : address review comment #
Total comments: 12
Patch Set 5 : address review comments #Patch Set 6 : nit #
Total comments: 16
Patch Set 7 : address review comments #Patch Set 8 : This CL adds pepper flash fullscreen support on Mac. #Patch Set 9 : #
Total comments: 1
Patch Set 10 : #Messages
Total messages: 27 (0 generated)
|