0
Commit Graph

195 Commits

Author SHA1 Message Date
2a5bfd8861 Removed variables sections in DoxygenLayOut. Changed header to point to new css file to be consite compliant.
Review URL: http://codereview.chromium.org/6591078

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76412 0039d316-1c4b-4281-b951-d872f2087c98
2011-03-01 20:13:30 +00:00
36dbfe198c Moved creation of GPU command buffer shared memory into the browser process.
This is to allow the GPU process to be sandboxed on all platforms.

TEST=try, run WebGL app on win and mac.
BUG=none

Review URL: http://codereview.chromium.org/6588029

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76307 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-28 23:36:54 +00:00
95caad2e61 Don't allow multiple opens for Pepper FileSystem.
BUG=73667
TEST=test_file_system.{h,cc}

Review URL: http://codereview.chromium.org/6596026

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76278 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-28 22:17:15 +00:00
e1e675a864 Review URL: http://codereview.chromium.org/6502007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76256 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-28 20:41:02 +00:00
1c51cf7bcd Fix compiling on gcc-4.6.
This change removes invalid direct calls to constructors and replaces NULL to 0 as workarounds for a compiler bug of gcc 4.6.

Patch from Maarten Lankhorst <m.b.lankhorst@gmail.com>.

BUG=none
TEST=fix builds on gcc 4.6
Review URL: http://codereview.chromium.org/6596005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76046 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-25 13:39:41 +00:00
db0f57f529 Factor fd sharing code in proxy and fix fd issues once and for all.
BUG=none
TEST=use flapper, go to youtube, make plugin crash and check no warning about close() failing.

Review URL: http://codereview.chromium.org/6580050

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76026 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-25 03:54:54 +00:00
0100b7a275 Moved creation of GPU transfer buffers into the browser process.
Transfer buffer creation was previously done in the GPU process. This is one step required to sandbox the GPU process.

Rather than the GPU process opening a renderer process's handle by PID, which can't been done when sandboxed on Windows, the browser process passes the handle to the GPU process via the renderer process.

TEST=try
BUG=none

Review URL: http://codereview.chromium.org/6557006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75980 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-24 22:54:50 +00:00
41869539b9 Pin the PPAPI custom cursor value. PPAPI is intended to be frozen, so make space now for expanding the number of named cursors.
BUG=73356
TEST=no visible change; PPAPI custom cursors are currently not implemented anyway

Review URL: http://codereview.chromium.org/6576034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75928 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-24 19:19:13 +00:00
d07fa37911 PPB_Flash cleanup part 2: move all the file stuff to ppb_flash_file.*.
ppb_flash_file.* is intended to contain multiple (very similar) interfaces, of
which the ModuleLocal stuff is one.

BUG=none
TEST="everything" still works

