| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 年前 | |
Modify the PPB_Audio_Shared code for NaCl. BUG=116317 TEST=none This adds code for the NaCl untrusted build of the PPAPI proxy. The NaCl IRT can't create threads that call back into user code, so the Audio thread must be created using a special NaCl API. Review URL: https://chromiumcodereview.appspot.com/10809079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148423 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement audio proxy for Pepper. In addition to the basic proxying, this required some changes to the dispatcher and process infrastructure to get the handles of the processes available when I need them so I can duplicate the shared memory handles properly into the different processes. TEST=none BUG=none Review URL: http://codereview.chromium.org/4985001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68026 0039d316-1c4b-4281-b951-d872f2087c98 | 15 年前 | |
Add PPAPI decryptor implementation. BUG=138139 TEST=none Review URL: https://chromiumcodereview.appspot.com/10827280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152004 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 年前 | |
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 年前 | |
Move the tracked completion callback code into shared impl. This keeps the original which is still used by all existing callers. The new one exists in parallel through the magic of namespaces. I'll convert the existing callers over in a subsequent pass. I split it out into separate files: tracked_callback and callback_tracker. I also merged the old TrackedCallback and TrackedCompletionCallback since we never have any callbascks that aren't completion callbacks. BUG=74062 Review URL: http://codereview.chromium.org/9006055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115982 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
Implement a proxy for Pepper FileIO. [ Reland of 113565 http://codereview.chromium.org/8764003 ] This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113953 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Implement a proxy for Pepper FileIO. [ Reland of 113565 http://codereview.chromium.org/8764003 ] This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113953 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 年前 | |
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 1 static initializer in id_assignment.cc. BUG=94925 TEST=none Review URL: http://codereview.chromium.org/8773029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112642 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Create ppapi_proxy.dll and ppapi_shared.dll. This involves introducing the following macros: PPAPI_PROXY_EXPORT - for symbols exported from ppapi/proxy PPAPI_SHARED_EXPORT - for symbols exported from ppapi/shared_impl PPAPI_THUNK_EXPORT - for symbols exported from ppapi/thunk NOTE: shared_impl and thunk are still linked together, but I thought it was cleaner to give thunk its own macro. R=brettw@chromium.org Review URL: http://codereview.chromium.org/7687005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98508 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Merge definitions of PlatformFileToInt and IntToPlatformFile to one place. BUG=none TEST=normal browsing on m17 Review URL: http://codereview.chromium.org/8585013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111447 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Merge definitions of PlatformFileToInt and IntToPlatformFile to one place. BUG=none TEST=normal browsing on m17 Review URL: http://codereview.chromium.org/8585013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111447 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Fix unit test to allow repeated successful runs by avoiding a function static variable in tests. BUG=137145 TEST=run unit_tests with --gtest_filter=ComponentInstallerTest.PepperFlashCheck --gtest_repeat=2 successfully. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=146670 Reverted as http://src.chromium.org/viewvc/chrome?view=rev&revision=146672 Review URL: https://chromiumcodereview.appspot.com/10702188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146690 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Fix unit test to allow repeated successful runs by avoiding a function static variable in tests. BUG=137145 TEST=run unit_tests with --gtest_filter=ComponentInstallerTest.PepperFlashCheck --gtest_repeat=2 successfully. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=146670 Reverted as http://src.chromium.org/viewvc/chrome?view=rev&revision=146672 Review URL: https://chromiumcodereview.appspot.com/10702188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146690 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 some logging to debug PPAPI permissions. Somehow these aren't getting set properly for the bundled Flash case. The code path we take to get them is pretty long, so this patch adds some temporary logging to try to see wher they're lost. BUG=147507 Review URL: https://codereview.chromium.org/10917160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157040 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Also check for accelerated plugins when determining when 3d is really enabled. This filters out machines where we're using SwiftShader. BUG=146876 Review URL: https://chromiumcodereview.appspot.com/10909102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155338 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add UMA histogram to determine how often Stage3D could be used. BUG= Review URL: https://chromiumcodereview.appspot.com/10875077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153887 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 年前 | |
Increase default buffer size when back end can't recommend one. This should help avoid stuttering on older XP machines, or vista machines where hardware sample rate != application sample rate. The downside is audio latency will be higher. Old value was for 30ms buffers. New value is for 50ms buffers. TEST=verify w/ nhu...@adobe.com once in canary BUG=http://code.google.com/p/chromium/issues/detail?id=133393 Review URL: https://chromiumcodereview.appspot.com/10656027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144258 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add an asynchronous version of the Flash DeviceID API. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10535062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141486 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 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 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/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 年前 | |
Implement device enumeration for PPB_VideoCapture_Dev. - Implement PPB_VideoCapture_Dev v0.2. - Use a ref-counted PlatformVideoCapture to manage lifespan of media::VideoCapture::EventHandler, instead of manipulating the ref count of PPB_VideoCapture_Impl. - Extend examples/video_capture. BUG=None TEST=examples/video_capture Review URL: https://chromiumcodereview.appspot.com/9234064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122176 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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
Mark PPAPI 3D context BUG=none R=brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/10836267 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151787 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/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 年前 | |
Rename the shared_impl resource files to give them more regular names. [ Reland of 113290 http://codereview.chromium.org/8790004 ] I keep getting confused between things like AudioImpl and PPB_Audio_Impl. This uses _shared for the names, so now we have _impl, _proxy, and _shared which makes more sense. I also removed the ppb_opengles2_impl file since it was just a forward to the shared version. Review URL: http://codereview.chromium.org/8849003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113428 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 年前 | |
ppapi: Add ResourceCreationAPI::CreateTouchInputEvent for creating touch-events. BUG=128236 TEST=none Review URL: https://chromiumcodereview.appspot.com/10634017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143642 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add #ifdefs to separate NaCl and non-NaCl PPAPI Proxy code. This CL moves non-NaCl interface proxies like Flash, and also temporarily moves unported interfaces such as Graphics3D. BUG=116317 TEST=builds without PPAPI link errors Review URL: https://chromiumcodereview.appspot.com/10116003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132817 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Delete FunctionGroupBase from Pepper. The FunctionGroupBase stuff was intended to used for our manual RTTI for interfaces not associated with resources. However, we've been putting most of those interfaces on the PPB_Instance_API which allows us to skip a whole lot of routing, setup, and boilerplate code. This patch moves the two remaining classes deriving from FunctionGroupBase and moves them to special getters on the globals class. We'll keep these classes around and since there are only two, it seems to warrant the special case. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10168026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134509 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/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 年前 | |
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 年前 | |
Move gles2 extensions out of dev. BUG=none TEST=simple usage test in nacl Review URL: https://chromiumcodereview.appspot.com/10354004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135735 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move gles2 extensions out of dev. BUG=none TEST=simple usage test in nacl Review URL: https://chromiumcodereview.appspot.com/10354004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135735 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 年前 | |
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 年前 | |
Remove PP_Module from parameters for PPB_Var.VarFromUtf8. This change has tendrils stretching throughout the code, but mostly this lets us delete a bunch of stuff. This also does a slight refactor to put the PPB_Var implementations in 1 place, since they were already practically identical, and I didn't want to do the backwards-compat code in 2 places. BUG=106596 TEST=N/A TBR=darin,tony darin,tony TBR for rubber-stamp of webkit/glue/webkit_glue.gypi Review URL: http://codereview.chromium.org/8826011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113491 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Remove PP_Module from parameters for PPB_Var.VarFromUtf8. This change has tendrils stretching throughout the code, but mostly this lets us delete a bunch of stuff. This also does a slight refactor to put the PPB_Var implementations in 1 place, since they were already practically identical, and I didn't want to do the backwards-compat code in 2 places. BUG=106596 TEST=N/A TBR=darin,tony darin,tony TBR for rubber-stamp of webkit/glue/webkit_glue.gypi Review URL: http://codereview.chromium.org/8826011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113491 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI: Move PPB_ArrayBuffer out of Dev. BUG=103435 TEST=N/A Review URL: http://codereview.chromium.org/9107046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119374 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
PPAPI: Move PPB_ArrayBuffer out of Dev. BUG=103435 TEST=N/A Review URL: http://codereview.chromium.org/9107046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119374 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 年前 | |
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 年前 | |
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 年前 | |
Implement HiDPI support in Pepper dev interface This patch requires WebKit patch https://bugs.webkit.org/show_bug.cgi?id=87874 (WebKit r121364) Expose device_scale_factor and css_scale_factor to Pepper plugins via a dev interface on View resource. Allow Pepper plugins to create a 2D graphics context with a scale factor so the plugins can render at device resolution rather than DIPs if they want. BUG=114673 TEST=browser_tests --gtest_filter="PPAPITest.*" TEST=browser_tests --gtest_filter="OutOfProcessPPAPITest.*" TEST=Build, run existing PPAPI plugin at 2x scale TEST=Build, run test HiDPI aware plugin to render at device rez, at 1x, 2x scale Review URL: https://chromiumcodereview.appspot.com/10544168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144773 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement HiDPI support in Pepper dev interface This patch requires WebKit patch https://bugs.webkit.org/show_bug.cgi?id=87874 (WebKit r121364) Expose device_scale_factor and css_scale_factor to Pepper plugins via a dev interface on View resource. Allow Pepper plugins to create a 2D graphics context with a scale factor so the plugins can render at device resolution rather than DIPs if they want. BUG=114673 TEST=browser_tests --gtest_filter="PPAPITest.*" TEST=browser_tests --gtest_filter="OutOfProcessPPAPITest.*" TEST=Build, run existing PPAPI plugin at 2x scale TEST=Build, run test HiDPI aware plugin to render at device rez, at 1x, 2x scale Review URL: https://chromiumcodereview.appspot.com/10544168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144773 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Reland: Pepper Flash settings integration - camera and microphone. The original code review: http://codereview.chromium.org/10479015/ TBR=csilv@chromium.org, brettw@chromium.org BUG=112190 TEST=None Review URL: https://chromiumcodereview.appspot.com/10541108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141665 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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
Add CHECKs to ensure that PPAPI resources are created on the right thread These CHECKs could be converted to DCHECKs at some point. But we should get a clear idea of how often this is happening and what issues it is responsible for first. BUG=146415,92909 TEST=Ran test case in http://code.google.com/p/chromium/issues/detail?id=143183 and checked that the CHECK fired. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/10912086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155257 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add CHECKs to ensure that PPAPI resources are created on the right thread These CHECKs could be converted to DCHECKs at some point. But we should get a clear idea of how often this is happening and what issues it is responsible for first. BUG=146415,92909 TEST=Ran test case in http://code.google.com/p/chromium/issues/detail?id=143183 and checked that the CHECK fired. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/10912086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155257 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 年前 | |
Add a new globals object for PPAPI tracking information. [ Reland of 106142: http://codereview.chromium.org/8316008 ] This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8344025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106537 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Create ppapi_proxy.dll and ppapi_shared.dll. This involves introducing the following macros: PPAPI_PROXY_EXPORT - for symbols exported from ppapi/proxy PPAPI_SHARED_EXPORT - for symbols exported from ppapi/shared_impl PPAPI_THUNK_EXPORT - for symbols exported from ppapi/thunk NOTE: shared_impl and thunk are still linked together, but I thought it was cleaner to give thunk its own macro. R=brettw@chromium.org Review URL: http://codereview.chromium.org/7687005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98508 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add a ScopedPPVar class for helping to track a reference to a base PP_Var. This will be used in unit tests and (possibly in the future) son proxy implementation code. This is basically copied from ScopedPPResource. TEST=none BUG=none Review URL: https://chromiumcodereview.appspot.com/10562033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142982 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add a ScopedPPVar class for helping to track a reference to a base PP_Var. This will be used in unit tests and (possibly in the future) son proxy implementation code. This is basically copied from ScopedPPResource. TEST=none BUG=none Review URL: https://chromiumcodereview.appspot.com/10562033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142982 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Delete FunctionGroupBase from Pepper. The FunctionGroupBase stuff was intended to used for our manual RTTI for interfaces not associated with resources. However, we've been putting most of those interfaces on the PPB_Instance_API which allows us to skip a whole lot of routing, setup, and boilerplate code. This patch moves the two remaining classes deriving from FunctionGroupBase and moves them to special getters on the globals class. We'll keep these classes around and since there are only two, it seems to warrant the special case. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10168026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134509 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 年前 | |
Move the time conversion code to the PPAPI shared_impl directory and use it in the proxy for converting event times. This also removes the unnecessary GetInterface function from Graphics2D and has the module use the thunk directly. Review URL: http://codereview.chromium.org/7344009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92229 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Create ppapi_proxy.dll and ppapi_shared.dll. This involves introducing the following macros: PPAPI_PROXY_EXPORT - for symbols exported from ppapi/proxy PPAPI_SHARED_EXPORT - for symbols exported from ppapi/shared_impl PPAPI_THUNK_EXPORT - for symbols exported from ppapi/thunk NOTE: shared_impl and thunk are still linked together, but I thought it was cleaner to give thunk its own macro. R=brettw@chromium.org Review URL: http://codereview.chromium.org/7687005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98508 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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
NOTREACHED() in VarTracker::ReleaseVar() can be reached. Remove it. Because PPB_Var_Deprecated_Proxy::OnMsgReleaseObject() can defer a ReleaseVar() call past the time an instance is destroyed, and because as part of instance destruction HostVarTracker::ForceReleaseNPObject() forcibly zeroes a variable's ref_count and deletes it, the deferred ReleaseVar() call will hit this path frequently and blow up the debugger. Review URL: https://chromiumcodereview.appspot.com/10227009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133968 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 年前 | |
Pepper: unit tests for VarTracker BUG=none TEST=ppapi_unittests Review URL: http://codereview.chromium.org/8953017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114778 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 |
This directory contains implementation code for PPAPI that needs to be shared between the backend implemntation in the renderer and in the proxy.