summaryrefslogtreecommitdiffstats
path: root/content/ppapi_plugin
Commit message (Collapse)AuthorAgeFilesLines
* The tricky part about logging to the console is that many of the errors are ↵brettw@chromium.org2012-01-312-0/+10
| | | | | | | | | | | | | | generated by invalid resources, from which we have no context. This means we don't know the instance to send the error message of. Plumbing this through in a way that works proved much harder than I expected. I added log functions to the PpapiGlobals so that we can call it easily from all places. It can either go off an instance (like PPB_Console does) or a module, or nothing. In the module case, all consoles associated with all instances in the module get the log message, in the no context case, all consoles associated with any pepper plugin get the message. In the IPC proxy, we know the module from whence the error came since there's a unique process for it. So proxied errors with no context when run out of process get translated into errors with PP_Module context. In the common case, there's only one instance for a module, so this works out nicely. I added some logging ability to resources and added some errors to Graphics2D and URLLoader. We can add messages to more classes as the need arises. I added some advice on writing them to the chromium pepper page. Review URL: https://chromiumcodereview.appspot.com/9160017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119853 0039d316-1c4b-4281-b951-d872f2087c98
* Convert use of int ms to TimeDelta in files owned by brettw.tedvessenes@gmail.com2012-01-272-6/+6
| | | | | | | | | | BUG=108171 TEST= Review URL: http://codereview.chromium.org/9233018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119321 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding this with fixes to the mac dbg builderananta@chromium.org2012-01-204-118/+9
| | | | | | | | | | | | | | | | | | 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-204-9/+118
| | | | | | | | | | | | | | | | | | | | | | """ 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-194-118/+9
| | | | | | | | | | | | | | | | | | | 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
* Revert 117824 - Convert use of int ms to TimeDelta in files owned by brettw.hbono@chromium.org2012-01-162-6/+6
| | | | | | | | | | | | | | | | | | | | This change broke Linux and Mac bots. I would recommend to ask committers to run your next change on trybots. (*1) http://chromegw.corp.google.com/i/chromium/builders/Mac/builds/10788/steps/compile/logs/stdio (*2) http://chromegw.corp.google.com/i/chromium/builders/Linux/builds/19313/steps/compile/logs/stdio (*3) http://chromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/21385/steps/compile/logs/stdio R=brettw@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9185026 TBR=tedvessenes@gmail.com Review URL: http://codereview.chromium.org/9215005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117825 0039d316-1c4b-4281-b951-d872f2087c98
* Convert use of int ms to TimeDelta in files owned by brettw.tedvessenes@gmail.com2012-01-162-6/+6
| | | | | | | | | | | R=brettw@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9185026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117824 0039d316-1c4b-4281-b951-d872f2087c98
* Only check library load failure for broker.xhwang@chromium.org2012-01-061-4/+4
| | | | | | | | | | | | The CHECK added in r115913 checks both ppapi and broker libraries. This caused a huge number of crashes on Windows fro ppapi. The reason of this is still unknown. But we will limit the CHECK only on broker case to avoid these crashes. BUG=109155 TEST=none Review URL: http://codereview.chromium.org/9108022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116606 0039d316-1c4b-4281-b951-d872f2087c98
* Add CHECK to investigate the root cause of issue 103957.xhwang@chromium.org2011-12-281-0/+3
| | | | | | | | | | | New evidence suggests that the root cause of issue 103957 may be that the plugin failed to load (see comments of issue 103957). Adding new CHECKs to confirm this. Will remove the CHECK after this is confirmed. BUG=none TEST=none Review URL: http://codereview.chromium.org/9044010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115913 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the PPB_Flash.PreloadFontWin function to our font loading ↵brettw@chromium.org2011-12-202-6/+23
| | | | | | | | | | 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
* Remove custom Task implementations from content/ppapi_plugindcheng@chromium.org2011-12-082-19/+14
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8879003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113555 0039d316-1c4b-4281-b951-d872f2087c98
* Update includes to new header locationsabarth@chromium.org2011-12-031-6/+6
| | | | | | | TBR=darin Review URL: http://codereview.chromium.org/8788003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112825 0039d316-1c4b-4281-b951-d872f2087c98
* Add CHECK on file descriptor in various IPC::ChannelHandle passed in.xhwang@chromium.org2011-12-021-0/+3
| | | | | | | | | | | | | Regarding Chromium issues 73355, 95129, 95732, 97285, 103957 and Chromium-os issue 18437, 22372, we suspect the channel handles passed to the renderer have invalid file descriptors (fd). This is supported by the fact that using a channel handle with a valid name but an invalid fd will produce crashes with exactly the same stack trace as reported in these issues. Running out of fd in either the renderer, browser or the other process (GPU, broker, etc) could cause this to happen, but we are not sure if that's the real cause. Adding check for the fd in various places to help investigate these issues further. We will be able to tell if invalid fd is passed in and if yes, which process generates it. Browser side check is only added for the broker case to limit the scale of bad user experience, while providing enough cases for investigation. BUG=none TEST=passed unit tests Review URL: http://codereview.chromium.org/8735015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112647 0039d316-1c4b-4281-b951-d872f2087c98
* Load mac sandbox definitions from resources instead of the bundle.jochen@chromium.org2011-11-251-0/+2
| | | | | | | | | | | Also, move all mac sandbox unittests to content BUG=90443 TEST=content_unittests Review URL: http://codereview.chromium.org/8589001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111614 0039d316-1c4b-4281-b951-d872f2087c98
* Move some webkit_glue embedder functions into WebKitPlatformSupport virtual ↵piman@chromium.org2011-11-221-2/+2
| | | | | | | | | | | | | methods This moves the functions into a pattern that is component-friendly. BUG=98755 TEST=chrome test_shell test_shell_tests browser_tests DumpRenderTree Review URL: http://codereview.chromium.org/8602002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111101 0039d316-1c4b-4281-b951-d872f2087c98
* Use new getFontFamilyForCharacters() API.bashi@chromium.org2011-11-211-13/+20
| | | | | | | | | | | | | | | | | | Uses new getFontFamilyForCharacters() WebKit Chromium API so that Chromium can pass bold and italic property. This will fix issue 32109. No behavior change at this time. The CL will work after the fix of WebKit side is completed. The WebKit bug entry is https://bugs.webkit.org/show_bug.cgi?id=38701. BUG=32109 TEST=compiled. Review URL: http://codereview.chromium.org/8590028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110871 0039d316-1c4b-4281-b951-d872f2087c98
* Add OVERRIDE to content/.avi@chromium.org2011-11-171-2/+2
| | | | | | | | | BUG=104314 TEST=no change Review URL: http://codereview.chromium.org/8587009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110544 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 'Flash' from TCP/UDP Pepper interfaces names. This CL preserves old ↵dpolukhin@chromium.org2011-11-161-7/+7
| | | | | | | | | | | idl and C/C++ headers for backward compatibility. Also TCP interface should be returned by old name. BUG=none TEST=build Review URL: http://codereview.chromium.org/8506016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110265 0039d316-1c4b-4281-b951-d872f2087c98
* Add check on invalid file descriptor at both broker and renderer sides.xhwang@chromium.org2011-11-121-0/+2
| | | | | | | | | | | | | | The broker could send back an invalide channel handle if it fails to setup up renderer channel, e.g. when the broker fails to duplicate a file descriptor. Add a check in PpapiThread::SetupRendererChannel on this condition. Upon receiving an invalid channel handle from the broker, the BrokerDispatcherWrapper at the render side should check the channel handle before passing it down. Using an invalid channel handle to create a channel may cause LOG(FATAL) in IPC::Channel::ChannelImpl::CreatePipe(). Add a content unitest to check this. BUG=103957 TEST=new unit test Review URL: http://codereview.chromium.org/8436008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109747 0039d316-1c4b-4281-b951-d872f2087c98
* Fix 82176 by transferring ownership of render (client) file descriptor ↵xhwang@chromium.org2011-11-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | instead of duplicating it. The Issue: After broker creates the render-broker channel, the original code will dup() the client file descriptor (fd) and send the duplicate to the render. As a result, there are two copies of the same client fd. One is in the broker process; the other one is sent over the IPC channel and will be owned by the browser and finally by the render. Normally, when connection establishes correctly, the render will send a HelloMessage to the broker, so that the broker is notified and has a chance to call IPC::Channel::ChannelImpl::ProcessIncomingMessages(), which will call CloseClientFileDescriptor() and close its copy of the client fd in the broker. After this, there will be only one copy of the client fd in the render. Whenever the render closes this fd, the broker will get notified with an event. However, if before the connection establishes, something goes wrong (e.g. the render crashed), closing the cliend fd in the browser or render will not work. The broker will keep its server fd and never get notified. The reason is as follows. Since the connection is not established, the HelloMessage never comes. So the broker will never call CloseClientFileDescriptor() to close its copy of the client fd. When there are two copies of the client fd open, closing one of them (e.g. the one owned by the render or browser) won't generate an event in the broker. The broker will keep waiting and never get notified. The Fix: Do not duplicate the client fd. Thus whenever/whereever the client fd is closed, the broker will get notified with an event. BUG=82176 TEST=Tested with ui broker test and normal usage. Also crashed render before connection established and verified that the broker released the render-broker IPC channel. Review URL: http://codereview.chromium.org/8497026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109488 0039d316-1c4b-4281-b951-d872f2087c98
* Enable sending requests to pre-cache fonts from pepper plugin processes.yzshen@chromium.org2011-11-091-5/+8
| | | | | | | | | | BUG=None TEST=Pepper Flash should render the text on http://www.adventmedia.net/#/home correctly. Review URL: http://codereview.chromium.org/8479024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109189 0039d316-1c4b-4281-b951-d872f2087c98
* Move content_restriction.h and main_function_params.h to ↵jam@chromium.org2011-10-312-4/+4
| | | | | | | | | content/public/common, and put them in the content namespace. BUG=98716 Review URL: http://codereview.chromium.org/8387039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108004 0039d316-1c4b-4281-b951-d872f2087c98
* Expose the sandbox related code through the content API. I did a bit of ↵jam@chromium.org2011-10-293-8/+6
| | | | | | | | | | | | | cleanup while I was doing this. -got rid of SandboxInitWrapper, since I didn't see a need to expose given that we can just expose sandbox::SandboxInterfaceInfo -got rid of the duplicated code to initialize the broker -since I made MainFunctionParams only have the sandbox struct on Windows, I also made the mac specific auto release pool behind an ifdef as well. It seemed odd to make something so mac specific compile on all platforms to save some #ifdefs. BUG=98716 Review URL: http://codereview.chromium.org/8414020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107863 0039d316-1c4b-4281-b951-d872f2087c98
* Add self to content/ppapi_plugin/OWNERSpiman@chromium.org2011-10-271-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107587 0039d316-1c4b-4281-b951-d872f2087c98
* Added logging useful for understanding Pepper broker lifetime.ddorwin@chromium.org2011-10-262-5/+8
| | | | | | | | | | | | Also, added support for VLOG to Pepper OOP plugin and Pepper broker processes by forwarding --vmodule to these processes. BUG=none TEST=Launch a dbg build of Chrome with --vmodule=ppapi_plugin_process_host=1,broker_process_dispatcher=1,ppapi_broker_main=1,broker_dispatcher=1,proxy_channel=1", visit a page that uses the broker, and navigate away from that page. The new log statements should be displayed. Review URL: http://codereview.chromium.org/8347009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107451 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new globals object for PPAPI tracking information.brettw@chromium.org2011-10-201-0/+4
| | | | | | | | | | | | | | | | | | | | [ 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-4/+0
| | | | | | | | | | | | | | | | | | | | | | 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-0/+4
| | | | | | | | | | | | | | | | | | | 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
* Create a public header with the child_process_sandbox_support_linux ↵jam@chromium.org2011-10-171-8/+6
| | | | | | | | | | | functions that are used in chrome. Also move everything to the content namespace, now that we have one. This gets rid of the last content/common includes from chrome/renderer and so I've tightened up the DEPS. Also get rid of the webkit_glue versions of the font functions since they weren't used anymore. BUG=98716 Review URL: http://codereview.chromium.org/8319017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105956 0039d316-1c4b-4281-b951-d872f2087c98
* Move content_switches to content\public\common.jam@chromium.org2011-10-133-3/+3
| | | | | | | BUG=98716 Review URL: http://codereview.chromium.org/8277018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105389 0039d316-1c4b-4281-b951-d872f2087c98
* Add Pepper API to use UDP mtilburg@adobe.com2011-09-261-0/+6
| | | | | | | | | | | | author: mtilburg@adobe.com BUG=none TEST=tested with pepper flash Review URL: http://codereview.chromium.org/8036036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102817 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: better output in case of failure to load library.ihf@chromium.org2011-09-151-2/+4
| | | | | | | | BUG=none TEST=checked various failures in loading flash Review URL: http://codereview.chromium.org/7890061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101352 0039d316-1c4b-4281-b951-d872f2087c98
* Suppression for failing test on Linuxjeremy@chromium.org2011-09-141-17/+0
| | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7885024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101049 0039d316-1c4b-4281-b951-d872f2087c98
* s patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This re-lands my previous change. Original Review URL: http://codereview.chromium.org/7874002 This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7887001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100936 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r100853, 100851. Win_shared build is broken.brettw@chromium.org2011-09-131-2/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100854 0039d316-1c4b-4281-b951-d872f2087c98
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This re-lands my previous change. Original Review URL: http://codereview.chromium.org/7740038 This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7874002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100851 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100748 - This patch tries to remove most of the manual registration ↵dmazzoni@chromium.org2011-09-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | for Pepper interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7740038 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/7844018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100754 0039d316-1c4b-4281-b951-d872f2087c98
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7740038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100748 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Chromium side of ATS*() -> CGFont Conversion for OOP font loading.jeremy@chromium.org2011-09-071-2/+22
| | | | | | | | | | | | Together with wek.it/66935 this CL converts the OOP font loading code to use CGFonts to load fonts sent over the wire. This is needed due to a bug in ATSFontDeactivate() on 10.7. BUG=93191 TEST=Need WebKit-side patch to active this so can't test this CL in isolation. Review URL: http://codereview.chromium.org/7791023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99934 0039d316-1c4b-4281-b951-d872f2087c98
* Update Chrome to use WebKitPlatformSupport instead of WebKitClient.abarth@chromium.org2011-09-024-51/+56
| | | | | | Review URL: http://codereview.chromium.org/7831035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99349 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Mac PPAPI (out-of-process).viettrungluu@chromium.org2011-09-011-0/+10
| | | | | | | | | | | | Oops, we forgot to initialize the WebCore system interface. TEST=Mac Flapper runs for pages that display text, e.g., YouTube. BUG=none Review URL: http://codereview.chromium.org/7818005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99136 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the pp::proxy namespace to the ppapi::proxy namespace.brettw@chromium.org2011-08-187-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more consistent with the stuff in shared_impl, and removes a lot of namespace using goop. Add a unified resource tracker shared between the proxy and the impl. This renames the old ResourceObjectBase to Resource and removes the old PluginResource. It moves the resource tracker from the impl to the shared_impl, and makes the proxy use it. Some things become a little less neat because there's no proxy resource base class. In particular GetDispatcher() is now gone. I considered whether to add a helper base class that provides this function, but decided against it and had individual resource classes implement this when their implementation would find it useful. This is because ultimately I want more of this functionality to move into the shared_impl, and it's easier to do that if there are fewer proxy-specific things in the resources. This changes the way that plugins are added to the tracker. Previously they would only be in the tracker if the plugin had a reference to them, although they could be alive if the impl had a scoped_ptr referencing an object. This actually has the bug that if we then give the resource back to the plugin, it wouldn't be refcounted properly and everything would get confused. Now the tracker tracks all live resource objects whether or not the plugin has a ref. This works basically like the var tracker (it would be nice if the var and resource trackers shared more code, but that would further complicate this already overcomplicated patch). The resource tracker takes an extra ref whenever the plugin has one or more, and otherwise just tracks live resources. BUG= TEST= Review URL: http://codereview.chromium.org/7655002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97367 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPB_Flash_TCPSocket.InitiateSSL.yzshen@chromium.org2011-08-161-0/+2
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7535007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97005 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Remove old version of loadFont()jeremy@chromium.org2011-08-041-11/+0
| | | | | | | | | | | | | Now that the API has changed in WebKit, we can safely remove the old version of loadFont() on the Chromium side. BUG=72727 TEST=Chrome should compile. TBR=mark Review URL: http://codereview.chromium.org/7566038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95437 0039d316-1c4b-4281-b951-d872f2087c98
* Proxy PPP_Messaging.dmichael@chromium.org2011-08-031-1/+1
| | | | | | | | | | | I added a couple of tests while I was figuring out the ref counting problem I was having. Also lots of bonus spelling fixes. BUG=86123 TEST=ppp_messaging_proxy_test and ppapi_tests Review URL: http://codereview.chromium.org/7531003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95240 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Add missing interface needed to land WebKit side of crbug.com/72727jeremy@chromium.org2011-08-031-0/+12
| | | | | | | | | | | | | | | Update PPAPI sandbox interface so we can land the WebKit side of this bug. The interface was updated as part of r87282 . BUG=72727 TEST=No way to test TBR=vtl Review URL: http://codereview.chromium.org/7564005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95228 0039d316-1c4b-4281-b951-d872f2087c98
* Hook GetUserDefaultLCID () to prevent crashes on attempting to connect to ↵jschuh@chromium.org2011-08-021-1/+9
| | | | | | | | | | CSRSS after lockdown. BUG=91216 TEST=None. Review URL: http://codereview.chromium.org/7541034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95144 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the network status notifications to out-of-process Pepper plugins.brettw@chromium.org2011-07-142-0/+12
| | | | | | | | | | This is not implemented for in-process plugins. That requires a completely separate implementation and isn't required now. TEST=manual Review URL: http://codereview.chromium.org/7357007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92477 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land the reverted CL:yzshen@chromium.org2011-07-012-1/+53
| | | | | | | | | | | | | | http://src.chromium.org/viewvc/chrome?view=rev&revision=91150 Comparing with the previous CL, this CL makes changes to ppapi/proxy/ppapi_proxy_test.{h,cc} TEST=None BUG=None Review URL: http://codereview.chromium.org/7210030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91310 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91150 - Define PPB_Flash_TCPSocket and PPB_Flash_SSLSocket.dpapad@chromium.org2011-06-302-53/+1
| | | | | | | | | | | | TEST=None BUG=None Review URL: http://codereview.chromium.org/7191005 TBR=yzshen@chromium.org Review URL: http://codereview.chromium.org/7293001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91153 0039d316-1c4b-4281-b951-d872f2087c98