It was MIA for some reason.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6726014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79184 0039d316-1c4b-4281-b951-d872f2087c98
Note, I did something differently from other per-instance interfaces. While the C interface has 'PPB_Messaging' and 'PPP_Messaging' separate from the Instance interfaces, I stuck the per-instance messaging in to pp::Instance. It seems more intuitive to me, and doesn't have the drawbacks of having too many functions in the C layer instance interfaces. Happy to back off of that position, but it's worth a shot.
Overview:
From JavaScript, you can invoke 'postMessage' on the embedded module. That results in a call to 'PPP_Messaging::HandleMessage'.
From Native Code, you can invoke 'PPB_Messaging::PostMessage', which results
in a call to an 'onmessage' function on the DOM element for the module
instance in the JavaScript code (if one has been registered).
Please see the included example or the examples in the comments of
PPB_Messaging and PPP_Messaging.
Restrictions:
- This implementation is synchronous. A later CL will make it asynchronous.
- This implementation supports only intrinsic values and strings (all types that PP_Var supports except for objects). Object & array support will come later.
- This implementation only allows for 1 channel per instance. You can not expose other 'channels' or 'ports'. Future CLs will add support for MessagePorts.
BUG=None
TEST=test_post_message.h/.cc
(This CL replaces http://codereview.chromium.org/6538028/ )
Review URL: http://codereview.chromium.org/6716005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79178 0039d316-1c4b-4281-b951-d872f2087c98
This lexer understands standard IDL tokens which are similar to 'C'.
INT, HEX, FLOAT, QUOTE and SYMBOL. SYMBOL can then also become a
KEYWORD such as enum, interface, struct, typedef...
R=ncbray@google.com
BUG=76237
TEST=python idl_lexer.py --test_expect --test_same test_lex.in
Review URL: http://codereview.chromium.org/6697028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79169 0039d316-1c4b-4281-b951-d872f2087c98
PPB_Var now only deals with the PPB_Var datatype. PPB_Var_Deprecated provides scripting for legacy users, post message API will be the replacement in the future.
BUG=76453
TEST=none
Review URL: http://codereview.chromium.org/6673098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79139 0039d316-1c4b-4281-b951-d872f2087c98
be proxied moved into a new shared_impl file, which required a decent amount of
glue to make it callable from both the implementation and the proxy. The payoff
here is only marginal since the code is fairly simple, but I decided this is
still better than duplication.
This also includes some comments from my audio patch that I forgot in that CL.
BUG=none
TEST=ppapi_tests run out of process pass
Review URL: http://codereview.chromium.org/6676045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78646 0039d316-1c4b-4281-b951-d872f2087c98
the known IPC messages. Going forward, this should help identify new messages
between versions of chrome so that they may be given extra scrutiny for
potential badness.
under the common_message_generator.h umbrella.
Review URL: http://codereview.chromium.org/6646005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78564 0039d316-1c4b-4281-b951-d872f2087c98
- Move part of the character set conversion logic into ppapi/shared_impl/char_set_impl.{h,cc}.
- Change ppb_char_set_proxy to use it directly in the plugin process.
- Another minor change is to avoid using malloc/free during character set conversion, and use PPB_Core.MemAlloc/MemFree instead.
BUG=none
TEST=Pass test_char_set.{h,cc}
Review URL: http://codereview.chromium.org/6694011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78232 0039d316-1c4b-4281-b951-d872f2087c98
The resulting URLRequestInfo is then only usable with a (trusted) URLLoader
which has universal access.
BUG=75350
TEST=none
Review URL: http://codereview.chromium.org/6652014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78047 0039d316-1c4b-4281-b951-d872f2087c98
to within the renderer.
This works by having the renderer check with the plugin that a PP_Instance is
available before using it. If it's already seen, the renderer will generate a
new PP_Instance and retry.
For performance, this message is handled on the I/O thread of the plugin so it
will not be blocked by the actual plugin code.
This requires an unfortunate amount of plumbing. Since the renderer can't
depend directly on the proxy, we have a new PPB_Proxy function to set the
verification function used to perform this check.
There is also a new plugin dispatcher delegate where I moved some of the global
state to that used to go into the init function. Adding yet another parameter
there seemed unfortunate.
TEST=manual
BUG=74961
Review URL: http://codereview.chromium.org/6628019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77693 0039d316-1c4b-4281-b951-d872f2087c98
Note that this is a trusted private interface; we rely on Flash to do a user
action check.
BUG=none
TEST=Trung can cut-and-paste in his Flapper
Review URL: http://codereview.chromium.org/6611034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76857 0039d316-1c4b-4281-b951-d872f2087c98
BUG=73356
TEST=comment 12 on the bug has a test page; ensure the last two cursors (grab and grabbing) show open and closed hand cursors (respectively) and don't crash
Review URL: http://codereview.chromium.org/6591105
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76616 0039d316-1c4b-4281-b951-d872f2087c98
Such FileRefs are typically obtained from the Pepper file chooser. The interface
corresponds exactly to the one for module-local files. (The implementation is
only enabled if Flapper hacks are enabled.)
BUG=none
TEST=Flapper file uploads work for me
Review URL: http://codereview.chromium.org/6592071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76446 0039d316-1c4b-4281-b951-d872f2087c98
This is to allow the GPU process to be sandboxed on all platforms.
TEST=try, run WebGL app on win and mac.
BUG=none
Review URL: http://codereview.chromium.org/6588029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76307 0039d316-1c4b-4281-b951-d872f2087c98
This change removes invalid direct calls to constructors and replaces NULL to 0 as workarounds for a compiler bug of gcc 4.6.
Patch from Maarten Lankhorst <m.b.lankhorst@gmail.com>.
BUG=none
TEST=fix builds on gcc 4.6
Review URL: http://codereview.chromium.org/6596005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76046 0039d316-1c4b-4281-b951-d872f2087c98
BUG=none
TEST=use flapper, go to youtube, make plugin crash and check no warning about close() failing.
Review URL: http://codereview.chromium.org/6580050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76026 0039d316-1c4b-4281-b951-d872f2087c98
Transfer buffer creation was previously done in the GPU process. This is one step required to sandbox the GPU process.
Rather than the GPU process opening a renderer process's handle by PID, which can't been done when sandboxed on Windows, the browser process passes the handle to the GPU process via the renderer process.
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/6557006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75980 0039d316-1c4b-4281-b951-d872f2087c98
ppb_flash_file.* is intended to contain multiple (very similar) interfaces, of
which the ModuleLocal stuff is one.
BUG=none
TEST="everything" still works
Review URL: http://codereview.chromium.org/6579026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75921 0039d316-1c4b-4281-b951-d872f2087c98
This also adds error logging to the various places we close file descriptors, to help diagnosing future similar issues.
BUG=none
TEST=Pepper Flash + youtube in oop with --enable-accelerated-plugins
Review URL: http://codereview.chromium.org/6549037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75792 0039d316-1c4b-4281-b951-d872f2087c98
don't use FileIO which isn't don yet) to pass in the proxy.
Hook up the code from the URLLoader that downloads to a file. This allows all
URLLoader tests to pass in the proxy.
Change code in dispatcher that zeros out the array to take into account
padding. It was only zero-filling half of the array since sizeof(enum) * # elts
seems to be half as large as the actual array due to padding on 64-bit systems.
Make the aborted completion callbacks run asynchronously. This was caught by
one of the file ref tests. We really need a system for doing this better, but
I don't want to do that in this patch.
TEST=ppapi_tests run under proxy
Review URL: http://codereview.chromium.org/6543028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75566 0039d316-1c4b-4281-b951-d872f2087c98
This also changes the FileRef interface to remove the Query function, since
there is no close function, there's no way to cancel the current request, which
makes memory management of the info structure very difficult.
Review URL: http://codereview.chromium.org/6519057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75331 0039d316-1c4b-4281-b951-d872f2087c98