Jjbauman@chromium.orgDon't require a recreation of the context when fullscreening
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Rename InterfaceID to ApiID and move the file. This was originally in the proxy and had a 1:1 correspondence with an interface. Then we reused this for other stuff and then merged some interfaces into larger APIs (ppapi/thunk/*_api.h) so the name was no longer accurate. It was wrong to be in the proxy directory since directories at a "lower level" than the proxy (ppapi/shared_impl and webkit/plugins/ppapi) depended on it. This renames to ApiID (I avoided APIID since it looks like a define) which is the proper description of the class, and moved it to shared_impl. This fixes the deps since there are no longer any bad dependencies on the proxy directory. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/8333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106619 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Fix PPB_MouseLock.LockMouse crash and add tests. Because mouse lock tests require focus, the new tests are put in interactive_ui_tests. In this CL, ppapi_uitest is split into three parts: 1) ppapi_test: contains PPAPITestBase and its subclasses. 2) ppapi_browsertest: used by browser_tests. 3) ppapi_interactive_browsertest: used by interactive_ui_tests. Besides, they are moved into a new folder, chrome/test/ppapi. (1) and (2) are less interesting since they are mostly copied from ppapi_uitest. BUG=135206 TEST= Review URL: https://chromiumcodereview.appspot.com/10699045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145708 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Pass large object by const ref CID=104336 BUG= TEST= TBR=dmichael@chromium.org Review URL: https://chromiumcodereview.appspot.com/10831015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153638 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
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 年前 | |
Don't require a recreation of the context when fullscreening Instead of requiring flash to destroy and recreate its context, we can reparent its context onto the new view context (and later back again). BUG=147746 Review URL: https://chromiumcodereview.appspot.com/10918182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157641 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 年前 | |
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 sure the touch-event interface is detected correctly. BUG=145235 Review URL: https://chromiumcodereview.appspot.com/10873074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154085 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
Rename PPB_Font to PPB_BrowserFont_Trusted. PPB_Font can never be exported to NaCl since it relies on in-process WebKit. So I'm renaming this to BrowserFont_Trusted to imply that this is the way that the browser would render fonts in the content area (if we export a font API to NaCl in the future, it will likely be a simpler native font API). The new API is binary compatible with the old font API, so I map PPB_Font to PPB_BrowserFont_Trusted for now to avoid breaking Flash (which uses this). When we update Flash and push it out, we can remove the mapping and PPB_Font. This does a lot of cleanup of the font implementation. It had complexity from the fact that it used to run on a different thread. I was able to remove a lot of code. Review URL: https://chromiumcodereview.appspot.com/9360045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122564 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Rename PPB_Font to PPB_BrowserFont_Trusted. PPB_Font can never be exported to NaCl since it relies on in-process WebKit. So I'm renaming this to BrowserFont_Trusted to imply that this is the way that the browser would render fonts in the content area (if we export a font API to NaCl in the future, it will likely be a simpler native font API). The new API is binary compatible with the old font API, so I map PPB_Font to PPB_BrowserFont_Trusted for now to avoid breaking Flash (which uses this). When we update Flash and push it out, we can remove the mapping and PPB_Font. This does a lot of cleanup of the font implementation. It had complexity from the fact that it used to run on a different thread. I was able to remove a lot of code. Review URL: https://chromiumcodereview.appspot.com/9360045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122564 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add virtual destructors for the Pepper API thunks. TEST=it compiles BUG=86132 Review URL: http://codereview.chromium.org/7227003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90658 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
Add virtual destructors for the Pepper API thunks. TEST=it compiles BUG=86132 Review URL: http://codereview.chromium.org/7227003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90658 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Convert most users in thunk that used MayForceCallback to use the new Enter... format that does callback validation and forcing in its destructor. This adds the same support for callback tracking for EnterFunction... as my previous patch did for EnterResource. Review URL: http://codereview.chromium.org/9113044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120499 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move the charset inteface to "trusted" (we can't implement this efficiently in NaCl) and modify to no longer require the memory interface. This keeps the old interface and implements it in terms of the newer one. We can remove it when all callers have been updated. BUG= TEST= Review URL: http://codereview.chromium.org/9348069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121159 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 年前 | |
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 年前 | |
Add new MouseCursor interface for setting the mouse cursor. Remove most of the old cursor control interface. This keeps backwards compat for CursorControl.SetCursor (which just redirects to the new function) to kepe existing users running. None of the other functions on cursor control were implemented, so I removed all the proxying and stuff for them. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9814015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131314 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement PPB_DeviceRef_Dev. This is part of the work to suppport enumeration of multiple audio/video capture devices. Relevant changes: The thread that discussed interface design - http://codereview.chromium.org/8981009/ PPB_ResourceArray_Dev (committed) - http://codereview.chromium.org/9111008/ BUG=None TEST=None Review URL: http://codereview.chromium.org/9192019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118611 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Implement PPB_DeviceRef_Dev. This is part of the work to suppport enumeration of multiple audio/video capture devices. Relevant changes: The thread that discussed interface design - http://codereview.chromium.org/8981009/ PPB_ResourceArray_Dev (committed) - http://codereview.chromium.org/9111008/ BUG=None TEST=None Review URL: http://codereview.chromium.org/9192019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118611 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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
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 年前 | |
Move the FlashClipboard API into the Flash one. This allows us to delete the separate proxy files for this. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10163012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133955 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 年前 | |
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 年前 | |
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 年前 | |
Don't require a recreation of the context when fullscreening Instead of requiring flash to destroy and recreate its context, we can reparent its context onto the new view context (and later back again). BUG=147746 Review URL: https://chromiumcodereview.appspot.com/10918182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157641 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 年前 | |
Introduce PPB_Flash_MessageLoop interface for Pepper Flash. Comparing with PPB_Flash.RunMessageLoop/QuitMessageLoop, this new interface avoids leaking nested message loops. If Quit() is not called to balance the call to Run(), the outermost message loop will be quitted when the resource is destroyed. BUG=109340 TEST=test_flash_message_loop.{h,cc} Review URL: http://codereview.chromium.org/9188045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119873 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
This adds an interface for setting crash data from a plugin. It also provides an implementation for setting crash URLs. BUG=134176 TEST=Added test case to sanity check API call. Also hooked up to flash and produced a crash and checked that the report included the document url (http://crash/reportdetail?reportid=1719cae3a745f633) Review URL: https://chromiumcodereview.appspot.com/10681006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144516 0039d316-1c4b-4281-b951-d872f2087c98 | 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 年前 | |
Add a skeleton gamepad resource. This implements the skeleton of the gamepad resource for the IPC proxy. It is not actually hooked up. Hooking it up will require moving some gamepad lock code to a shared location. This also hooks up the browser message routing for implementing resource hosts in the browser process. BUG= Review URL: https://chromiumcodereview.appspot.com/10824272 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153265 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add a skeleton gamepad resource. This implements the skeleton of the gamepad resource for the IPC proxy. It is not actually hooked up. Hooking it up will require moving some gamepad lock code to a shared location. This also hooks up the browser message routing for implementing resource hosts in the browser process. BUG= Review URL: https://chromiumcodereview.appspot.com/10824272 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153265 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Revert 123696 - Add Pepper support for several GL extensions Add support to the command buffer code generator to generate multiple pepper interfaces, and use that to generate interfaces for ANGLE_instanced_arrays, ANGLE_framebuffer_blit, ANGLE_framebuffer_multisample, CHROMIUM_enable_feature, and CHROMIUM_map_sub. BUG=93148 TEST= Review URL: https://chromiumcodereview.appspot.com/9420017 TBR=jbauman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9466042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123697 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Cache image data objects. This will re-use ImageData and mapped memory when you do ReplaceContents within a few seconds of doing a previous one. Hopefully this will speed up 2D painting. BUG=142507 Review URL: https://chromiumcodereview.appspot.com/10823378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152792 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Cache image data objects. This will re-use ImageData and mapped memory when you do ReplaceContents within a few seconds of doing a previous one. Hopefully this will speed up 2D painting. BUG=142507 Review URL: https://chromiumcodereview.appspot.com/10823378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152792 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 年前 | |
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 年前 | |
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/NaCl: Make ImageData for NaCl just use shared memory BUG=116317 TEST= TBR=ben@chromium.org ben for ui/gfx OWNERS Review URL: https://chromiumcodereview.appspot.com/10790063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148427 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 年前 | |
Convert most users in thunk that used MayForceCallback to use the new Enter... format that does callback validation and forcing in its destructor. This adds the same support for callback tracking for EnterFunction... as my previous patch did for EnterResource. Review URL: http://codereview.chromium.org/9113044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120499 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
ppapi: Add support for touch events. The corresponding webkit side patch is at https://bugs.webkit.org/show_bug.cgi?id=89089 BUG=128236 TEST=manually, using the browser-plugin Review URL: https://chromiumcodereview.appspot.com/10543159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143486 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
ppapi: Make sure the touch-event interface is detected correctly. BUG=145235 Review URL: https://chromiumcodereview.appspot.com/10873074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154085 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 年前 | |
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 年前 | |
Convert most users in thunk that used MayForceCallback to use the new Enter... format that does callback validation and forcing in its destructor. This adds the same support for callback tracking for EnterFunction... as my previous patch did for EnterResource. Review URL: http://codereview.chromium.org/9113044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120499 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 年前 | |
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 年前 | |
Fix line endings in ppapi. No code change. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10052028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131869 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 年前 | |
Out-of-process implementation of the PPB_NetworkMonitor_Private interface. BUG=114808 Review URL: http://codereview.chromium.org/9677060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127762 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add NetworkList/NetworkMonitor hooks and C++ wrappers. BUG=114808 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=124797 Review URL: http://codereview.chromium.org/9545010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124927 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add NetworkList/NetworkMonitor hooks and C++ wrappers. BUG=114808 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=124797 Review URL: http://codereview.chromium.org/9545010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124927 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
Remove the old type system for proxied resources. These were no longer being used. Review URL: http://codereview.chromium.org/7587011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96610 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
Introduce PPB_ResourceArray_Dev. TEST=test_resource_array.{h,cc} BUG=None Review URL: http://codereview.chromium.org/9111008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116789 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
Pepper and WebKit API change to support a plugin knowing if a scrollbar is an overlay one. BUG=90530 Review URL: http://codereview.chromium.org/7538006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96244 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
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 年前 | |
Save PP_CompletionCallback in ppb_talk_private_thunk.cc Fix regression in tracking a PP_CompletionCallback in talk's GetPermission BUG=137952 TEST=Manual, attempt screenshare in gtalk Review URL: https://chromiumcodereview.appspot.com/10800026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147470 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 年前 | |
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 年前 | |
Move text input API to Instance. This allows us to delete a bunch of separate files that just do routing. TEST=none BUG=none Review URL: https://chromiumcodereview.appspot.com/10170014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134284 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
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 年前 | |
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 年前 | |
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: 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 年前 | |
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 年前 | |
Add virtual destructors for the Pepper API thunks. TEST=it compiles BUG=86132 Review URL: http://codereview.chromium.org/7227003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90658 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 年前 | |
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 年前 | |
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 年前 | |
Add virtual destructors for the Pepper API thunks. TEST=it compiles BUG=86132 Review URL: http://codereview.chromium.org/7227003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90658 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
Switch a number of code and header files from DOS to Unix line-endings. This is mainly relevant for the IDL-generated PPAPI headers, whose line-endings reflect the convention for the platform on which they were most recently re-generated, leading to bogus whole-file diffs. Note that this CL specifically does not update the Copyright years on the affected files, since the changes are whitespace-only. BUG=109116 TEST=diff --ignore-space-at-eol should give no output for this patch. TBR=dmichael Review URL: http://codereview.chromium.org/9087006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116311 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
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 年前 | |
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 年前 | |
Add SetScale to PPB_WidgetDev, use scale for painting In order to allow for HiDPI-aware scrollbars, this patch allows the plugin to specify a scale factor used during widget paint operations. The widgets (of which Scrollbar is the only current instance) will continue to use the DIP coordinate system for events and sizing, which is consistent with their WebKit implementation. This change should maintain backward compat. with existing users of interface 'PPB_Wdiget(Dev);0.3' BUG=140833 TEST=Run pre-built (with 0.3 interfaces) PDF plugin and verify scrollbars Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152495 Review URL: https://chromiumcodereview.appspot.com/10824386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152889 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add SetScale to PPB_WidgetDev, use scale for painting In order to allow for HiDPI-aware scrollbars, this patch allows the plugin to specify a scale factor used during widget paint operations. The widgets (of which Scrollbar is the only current instance) will continue to use the DIP coordinate system for events and sizing, which is consistent with their WebKit implementation. This change should maintain backward compat. with existing users of interface 'PPB_Wdiget(Dev);0.3' BUG=140833 TEST=Run pre-built (with 0.3 interfaces) PDF plugin and verify scrollbars Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152495 Review URL: https://chromiumcodereview.appspot.com/10824386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152889 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 | 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 年前 | |
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 年前 | |
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 年前 | |
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 年前 |