DescriptionRewrote full-screen support on Windows. O3D now always creates its own
window in which to render, rather than rendering into either the
browser's window or a separate full-screen window. The O3D window is
removed from the browser's hierarchy and made top-level in order to go
to full-screen mode via Direct3D. This solves fundamental focus
fighting problems seen on Windows Vista.
This change allowed the event forwarding code in the plugin's window
message loop to be deleted, but a new workaround for a flicker upon
the first mouse click in O3D in Firefox was required.
Split the Renderer's fullscreen API into GoFullscreen and
CancelFullscreen to solve chicken-and-egg problems with coming out of
full-screen mode.
Changed how the plugin detects resize events. Rather than responding
to WM_SIZE messages, NPP_SetWindow is now responsible for propagating
resize events to the client. Changed the ActiveX host control to call
NPP_SetWindow in response to SetObjectRects.
Fixed RendererGL::IsCurrent() on non-Mac platforms. Removed the bogus
current_renderer_ static variable.
Tested the following scenarios in IE and Firefox on Windows:
- Full-screen involving display mode change, Escape to exit.
- Full-screen involving display mode change, Alt-Tab to exit.
- Full-screen involving display mode change, Alt-F4 to exit.
- Full-screen involving display mode change, timeout to exit.
- Full-screen with no display mode change, Escape to exit.
- Full-screen with no display mode change, Alt-Tab to exit.
- Full-screen with no display mode change, Alt-F4 to exit.
- Full-screen with no display mode change, timeout to exit.
- Beach demo, particle demo, other tests.
Tested the following scenarios on the Mac in Safari (for which the
code path didn't change):
- Full-screen, escape to exit.
- Full-screen, Alt-Tab to exit.
- Full-screen, timeout to exit.
When http://crbug.com/21921 is fixed, full-screen mode will work on
Windows Vista with Aero on in Chrome.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=26489
Patch Set 1 #Patch Set 2 : '' #
Total comments: 22
Patch Set 3 : '' #Patch Set 4 : '' #Patch Set 5 : '' #
Messages
Total messages: 9 (0 generated)
|