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

Issue 256263002: Remove [PerWorldBindings] IDL attribute from non wrapper type attributes (Closed)

Created:
6 years, 7 months ago by Inactive
Modified:
6 years, 7 months ago
CC:
blink-reviews, webcomponents-bugzilla_chromium.org, gasubic, eae+blinkwatch, fs, eric.carlson_apple.com, nessy, adamk+blink_chromium.org, rwlbuis, chrishtr, arv+blink, abarth-chromium, marja+watch_chromium.org, dglazkov+blink, ojan, sof, philipj_slow, feature-media-reviews_chromium.org, Nate Chapin, vcarbune.chromium, gavinp+prerender_chromium.org, jsbell+bindings_chromium.org, kouhei+bindings_chromium.org, watchdog-blink-watchlist_google.com
Visibility:
Public.

Description

Remove [PerWorldBindings] IDL attribute from non wrapper type attributes Remove [PerWorldBindings] IDL attribute from non wrapper type attributes. The 2 generated code paths are identical for non wrapper types (e.g. DOMString) so there should be no performance benefit to having a separate code path for the main world. This reduces the release binary size by ~18Kb. I did not see any regression on the Bindings performance tests locally. This CL does not change attributes of non-wrapper type that use [LogActivity=xxx] extended attribute because this would cause a behavior change. This is sad though because those account for a much greater binary size (~100 Kb in release). This CL also adds an assertion to the bindings generator so that folks stop doing this unintentionally. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=172986

Patch Set 1 #

Patch Set 2 : Rebaseline bindings tests #

Patch Set 3 : Do not change LogActivity attributes #

Total comments: 2

Patch Set 4 : Remove from commented attributes as well #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -183 lines) Patch
M Source/bindings/scripts/v8_attributes.py View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/bindings/tests/idls/TestInterface.idl View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M Source/bindings/tests/idls/TestObject.idl View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterface.cpp View 1 2 3 4 2 chunks +0 lines, -59 lines 0 comments Download
M Source/bindings/tests/results/V8TestObject.cpp View 1 2 3 4 2 chunks +0 lines, -90 lines 0 comments Download
M Source/core/dom/Attr.idl View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/dom/Element.idl View 1 2 3 3 chunks +20 lines, -20 lines 0 comments Download
M Source/core/dom/Node.idl View 2 chunks +7 lines, -7 lines 0 comments Download
M Source/core/dom/ParentNode.idl View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 25 (0 generated)
Inactive
1. Let me know if I am missing something obvious as I know people have ...
6 years, 7 months ago (2014-04-29 14:56:03 UTC) #1
haraken
Thanks for doing this! We should really remove [PerWorldBindings]s that don't affect performance. It's just ...
6 years, 7 months ago (2014-04-29 15:49:22 UTC) #2
Inactive
On 2014/04/29 15:49:22, haraken wrote: > Thanks for doing this! We should really remove [PerWorldBindings]s ...
6 years, 7 months ago (2014-04-29 15:52:34 UTC) #3
Inactive
Binary size before: -rwxrwxr-x 1 chris chris 86780552 Apr 29 11:56 out/Release/content_shell After: -rwxrwxr-x 1 ...
6 years, 7 months ago (2014-04-29 16:01:52 UTC) #4
haraken
On 2014/04/29 16:01:52, Chris Dumez wrote: > Binary size before: > -rwxrwxr-x 1 chris chris ...
6 years, 7 months ago (2014-04-29 16:04:55 UTC) #5
Inactive
Here is the generated V8Element.cpp before: http://pastebin.com/4UqShkRr After: http://pastebin.com/Vzrzh471 The diff: http://pastebin.com/CNHtdrjn The following attributes ...
6 years, 7 months ago (2014-04-29 16:05:50 UTC) #6
haraken
On 2014/04/29 16:05:50, Chris Dumez wrote: > Here is the generated V8Element.cpp before: > http://pastebin.com/4UqShkRr ...
6 years, 7 months ago (2014-04-29 16:18:34 UTC) #7
blink-reviews
This is a large change in behavior with respect to the DOM activity logging for ...
6 years, 7 months ago (2014-04-29 16:32:39 UTC) #8
Inactive
As I said, I am not familiar with [LogActivity] but I had a feeling it ...
6 years, 7 months ago (2014-04-29 16:56:38 UTC) #9
blink-reviews
What are those attributes that would be affected, then? The PerWorldBindings were introduced to enable ...
6 years, 7 months ago (2014-04-29 17:04:45 UTC) #10
Inactive
On 2014/04/29 17:04:45, blink-reviews_chromium.org wrote: > What are those attributes that would be affected, then? ...
6 years, 7 months ago (2014-04-29 17:07:22 UTC) #11
haraken
Thanks, I understand that we cannot simply remove [PerWorldBindings] from DOM attributes/methods that have [LogActivity]. ...
6 years, 7 months ago (2014-04-30 00:47:14 UTC) #12
Nils Barth (inactive)
Hi Chris, Thanks for doing this -- we've been wanting to reduce or remove [PerWorldBindings]! ...
6 years, 7 months ago (2014-04-30 00:58:12 UTC) #13
Nils Barth (inactive)
(Ok, sounds like we're agreed, per haraken's & mine notes.)
6 years, 7 months ago (2014-04-30 00:59:01 UTC) #14
Inactive
I updated the CL accordingly. It is sad though because the [LogActivity] attributes account for ...
6 years, 7 months ago (2014-04-30 01:29:10 UTC) #15
haraken
On 2014/04/30 01:29:10, Chris Dumez wrote: > I updated the CL accordingly. It is sad ...
6 years, 7 months ago (2014-04-30 01:53:45 UTC) #16
marja
lgtm https://codereview.chromium.org/256263002/diff/40001/Source/core/dom/Element.idl File Source/core/dom/Element.idl (right): https://codereview.chromium.org/256263002/diff/40001/Source/core/dom/Element.idl#newcode75 Source/core/dom/Element.idl:75: // [PerWorldBindings] attribute (Dictionary or long) scrollLeft; Remove ...
6 years, 7 months ago (2014-04-30 11:11:08 UTC) #17
Inactive
https://codereview.chromium.org/256263002/diff/40001/Source/core/dom/Element.idl File Source/core/dom/Element.idl (right): https://codereview.chromium.org/256263002/diff/40001/Source/core/dom/Element.idl#newcode75 Source/core/dom/Element.idl:75: // [PerWorldBindings] attribute (Dictionary or long) scrollLeft; On 2014/04/30 ...
6 years, 7 months ago (2014-04-30 12:19:03 UTC) #18
Inactive
The CQ bit was checked by ch.dumez@samsung.com
6 years, 7 months ago (2014-04-30 12:19:31 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ch.dumez@samsung.com/256263002/60001
6 years, 7 months ago (2014-04-30 12:19:37 UTC) #20
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-04-30 12:19:44 UTC) #21
commit-bot: I haz the power
Failed to apply patch for Source/bindings/tests/idls/TestInterface.idl: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 7 months ago (2014-04-30 12:19:44 UTC) #22
Inactive
The CQ bit was checked by ch.dumez@samsung.com
6 years, 7 months ago (2014-04-30 13:04:24 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ch.dumez@samsung.com/256263002/80001
6 years, 7 months ago (2014-04-30 13:04:40 UTC) #24
commit-bot: I haz the power
6 years, 7 months ago (2014-04-30 15:04:34 UTC) #25
Message was sent while issue was closed.
Change committed as 172986

Powered by Google App Engine
This is Rietveld 408576698