summaryrefslogtreecommitdiffstats
path: root/o3d/plugin/win
Commit message (Collapse)AuthorAgeFilesLines
* Reorganized command buffer and GPU plugin code into following structure:apatrick@google.com2009-11-111-1/+1
| | | | | | | | | | | | gpu/gpu.gyp gpu/command_buffer/... gpu/gpu_plugin/... gpu/np_utils/... And fixed up paths and header sentry macros. Also merged command_buffer.gyp into gpu.gyp. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31676 0039d316-1c4b-4281-b951-d872f2087c98
* Updating the installer to check for OpenGL stats. Requires saving those ↵rlp@google.com2009-11-094-7/+17
| | | | | | | | stats and uploading with others which required a modification of the stats uploading code to actually save old stats--which it should do anyways. Review URL: http://codereview.chromium.org/295043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31502 0039d316-1c4b-4281-b951-d872f2087c98
* Moved command_buffer and gpu_plugin code out of o3d namespace.apatrick@google.com2009-11-051-4/+4
| | | | | | | | | Changed header guard macros in preparation for move to Chrome gpu directory. Added svn:eol LF property. Review URL: http://codereview.chromium.org/375004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31171 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for windows safari. This requires registering the o3d plugin ↵vangelis@google.com2009-10-271-2/+3
| | | | | | | | | with firefox (via registry entries) and adding Safari to the list of supported User Agents. Review URL: http://codereview.chromium.org/326001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30274 0039d316-1c4b-4281-b951-d872f2087c98
* Changed O3D to use CommandBuffer in-process. Still not connecting to the GPU ↵apatrick@google.com2009-10-191-1/+45
| | | | | | | | | | | | | | | | | | | | | plugin. I removed all the NaCl dependencies. Synchronous messages are now sent by NPAPI. Removed BufferSyncInterface and replaced it with CommandBuffer. CommandBufferHelper now uses NPAPI. Changed some unsigned ints to int32s because NPAPI doesn't support unsigned int. There are now two subclasses of RendererCB. RendererCBLocal is for use with an in-process CommandBuffer. RendererCBRemote is for use with an out-of-process CommandBuffer. I'm going to rearrange the locations of the source files under gpu_plugin next. CommandBuffer and GPUProcessor probably belong in the command_buffer_service library now. np_utils and system_services should be standalone libraries. TEST=none BUG=none Review URL: http://codereview.chromium.org/266068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29429 0039d316-1c4b-4281-b951-d872f2087c98
* Drop redundant CommandLine::Terminate.evan@chromium.org2009-10-121-1/+1
| | | | | | | | | We had two functions that did the same thing. Though Terminate came first, I think Reset better conveys the intent. Review URL: http://codereview.chromium.org/267047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28708 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes (again) the rendering problem we have with zero-heightgspencer@google.com2009-10-091-0/+5
| | | | | | | | | | | | | window resizes from Firefox. It puts back the explicit window resize, but doesn't do it if the window is zero width or height. This seems to fix the problem without causing resize problems in the beach demo. TESTED=ran beach demo, 2d, and render-mode examples, in separate tabs and checked to make sure that background tabs didn't draw over foreground tabs (all in Firefox). Review URL: http://codereview.chromium.org/267041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28610 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes the rendering issue in Firefox by ignoring zero heightgspencer@google.com2009-10-081-5/+0
| | | | | | | | | | | | | | | | | resize requests from Firefox. When the fullscreen stuff was redone (r26489), we removed a WM_SIZE handler that would call the plugin's "Resize" API, and moved it into NPP_SetWindow, but at the same time a SetWindowPos call was also added that would take the window size as gospel and set it, but only if we're not in fullscreen mode. Turns out that this is not necessary because the Resize API already checks to see if we're in full-screen mode, and handles the spurious zero height messages properly too. So I just took out the explicit SetWindowPos. Review URL: http://codereview.chromium.org/268022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28482 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Chromium bug.apatrick@google.com2009-10-021-21/+36
| | | | | | | | http://code.google.com/p/chromium/issues/detail?id=23694 Review URL: http://codereview.chromium.org/259027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27915 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed crash introduced by recent full-screen work underkbr@google.com2009-09-211-0/+10
| | | | | | | | | | | http://codereview.chromium.org/210005 . Restore the browser's original WNDPROC on the plugin window before destroying the O3D plugin, so that Windows does not attempt to call into the O3D plugin after it has been unloaded. Review URL: http://codereview.chromium.org/208050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26750 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrote full-screen support on Windows. O3D now always creates its ownkbr@google.com2009-09-171-204/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Review URL: http://codereview.chromium.org/210005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26489 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of changes required to build on GCC in full paranoia mode with no ↵maf@google.com2009-08-061-1/+3
| | | | | | | | warnings generated. Review URL: http://codereview.chromium.org/165013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22581 0039d316-1c4b-4281-b951-d872f2087c98
* Asynchronous tick now uses NPN_PluginAsyncCall.URL streaming callbacks are ↵apatrick@google.com2009-08-031-20/+8
| | | | | | | | now also asynchronous.Implemented NPN_PluginAsyncCall for IE.Allowed WM_PAINT handler to be reentered because it no longer calls into the browser (except to schedule an asynchronous tick if none is pending).Fixed a bug where the EventManager would crash if an event callback called cleanUp on the client.Cleanup destroys all the packs. Doing this in NPP_Destroy seems to make Chrome timeout and fail to load the next page.Tar and GZ decoding happens on a new thread. Review URL: http://codereview.chromium.org/155733 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22305 0039d316-1c4b-4281-b951-d872f2087c98
* This updates the DEPS to bring them in line with the versionsgspencer@google.com2009-07-231-1/+1
| | | | | | | | | | | that Chrome is currently using, and it removes "files" from the NPAPI include paths and file location in third_party so that we can be consistent with other Chrome third party directories. TEST=build using gyp and scons and ran unit tests on each. Review URL: http://codereview.chromium.org/159277 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21415 0039d316-1c4b-4281-b951-d872f2087c98
* Added code to exit fullscreen mode if the underlying plugin window is being ↵vangelis@google.com2009-07-181-0/+4
| | | | | | | | | | | messed with. This fixes the following GTV bug: http://b/issue?id=1980996 Review URL: http://codereview.chromium.org/155614 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21028 0039d316-1c4b-4281-b951-d872f2087c98
* This adds some infrastructure for building O3D as part of the Chrome build,gspencer@google.com2009-07-151-0/+2
| | | | | | | | | | | and fixes some of the "AdditionalDependencies" tags to be just generic 'libraries' tags to be more general. TEST=none BUG=none Review URL: http://codereview.chromium.org/149650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20688 0039d316-1c4b-4281-b951-d872f2087c98
* Plugin no longer makes synchronous NPAPI calls from a Windows message ↵apatrick@google.com2009-07-131-18/+11
| | | | | | | | handler. This fixes deadlocks and slowdown in Chrome. The approach is strange. It asynchronously opens the url data:, and then invokes Tick from the finish callback. This is the simplest approach I could think of that hide widespread browser support. NPN_PluginThreadAsyncCall would be ideal but it is supported by all browsers we currently support. Review URL: http://codereview.chromium.org/149415 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20517 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed full screen window class issues.apatrick@google.com2009-07-131-7/+31
| | | | | | | | | Now main_win.cc unregisters the full screen window class so that if the DLL is reloaded at a different address later, the WindowProc will point at the new address. Also now using the DLL's module handle rather than the one associated with the plugin (which will likely be the browser exes handle). Review URL: http://codereview.chromium.org/149496 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20500 0039d316-1c4b-4281-b951-d872f2087c98
* In preparation for becoming an internal plugin in chrome I did these things:apatrick@google.com2009-07-094-321/+324
| | | | | | | | | | | - Move declarations in the global namespace into the o3d namespace to avoid conflicts with Chrome. - Ifdef out code that we do not want to run as an internal plugin (like breakpad, DllMain, etc) - Prevent NP_Initialize, etc from being exported as an internal plugin. Unfortunately I had to move functions around to group them by namespace so the diffs look like there is more change than there actually is. Review URL: http://codereview.chromium.org/149130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20285 0039d316-1c4b-4281-b951-d872f2087c98
* Worked around infinite loop seen in Chrome on Windows when raising andkbr@google.com2009-07-071-0/+4
| | | | | | | | dismissing JavaScript alert over O3D view Review URL: http://codereview.chromium.org/155119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20002 0039d316-1c4b-4281-b951-d872f2087c98
* Adding in most of the unit tests. This adds 406 of our unit testsgspencer@google.com2009-07-011-1/+1
| | | | | | | | | into the gyp build. 21 of them fail, but that is only because they don't have test input yet -- I haven't added the build code that copies the test inputs into the build dir yet. Review URL: http://codereview.chromium.org/147129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19778 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Windows 7gman@google.com2009-07-011-1/+2
| | | | | | Review URL: http://codereview.chromium.org/150182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19764 0039d316-1c4b-4281-b951-d872f2087c98
* add XEmbed bindingspiman@google.com2009-06-291-0/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19508 0039d316-1c4b-4281-b951-d872f2087c98
* Call V8::Dispose() when the plugin dll is unloaded from the browser so that ↵vangelis@google.com2009-06-251-0/+16
| | | | | | | | memory used by V8 can be properly freed. This fixes intermittend crashes in IE selenenium tests. Review URL: http://codereview.chromium.org/146135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19269 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/146126ericu@google.com2009-06-251-6/+10
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19216 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/147062ericu@google.com2009-06-241-4/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19087 0039d316-1c4b-4281-b951-d872f2087c98
* These are code changes required to make the GYP build work.gspencer@google.com2009-06-231-1/+1
| | | | | | | | | | | | | Mostly these are fixes to warnings (signed/unsigned mismatches were the most common), and some changes to include paths. I've updated the build.scons files and DEPS file to match these changes so that the scons build will still function with these changes. Review URL: http://codereview.chromium.org/146047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19062 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing a typo that broke the windows build.vangelis@google.com2009-06-221-1/+1
| | | | | | Review URL: http://codereview.chromium.org/140072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18907 0039d316-1c4b-4281-b951-d872f2087c98
* Add Mac support for setting plugin fullscreen area. maf@google.com2009-06-191-0/+5
| | | | | | Review URL: http://codereview.chromium.org/126252 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18847 0039d316-1c4b-4281-b951-d872f2087c98
* This is the O3D source tree's initial commit to the Chromium tree. It gspencer@google.com2009-05-2711-0/+2048
is not built or referenced at all by the chrome build yet, and doesn't yet build in it's new home. We'll change that shortly. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17035 0039d316-1c4b-4281-b951-d872f2087c98