summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppapi_proxy_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* PPAPI: Purposely leak ProxyLock, fix shutdown racedmichael@chromium.org2013-09-171-0/+7
| | | | | | | | | | | | | | | | | | This CL: - Makes callbacks returned by RunWhileLocked acquire the lock when they are destroyed if they are not run. This eliminates some potential race conditions. - Because MessageLoops can be destroyed after the PpapiGlobals (and thus the ProxyLock), this means we need to make the ProxyLock live longer. So we leak it so that it lives all the way through shutdown. This issue depends on: https://codereview.chromium.org/19492014/ BUG= R=yzshen@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=222829 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=222840 (static initializer + content_unittests failure) Review URL: https://chromiumcodereview.appspot.com/19492014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223738 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "PPAPI: Purposely leak ProxyLock, fix shutdown race"dmichael@chromium.org2013-09-121-7/+0
| | | | | | | | | | | | Reverts 222829. Introduced a static initializer and failure in content_unittests. This reverts commit 7b0c030e5ccb9a5008411ae92a421bd7fbb7ffe8. BUG= Review URL: https://codereview.chromium.org/24076011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222840 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Purposely leak ProxyLock, fix shutdown racedmichael@chromium.org2013-09-121-0/+7
| | | | | | | | | | | | | | | This CL: - Makes callbacks returned by RunWhileLocked acquire the lock when they are destroyed if they are not run. This eliminates some potential race conditions. - Because MessageLoops can be destroyed after the PpapiGlobals (and thus the ProxyLock), this means we need to make the ProxyLock live longer. So we leak it so that it lives all the way through shutdown. This issue depends on: https://codereview.chromium.org/19492014/ BUG= R=yzshen@chromium.org Review URL: https://codereview.chromium.org/19492014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222829 0039d316-1c4b-4281-b951-d872f2087c98
* move BrowserFontResource_Trusted to content/childscottmg@chromium.org2013-07-251-0/+8
| | | | | | | | | | | | | | | Needed to break dependency of ppapi_proxy on webkit code. resource_creation_proxy now creates BrowserFontResource_Trusted by going through PluginGlobals -> PluginProxyDelegate implemented in content by PpapiThread. R=jam@chromium.org, yzshen@chromium.org BUG=237249 Review URL: https://codereview.chromium.org/20214004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213684 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths in ppapi/proxy for base/process changes.rsesek@chromium.org2013-07-251-1/+0
| | | | | | | | | BUG=242290 R=jschuh@chromium.org, piman@chromium.org Review URL: https://codereview.chromium.org/20058002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213627 0039d316-1c4b-4281-b951-d872f2087c98
* Do not forget to detach message loop from thread in ppapi_unittests.earthdok@chromium.org2013-07-151-0/+1
| | | | | | | | | | | Fixes a test-only memory leak. BUG=258132 R=viettrungluu@chromium.org, dmichael@chromium.org Review URL: https://chromiumcodereview.appspot.com/19197003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211687 0039d316-1c4b-4281-b951-d872f2087c98
* Call scoped_refptr<T>::get() rather than relying on implicit "operator T*"rsleevi@chromium.org2013-06-111-1/+1
| | | | | | | | | | | | | | | | | | | This upates calls to bound temporary objects to also use get(). While it has the same semantic equivalence to the existing code, this generally represents a dangerous pattern - indeed, part of the whole motivation for this change is to make this anti-pattern very visible to authors. This change simply updates all of the call sites, to allow the "operator T*" to be removed and preventing new instances. The existing instances will then be reviewed for "suspicious" changes and updated to use/pass scoped_refptr<T> rather than T*, as appropriate. BUG=110610 TBR=darin Review URL: https://codereview.chromium.org/15984016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205560 0039d316-1c4b-4281-b951-d872f2087c98
* Update includes of message_loop_proxy.brettw@chromium.org2013-06-101-1/+1
| | | | | | | | | | | This keeps the forwarding header, just updates all current callers. BUG= R=avi@chromium.org Review URL: https://codereview.chromium.org/16514006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205306 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of URLLoader using PluginResource/ResourceHost.bbudge@chromium.org2013-05-161-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is essentially the same as: https://codereview.chromium.org/11416363 Here's the description from that CL: "This doesn't use the resource call/reply infrastructure, but rather pipes WebKit callbacks to the plugin via unsolicited callbacks. This eliminates state tracking in the host which makes things simpler. This fixes some bugs in Close() as well to fix the below-mentioned bug." Other things contained in the original CL: - Add a GetPluginPID method to RendererPpapiHost. This is needed when the loader host Opens() a request. - Add a HandleDocumentLoad method to PluginDelegate and implements it in PepperPluginDelegateImpl. This creates the host for both in- and out-of-process proxies. - Removes the GetURLLoaderBufferedBytes function from the PPB_Proxy_Private interface. - Removes the HandleDocumentLoad implementation in the PPP_Instance_Proxy class. - Removes the document_loader_ field from webkit::ppapi::WebPluginImpl and changes the implementation to forward document load notifications to the PluginInstance. - Changes the PluginInstance to manage the document loader. This CL differs from the original in two ways. First, the trusted interface keeps the RegisterStatusCallback function. The NaCl plugin relies on this to generate progress messages back to the embedding page. Second, PluginInstance is changed to recognize when it's a NaCl instance, and to defer calling the plugin delegate's HandleDocumentLoad method until after the proxy is switched. In the meantime, it saves document events in a special loader object. When the proxy is switched, the delegate's HandleDocumentLoad method is called and the response and document events are then replayed through the new loader resource. BUG=69457 R=brettw@chromium.org Review URL: https://codereview.chromium.org/14371021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200412 0039d316-1c4b-4281-b951-d872f2087c98
* ppapi: Use base::MessageLoop.xhwang@chromium.org2013-05-061-1/+1
| | | | | | | | BUG=236029 Review URL: https://chromiumcodereview.appspot.com/14273043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198504 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-301-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Committed: r186925 Reverted: r186939 due to build errors Committed: r187340 Committed: r187427 Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681 Committed: r189518 Reverted: r189682, due to regression in Kraken (see crbug.com/222741) Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=191420 Reverted: r191441, due to new failing PDFResource unit test. Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191510 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 191420 "PPAPI: Remove threading options; it's always on"rlarocque@chromium.org2013-03-291-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | > PPAPI: Remove threading options; it's always on > > This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. > > BUG=159240,92909 > > > Committed: r186925 > Reverted: r186939 due to build errors > > Committed: r187340 > > Committed: r187427 > Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681 > > Committed: r189518 > Reverted: r189682, due to regression in Kraken (see crbug.com/222741) > > Review URL: https://chromiumcodereview.appspot.com/12378050 TBR=dmichael@chromium.org Review URL: https://codereview.chromium.org/13328006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191441 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-291-3/+12
| | | | | | | | | | | | | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Committed: r186925 Reverted: r186939 due to build errors Committed: r187340 Committed: r187427 Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681 Committed: r189518 Reverted: r189682, due to regression in Kraken (see crbug.com/222741) Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191420 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 189518 "PPAPI: Remove threading options; it's always on"dmichael@chromium.org2013-03-211-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an experimental revert to see if it helps with imaging-darkroom on Kraken. BUG=222741,159240,92909 > PPAPI: Remove threading options; it's always on > > This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. > > BUG=159240,92909 > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 > Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187340 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187427 > Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=187668 due to a failing check in Canary, which was fixed here: https://src.chromium.org/viewvc/chrome?view=rev&revision=187681 > > Review URL: https://chromiumcodereview.appspot.com/12378050 TBR=dmichael@chromium.org Review URL: https://codereview.chromium.org/12920003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189682 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-211-3/+12
| | | | | | | | | | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187340 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187427 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=187668 due to a failing check in Canary, which was fixed here: https://src.chromium.org/viewvc/chrome?view=rev&revision=187681 Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189518 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 187427 "PPAPI: Remove threading options; it's always on"karen@chromium.org2013-03-131-12/+3
| | | | | | | | | | | | | | | | | | | | | > PPAPI: Remove threading options; it's always on > > This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. > > BUG=159240,92909 > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 > Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187340 > > Review URL: https://chromiumcodereview.appspot.com/12378050 TBR=dmichael@chromium.org Review URL: https://codereview.chromium.org/12457021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187716 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-121-3/+12
| | | | | | | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187340 Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187427 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 187340 "PPAPI: Remove threading options; it's always on"dmichael@chromium.org2013-03-111-12/+3
| | | | | | | | | | | | | | | | | | | > PPAPI: Remove threading options; it's always on > > This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. > > BUG=159240,92909 > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 > Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors > > Review URL: https://chromiumcodereview.appspot.com/12378050 TBR=dmichael@chromium.org Review URL: https://codereview.chromium.org/12476028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187346 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-111-3/+12
| | | | | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187340 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186925 since it breaks many of the builds on the bots (e.g.aberent@google.com2013-03-081-12/+3
| | | | | | | | | | | | | | | | | | http://build.chromium.org/p/chromium.perf/builders/Win%20Builder/builds/45240/steps/compile/logs/stdio). > PPAPI: Remove threading options; it's always on > > This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. > > BUG=159240,92909 > > > Review URL: https://chromiumcodereview.appspot.com/12378050 TBR=dmichael@chromium.org Review URL: https://codereview.chromium.org/12504007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186939 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Remove threading options; it's always ondmichael@chromium.org2013-03-081-3/+12
| | | | | | | | | | | This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere. BUG=159240,92909 Review URL: https://chromiumcodereview.appspot.com/12378050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186925 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the comment of PPB_MessageLoop.PostWork()yzshen@chromium.org2013-01-171-2/+0
| | | | | | | | | | | The current comment says that PostWork() returns PP_OK_COMPLETIONPENDING if successful. This CL changes it to PP_OK. TEST=None BUG=None Review URL: https://codereview.chromium.org/11962050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177519 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper: Introduce ThreadAwareCallback.yzshen@chromium.org2013-01-171-18/+136
| | | | | | | | | | | | Some PPB interfaces have methods that set a custom callback. Usually, the callback has to be called on the same thread as the one it was set on. ThreadAwareCallback keeps track of the target thread, and posts a task to run on it if requested from a different thread. BUG=None TEST=newly added unittests. Review URL: https://chromiumcodereview.appspot.com/11859015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177319 0039d316-1c4b-4281-b951-d872f2087c98
* Use an explicit PID for duplicating Pepper handles rather than the Channel's.brettw@chromium.org2013-01-041-3/+5
| | | | | | | | | | | | When the browser process launches the plugin, it explicitly tells each side the PID of the other side, and we now use this PID for sharing handles. Previously we'd use the PID from the IPC channel. Using the PID from the IPC channel creates a race condition because the PID isn't set until the "hello" message from the opposite side is processed, which isn't guaranteed at any particular time. BUG=168222 Review URL: https://codereview.chromium.org/11722017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175190 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Check permissions for VarDeprecated and PPP_Classdmichael@chromium.org2012-12-121-2/+2
| | | | | | | | BUG=159690 Review URL: https://codereview.chromium.org/11504003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172672 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PPB_Flash_Fullscreen to the new resource model.raymes@chromium.org2012-11-301-1/+3
| | | | | | | | | | | This moves PPB_Flash_Fullscreen to the new ppapi resource model and removes the in-process implementation. BUG= Review URL: https://chromiumcodereview.appspot.com/11421066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170346 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper proxy: make the browser sender handle the proxy lock properly.yzshen@chromium.org2012-11-271-6/+0
| | | | | | | | | | | | | - unlock the pepper proxy lock when sending sync messages to the browser; - remove the SendToBrowser() method from the PluginProxyDelegate; TEST=None BUG=161286 Review URL: https://chromiumcodereview.appspot.com/11299147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169781 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ppapi TwoWayTest so that it constructs a unique IPC::ChannelHandle.raymes@chromium.org2012-10-171-2/+8
| | | | | | | | | | | | | | | | | | | When multiple TwoWayTests (run as ppapi_unittests) were run concurrently, several IPC ChannelHandles may have been created with the same name. This would cause the creation of the channel to fail (because the channel handle has to be unique). This was causing flaky tests on the trybots. This uses the process ID in the channel handle name so that they are guaranteed to be unique for the set of running processes. This also re-enables a test which I disabled under the suspiscion that it was related to this failure (but it isn't). BUG=155175 Review URL: https://chromiumcodereview.appspot.com/11196002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162458 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up PpapiPermissions in more places.brettw@chromium.org2012-10-021-2/+6
| | | | | | | | This doesn't actually do much more checking of the permissions, but it should wire it up everywhere we'll need it. It will also at least only return public interfaces via GetInterface in the proxy now unless other bits are supplied. Review URL: https://codereview.chromium.org/10984094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159729 0039d316-1c4b-4281-b951-d872f2087c98
* Various fixes to make ppapi_unittests pass again.raymes@chromium.org2012-09-191-6/+44
| | | | | | | | | | | | | | | | | | | | | The following fixes are contained in this patch: -Construction/destruction of ppapi globals has been moved to the thread on which those globals are used (to prevent thread-safety CHECKs firing). -Some tests for the state of the var tracker in the plugin have been moved onto the plugin thread (to prevent thread-safety CHECKs firing). -Fixed a crash in ppp_instance_private_proxy_unittest.cc which was due to not passing a |PPP_Class_Deprecated| to |PPB_Var_Deprecated->CreateObject| which is required when deleting a var on the plugin side. -Set up a |PluginProxyDelegate| in |PluginGlobals| so that a channel to the browser can be correctly obtained for unittests. BUG=none TEST=Ran ppapi_unittests Review URL: https://chromiumcodereview.appspot.com/10913258 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157469 0039d316-1c4b-4281-b951-d872f2087c98
* Bluetooth API: improve discoverybrettw@chromium.org2012-08-101-0/+5
| | | | | | | | | | | | | | | | This CL: - eliminates unnecessary dispatches - correctly handles devices that are discovered before interest is registered TEST=ran api test BUG=133179 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=150898 Review URL: https://chromiumcodereview.appspot.com/10815072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151138 0039d316-1c4b-4281-b951-d872f2087c98
* This implements the PPB_FileChooser resource as a new-style IPC-only resource.brettw@chromium.org2012-07-141-1/+0
| | | | | | | | Note that the new file name is file_chooser_resource in the proxy. I decided to drop the ppb_ prefix for the "new-style" files to help differentiate them, and also because it's technically wrong. PPB is an interface, and a resource "object" may support multiple interfaces. I think FooResource is easier to type and read. Review URL: https://chromiumcodereview.appspot.com/10544089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146737 0039d316-1c4b-4281-b951-d872f2087c98
* This adds an interface for setting crash data from a plugin. It also ↵raymes@chromium.org2012-06-271-0/+4
| | | | | | | | | | | | provides an implementation for setting crash URLs. BUG=134176 TEST=Added test case to sanity check API call. Also hooked up to flash and produced a crash and checked that the report included the document url (http://crash/reportdetail?reportid=1719cae3a745f633) Review URL: https://chromiumcodereview.appspot.com/10681006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144516 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI/NaCl: Reinitialize some stuff when the ipc proxy starts.dmichael@chromium.org2012-06-191-2/+2
| | | | | | | | | | | | Also refactor the PPP_Instance version checking so I don't have to write the fall-back from 1.1 to 1.0 yet again. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10543029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143006 0039d316-1c4b-4281-b951-d872f2087c98
* Propogate the UI language on the command line and expose to Flash.brettw@chromium.org2012-06-111-0/+4
| | | | | | | | | | | | This is just like the NPAPI plugin process and many of the other child processes we have. I wire the command line parameter up to a new Flash setting. TEST=manual BUG=none Review URL: https://chromiumcodereview.appspot.com/10541088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141434 0039d316-1c4b-4281-b951-d872f2087c98
* Broker out PPAPI handle duplicationjschuh@chromium.org2012-05-111-4/+20
| | | | | | | BUG=127449 Review URL: https://chromiumcodereview.appspot.com/10378057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136686 0039d316-1c4b-4281-b951-d872f2087c98
* Add a way to query whether a given instance is off-the-recordbrettw@chromium.org2012-05-021-2/+4
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10278007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135010 0039d316-1c4b-4281-b951-d872f2087c98
* This adds a hang monitor for Pepper plugins. It monitors sync messages on ↵brettw@chromium.org2012-04-131-3/+14
| | | | | | | | | | | | the I/O thread of the renderer and sends a message to the browser if it's blocked for too long. The browser will show an infobar allowing you to terminate the plugin. BUG=122795 Review URL: https://chromiumcodereview.appspot.com/10014013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132245 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding this with fixes to the mac dbg builderananta@chromium.org2012-01-201-11/+0
| | | | | | | | | | | | | | | | | | Remove the Webkit thread in the PPAPI plugin process and perform the text and font operations on the PPAPI main thread. This thread is now registered as the Webkit thread. Fixes performance issues seen in Flapper with text and font operations. It appears that the perf issues occur due to context switching between the main thread and the webkit thread. As per comments from Brett moving the font forwarding code inline to ppb_font_shared.cc. This file has been moved to ppapi/shared_impl/private as it now brings in a dependency on WebKit. The font creation has been wired up to the ResourceCreationAPI as suggested. BUG=110190 TBR=brettw Review URL: https://chromiumcodereview.appspot.com/9192038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118503 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 118385 since this seems to break mac-debug build.sadrul@chromium.org2012-01-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | """ Remove the Webkit thread in the PPAPI plugin process and perform the text and font operations on the PPAPI main thread. This thread is now registered as the Webkit thread. Fixes performance issues seen in Flapper with text and font operations. It appears that the perf issues occur due to context switching between the main thread and the webkit thread. As per comments from Brett moving the font forwarding code inline to ppb_font_shared.cc. This file has been moved to ppapi/shared_impl/private as it now brings in a dependency on WebKit. The font creation has been wired up to the ResourceCreationAPI as suggested. BUG=110190 R=brettw Review URL: https://chromiumcodereview.appspot.com/9133015 TBR=ananta@chromium.org Review URL: https://chromiumcodereview.appspot.com/9150055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118399 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the Webkit thread in the PPAPI plugin process and perform the text ↵ananta@chromium.org2012-01-191-11/+0
| | | | | | | | | | | | | | | | | | | and font operations on the PPAPI main thread. This thread is now registered as the Webkit thread. Fixes performance issues seen in Flapper with text and font operations. It appears that the perf issues occur due to context switching between the main thread and the webkit thread. As per comments from Brett moving the font forwarding code inline to ppb_font_shared.cc. This file has been moved to ppapi/shared_impl/private as it now brings in a dependency on WebKit. The font creation has been wired up to the ResourceCreationAPI as suggested. BUG=110190 R=brettw Review URL: https://chromiumcodereview.appspot.com/9133015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118385 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 9034035: Make it possible to have 1 PpapiGlobals per thread.dmichael@chromium.org2012-01-121-4/+12
| | | | | | | | | | | | | | | | Original CL: r117399, http://codereview.chromium.org/9034035/ Reverted in r117414, http://codereview.chromium.org/9139054/ due to a static initializer. This is the same as r117399 except using a LazyInstance to eliminate the static initializer. BUG= TEST= TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9187055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117475 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 117399 - Make it possible to have 1 PpapiGlobals per thread. Update ↵tommi@chromium.org2012-01-121-12/+4
| | | | | | | | | | | | | | | | | | | unit tests. Reason for rever: Broke the sizes check on the mac clobber bot. This allows us to distinguish trackers in the unit tests, instead of all vars/resources going in 1 tracker. This should also allow us to unit-test PPB proxies. BUG= TEST= Review URL: http://codereview.chromium.org/9034035 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9139054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117414 0039d316-1c4b-4281-b951-d872f2087c98
* Make it possible to have 1 PpapiGlobals per thread. Update unit tests.dmichael@chromium.org2012-01-121-4/+12
| | | | | | | | | | | | This allows us to distinguish trackers in the unit tests, instead of all vars/resources going in 1 tracker. This should also allow us to unit-test PPB proxies. BUG= TEST= Review URL: http://codereview.chromium.org/9034035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117399 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the PPB_Flash.PreloadFontWin function to our font loading ↵brettw@chromium.org2011-12-201-7/+11
| | | | | | | | | | infrastructure. TEST=manual Review URL: http://codereview.chromium.org/8979002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115158 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new globals object for PPAPI tracking information.brettw@chromium.org2011-10-201-8/+3
| | | | | | | | | | | | | | | | | | | | [ Reland of 106142: http://codereview.chromium.org/8316008 ] This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8344025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106537 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106142 - Add a new globals object for PPAPI tracking information.sail@chromium.org2011-10-181-3/+8
| | | | | | | | | | | | | | | | | | | | | | This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8316008 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8342016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106148 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new globals object for PPAPI tracking information.brettw@chromium.org2011-10-181-8/+3
| | | | | | | | | | | | | | | | | | | This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8316008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106142 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the PPAPI unittests by hooking up the new proxy function.brettw@chromium.org2011-10-171-7/+11
| | | | | | | | | TEST=manually run ppapi_unittests BUG=none Review URL: http://codereview.chromium.org/8317011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105921 0039d316-1c4b-4281-b951-d872f2087c98
* Convert ppapi/* to use base::Bind.dmichael@chromium.org2011-10-041-9/+10
| | | | | | | | | | BUG=35223 TEST=ppapi_unittests, ppapi ui_tests Review URL: http://codereview.chromium.org/8141004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104018 0039d316-1c4b-4281-b951-d872f2087c98