Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Issue 61523003: IDL compiler: [CheckSecurity=Frame] interfaces (initial) (Closed)

Created:
7 years, 1 month ago by Nils Barth (inactive)
Modified:
7 years, 1 month ago
Reviewers:
haraken
CC:
blink-reviews, Nils Barth (inactive), kojih, arv+blink, jsbell+bindings_chromium.org, abarth-chromium, marja+watch_chromium.org, adamk+blink_chromium.org, haraken, Nate Chapin, watchdog-blink-watchlist_google.com, Inactive, kouhei (in TOK)
Visibility:
Public.

Description

IDL compiler: [CheckSecurity=Frame] interfaces (initial) This adds support for [CheckSecurity=Frame] interface, but not for [CheckSecurity] + [DoNotCheckSecurity], as in: [CheckSecurity=Frame] interface { [DoNotCheckSecurity] void foo(); }; (i.e., DomainSafeFunctionGetter/Setter). BUG=239771 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=162286

Patch Set 1 #

Total comments: 18

Patch Set 2 : Revised #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -9 lines) Patch
M Source/bindings/scripts/code_generator_v8.pm View 1 chunk +5 lines, -0 lines 0 comments Download
M Source/bindings/scripts/unstable/v8_interface.py View 1 2 chunks +15 lines, -0 lines 0 comments Download
M Source/bindings/scripts/unstable/v8_methods.py View 1 chunk +3 lines, -0 lines 0 comments Download
M Source/bindings/templates/interface.cpp View 1 4 chunks +25 lines, -7 lines 0 comments Download
M Source/bindings/templates/interface_base.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/templates/methods.cpp View 1 chunk +7 lines, -1 line 0 comments Download
M Tools/Scripts/webkitpy/bindings/main.py View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 8 (0 generated)
Nils Barth (inactive)
First [CheckSecurity] CL; breaking up b/c otherwise a bit big. https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/code_generator_v8.pm File Source/bindings/scripts/code_generator_v8.pm (right): https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/code_generator_v8.pm#newcode4117 ...
7 years, 1 month ago (2013-11-19 06:56:05 UTC) #1
haraken
LGTM https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py File Source/bindings/scripts/unstable/v8_interface.py (right): https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py#newcode106 Source/bindings/scripts/unstable/v8_interface.py:106: 'standard_methods': standard_methods => has_standard_method ? BTW, would you ...
7 years, 1 month ago (2013-11-19 07:05:06 UTC) #2
Nils Barth (inactive)
Revised: * restructured code some, * question about function names https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py File Source/bindings/scripts/unstable/v8_interface.py (right): https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py#newcode106 ...
7 years, 1 month ago (2013-11-19 08:10:09 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/nbarth@chromium.org/61523003/70001
7 years, 1 month ago (2013-11-19 08:10:37 UTC) #4
haraken
https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py File Source/bindings/scripts/unstable/v8_interface.py (right): https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py#newcode106 Source/bindings/scripts/unstable/v8_interface.py:106: 'standard_methods': On 2013/11/19 08:10:09, Nils Barth wrote: > On ...
7 years, 1 month ago (2013-11-19 08:52:47 UTC) #5
haraken
https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py File Source/bindings/scripts/unstable/v8_interface.py (right): https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unstable/v8_interface.py#newcode106 Source/bindings/scripts/unstable/v8_interface.py:106: 'standard_methods': > It's OK in this CL, but the ...
7 years, 1 month ago (2013-11-19 08:58:05 UTC) #6
commit-bot: I haz the power
Change committed as 162286
7 years, 1 month ago (2013-11-19 09:48:59 UTC) #7
Nils Barth (inactive)
7 years, 1 month ago (2013-11-20 06:36:18 UTC) #8
Message was sent while issue was closed.
(Followup notes/replies.)

https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unsta...
File Source/bindings/scripts/unstable/v8_interface.py (right):

https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unsta...
Source/bindings/scripts/unstable/v8_interface.py:106: 'standard_methods':
On 2013/11/19 08:52:47, haraken wrote:
> > (custom signature etc.)
> 
> What is 'etc'? I want to understand what makes it harder to unify these
> configurations.

The full check is in v8_methods.py:
'do_not_check_signature': not(this_custom_signature or is_static or
    v8_utilities.has_extended_attribute(method,
        ['DoNotCheckSignature', 'NotEnumerable', 'ReadOnly',
         'RuntimeEnabled', 'Unforgeable'])),

There are various reasons for installation different places;
some of these are:
If [RuntimeEnabled] we need to check the runtime enabled function before
installing the attributes,
if [PerContextEnabled] we need to check the per context enabled function.

https://codereview.chromium.org/61523003/diff/1/Source/bindings/scripts/unsta...
Source/bindings/scripts/unstable/v8_interface.py:106: 'standard_methods':
On 2013/11/19 08:58:05, haraken wrote:
> Supporting indexed/named properties will also add more complexity to the
> configuration code, so we might want to clean up the configuration code at
this
> point.

Got it; let's do it then!

Powered by Google App Engine
This is Rietveld 408576698