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

Issue 1884423002: IDL bindings: Avoid extended attributes leaking onto merged interface. (Closed)

Created:
4 years, 8 months ago by Matt Giuca
Modified:
4 years, 8 months ago
Reviewers:
haraken, bashi
CC:
chromium-reviews, blink-reviews, Dirk Pranke, blink-reviews-bindings_chromium.org, chrome-apps-syd-reviews_chromium.org, tkent, jsbell, tasak
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

IDL bindings: Avoid extended attributes leaking onto merged interface. Some extended attributes from dependency interface definitions are transferred onto the definition's attributes before being merged. However, the merged interfaces still retain the extended attributes from the definition that comes first alphabetically, which can result in extended attributes from one partial interface "leaking" onto all of the others. The transferred extended attributes are now deleted from the dependency interface so that they do not leak onto the merged interface. Fixes a bug where adding a new RuntimeEnabled condition in a partial interface can apply the condition to all members of the final interface. BUG=603782, 604292 Committed: https://crrev.com/4ea3a097a861c6b3ce5ef7ac9b3fd33c3ed92c43 Cr-Commit-Position: refs/heads/master@{#388409}

Patch Set 1 #

Patch Set 2 : Update documentation. #

Total comments: 4

Patch Set 3 : Rebase. #

Patch Set 4 : Avoid exception checking style. #

Patch Set 5 : Rebase. #

Patch Set 6 : Update test expectations for WorkerNavigator on stable. #

Total comments: 4

Patch Set 7 : Update license headers and revert layout tests changes (will remove those APIs instead). #

Total comments: 8

Patch Set 8 : Remove TestPartialInterface4.idl (which doesn't exist) from list. #

Messages

Total messages: 30 (12 generated)
Matt Giuca
See bug report for details. To see that the new tests catch this bug, revert ...
4 years, 8 months ago (2016-04-15 05:02:20 UTC) #2
bashi
I'm not familiar with partial interface handling. tasak-san, could you review this? https://codereview.chromium.org/1884423002/diff/20001/third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py File third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py ...
4 years, 8 months ago (2016-04-15 05:50:55 UTC) #5
Matt Giuca
https://codereview.chromium.org/1884423002/diff/20001/third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py File third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py (right): https://codereview.chromium.org/1884423002/diff/20001/third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py#newcode266 third_party/WebKit/Source/bindings/scripts/interface_dependency_resolver.py:266: value = dependency_interface.extended_attributes[key] On 2016/04/15 05:50:54, bashi1 wrote: > ...
4 years, 8 months ago (2016-04-15 06:21:43 UTC) #6
Matt Giuca
+tkent: Randomly chosen from API_OWNERS file. Can you comment on the changes to LayoutTests (as ...
4 years, 8 months ago (2016-04-18 06:17:30 UTC) #9
tkent
Does storage team have an agreement on this? If no users requested to expose them ...
4 years, 8 months ago (2016-04-18 07:22:50 UTC) #10
Matt Giuca
On 2016/04/18 07:22:50, tkent wrote: > Does storage team have an agreement on this? > ...
4 years, 8 months ago (2016-04-18 07:32:59 UTC) #11
jsbell
On 2016/04/18 07:32:59, Matt Giuca wrote: > On 2016/04/18 07:22:50, tkent wrote: > > Does ...
4 years, 8 months ago (2016-04-18 17:04:10 UTC) #12
jsbell
nits https://codereview.chromium.org/1884423002/diff/100001/third_party/WebKit/Source/bindings/tests/idls/modules/TestInterface2Partial.idl File third_party/WebKit/Source/bindings/tests/idls/modules/TestInterface2Partial.idl (right): https://codereview.chromium.org/1884423002/diff/100001/third_party/WebKit/Source/bindings/tests/idls/modules/TestInterface2Partial.idl#newcode2 third_party/WebKit/Source/bindings/tests/idls/modules/TestInterface2Partial.idl:2: * Copyright (C) 2016 Google Inc. All rights ...
4 years, 8 months ago (2016-04-18 17:08:42 UTC) #14
Matt Giuca
Thanks for the tips. I've created a separate CL to remove those APIs (https://codereview.chromium.org/1896043002) and ...
4 years, 8 months ago (2016-04-19 01:06:40 UTC) #15
bashi
(It seems that tasak@ is busy so let me try to review this) Bindings lgtm ...
4 years, 8 months ago (2016-04-19 03:52:51 UTC) #16
haraken
LGTM with bashi@'s comments addressed.
4 years, 8 months ago (2016-04-19 04:18:54 UTC) #17
Matt Giuca
https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py File third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py (right): https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py#newcode72 third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py:72: 'TestPartialInterface4.idl', On 2016/04/19 03:52:51, bashi1 wrote: > Not related ...
4 years, 8 months ago (2016-04-19 04:30:52 UTC) #18
bashi
https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py File third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py (right): https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py#newcode73 third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py:73: 'TestInterface2Partial.idl', On 2016/04/19 04:30:51, Matt Giuca wrote: > On ...
4 years, 8 months ago (2016-04-19 04:50:27 UTC) #20
Matt Giuca
Great, thanks. Now blocking on https://codereview.chromium.org/1896043002. https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py File third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py (right): https://codereview.chromium.org/1884423002/diff/120001/third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py#newcode72 third_party/WebKit/Tools/Scripts/webkitpy/bindings/main.py:72: 'TestPartialInterface4.idl', On 2016/04/19 ...
4 years, 8 months ago (2016-04-19 05:08:18 UTC) #21
Matt Giuca
Updated reviewer list (moved some reviewers to CC; tkent no longer required because the Storage ...
4 years, 8 months ago (2016-04-19 23:53:14 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1884423002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1884423002/140001
4 years, 8 months ago (2016-04-19 23:53:42 UTC) #26
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 8 months ago (2016-04-20 02:49:06 UTC) #28
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:20:14 UTC) #30
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/4ea3a097a861c6b3ce5ef7ac9b3fd33c3ed92c43
Cr-Commit-Position: refs/heads/master@{#388409}

Powered by Google App Engine
This is Rietveld 408576698