| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flash sometimes needs to synchronously know if it can launch the broker, otherwise it will try to launch the broker when it shouldn't, and end up popping an infobar. This adds an IsAllowed function to synchronously test whether the broker is allowed to launch without popping the infobar.
Note that the document URL of the plugin instance is needed in order to check the broker permissions in the browser process. This is only available in the renderer process. In order to avoid an extra hop to the renderer process just to get this URL, it is sent to the browser (with the render view ID) upon initialization of the instance when the instance is registered with the browser process.
BUG=163248
Review URL: https://chromiumcodereview.appspot.com/11316316
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172104 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=142639
Review URL: https://chromiumcodereview.appspot.com/10826164
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154742 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Landed at r109114, Reverted at r109142
Make it possible to enable/disable specific ppapi tests. Migrate PostMessage tests.
The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before.
This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces.
BUG=102885
TEST=N/A
TBR=dmichael@chromium.org
Review URL: http://codereview.chromium.org/8536031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110248 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Broker UI test.
Also fix wrong sandbox options for broker process on Windows and Mac.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8400024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110241 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turned Mac valgrind bots red:
OutOfProcessPPAPITest.PostMessage_MessageEvent
OutOfProcessPPAPITest.PostMessage_ExtraParam
PPAPITest.PostMessage_NoHandler
OutOfProcessPPAPITest.PostMessage_SendInInit
Probably others
- Make it possible to enable/disable specific ppapi tests. Migrate PostMessage tests.
Most of these files were changed by a sed script, so it's not as bad as it looks.
The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before.
This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces.
BUG=102885,95557
TEST=N/A
Review URL: http://codereview.chromium.org/8477015
TBR=dmichael@chromium.org
Review URL: http://codereview.chromium.org/8497030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109142 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tests.
Most of these files were changed by a sed script, so it's not as bad as it looks.
The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before.
This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces.
BUG=102885,95557
TEST=N/A
Review URL: http://codereview.chromium.org/8477015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109114 0039d316-1c4b-4281-b951-d872f2087c98
|
|
This changes the way that the function APIs work in the webkit directory, now
they're created per-instance rather than globally, and have their
Plugininstance as a class member (this cleans up some code). I had to move the
InstanceData member to be a linked_ptr due to copy constructor issues, but this
should be more efficient anyway.
Review URL: http://codereview.chromium.org/7077024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87094 0039d316-1c4b-4281-b951-d872f2087c98
|