Review URL: http://codereview.chromium.org/6579026

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75921 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-24 18:58:01 +00:00
d0f08a6dac Pepper: Increment the version numbers for PPB_{FileRef,FileSystem}_Dev.
The PP_FileSystemType_Dev enum was changed in r75566, implicitly changing these
interfaces (whose revision numbers weren't changed).

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6579018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75806 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-23 22:37:56 +00:00
9d9f1bb2aa PPB_Flash cleanup part 1: move the net connector stuff to its own files.
BUG=none
TEST=builds

Review URL: http://codereview.chromium.org/6578007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75800 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-23 22:10:57 +00:00
e6651eeb40 Add some files to the C compilation test, and fix the stuff that wasn't C compatible.
TEST=test_c_includes.c compiles successfully
BUG=None

Review URL: http://codereview.chromium.org/6542064

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75796 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-23 21:46:38 +00:00
be60b9a5c9 Dup command-buffer SHM handle before auto-closing.
This also adds error logging to the various places we close file descriptors, to help diagnosing future similar issues.

BUG=none
TEST=Pepper Flash + youtube in oop with --enable-accelerated-plugins

Review URL: http://codereview.chromium.org/6549037

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75792 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-23 21:37:41 +00:00
ce482dfe39 Implement the filesystem proxy. This allows the FileRef tests (the ones which
don't use FileIO which isn't don yet) to pass in the proxy.

Hook up the code from the URLLoader that downloads to a file. This allows all
URLLoader tests to pass in the proxy.

Change code in dispatcher that zeros out the array to take into account
padding. It was only zero-filling half of the array since sizeof(enum) * # elts
seems to be half as large as the actual array due to padding on 64-bit systems.

Make the aborted completion callbacks run asynchronously. This was caught by
one of the file ref tests. We really need a system for doing this better, but
I don't want to do that in this patch.

TEST=ppapi_tests run under proxy
Review URL: http://codereview.chromium.org/6543028

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75566 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-21 23:49:16 +00:00
4deeb43f8b Implement proxying for FileRef and FileChooser.
This also changes the FileRef interface to remove the Query function, since
there is no close function, there's no way to cancel the current request, which
makes memory management of the info structure very difficult.

Review URL: http://codereview.chromium.org/6519057

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75331 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-17 23:59:39 +00:00
3bcd2cc7c2 Review URL: http://codereview.chromium.org/6246117
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75197 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-16 22:47:18 +00:00
9b4cb19332 Basic implementation of Pepper Transport API.
BUG=None
TEST=Unittests

Review URL: http://codereview.chromium.org/6478018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75035 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-16 00:17:22 +00:00
cd7873e5c8 Document the meaning of the scroll wheel event in PPAPI.
Review URL: http://codereview.chromium.org/6528007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75025 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 23:01:07 +00:00
88272c9dd3 Revert 75003 - Basic implementation of Pepper Transport API.
BUG=None
TEST=Unittests

Review URL: http://codereview.chromium.org/6478018

TBR=sergeyu@chromium.org
Review URL: http://codereview.chromium.org/6480086

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75010 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 21:27:33 +00:00
6cc251f2ed Basic implementation of Pepper Transport API.
BUG=None
TEST=Unittests

Review URL: http://codereview.chromium.org/6478018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75003 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 21:04:38 +00:00
7358d57065 Implement proxy for FlashMenu and Run/QuitMessageLoop
BUG=none
TEST=Pepper Flash

Review URL: http://codereview.chromium.org/6432001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74981 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 18:44:40 +00:00
25cc464b9b Remove obsolete dependencies that create needless recompiling.
BUG=71130


Review URL: http://codereview.chromium.org/6523009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74966 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 17:39:15 +00:00
4f15d28446 Implement basic crash detection and shutdown handling for out of process PPAPI
plugins.

Currently when a crash is detected we just delete as much stuff as is
convenient, clear the plugin's backing store, and continue running. It does not
hook up a sad plugin page yet.

This adds a "proxy" interface for the proxy to tell the PPAPI backend
implementation in the renderer about proxy-related stuff (like the plugin
crashing).

This also implements keeping the process alive for a period of time so we can
re-use the same process.
Review URL: http://codereview.chromium.org/6493004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74965 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 17:36:33 +00:00
49c38da9a4 Fix PPB_Audio_Proxy handling of file descriptors.
Previous code was closing a file descriptor it shouldn't causing trouble when the real owner tried to close it again.

BUG=none
TEST=with pepper flash, load a youtube video with sound, reload the page, should see no assert.

Review URL: http://codereview.chromium.org/6528004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74894 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-15 00:52:07 +00:00
a08ebeaea3 Share PPAPI out-of-process plugins between renderer processes.
This provides the hook-up for plugin sharing but not shutdown or cleanup from
errors. There is still a lot of work to do cleaning up in the plugin and the
browser when a renderer dies, or cleaning up in the renderer and browser when a
plugin dies. Currently, even the normal exit case crashes in the browser. But
fixing it in this patch would be too complicated to write or review, so I'm
going to do shutdown & error handling in a followup.

Review URL: http://codereview.chromium.org/6486034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74766 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-13 17:50:20 +00:00
38836594c6 Pepper GLES fixes to support 3D in NaCl.
BUG=none
TEST=NaCl:910

Review URL: http://codereview.chromium.org/6505002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74674 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-11 21:28:44 +00:00
6895618147 Revert the accidentially changed auto-generated files.
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6490005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74460 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-10 19:19:45 +00:00
514b2dc655 Minor changes to layout to remove variables section. Doxyfile changed to find and exclude pp_macros.h
Review URL: http://codereview.chromium.org/6458032

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74455 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-10 18:23:01 +00:00
0c7a6b2d0b Only invoke WebKit methods in browsing data helpers on the WEBKIT thread.
BUG=71786
TEST=browser & unit tests

Review URL: http://codereview.chromium.org/6246105

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74433 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-10 15:27:55 +00:00
4662af7b3b Update the checked-in GLES2 bindings and implementation to match the auto-generated files.
This allows you to build all targets without ending up with spurious comment changes in your client.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6441001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74177 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-08 21:34:27 +00:00
35e9ba80f1 Revert 73222 - Make target running GLES2 autogen script.
Also lays groundwork for rebuilding Pepper OpenGL ES bindings as part of the build.

BUG=none
TEST=run "make ppapi_gles_bindings" or "make ppapi_gles_implementation".

Review URL: http://codereview.chromium.org/5212006

TBR=neb@chromium.org

This change was causing just building to create merge conflicts in
clean repos.  Either these targets shouldn't be part of standard build
targets like "chrome" or "unit_tests", or we shouldn't have build targets 
which generate output into the working tree...

Review URL: http://codereview.chromium.org/6461001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74161 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-08 20:19:25 +00:00
465faa2904 Rent syncemove all uses of the global Dispatcher Get function.
This reqired reworking how plugin->host GetInterface works. Previously,
interface requests were symmetric where each side would first do a
SupportsInterface to see if the remote side supports the interface, then create
the proxy. Since the plugin may talk to multiple renderers, we don't know where
to send these requests. The solution is to make the assumption that the
renderer always supports all PPB interfaces (which is possible since the proxy
is compiled with the executable).

This also adds some better lookup for interfaces to avoid having multiple lists
of interfaces. We now have a list of interfaces and factory functions in
dispatcher.cc.

Add some additional testing infrastructure for the dispatchers with simple tests.
Review URL: http://codereview.chromium.org/6286070

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74121 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-08 16:31:46 +00:00
470ae161ee Pepper: Make PPB_FileChooser_Dev::Show "return" PP_ERROR_USERCANCEL if no file is selected.
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6286128

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73995 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-07 17:32:43 +00:00
590872fa7c Review URL: http://codereview.chromium.org/6312098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73683 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-03 22:47:09 +00:00
8659930676 Fix FileIO and FileRef PPAPI tests to match changes in
http://src.chromium.org/viewvc/chrome?view=rev&revision=71544,
and try re-enabling them in the UI tests.

Review URL: http://codereview.chromium.org/6410064

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73677 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-03 22:20:13 +00:00
6b91c40ac8 Review URL: http://codereview.chromium.org/6286018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73635 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-03 17:52:39 +00:00
eb96c8a3b0 This Doxyfile has the TYPEDEF_HIDES_STRUCT = NO setting to fix the PP_Var
issue whereby PP_Var docs weren't showing up in the right place.
Review URL: http://codereview.chromium.org/6312099

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73506 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-02 20:56:24 +00:00
8a48d6cdfc Fix reentrancy in HandleEvent by posting a task
BUG=none
TEST=pepper flash, run it and move the mouse everywhere.

Review URL: http://codereview.chromium.org/6260057

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73475 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-02 18:15:21 +00:00
f56279ca6f Implement proxy for 3d-related interfaces
BUG=none
TEST=Pepper Flash

Review URL: http://codereview.chromium.org/6400007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73472 0039d316-1c4b-4281-b951-d872f2087c98
2011-02-02 18:12:31 +00:00
4e3f0ab697 Make target running GLES2 autogen script.
Also lays groundwork for rebuilding Pepper OpenGL ES bindings as part of the build.

BUG=none
TEST=run "make ppapi_gles_bindings" or "make ppapi_gles_implementation".

Review URL: http://codereview.chromium.org/5212006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73222 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-31 23:39:57 +00:00
b29aa74b75 Pepper/Flapper: First pass at context menu implementation.
This meets the needs of Flapper. We may want to generalize/restrict/modify the
API for inclusion into PPAPI, but hopefully this lays a foundation.

BUG=none
TEST=Flapper context menus work (with the right version of Flapper)

Review URL: http://codereview.chromium.org/6253017

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73193 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-31 21:41:08 +00:00
156aa534ae Include what you use in ppb_context_3d_trusted_dev
BUG=none
TEST=ppb_context_3d_trusted_dev.h compiles standalone

Review URL: http://codereview.chromium.org/6304027

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73060 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-29 01:37:21 +00:00
f98c6a196e Some minor tweaks to doxygen code. Namely adding @file sections to the start
of many files.
Review URL: http://codereview.chromium.org/6261031

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73030 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-28 22:28:43 +00:00
2031aeb744 Fix some bugs with incorrect ! (both missing and extra) in the proxy error handling.
Go back to using the old code for the audio created notification. There was a
bug deserializing one of the handles, and the new code I wrote didn't turn out
to be necessary anyway.

TEST=audio plays in out-of-process proxy (manual)
BUG=none
Review URL: http://codereview.chromium.org/6341015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73003 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-28 20:01:16 +00:00
9d44b21e1c Implements PPB_Context3DTrusted_Dev. Also add CreateRaw/Initialize for proxy
This is the follow up to http://codereview.chromium.org/6293023/

BUG=none
TEST=Pepper Flash

Review URL: http://codereview.chromium.org/6314025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73000 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-28 19:59:10 +00:00
040d5e8ab4 Removed Doxygen groupings by ppb_, pp_, and ppp_. Added grouping by construct (enums, interfaces, and so on).
Review URL: http://codereview.chromium.org/6297018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72960 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-28 15:38:38 +00:00
f24448db9f Refactor PPAPI proxy resource handling to maintain which host they came from,
and to map back to that host when calling functions on them. Adds a mapping
between resources generated by the hosts to a new list inside the plugin so
there can't be overlaps.

This means there are now two meanings for a PP_Resource, one in the plugin
process and one in the host process. This is potentially very confusing. I
introduced a new object called a HostResource that always represents a
"host" PP_Resource to try to prevent errors. In the plugin side of the proxy,
it only deals with PP_Resources valid in the plugin, and SerializedResources
valid in the host. It also encapsulates the associated instance, which
simplifies some code.

Each PluginResource object maintains its SerializedResource which the proxy
uses to send to the host for requests. This requires getting the PluginResource
object in more proxy calls.

This fixes a bug in var sending introduced in my previous patch. The var
releasing from EndSendPassRef used the host var rather than the plugin var. I
had to add more plumbing to get the dispatcher at this location and convert
to a plugin var.

I removed the separate file for ImageData and put it in ppb_image_data_proxy
like for the other resource types.

TEST=some unit tests included
BUG=none
Review URL: http://codereview.chromium.org/6334016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72879 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-27 20:40:39 +00:00
79b9c0bf4e Include what you use in ppb_surface_3d_dev.h.
BUG=none
TEST=compiles standalone

Review URL: http://codereview.chromium.org/6355013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72651 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-26 18:09:20 +00:00
4d60b7fe49 PPB_Context3D_Trusted interface.
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6322010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72615 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-26 06:48:25 +00:00
b42370e13e Break ppapi.gyp into several gypi's to reduce contention and allow projects to pick
which portion of ppapi to use.  This revents ppapi from inducing dependencies on
other libraries such as base, or large code bases such as mesa in the cases where
the ppapi user doesn't need them.

BUG=nacl1339
TEST=None

Review URL: http://codereview.chromium.org/6265022

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72248 0039d316-1c4b-4281-b951-d872f2087c98
2011-01-22 01:13:09 +00:00