| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add owners files to ppapi. TEST=none BUG=none Review URL: http://codereview.chromium.org/7273075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91016 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Broker out PPAPI handle duplication 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 | 13 年前 | |
Remove the rest of #pragma once in one big CL. For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
Modify the PPAPI CDM interface to pass more info. Builds on interface work done by xhwang in issue 10857027. Add init_data argument to AddKey. Change the PPP Decrypt methods to take PP_EncryptedBlockInfo structs instead of simple integer identifiers. Change the PPB delivery methods to take PP_DecryptedBlockInfo structs instead of simple integer identifiers. Update the proxy code accordingly. BUG=138139 TEST=none Review URL: https://chromiumcodereview.appspot.com/10854209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152724 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make return type of DispatchResourceReply consistent Contributed by victorhsieh@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10942003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157413 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Create a PPAPI host for new resource message routing. This infrastructure will be used in the renderer and in the browser as the backing for new resources. The PpapiHost object doues the routing for the resource messages, and also has hooks for the embedder (the renderer or the browser) to create resources. This adds a content_renderer factory which currently does nothing (we'll add most of the resources here). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10572040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145059 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Create a PPAPI host for new resource message routing. This infrastructure will be used in the renderer and in the browser as the backing for new resources. The PpapiHost object doues the routing for the resource messages, and also has hooks for the embedder (the renderer or the browser) to create resources. This adds a content_renderer factory which currently does nothing (we'll add most of the resources here). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10572040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145059 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
This implements the PPB_FileChooser resource as a new-style IPC-only resource. 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 | 13 年前 | |
Convert the async device ID getter to a chrome resource host Review URL: https://codereview.chromium.org/10909138 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156989 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert the async device ID getter to a chrome resource host Review URL: https://codereview.chromium.org/10909138 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156989 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Render/pepper hang debugging: generate dumps for the browser and renderer processes if users kill a hung pepper plugin. This CL collects information in order to diagnose inter-process pepper deadlocks. - We don't crash those renderers or the browser. - We only do this on the Windows Canary channel for 20% of pepper plugin hangs, if there are not too many renderers (<4). BUG=147593 TEST=None Review URL: https://chromiumcodereview.appspot.com/10983028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158717 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
RefCounted types should not have public destructors, delegate cleanup For Delegate/Observer-type classes that specify an interface but do not have any particular lifetime requirements, make their destructors protected. This is to allow their interfaces to be implemented safely by RefCounted types. With public destructors, it's possible to do "scoped_ptr<Delegate> foo", and then assign a RefCountedDelegateImpl, which would lead to a double free. As none of these Delegates actually need public destructors (ownership of the Delegate* is not transferred during a function call / class constructor), mark the destructors protected so that it becomes a compile warning to try to delete them via the Delegate*. BUG=123295 TEST=it compiles Review URL: https://chromiumcodereview.appspot.com/10383262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144086 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Fix a crash related to PPAPI scripting. SerializedVar and MessageChannel didn't properly handle the case that the dispatcher goes away while waiting for the reply to a sync message. BUG=110095 TEST=When click the Test button on ppapi/example/example.html, the plugin is removed but the renderer doesn't crash. Review URL: http://codereview.chromium.org/9655019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126014 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Fix a crash related to PPAPI scripting. SerializedVar and MessageChannel didn't properly handle the case that the dispatcher goes away while waiting for the reply to a sync message. BUG=110095 TEST=When click the Test button on ppapi/example/example.html, the plugin is removed but the renderer doesn't crash. Review URL: http://codereview.chromium.org/9655019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126014 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Changes to allow testing interface for new NaCl Proxy BUG=none TEST=ppapi/tests Review URL: https://chromiumcodereview.appspot.com/10918083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157871 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move the rest of the Flash functions to the thunk system. This removes the manual Flash interface registration and adds them via the interfaces_ppb_private_flash.h header. I moved File_ModulalLocal and File_FileRef to the Flash API virtual interface which allowed me to delete the separate proxies and stuff associated with those interfaces. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10169040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134540 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Revert 106717 - Revert 106677 (caused several PPAPI test timeouts, see http://crbug.com/101154) - Remove the proxy callback tracker. This doesn't properly delete callbacks when the corresponding resource goes away. This can lead to leaks or crashes in the plugin when the callback is triggered unexpectedly. BUG=http://crbug.com/86279 Review URL: http://codereview.chromium.org/8226009 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8364040 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/8371008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106764 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make a global enum to differentiate impl & proxy. Use this in resource constructors and remove all the old weird structs that we used to tell which one to call. This removes some extra code we had to deal with this. Review URL: http://codereview.chromium.org/9391013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Convert the pp::proxy namespace to the ppapi::proxy namespace. 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 | 14 年前 | |
Open pepper files directly in browser. This CL merges in the changes for the per-profile plugin process from the previously retired CL. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140093 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140399 Review URL: https://chromiumcodereview.appspot.com/10387195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140602 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add CreateTemporaryFile to PPB_Flash_File_ModuleLocal. BUG=129807 TEST=None Review URL: https://chromiumcodereview.appspot.com/10534045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142512 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Tweaks to PPB_VarArrayBuffer in preperation for taking out of Dev. * Add Unmap. * Make ByteLength more consistent with the rest of PPAPI. * Make C++ wrapper not cache the buffer. BUG= TEST= Review URL: http://codereview.chromium.org/9169052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119286 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make PPB_MessageLoop_Dev::GetForMainThread work BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10790078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154238 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make PPB_MessageLoop_Dev::GetForMainThread work BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10790078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154238 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
nacl: Fix a bunch of compiler warnings BUG=148648 TBR=dmichael Review URL: https://codereview.chromium.org/10959063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158232 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert the pp::proxy namespace to the ppapi::proxy namespace. 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 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
Bluetooth API: improve discovery 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 | 13 年前 | |
Reland 9034035: Make it possible to have 1 PpapiGlobals per thread. 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 | 14 年前 | |
Reland 9034035: Make it possible to have 1 PpapiGlobals per thread. 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 | 14 年前 | |
Convert the pp::proxy namespace to the ppapi::proxy namespace. 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 | 14 年前 | |
Fix a crash related to PPAPI scripting. SerializedVar and MessageChannel didn't properly handle the case that the dispatcher goes away while waiting for the reply to a sync message. BUG=110095 TEST=When click the Test button on ppapi/example/example.html, the plugin is removed but the renderer doesn't crash. Review URL: http://codereview.chromium.org/9655019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126014 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Fix a crash related to PPAPI scripting. SerializedVar and MessageChannel didn't properly handle the case that the dispatcher goes away while waiting for the reply to a sync message. BUG=110095 TEST=When click the Test button on ppapi/example/example.html, the plugin is removed but the renderer doesn't crash. Review URL: http://codereview.chromium.org/9655019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126014 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Try to fix a crash in the var tracking. I think what is happening is that the list is mutated as we iterate over it. This is actually quite a resonable thing to do: we're deleting objects, and those objects may hold refs to other objects in our list. BUG=http://crbug.com/133951 Review URL: https://chromiumcodereview.appspot.com/10633019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143644 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Actually free plugin implement vars when running out of process when the plugin holds a reference beyond the lifetime of the instance. Review URL: https://chromiumcodereview.appspot.com/10542150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142787 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Invoke PluginImplementedObjectDestroyed for ppp_class deallocate Deallocate on the plugin's GetInstanceObject ScriptableObject gets invoked twice during plugin destruction, typically resulting in a crash, for proxied plugins that expose a scriptable object. Once by PPP_ClassProxy::OnMsgDeallocate and once by PluginVarTracker::DidDeleteInstance. This patch removes the object from the var tracker when it is destroyed in PPP_Class_Proxy. It also tweaks a unittest to verify Deallocate is invoked only once during the test. BUG=133950 TEST=Run gmail, reload page (ctrl-r) and observe for plugin crashes TEST=Run ppapi_example out-of-process, reload page, observe for plugn crashes TEST=ppapi_unittests --gtest_filter="PluginVar*" Review URL: https://chromiumcodereview.appspot.com/10678007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove the rest of #pragma once in one big CL. For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert ppapi messages to new format. Review URL: http://codereview.chromium.org/6686057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78103 0039d316-1c4b-4281-b951-d872f2087c98 | 15 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add TCP, UDP, and HostResolver proxies to NaCl IPC IRT build. BUG=116317 TEST=none Review URL: https://chromiumcodereview.appspot.com/10916040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154816 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add TCP, UDP, and HostResolver proxies to NaCl IPC IRT build. BUG=116317 TEST=none Review URL: https://chromiumcodereview.appspot.com/10916040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154816 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add ppapi perftests infrastructure, plus a performance test for PPP_Messaging. BUG= TEST= Review URL: http://codereview.chromium.org/9195029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118888 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Various fixes to make ppapi_unittests pass again. 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 | 13 年前 | |
Various fixes to make ppapi_unittests pass again. 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 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Changes to allow testing interface for new NaCl Proxy BUG=none TEST=ppapi/tests Review URL: https://chromiumcodereview.appspot.com/10918083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157871 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Sanitize CallOnMainThread delay parameter BUG=116317 TEST=Apps that failed with this don't crash Review URL: https://chromiumcodereview.appspot.com/10961045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158036 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Update PPAPI IDL generator to define versioned structs, and unversioned typedef. For interface Foo with versions A and B, structs will be defined for Foo_A and Foo_B, and a typedef generated from Foo_B to Foo. Versioning of IDL structs remains unchanged. (Follow-up to discussion on CL 8931019) *** This change breaks compatibility with C code that makes use of unversioned-named interface structs. :( *** We need to define a versioned-named struct for each interface's current version. We could: 1. Carry on defining the current struct unversioned and typedef a versioned name for it. The versioned type for the interface would be a typedef for the latest version and a struct for later versions, causing calling C code that uses it to break when a new version is added. 2. Define structs for all versions, and a separate unversioned struct. This would lose type equivalence between the versioned and unversioned copies of the latest interface specification, and lead to needless duplication, especially for one-version interfaces. 3. Do this CL. We break some C code once, by change the unversioned type from struct to typedef, but we avoid these headaches in future. C++ code shouldn't be affected. *** Contents of this CL, including notes on to-dos: This change requires updating thunk-getters to be defined using versioned names, so that the interface structs can be forward declared; the thunk-getters now have versioned names and return values. Changing the thunk-getter naming requires updating unit-tests to call the versioned names. It also requires some interface headers not generated from IDL to be manually updated to the new scheme (PPB_CharSet_Dev, PPB_Crypto_Dev, PPB_DirectoryReader_Dev, PPB_LayerCompositor_Dev, PPB_Graphics3D, PPB_Flash_Menu, PPB_Instance_Private, PPP_Pdf, PPB_Flash_NetConnector, PPB_GLESChromiumTextureMapping_Dev and PPB_Graphics3D_Trusted). The proxy GetInfo() calls are updated to use versioned interface macros and thunks. Similarly, most PPBs added in interface_list.cc are now added using versioned interface macros and thunk getters. Ditto PluginModule, and some of PluginInstance. Some implementations (e.g. PPB_CharSet_Dev) needed updating to use versioned thunk getters to fetch interfaces to use. The VideoDecoder interface size checks are for 32-bit are updated not to expect structs. It was necessary to replace forward declarations of interface structs with includes, and remove "struct" prefixes where unversioned names were used. In most cases the affected code should really be updated to cope with versions. PPP_Pdf has become PPP_Pdf_1. Other versionless structs that should be updated for consistenct include PPB_UMA_Private, PPB_GPU_Blacklist_Private, PPB_Proxy_Private, PPP_PDF, PPB_OpenGLES2, PPB_Flash_File_FileRef and PPB_Flash_File_ModuleLocal. Also PPP_Class_Deprecated, PPP_CursorControl_Dev, PPP_Find_Dev, PPP_NetworkState_Dev, PPP_Scrollbar_Dev, PPP_Selection_Dev, PPP_VideoCapture_Dev, PPP_Graphics3D and PPP_Instance_Private. The Graphics2D and GLES2 examples now use unversioned interface type names without "struct" prefix. It's not clear whether examples should use versioned names, to show best practice, or unversioned. The typedef hack in PPP_Instance IDL is gone. Yay. BUG=107398,108379 TEST=All Pepper and NaCl tests should continue to pass on Chromium bots. NaCl SDK examples build correctly. Review URL: http://codereview.chromium.org/8989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116490 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This implements the PPB_FileChooser resource as a new-style IPC-only resource. 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 | 13 年前 | |
This implements the PPB_FileChooser resource as a new-style IPC-only resource. 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 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make a global enum to differentiate impl & proxy. Use this in resource constructors and remove all the old weird structs that we used to tell which one to call. This removes some extra code we had to deal with this. Review URL: http://codereview.chromium.org/9391013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move the rest of the Flash functions to the thunk system. This removes the manual Flash interface registration and adds them via the interfaces_ppb_private_flash.h header. I moved File_ModulalLocal and File_FileRef to the Flash API virtual interface which allowed me to delete the separate proxies and stuff associated with those interfaces. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10169040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134540 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[OSX] Forward Flapper GetLocalTimeZoneOffset() to browser on OSX. The local version is broken by the sandbox. AFAICT the sandbox warmup should allow this to work, but does not. BUG=149006 Review URL: https://chromiumcodereview.appspot.com/10991007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158514 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Improve the image data cache. Adds a flag to ImageData in the plugin process for whether it's been used in a ReplaceContents call and only attempt to cache image datas if this flag is set. Since we only get the "usable" notifications from the renderer for the ReplaceContents case, all other images can never be re-used so adding them is a waste. This also adds a check to avoid immediately overwriting an entry marked usable. In practice, I don't think this will make a difference with the current code, since the plugin won't do ReplaceContents faster than we'll get usable notifications back from the renderer. However, the number of items in-flight isn't guaranteed so it seems like this is a good margin of safety. An alternative would have been to do a similar check when adding an entry, and not replace one that's usable. However, if we make a new GraphicsContext with a new size, this means that we'll never overwrite an "old"-sized image until it times out and the cache won't work well. With the current code, it should replace the old-sized usable entry after two frames instead: BUG=142507 Review URL: https://chromiumcodereview.appspot.com/10880033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153267 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove PPAPI dependency on 'net'. This is needed to complete the port of the PPAPI proxy plugin-side to NaCl. This replaces usages in ppapi of types in 'net' with simpler base types (eg. instead of IPEndPoint, use a std::vector<unsigned char> address and an int port). Also, this removes some static methods in net_address_private_impl.* that are hardly used, and removes the ppapi::NetAddressList typedef, using std::vector<PP_NetAddress_Private> instead. BUG=116317 TEST=existing, no new functionality Review URL: https://chromiumcodereview.appspot.com/10909154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156585 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove PPAPI dependency on 'net'. This is needed to complete the port of the PPAPI proxy plugin-side to NaCl. This replaces usages in ppapi of types in 'net' with simpler base types (eg. instead of IPEndPoint, use a std::vector<unsigned char> address and an int port). Also, this removes some static methods in net_address_private_impl.* that are hardly used, and removes the ppapi::NetAddressList typedef, using std::vector<PP_NetAddress_Private> instead. BUG=116317 TEST=existing, no new functionality Review URL: https://chromiumcodereview.appspot.com/10909154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156585 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the plugin side of the resource only, as well as a unittest. BUG=138333 TEST=Ran new unittest Review URL: https://chromiumcodereview.appspot.com/10826026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155352 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the plugin side of the resource only, as well as a unittest. BUG=138333 TEST=Ran new unittest Review URL: https://chromiumcodereview.appspot.com/10826026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155352 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make PPB_MessageLoop_Dev::GetForMainThread work BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10790078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154238 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make PPB_MessageLoop_Dev::GetForMainThread work BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10790078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154238 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make a global enum to differentiate impl & proxy. Use this in resource constructors and remove all the old weird structs that we used to tell which one to call. This removes some extra code we had to deal with this. Review URL: http://codereview.chromium.org/9391013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add a private PPB_Talk_Private interface. It exposes one function that sends a message to the browser and issues a reply. The browser doesn't implement this yet. BUG=117564 TEST= Review URL: https://chromiumcodereview.appspot.com/9700028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127564 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Added out-of-process support for server sockets. BUG=108277 TEST=OutOfProcessPPAPITest.TCPServerSocketPrivate Review URL: http://codereview.chromium.org/9669038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126873 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
This adds the following to functions to the ppapi TCPSocket interface: 1) GetServer certificate, which returns the server X509Certificate if an SSL connection has been established. 2) AddChainBuilding certificate. This is currently unimplemented in Chrome but the interface and plumbing has been added so it can easily be hooked up. This should add a trusted/untrusted chain building certificate to be used by the client for a particular connection when performing the SSL handshake. BUG=114626 TEST=out/Release/browser_tests --gtest_filter=*PPAPITest.*TCP*Trusted* Review URL: http://codereview.chromium.org/9699100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131918 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the following to functions to the ppapi TCPSocket interface: 1) GetServer certificate, which returns the server X509Certificate if an SSL connection has been established. 2) AddChainBuilding certificate. This is currently unimplemented in Chrome but the interface and plumbing has been added so it can easily be hooked up. This should add a trusted/untrusted chain building certificate to be used by the client for a particular connection when performing the SSL handshake. BUG=114626 TEST=out/Release/browser_tests --gtest_filter=*PPAPITest.*TCP*Trusted* Review URL: http://codereview.chromium.org/9699100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131918 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Changes to allow testing interface for new NaCl Proxy BUG=none TEST=ppapi/tests Review URL: https://chromiumcodereview.appspot.com/10918083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157871 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Update PPAPI IDL generator to define versioned structs, and unversioned typedef. For interface Foo with versions A and B, structs will be defined for Foo_A and Foo_B, and a typedef generated from Foo_B to Foo. Versioning of IDL structs remains unchanged. (Follow-up to discussion on CL 8931019) *** This change breaks compatibility with C code that makes use of unversioned-named interface structs. :( *** We need to define a versioned-named struct for each interface's current version. We could: 1. Carry on defining the current struct unversioned and typedef a versioned name for it. The versioned type for the interface would be a typedef for the latest version and a struct for later versions, causing calling C code that uses it to break when a new version is added. 2. Define structs for all versions, and a separate unversioned struct. This would lose type equivalence between the versioned and unversioned copies of the latest interface specification, and lead to needless duplication, especially for one-version interfaces. 3. Do this CL. We break some C code once, by change the unversioned type from struct to typedef, but we avoid these headaches in future. C++ code shouldn't be affected. *** Contents of this CL, including notes on to-dos: This change requires updating thunk-getters to be defined using versioned names, so that the interface structs can be forward declared; the thunk-getters now have versioned names and return values. Changing the thunk-getter naming requires updating unit-tests to call the versioned names. It also requires some interface headers not generated from IDL to be manually updated to the new scheme (PPB_CharSet_Dev, PPB_Crypto_Dev, PPB_DirectoryReader_Dev, PPB_LayerCompositor_Dev, PPB_Graphics3D, PPB_Flash_Menu, PPB_Instance_Private, PPP_Pdf, PPB_Flash_NetConnector, PPB_GLESChromiumTextureMapping_Dev and PPB_Graphics3D_Trusted). The proxy GetInfo() calls are updated to use versioned interface macros and thunks. Similarly, most PPBs added in interface_list.cc are now added using versioned interface macros and thunk getters. Ditto PluginModule, and some of PluginInstance. Some implementations (e.g. PPB_CharSet_Dev) needed updating to use versioned thunk getters to fetch interfaces to use. The VideoDecoder interface size checks are for 32-bit are updated not to expect structs. It was necessary to replace forward declarations of interface structs with includes, and remove "struct" prefixes where unversioned names were used. In most cases the affected code should really be updated to cope with versions. PPP_Pdf has become PPP_Pdf_1. Other versionless structs that should be updated for consistenct include PPB_UMA_Private, PPB_GPU_Blacklist_Private, PPB_Proxy_Private, PPP_PDF, PPB_OpenGLES2, PPB_Flash_File_FileRef and PPB_Flash_File_ModuleLocal. Also PPP_Class_Deprecated, PPP_CursorControl_Dev, PPP_Find_Dev, PPP_NetworkState_Dev, PPP_Scrollbar_Dev, PPP_Selection_Dev, PPP_VideoCapture_Dev, PPP_Graphics3D and PPP_Instance_Private. The Graphics2D and GLES2 examples now use unversioned interface type names without "struct" prefix. It's not clear whether examples should use versioned names, to show best practice, or unversioned. The typedef hack in PPP_Instance IDL is gone. Yay. BUG=107398,108379 TEST=All Pepper and NaCl tests should continue to pass on Chromium bots. NaCl SDK examples build correctly. Review URL: http://codereview.chromium.org/8989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116490 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
AllowBroadcast() is exposed to NaCl. BUG=136797 TEST=browser_tests:*.UDPSocketPrivate Review URL: https://chromiumcodereview.appspot.com/10735056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154407 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
GetBoundAddress will return the address that Bind actually bound to. If there has not been a successful call to Bind, this method will return an error. BUG=no bug TEST=udp tests Review URL: https://chromiumcodereview.appspot.com/9212047 Patch from Mike Tilburg <mtilburg@adobe.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122910 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make a global enum to differentiate impl & proxy. Use this in resource constructors and remove all the old weird structs that we used to tell which one to call. This removes some extra code we had to deal with this. Review URL: http://codereview.chromium.org/9391013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Update PPAPI IDL generator to define versioned structs, and unversioned typedef. For interface Foo with versions A and B, structs will be defined for Foo_A and Foo_B, and a typedef generated from Foo_B to Foo. Versioning of IDL structs remains unchanged. (Follow-up to discussion on CL 8931019) *** This change breaks compatibility with C code that makes use of unversioned-named interface structs. :( *** We need to define a versioned-named struct for each interface's current version. We could: 1. Carry on defining the current struct unversioned and typedef a versioned name for it. The versioned type for the interface would be a typedef for the latest version and a struct for later versions, causing calling C code that uses it to break when a new version is added. 2. Define structs for all versions, and a separate unversioned struct. This would lose type equivalence between the versioned and unversioned copies of the latest interface specification, and lead to needless duplication, especially for one-version interfaces. 3. Do this CL. We break some C code once, by change the unversioned type from struct to typedef, but we avoid these headaches in future. C++ code shouldn't be affected. *** Contents of this CL, including notes on to-dos: This change requires updating thunk-getters to be defined using versioned names, so that the interface structs can be forward declared; the thunk-getters now have versioned names and return values. Changing the thunk-getter naming requires updating unit-tests to call the versioned names. It also requires some interface headers not generated from IDL to be manually updated to the new scheme (PPB_CharSet_Dev, PPB_Crypto_Dev, PPB_DirectoryReader_Dev, PPB_LayerCompositor_Dev, PPB_Graphics3D, PPB_Flash_Menu, PPB_Instance_Private, PPP_Pdf, PPB_Flash_NetConnector, PPB_GLESChromiumTextureMapping_Dev and PPB_Graphics3D_Trusted). The proxy GetInfo() calls are updated to use versioned interface macros and thunks. Similarly, most PPBs added in interface_list.cc are now added using versioned interface macros and thunk getters. Ditto PluginModule, and some of PluginInstance. Some implementations (e.g. PPB_CharSet_Dev) needed updating to use versioned thunk getters to fetch interfaces to use. The VideoDecoder interface size checks are for 32-bit are updated not to expect structs. It was necessary to replace forward declarations of interface structs with includes, and remove "struct" prefixes where unversioned names were used. In most cases the affected code should really be updated to cope with versions. PPP_Pdf has become PPP_Pdf_1. Other versionless structs that should be updated for consistenct include PPB_UMA_Private, PPB_GPU_Blacklist_Private, PPB_Proxy_Private, PPP_PDF, PPB_OpenGLES2, PPB_Flash_File_FileRef and PPB_Flash_File_ModuleLocal. Also PPP_Class_Deprecated, PPP_CursorControl_Dev, PPP_Find_Dev, PPP_NetworkState_Dev, PPP_Scrollbar_Dev, PPP_Selection_Dev, PPP_VideoCapture_Dev, PPP_Graphics3D and PPP_Instance_Private. The Graphics2D and GLES2 examples now use unversioned interface type names without "struct" prefix. It's not clear whether examples should use versioned names, to show best practice, or unversioned. The typedef hack in PPP_Instance IDL is gone. Yay. BUG=107398,108379 TEST=All Pepper and NaCl tests should continue to pass on Chromium bots. NaCl SDK examples build correctly. Review URL: http://codereview.chromium.org/8989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116490 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Fix a crash in Pepper object scripting. I believe this is caused by a shutdown race condition. My theory is if a pugin is cread and rapidly destroyed, object creation will fail in the renderer. TEST=manual BUG=133581 Review URL: https://chromiumcodereview.appspot.com/10580027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143201 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove task.h and finish base::Bind() migration. Over 341 CLs, in ~3 months, touching 3251 unique files! Top 5 most CLs: (121) jhawkins ( 45) dcheng ( 24) achuith ( 23) csilv ( 12) tfarina ( 12) groby ~1000 files touched: (918) jhawkins 100+ files touched: (486) ajwong (385) willchan (372) dcheng (126) csilv (123) fischman (112) sergeyu 49+ files touched: (65) tfarina (57) acolwell (52) adamk (49) tzik BUG=35223 TEST=existing Review URL: http://codereview.chromium.org/9114020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116748 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Reland 9034035: Make it possible to have 1 PpapiGlobals per thread. 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 | 14 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add the PPAPI X509 Certificate interface and implementation. Adds the interface for accessing X509 certificate fields. Note that the interface uses a GetField(field) method for accessing various fields of the certificate and all resuls are returned as pp::Var. This greatly simplifies the implementation of the interface and process of adding/changing fields so it is probably better (at least in the short term for flash). BUG=114626 TEST=out/Debug/ui_tests --gtest_filter=*PPAPITest.*X509Certificate* NOTRY=true Review URL: http://codereview.chromium.org/9693024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130654 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Invoke PluginImplementedObjectDestroyed for ppp_class deallocate Deallocate on the plugin's GetInstanceObject ScriptableObject gets invoked twice during plugin destruction, typically resulting in a crash, for proxied plugins that expose a scriptable object. Once by PPP_ClassProxy::OnMsgDeallocate and once by PluginVarTracker::DidDeleteInstance. This patch removes the object from the var tracker when it is destroyed in PPP_Class_Proxy. It also tweaks a unittest to verify Deallocate is invoked only once during the test. BUG=133950 TEST=Run gmail, reload page (ctrl-r) and observe for plugin crashes TEST=Run ppapi_example out-of-process, reload page, observe for plugn crashes TEST=ppapi_unittests --gtest_filter="PluginVar*" Review URL: https://chromiumcodereview.appspot.com/10678007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Actually free plugin implement vars when running out of process when the plugin holds a reference beyond the lifetime of the instance. Review URL: https://chromiumcodereview.appspot.com/10542150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142787 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Return void from all PPP CDM API interface methods Since we will support only out of process CDMs, the return values are not of interest to callers. All the return values conveyed was that a message was dispatched successfully. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10928098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156456 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Modify the PPAPI CDM interface to pass more info. Builds on interface work done by xhwang in issue 10857027. Add init_data argument to AddKey. Change the PPP Decrypt methods to take PP_EncryptedBlockInfo structs instead of simple integer identifiers. Change the PPB delivery methods to take PP_DecryptedBlockInfo structs instead of simple integer identifiers. Update the proxy code accordingly. BUG=138139 TEST=none Review URL: https://chromiumcodereview.appspot.com/10854209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152724 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
reland 121901, PPAPI: Add unlocking for PPP calls and callbacks... """ With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before). TODO: Test more calls off the main thread, make sync completion callbacks work. BUG=92909 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121901 """ TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9361065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122001 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add missing ppp_graphics_3d.idl The ppb version of the interface was added, this CL adds the missing ppp portion. See: http://codereview.chromium.org/9340003 Alok for verification, Brett for OWNER. R=alokp@chromium.org,brettw@chromium.org Review URL: http://codereview.chromium.org/9689076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127281 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add HandleInputEventAck message to allow out-of-process plugins to respond to user gestures. Modifies PluginInstance to track pending user gestures by timestamp. Modifies ppapi/tests/test_fullscreen to not test that SetFullscreen and BindGraphics fail while fullscreen changes are pending. Because of how PluginInstance reports view changed events, these will likely fail due to race conditions. BUG=73070 TEST=ui_tests, --gtest_filter=*PPAPITest.Fullscreen Review URL: http://codereview.chromium.org/9558009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125768 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add HandleInputEventAck message to allow out-of-process plugins to respond to user gestures. Modifies PluginInstance to track pending user gestures by timestamp. Modifies ppapi/tests/test_fullscreen to not test that SetFullscreen and BindGraphics fail while fullscreen changes are pending. Because of how PluginInstance reports view changed events, these will likely fail due to race conditions. BUG=73070 TEST=ui_tests, --gtest_filter=*PPAPITest.Fullscreen Review URL: http://codereview.chromium.org/9558009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125768 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
reland 121901, PPAPI: Add unlocking for PPP calls and callbacks... """ With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before). TODO: Test more calls off the main thread, make sync completion callbacks work. BUG=92909 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121901 """ TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9361065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122001 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
s patch tries to remove most of the manual registration 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 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 | 14 年前 | |
Various fixes to make ppapi_unittests pass again. 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 | 13 年前 | |
PPAPI/NaCl: Reinitialize some stuff when the ipc proxy starts. 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 | 13 年前 | |
Change the DidChangeView update to take a new ViewChanged resource. This will allow us to be more flexible about adding data to view changed updates in the future. For now, I've incorporated fullscreen and tab foreground state into the view state. BUG= TEST= Review URL: http://codereview.chromium.org/8951014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116142 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Make a global enum to differentiate impl & proxy. Use this in resource constructors and remove all the old weird structs that we used to tell which one to call. This removes some extra code we had to deal with this. Review URL: http://codereview.chromium.org/9391013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
reland 121901, PPAPI: Add unlocking for PPP calls and callbacks... """ With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before). TODO: Test more calls off the main thread, make sync completion callbacks work. BUG=92909 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121901 """ TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9361065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122001 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI: Reduce string copying in SerializedVar. My performance test shows somewhere from 6-12% improvement. That's not bad, considering the test uses IPC, which outweighs most other work the proxy does. I wanted to do this before proxying ArrayBuffer. I might try to do a little further refactoring in another CL. BUG= TEST= Review URL: http://codereview.chromium.org/9138027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120479 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Various fixes to make ppapi_unittests pass again. 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 | 13 年前 | |
reland 121901, PPAPI: Add unlocking for PPP calls and callbacks... """ With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before). TODO: Test more calls off the main thread, make sync completion callbacks work. BUG=92909 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121901 """ TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9361065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122001 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Adds a printing proxy and example. This adds a printing example. Review URL: http://codereview.chromium.org/9455083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124149 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Pepper IME API for surrounding text retrieval. IME benefits from knowing what portion of text is selected inside a text editing plugin. This change is to implement a Pepper API for doing it. It consists of three API functions: 1. Browser asks plugins by PPP_TextInput_Dev::RequestSurroundingText() to send such info. 2. Plugin must reply the query by PPB_TextInput_Dev::UpdateSurroundingText(). 3. Additionally, plugin notifies the browser by PPB_TextInput_Dev::SelectionChanged() that the selection is changed. Typically triggers the steps 1->2. Intention of the API design is (1) to avoid synchronous IPC, and (2) to keep the room to implement it in an optimal and right way, that is, expensive send of selection text happens only when needed (= "IME requiring the info is on" + "selection indeed changed in the plugin"), though the current impl in the patch is not necessary like that (for sake of simplicity). The changes in the API is in: * ppapi/c/dev/ppb_text_input_dev.h * ppapi/c/dev/ppp_text_input_dev.h The browser side implementation mostly resides in: * content/renderer/render_view_impl.cc * content/renderer/pepper/pepper_plugin_delegate_impl.{h,cc} * webkit/plugins/ppapi/ppapi_plugin_instance.{h,cc} The other files are for wiring necessary cables. BUG=101101 TEST=Manual: make ppapi_example_ime and run ./your/chrome --register-pepper-plugins=\ "/path/to/ppapi_example_ime.plugin;application/x-ppapi-example-ime" \ --ppapi-out-of-process \ file:///path/to/ppapi/examples/ime/ime.html Try some IME that supports reconversion (e.g., Google Japanese Input on Windows). Review URL: http://codereview.chromium.org/8769003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126862 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Don't dispatch PPP_VideoDecoder_Dev methods with no decoder. BUG=144079 Review URL: https://chromiumcodereview.appspot.com/10867018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152922 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Plumb texture target to VideoDecodeAccelerator::Client Currently all VideoDecodeAccelerator::Clients use GL_TEXTURE_2D as their texture target. Unfortunately the Mac decoder only supports GL_TEXTURE_RECTANGLE_ARB texture targets. This CL allows decoders to choose which texture target they want. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10392141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141258 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the plugin side of the resource only, as well as a unittest. BUG=138333 TEST=Ran new unittest Review URL: https://chromiumcodereview.appspot.com/10826026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155352 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the plugin side of the resource only, as well as a unittest. BUG=138333 TEST=Ran new unittest Review URL: https://chromiumcodereview.appspot.com/10826026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155352 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
This adds the plugin side of the resource only, as well as a unittest. BUG=138333 TEST=Ran new unittest Review URL: https://chromiumcodereview.appspot.com/10826026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155352 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
New file chooser interface that uses the new PP_ArrayOutput feature. This also changes PP_ArrayOutput to be pass-by-value. This keeps backwards compat for the old interface. It fixes some bugs in the callback system that I found when working on the patch and adds some new machinery for doing array output in the proxy. It also re-enables the file chooser feature which was recently broken. BUG=118857 Review URL: https://chromiumcodereview.appspot.com/9728001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129022 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI: Make blocking completion callbacks work. This also makes scoped_refptr<TrackedCallback> the "new" way to pass completion callbacks in an API. This allows the Enter object to handle checking for blocking callbacks on the main thread to report error, and blocking if on the background thread. This way, interfaces don't have to write any special cases for blocking callbacks. When built with enable_pepper_threading=1 locally, URLLoader tests all pass for blocking completion callbacks. I haven't updated all tests yet. BUG=92909 TEST= Review URL: https://chromiumcodereview.appspot.com/10081020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143806 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Don't crash the renderer if the plugin crashes. We would deference the null channel if we tried to send a message after a plugin crashes. This just adds a check for this case. BUG=150849 Review URL: https://codereview.chromium.org/10944038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157640 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Rename IPC Sender and Listener in ppapi, content/public, and content/renderer This is the new name in preparation for deleting the backwards-compatible typedef. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10532162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143282 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add support for threadsafe completion callback factory. This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert the pp::proxy namespace to the ppapi::proxy namespace. 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 | 14 年前 | |
Cleanup: Remove unneeded forward declarations in ppapi. BUG=none TEST=none Review URL: http://codereview.chromium.org/8527020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109595 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Actually free plugin implement vars when running out of process when the plugin holds a reference beyond the lifetime of the instance. Review URL: https://chromiumcodereview.appspot.com/10542150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142787 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Actually free plugin implement vars when running out of process when the plugin holds a reference beyond the lifetime of the instance. Review URL: https://chromiumcodereview.appspot.com/10542150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142787 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement the gamepad API in the IPC proxy This does some reworking of the gamepad system to make it possible to hook in (previously it assumed that it was only talking to renderers) and I did some cleanup. Gamepad files were renamed to match the classes, and I did a bunch of test infrastructure work. IMPORTANT BEHAVIOR CHANGE: This changes the Web gamepad API to report all gamepad data as soon as any of them are interacted with. This is what we need to do for Pepper anyway (since it gets all or none of the share memory) and I think makes more sense for most consumers anyway. I separated out the user gesture detection code into a place where it can be used in the browser process as well, and exposed functionality in the gamepad provider to be notified when a user gesture happens. The existing gamepad test was disabled and had bitrotted. This fixes it. Review URL: https://chromiumcodereview.appspot.com/10912062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155676 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add resource message call and reply infrastructure. These messages are not yet used. They will allow us to route messages directly to a resource implementation in the proxy or the host using information in a common header. The actual content of the message (as interpreted by the specifi resource in the plugin or class in the host) is a nested message. TEST=none BUT=none Review URL: https://chromiumcodereview.appspot.com/10560030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143463 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add resource message call and reply infrastructure. These messages are not yet used. They will allow us to route messages directly to a resource implementation in the proxy or the host using information in a common header. The actual content of the message (as interpreted by the specifi resource in the plugin or class in the host) is a nested message. TEST=none BUT=none Review URL: https://chromiumcodereview.appspot.com/10560030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143463 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add a target for the proxy unittests. Write tests for the var tracker. TEST=this is it BUG=none Review URL: http://codereview.chromium.org/6250024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72158 0039d316-1c4b-4281-b951-d872f2087c98 | 15 年前 | |
Refactor Pickle Read methods to use higher performance PickleIterator. There was a lot of redundant error checking and initialization code in all Pickle Read methods because of the void** iterator type. This change replaces the void* iterator with PickleIterator, which encapsulates the read pointer so that less error checking and initialization code is needed for reading. PickleIterator has all the necessary data to do the actual reading. The advantage of having it provide Read methods (as opposed to leaving them solely in the Pickle interface) is that the callers do not need to pass around the const Pickle* once they have a PickleIterator. Followup CLs will refactor the call sites to remove const Pickle* arguments where they are now unnecessary. Then the Pickle::Read* methods can be removed entirely. The alternative approach would have been to change the Pickle::Read methods to non-const and remove the iterator parameter (making Read methods advance an internal read pointer). Unfortunately, the const Read with iterator design is entrenched throughout the chromium code, making this a much more complex change with the same performance outcome. BUG=13108 Review URL: https://chromiumcodereview.appspot.com/9447084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125447 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Cleanup: Remove unneeded scoped_ptr.h includes from ppapi, printing, remoting, and sync. BUG=none TEST=none TBR=brettw,hclam,akalin,abodenha Review URL: https://chromiumcodereview.appspot.com/10387107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137376 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Change NaCl IPC PPAPI proxy startup to support a NaCl-Browser process channel. NaClProcessHost now creates an initial NaCl-Browser channel, then uses it to send a message to create the NaCl-Renderer channel. The main() for the IPC-IRT creates a PpapiDispatcher object to manage this channel and manage the PluginDispatchers for each renderer. BUG=116317 TEST=manual TBR=bbudge@chromium.org Review URL: https://chromiumcodereview.appspot.com/10912011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154231 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Change NaCl IPC PPAPI proxy startup to support a NaCl-Browser process channel. NaClProcessHost now creates an initial NaCl-Browser channel, then uses it to send a message to create the NaCl-Renderer channel. The main() for the IPC-IRT creates a PpapiDispatcher object to manage this channel and manage the PluginDispatchers for each renderer. BUG=116317 TEST=manual TBR=bbudge@chromium.org Review URL: https://chromiumcodereview.appspot.com/10912011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154231 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
PPAPI/NaCl: Make NaClIPCAdapter transfer handles more generally This does a couple of things: - It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle). - It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params). - It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch). The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Avoid accessing VarTracker from multiple threads. BUG=118223,118226 TEST=None Review URL: http://codereview.chromium.org/9786001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127871 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Disable PPAPI unittest PluginVectorReceiveInput Currently breaking on ASAN builders: http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_asan&number=2637 BUG=none TEST=none TBR=jam@chromium.org NOTRY=true Review URL: https://chromiumcodereview.appspot.com/10979025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158672 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Convert url request info to new proxy API. This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
RefCounted types should not have public destructors BUG=123295 TEST=existing unittests Review URL: https://chromiumcodereview.appspot.com/10694111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146001 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 15 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 15 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 14 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 | ||
| 13 年前 |