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

Issue 531183003: bindings: Retires manual dispatching in createV8{HTML,SVG}Wrapper, etc. (Closed)

Created:
6 years, 3 months ago by Yuki
Modified:
6 years, 3 months ago
Reviewers:
haraken
CC:
blink-reviews, tzik, eae+blinkwatch, fs, apavlov+blink_chromium.org, kouhei+svg_chromium.org, rwlbuis, krit, arv+blink, blink-reviews-css, blink-reviews-html_chromium.org, abarth-chromium, blink-reviews-dom_chromium.org, dglazkov+blink, blink-reviews-bindings_chromium.org, pdr., rune+blink, sof, nhiroki, Raymond Toy, gyuyoung.kim_webkit.org, darktears, ed+blinkwatch_opera.com, f(malita), Inactive, Stephen Chennney, kinuko+fileapi
Project:
blink
Visibility:
Public.

Description

bindings: Retires manual dispatching in createV8{HTML,SVG}Wrapper, etc. Retires manual dispatching of 'wrap' in createV8{HTML,SVG}Wrapper in V8{HTML,SVG}ElementWrapperFactory.cpp and its dependents. This is part of the V8 binding refactoring (Issue 235436) and also this CL fixes Issue 408160 by removing wrong downcasts by toHTMLUnknownElement(). There are much more code to be removed as part of the refactoring, but let me remove the code in this CL first. Will continue to remove more unnecessary code. BUG=408160, 235436 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181440

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Fixed bindings/modules/v8/custom/custom.gni #

Total comments: 18

Patch Set 4 : Synced. #

Patch Set 5 : Addressed review comments. #

Patch Set 6 : Fixed unittest failures. #

