| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is so I can introduce a new way to do PPP interfaces that are
passed to a related PPB interface, instead of using PPP_GetInterface.
Note this doesn't add support for the PNaCl shim yet, although it should
at least make it compile.
BUG=367896
Review URL: https://codereview.chromium.org/281203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271425 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=366304,244653,312916,314899
TEST=None
Review URL: https://codereview.chromium.org/252923005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267348 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also tickled a bug in the generator because I named a variable
with "http". Which made the generator tests run on presubmit. Which
tickled a bug in the tests :-). So those are fixed here as an aside.
BUG=239656
Review URL: https://codereview.chromium.org/231243002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263073 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
IDL parser didn't support namespaces, which however are supported by JSON.
This patch adds grammar to allow adding a namespace as a prefix to any type.
TEST=json_schema_test.py + tested manually that it works.
BUG=158654
Review URL: https://codereview.chromium.org/197873009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261911 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes generated thunks to have nicer line wrapping for long function names.
Previously, thunk files kept getting generated for
ppapi/thunk/ppb_display_color_profile_private_thunk.cc,
and the generated file looked much worse than what was
checked in.
BUG=
R=bbudge@chromium.org
Review URL: https://codereview.chromium.org/204863002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258033 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for unions in extensions IDL dictionaries, such
as the following:
dictionary foo {
(long or DOMString) bar;
};
Unions are also supported in callback and function parameters.
NOTRY=true
BUG=339558
Review URL: https://codereview.chromium.org/181143002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256792 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make the FP containing structs const. The
"wrapper info" are still not const though because the
"real_iface" field still gets modified later.
* Don't #include headers that aren't needed. After an
earlier change that stopped creating wrapper infos for
interfaces that don't need wrapping, the macros
(PPB_AUDIO_INTERFACE_1_0, etc.) are no longer needed
from the header.
https://chromiumcodereview.appspot.com/17153012
* The wrapped_iface field must be non-null now.
* Move the pnacl_shim.h file to be next to the pnacl_shim.c file.
* Remove a dependency in gyp on the shim, since there is already
a dependency on the pnacl_support_extension, which depends on the shim.
BUG=none
R=mseaborn@chromium.org, teravest@chromium.org
Review URL: https://codereview.chromium.org/175193004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253190 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are some unnecessary includes in generated thunks. We should remove these
for clarity, and (hopefully) to reduce build time. A small test showed that
ppb_view_thunk.cc built 18% faster after the change, but that's well within the
noise on my local system.
BUG=334727
Review URL: https://codereview.chromium.org/137353003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245111 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The structs are internal to the pnacl_shim.c.
BUG=none
R=teravest@chromium.org
Review URL: https://codereview.chromium.org/126343002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243452 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds some basic support for the "channel=dev" label annotation for pepper
IDL files.
Design doc is at:
https://docs.google.com/a/chromium.org/document/d/1Q660kK72_230gxnqtgQavMcDT5_gLgPVh_W51MXT6nk/edit
TESTED=idl_tests.py, generator.py
BUG=325403
Review URL: https://codereview.chromium.org/105313002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241305 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The C++ wrapper will be in a separate CL.
BUG=327197,233439
TEST=None
Review URL: https://codereview.chromium.org/103993006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240013 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
YACC parser used by PPAPI idl parser needs error function for each keyword to handle error.
Due to missing error function for dictionary object, yacc parser was deleting all data in
the stack including start of the file and when it restarts and reach end of file, since start
of file is missing it goes in endless loop.
R=noelallen@chromium.org,sehr@chromoium.org,nbarth@chromium.org
BUG=320921
TEST=Add new dictionary object in idl file with missing semicolon, compilation will fail.
Review URL: https://codereview.chromium.org/101623003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239965 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes running the test for idl_c_proto work again, by fixing the
test.
It also removes an unused "BuiltIn" type list in idl_ast, which was very
confusing, and performs some other small cleanup I came across while adding
support for dev channel versions.
BUG=
Review URL: https://codereview.chromium.org/98343005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238711 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This change simplifies some functions, removes some dead code and
fixes up pylint style violations.
BUG=
Review URL: https://codereview.chromium.org/98803004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238216 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change cleans up some unnecessary code in IDLVisitor and
IDLLabelResolver. I was poking around in here as part of supporting
"dev channel" API versions, and figured it's worth cleaning up.
For testing, I ran idl_tests.py, and confirmed that generator.py gave
the same output as before.
BUG=
R=bbudge@chromium.org
Review URL: https://codereview.chromium.org/91763003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237609 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Also fixes the idl parser and schema compiler to support arrays as return types.
BUG=179737
Review URL: https://codereview.chromium.org/57913004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234730 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=83774
R=bbudge@chromium.org, binji@chromium.org, kmixter@google.com, teravest@chromium.org, yzshen@chromium.org
Review URL: https://codereview.chromium.org/23732002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225777 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Interfaces only at this point. Implementation to follow. API mirrors
that which is provided to the CDMs in http://crrev.com/221019
CanChallengePlatform() can be synchronous since it will just check a
command line flag passed to the process.
BUG=270294
TEST=none
R=ddorwin@chromium.org, dmichael@chromium.org
Review URL: https://codereview.chromium.org/23569005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222113 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add missing support for name mangling of versions structures, enums,and typedefs.
NOTRY=true
BUG=157017
R=sehr@chromium.org
sehr for generator change.
yzshen please test with your CL to verify fix.
Review URL: https://chromiumcodereview.appspot.com/17924002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209233 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Add yzshen to IDL generator owners.
TBR=yzshen@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/18084014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209187 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The behavior in the PNaCl shim layer is the same if there's a struct for an
interface with no wrapper or no struct at all.
This change removes structs where no wrapping is necessary.
BUG=251460
Review URL: https://chromiumcodereview.appspot.com/17153012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207839 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
PNaCl code can't use trusted interfaces, so there's no reason for us to emit
wrappers for them.
BUG=251460
Review URL: https://chromiumcodereview.appspot.com/16966009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207484 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several trusted interfaces were originally used internally by the IPC proxy and
the NaCl srpc proxy.
The IPC proxy switched to using C++ *_API classes directly, and the srpc proxy
is no more, so there's no user of these anymore.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/16253003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203526 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thunk files previously had buggy code when dealing with multiple versions of a
function. It's easiest to explain with the example Yuzhu gave:
The IDL file has three versions defined:
label Chrome {
M19 = 0.2,
M25 = 0.3,
M29 = 0.4
};
And the interface has:
int32_t Open(...)
[version=0.4]
int32_t Open(...)
The generated thunk defines Open_0_2() and Open(). But the v0.3 interface
structure use Open_0_3() which isn't defined.
This change makes the v0.3 interface above use Open_0_2, as intended.
BUG=239984
Review URL: https://chromiumcodereview.appspot.com/14927016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202119 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
passByValue structs are complicated to deal with for PNaCl, requiring that
shims be added for converting between calling conventions between nacl-gcc and
PNaCl+Clang+LLVM.
This change whitelists the current structs that exist. New passByValue structs
will cause an exception to be thrown when generating headers.
BUG=233439
Review URL: https://chromiumcodereview.appspot.com/15001010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200293 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generated on a line containing just a '*'.
This CL fixes that issue by having a length check on the appropriate lists. It also cleans up the naming of the various variables to make it more obvious which ones refer to the old text file and which ones refer to lines to be written.
NOTRY=true
R=binji@chromium.org, sehr@chromium.org
+sehr for Owners
Review URL: https://codereview.chromium.org/14686003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198002 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://chromiumcodereview.appspot.com/14766008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197771 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PNaCl ABI is changing so that by-value struct arguments (and
return values) are expanded out to being passed by pointer, on all
architectures.
This means that __attribute__((pnaclcall)) no longer reflects PNaCl
user code's calling conventions, so we have to change the PNaCl PPAPI
shims. The new shims can be pure C without any special attributes.
Remove now-unused ptr_prefix argument.
This updates nacl_revision to pull in the following NaCl changes:
r11238: (kschimpf) Update pnacl_llvm_rev to 5712db994c8a4abb8c2512fb2900650f8335af66.
r11239: (mseaborn) Update PNaCl toolchain revision in TOOL_REVISIONS to get ExpandByVal
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3400
TEST=cd ppapi/generators && ./generator.py + compile shims
+ "ppapi/generators/idl_gen_pnacl.py --test"
Review URL: https://codereview.chromium.org/14134011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196881 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes idl_thunk.py to use functions from ppapi/shared_impl when the
first argument to a function is not PP_Instance or PP_Resource. This pattern
seems to be used in multiple IDL files.
I also needed to clean up the APIs a bit so the function signatures matched up
with what idl_thunk.py emits.
Tested:
Built chrome and browser_tests.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14060022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's problematic for PNaCl when callbacks take structs that are passed by
value; there's not enough type information for matching GCC's calling
conventions on the target architecture.
This change scans for typedefs that define functions, and scans the arguments
to see if any are a struct (or a typedef of a struct).
This change whitelists one existing problematic callback.
Tested:
Verified that exceptions are raised for the one type in the whitelist when
the whitelist was empty. Verified that no exceptions are raised with this
change as-is.
BUG=233439
Review URL: https://chromiumcodereview.appspot.com/13973011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196162 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3400
TEST=cd ppapi/generators && ./generator.py
Review URL: https://codereview.chromium.org/14120012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195925 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The casts are only necessary for the PPB_* shims, where we need to
cast away the "pnaclcall" function attribute.
The PPP_* shim functions must match the default calling conventions
and so do not have this attribute, so removing the casts here provides
a little extra type checking.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3400
TEST=cd ppapi/generators && ./generator.py + compile shims
Review URL: https://codereview.chromium.org/13888011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195912 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Tested:
Built chrome and browser_tests.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14197010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195864 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dev and Trusted interfaces are already intergrated into APIs in ppapi/thunk.
For many APIs, this is already the case.
This is needed to autogenerate thunks for some "private" IDL files.
Tested:
Built chrome and browser_tests.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14362004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195555 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This gets rid of some code duplication, and rewrites functions in thunk files
which return void to an alternate, equivalent form.
BUG=
Review URL: https://codereview.chromium.org/14161017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195180 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires another annotation:
"always_set_output_parameters"
This annotation ensures that the thunk implementation will zero-out the value of all output parameters on failure.
Tested:
Built chrome and browser_tests.
BUG=
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=194613
Review URL: https://codereview.chromium.org/14007010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194915 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Pepper: Autogenerate thunk for PPB_URL_Loader.
>
> This requires another annotation:
> "always_set_output_parameters"
>
> This annotation ensures that the thunk implementation will zero-out the value of all output parameters on failure.
>
> Tested:
> Built chrome and browser_tests.
>
> BUG=
>
> Review URL: https://codereview.chromium.org/14007010
TBR=teravest@chromium.org
Review URL: https://codereview.chromium.org/14195008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194617 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires another annotation:
"always_set_output_parameters"
This annotation ensures that the thunk implementation will zero-out the value of all output parameters on failure.
Tested:
Built chrome and browser_tests.
BUG=
Review URL: https://codereview.chromium.org/14007010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194613 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This makes a few changes to IDL annotations:
* 'singleton_resource' is now 'singleton' and can be per-function or per-interface.
* There is a new 'API' annotation that describes when a specific API should be used for a function.
* There is a 'thunk_include' annotation for when a header file must be included in the thunk output, but we can't guess it.
Review URL: https://codereview.chromium.org/13820003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194445 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds VLOG(4) calls for every function autogenerated by idl_thunk.py.
I had considered adding version information to the output, but couldn't find a
way to do so that didn't have a confusing case.
BUG=181607
Review URL: https://chromiumcodereview.appspot.com/13393007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191855 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required adding two features to the thunk generator.
* Support for a 'singleton_resource' annotation, which forces the use of
EnterInstanceAPI.
* When a function fails in the thunk layer, and it returns void,
automatically zero out the output arguments. This will probably have to be
moved to an annotation later, but seems like a good heuristic for now.
BUG=187666
Review URL: https://chromiumcodereview.appspot.com/13142007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191477 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For consistency, APIs with both normal/trusted and normal/private interfaces
will be merged together. This also makes it easer to generate thunks for
more IDL files, since the API name (and file name) can be derived without extra
annotations.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12702011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL also adds necessary C++ utilities to support these interfaces.
An example of using these APIs:
https://codereview.chromium.org/12387051/
BUG=None
TEST=None
The original CL is here: https://codereview.chromium.org/12295043/
Review URL: https://codereview.chromium.org/12755016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187610 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
linux-sdk-multi
- Add C/C++ interfaces for PPB_Ext_Alarms_Dev and PPB_Ext_Events_Dev.
This CL also adds necessary C++ utilities to support these interfaces.
An example of using these APIs:
https://codereview.chromium.org/12387051/
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/12295043
TBR=yzshen@chromium.org
Review URL: https://codereview.chromium.org/12760002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187229 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL also adds necessary C++ utilities to support these interfaces.
An example of using these APIs:
https://codereview.chromium.org/12387051/
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/12295043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187227 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recently, some nodes in the IDL AST started reporting multiple builds in their
build_list. I don't understand what caused this behavior change, but this patch
treats those cases more gracefully.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12328108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184767 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Cast to int to avoid overflow.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12315107
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184726 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Automatically generate thunk for the PPB_ContentDecryptor_Private interface.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12334079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184699 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://chromiumcodereview.appspot.com/12212166
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184424 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://chromiumcodereview.appspot.com/12220082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182253 0039d316-1c4b-4281-b951-d872f2087c98
|