summaryrefslogtreecommitdiffstats
path: root/content/ppapi_plugin
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Define PPB_Flash_TCPSocket and PPB_Flash_SSLSocket.yzshen@chromium.org2011-06-302-1/+53
| | | | | | | | | TEST=None BUG=None Review URL: http://codereview.chromium.org/7191005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91150 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Pepper plugin sandbox interface for out-of-process plugin.kochi@chromium.org2011-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | On Chrome OS Flash player is running out-of-process by default, and it is failing to handle font fallback because in PpapiWebkitClientImpl SandboxSupport object is not instantiated. Without SandboxSupport instance, all the font related requests are handled locally, and fail to communicate with Fontconfig because it is sandboxed. Instantiating SandboxSupport will properly route font related requests to Sandbox IPC process to communicate to Fontconfig. BUG=87039, chromium-os:15882 TEST=Set Chrome OS to English UI and open http://weathernews.jp to see if all the characters are rendered properly. Review URL: http://codereview.chromium.org/7273062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91076 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: base/scoped_ptr.h -> base/memory/scoped_ptr.h. (part 2)thestig@chromium.org2011-06-151-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7149008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89131 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Make PPAPI plugins work out of process (i.e., with a proxy) and a sandbox.viettrungluu@chromium.org2011-06-142-0/+34
| | | | | | | | | | | | | | Also make sure that --no-sandbox works correctly in disabling the sandbox for the PPAPI plugin process. BUG=none TEST=Mac Flapper works out of process (at least for some content). \ --no-sandbox also works correctly in disabling the sandbox for the PPAPI \ process. Review URL: http://codereview.chromium.org/6979022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89058 0039d316-1c4b-4281-b951-d872f2087c98
* roll clang 131935:132017thakis@chromium.org2011-06-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang recently added a warning that warns when invoking 'delete' on a polymorphic non-final class without a virtual destructor. This finds real bugs – see the bug referenced below for a few examples. However, one common pattern where it fires is this case: class SomeInterface { public: virtual void interfaceMethod() {} // or = 0; protected: ~SomeInterface() {} } class WorkerClass : public SomeInterface { public: // many non-virtual functions, but also: virtual void interfaceMethod() override { /* do actual work */ } }; void f() { scoped_ptr<WorkerClass> c(new WorkerClass); // simplified example } (See the 2nd half of http://www.gotw.ca/publications/mill18.htm for an explanation of this pattern.) It is arguably correct to fire the warning here, since someone might make a subclass of WorkerClass and replace |new WorkerClass| with |new WorkerClassSubclass|. This would be broken since WorkerClass doesn't have a virtual destructor. The solution that the clang folks recommend is to mark WorkerClass as |final| (a c++0x keyword that clang supports as an extension in normal c++ mode – like override). But chrome's base/OWNERS deemed that as too complicated and we decided to make virtual the destructors of leaf classes that implement these interfaces and that are deleted dynamically. All of the changes in this CL are to shut up the warning, not because of real problems (I fixed these in separate CLs). (For the gtk files, this is necessary because the CHROMEGTK_CALLBACK_ macros add virtual functions.) BUG=84424 TEST=none Review URL: http://codereview.chromium.org/7087028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88270 0039d316-1c4b-4281-b951-d872f2087c98
* Replace OS_LINUX ifdefs with OS_POSIX & !OS_MACOSX, TOOLKIT_USES_GTK, ortony@chromium.org2011-05-311-3/+3
| | | | | | | | | | | USE_X11 where possible. An earlier version of this patch was used to build Chromium on FreeBSD, OpenBSD, and Solaris. Patch by ruben (chromium@hybridsource.org) Review URL: http://codereview.chromium.org/7006006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87382 0039d316-1c4b-4281-b951-d872f2087c98
* Move OWNERS from top level of content to the subdirectories. Before this ↵jam@chromium.org2011-05-311-0/+2
| | | | | | | | change, there were 12 OWNERS under content other than the top-level one (which is a good thing), but those OWNERS couldn't approve adding or removing files. Review URL: http://codereview.chromium.org/7085021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87313 0039d316-1c4b-4281-b951-d872f2087c98
* Use the WebKit default fonts when specifying generic font families.brettw@chromium.org2011-05-261-7/+8
| | | | | | | | | | | | | This pipes through a new preferences object that the font system can use. It now picks up these faces as well as the default font size. Clarify this behavior in the interface. TEST=manual (font example included). BUG=none Review URL: http://codereview.chromium.org/7053022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86870 0039d316-1c4b-4281-b951-d872f2087c98
* Virtual destructors should have virtual keyword.hans@chromium.org2011-05-251-1/+1
| | | | | | | | | | | | | | | | | Make sure user-declared virtual destructors always have the virtual keyword. The Clang style-check plugin will check for this soon. No functionality change: virtual is only added to destructors that are already implicitly virtual. Also fix a couple of in-line destructor definitions. BUG=83408 TEST=none Review URL: http://codereview.chromium.org/7064033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86587 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_temp_dir and scoped_native_library back from base/memory to base.thakis@chromium.org2011-05-191-2/+2
| | | | | | | | | | | It looks like they got moved accidentally in http://codereview.chromium.org/6714032 BUG=none TEST=none Review URL: http://codereview.chromium.org/7048007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86010 0039d316-1c4b-4281-b951-d872f2087c98
* Support getting the font list in Pepper. This currently only works out ofbrettw@chromium.org2011-05-182-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | process. This adds a function to the font interface to get the font list. Since we don't have arrays or dictionaries in Pepper yet, I used a string with nulls separating the names. A previous attempt to make a "font list resource" proved excessively complicated and not actually much easier for clients to deal with. This refactors the existing font list getting that used to be in the options for the browser. I moved it to content and split it into two pieces, the synchronous version, and then an asynchronous wrapper around that which both the prefs code and the pepper code use. This cleaned up some of the preferences code, and also fixes the leak of the entire font list in the code. I used the new callback/bind system for the async font loading. I had to add BrowserThread support for the new system. This uses the PepperMessageFilter to listen for font load requests from the plugin in the browser process. This is nice because we can add stuff here and have messages serviced for both in-process and out-of-process plugins. This proved to be complicated due to the HostResolver used in some of the existing code, and thread restrictions for how to deal with it. This is why there are two modes for the filter object. I changed the delegates around for the Dispatcher. Now the PluginDispatcher has the delegate interface since the HostDispatcher didn't actually need any of them and we were accumulating a lot of empty functions in the PepperPluginRegistry. It's possible for the fonts to be loaded on Windows and Mac without IPC, since enumerating fonts should be possible inside the sandbox. I didn't implement this since it adds extra complexity and probably doesn't give that much benefit. TEST=manual BUG=none Review URL: http://codereview.chromium.org/7044012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85827 0039d316-1c4b-4281-b951-d872f2087c98