Patch Set 7 : Added FIXME comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -1825 lines) Patch
M Source/bindings/core/v8/CustomElementWrapper.h View 1 2 3 4 1 chunk +0 lines, -56 lines 0 comments Download
M Source/bindings/core/v8/CustomElementWrapper.cpp View 1 2 3 4 1 chunk +0 lines, -121 lines 0 comments Download
M Source/bindings/core/v8/custom/V8EventCustom.cpp View 2 chunks +0 lines, -22 lines 0 comments Download
D Source/bindings/core/v8/custom/V8HTMLCollectionCustom.cpp View 1 chunk +0 lines, -60 lines 0 comments Download
D Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp View 1 chunk +0 lines, -44 lines 0 comments Download
D Source/bindings/core/v8/custom/V8ImageDataCustom.cpp View 1 chunk +0 lines, -55 lines 0 comments Download
M Source/bindings/core/v8/custom/V8MessageEventCustom.cpp View 1 chunk +0 lines, -31 lines 0 comments Download
D Source/bindings/core/v8/custom/V8NodeCustom.cpp View 1 2 3 1 chunk +0 lines, -92 lines 0 comments Download
D Source/bindings/core/v8/custom/V8PerformanceEntryCustom.cpp View 1 chunk +0 lines, -60 lines 0 comments Download
D Source/bindings/core/v8/custom/V8SVGElementCustom.cpp View 1 chunk +0 lines, -44 lines 0 comments Download
D Source/bindings/core/v8/custom/V8SVGPathSegCustom.cpp View 1 chunk +0 lines, -105 lines 0 comments Download
D Source/bindings/core/v8/custom/V8StyleSheetCustom.cpp View 1 chunk +0 lines, -48 lines 0 comments Download
D Source/bindings/core/v8/custom/V8TextCustom.cpp View 1 chunk +0 lines, -48 lines 0 comments Download
M Source/bindings/core/v8/custom/custom.gypi View 1 2 3 2 chunks +0 lines, -9 lines 0 comments Download
M Source/bindings/core/v8/v8.gypi View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
D Source/bindings/modules/v8/custom/V8AudioNodeCustom.cpp View 1 chunk +0 lines, -116 lines 0 comments Download
D Source/bindings/modules/v8/custom/V8EntryCustom.cpp View 1 chunk +0 lines, -50 lines 0 comments Download
D Source/bindings/modules/v8/custom/V8EntrySyncCustom.cpp View 1 chunk +0 lines, -50 lines 0 comments Download
M Source/bindings/modules/v8/custom/custom.gni View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M Source/bindings/modules/v8/custom/custom.gypi View 1 chunk +0 lines, -3 lines 0 comments Download
M Source/bindings/templates/interface.h View 1 2 3 2 chunks +8 lines, -15 lines 0 comments Download
M Source/bindings/templates/interface.cpp View 1 2 3 2 chunks +3 lines, -7 lines 0 comments Download
M Source/bindings/tests/results/V8SVGTestInterface.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8SVGTestInterface.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestException.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestException.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterface2.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterface2.cpp View 1 2 3 1 chunk +0 lines, -29 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterface3.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterface3.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceCheckSecurity.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor2.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor2.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor3.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor3.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor4.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceConstructor4.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceCustomConstructor.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceCustomConstructor.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceDocument.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceDocument.cpp View 1 2 3 1 chunk +0 lines, -40 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEmpty.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEmpty.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEventConstructor.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEventConstructor.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEventTarget.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceGarbageCollected.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceGarbageCollected.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNamedConstructor.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNamedConstructor.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNamedConstructor2.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNamedConstructor2.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNode.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceNode.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceWillBeGarbageCollected.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfaceWillBeGarbageCollected.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestNode.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestNode.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestObject.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestObject.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestSpecialOperations.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestSpecialOperations.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestSpecialOperationsNotEnumerable.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestSpecialOperationsNotEnumerable.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/bindings/tests/results/V8TestTypedefs.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/V8TestTypedefs.cpp View 1 2 3 1 chunk +0 lines, -25 lines 0 comments Download
M Source/build/scripts/templates/ElementWrapperFactory.cpp.tmpl View 1 2 3 4 3 chunks +1 line, -49 lines 0 comments Download
M Source/build/scripts/templates/ElementWrapperFactory.h.tmpl View 1 chunk +1 line, -13 lines 0 comments Download
M Source/core/css/StyleSheet.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/dom/Element.h View 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/dom/Element.cpp View 1 2 chunks +37 lines, -0 lines 0 comments Download
M Source/core/dom/Node.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/dom/Text.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/events/Event.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/events/MessageEvent.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/events/MessageEvent.idl View 1 2 3 4 5 6 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/html/HTMLCollection.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/html/HTMLElement.h View 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/html/HTMLElement.cpp View 1 chunk +0 lines, -5 lines 0 comments Download
M Source/core/html/HTMLElement.idl View 1 chunk +1 line, -3 lines 0 comments Download
M Source/core/html/ImageData.idl View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/svg/SVGElement.h View 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/svg/SVGElement.cpp View 1 chunk +0 lines, -5 lines 0 comments Download
M Source/core/svg/SVGElement.idl View 1 chunk +1 line, -3 lines 0 comments Download
M Source/core/svg/SVGPathSeg.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/timing/PerformanceEntry.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/modules/filesystem/Entry.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/modules/filesystem/EntrySync.idl View 1 chunk +0 lines, -1 line 0 comments Download
M Source/modules/webaudio/AudioNode.idl View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 12 (2 generated)
Yuki
Could you review this CL?
6 years, 3 months ago (2014-09-03 14:08:47 UTC) #2
haraken
This is a fantastic CL!! This is a much more secure way to dispatch wrap ...
6 years, 3 months ago (2014-09-03 14:58:52 UTC) #3
haraken
https://codereview.chromium.org/531183003/diff/40001/Source/bindings/core/v8/custom/V8ImageDataCustom.cpp File Source/bindings/core/v8/custom/V8ImageDataCustom.cpp (left): https://codereview.chromium.org/531183003/diff/40001/Source/bindings/core/v8/custom/V8ImageDataCustom.cpp#oldcode49 Source/bindings/core/v8/custom/V8ImageDataCustom.cpp:49: wrapper->ForceSet(v8AtomicString(isolate, "data"), pixelArray, v8::ReadOnly); It looks wrong to remove ...
6 years, 3 months ago (2014-09-04 02:17:46 UTC) #4
Yuki
I'll investigate test failures, please hold on. I'll ping you once I fix it. https://codereview.chromium.org/531183003/diff/40001/Source/bindings/core/v8/custom/V8ImageDataCustom.cpp ...
6 years, 3 months ago (2014-09-04 04:47:29 UTC) #5
haraken
https://codereview.chromium.org/531183003/diff/40001/Source/build/scripts/templates/ElementWrapperFactory.cpp.tmpl File Source/build/scripts/templates/ElementWrapperFactory.cpp.tmpl (left): https://codereview.chromium.org/531183003/diff/40001/Source/build/scripts/templates/ElementWrapperFactory.cpp.tmpl#oldcode37 Source/build/scripts/templates/ElementWrapperFactory.cpp.tmpl:37: if (!RuntimeEnabledFeatures::{{list[0].runtimeEnabled}}Enabled()) On 2014/09/04 04:47:29, Yuki wrote: > On ...
6 years, 3 months ago (2014-09-04 04:54:53 UTC) #6
Yuki
Found the cause of unittest failures. We still need two [Custom=Wrap] for MessageEvent and ImageData, ...
6 years, 3 months ago (2014-09-04 14:10:15 UTC) #7
haraken
LGTM. > I'm going to fix this point in a separate CL. I leave Custom=Wrap ...
6 years, 3 months ago (2014-09-04 15:51:29 UTC) #8
haraken
Also you might want to start counting # of lines you removed (except for bindings/tests/) ...
6 years, 3 months ago (2014-09-04 15:53:10 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yukishiino@chromium.org/531183003/120001
6 years, 3 months ago (2014-09-05 04:37:54 UTC) #11
commit-bot: I haz the power
6 years, 3 months ago (2014-09-05 05:49:07 UTC) #12
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as 181440

Powered by Google App Engine
This is Rietveld 408576698