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

Issue 10456006: Wrapperless dart:html for Dartium. (Closed)

Created:
8 years, 6 months ago by podivilov
Modified:
8 years, 6 months ago
Reviewers:
vsm, Anton Muhin, sra1
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+95 lines, -602 lines) Patch
M lib/dom/scripts/dartdomgenerator.py View 1 chunk +3 lines, -1 line 0 comments Download
M lib/dom/scripts/systemhtml.py View 3 chunks +7 lines, -380 lines 1 comment Download
M lib/dom/scripts/systemnative.py View 5 chunks +59 lines, -123 lines 0 comments Download
M lib/dom/src/native_DOMImplementation.dart View 3 chunks +6 lines, -6 lines 0 comments Download
M lib/dom/src/native_DOMPublic.dart View 1 chunk +1 line, -1 line 0 comments Download
M lib/dom/src/native_DOMWrapperBase.dart View 1 chunk +1 line, -3 lines 0 comments Download
M lib/dom/templates/dom/native/dart_implementation.darttemplate View 1 chunk +2 lines, -4 lines 0 comments Download
M lib/dom/templates/html/dartium/factoryprovider.darttemplate View 1 chunk +2 lines, -2 lines 0 comments Download
M lib/dom/templates/html/dartium/factoryprovider_XMLHttpRequest.darttemplate View 1 chunk +2 lines, -1 line 0 comments Download
M lib/dom/templates/html/dartium/html_dartium.darttemplate View 1 chunk +7 lines, -53 lines 0 comments Download
M lib/dom/templates/html/dartium/impl_EventTarget.darttemplate View 1 chunk +2 lines, -8 lines 2 comments Download
D lib/dom/templates/html/dartium/impl_IFrameElement.darttemplate View 1 chunk +0 lines, -10 lines 0 comments Download
M lib/dom/templates/html/dartium/impl_Window.darttemplate View 2 chunks +0 lines, -4 lines 0 comments Download
M lib/dom/templates/html/impl/impl_Document.darttemplate View 1 chunk +1 line, -2 lines 0 comments Download
M lib/html/src/_Testing.dart View 1 chunk +2 lines, -4 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
podivilov
8 years, 6 months ago (2012-05-28 17:51:31 UTC) #1
Anton Muhin
Another unreviewable CL, but that's how one learns to trust another :) Jokes aside, awesome ...
8 years, 6 months ago (2012-05-30 00:18:47 UTC) #2
podivilov
Thanks! https://chromiumcodereview.appspot.com/10456006/diff/1/lib/dom/templates/html/dartium/impl_EventTarget.darttemplate File lib/dom/templates/html/dartium/impl_EventTarget.darttemplate (right): https://chromiumcodereview.appspot.com/10456006/diff/1/lib/dom/templates/html/dartium/impl_EventTarget.darttemplate#newcode107 lib/dom/templates/html/dartium/impl_EventTarget.darttemplate:107: /* On 2012/05/30 00:18:47, antonmuhin wrote: > wow, ...
8 years, 6 months ago (2012-05-30 16:02:55 UTC) #3
vsm
https://chromiumcodereview.appspot.com/10456006/diff/1/lib/dom/scripts/systemhtml.py File lib/dom/scripts/systemhtml.py (right): https://chromiumcodereview.appspot.com/10456006/diff/1/lib/dom/scripts/systemhtml.py#newcode818 lib/dom/scripts/systemhtml.py:818: INTERFACE=typename, Pavel, this change is breaking html_frog. We're getting ...
8 years, 6 months ago (2012-05-31 05:22:20 UTC) #4
podivilov
Old version: _AnchorElementImpl _e = _document.$dom_createElement("a"); New version: AnchorElement _e = _document.$dom_createElement("a"); Old version doesn't ...
8 years, 6 months ago (2012-05-31 16:07:11 UTC) #5
sra1
On 2012/05/31 16:07:11, podivilov wrote: > Old version: > _AnchorElementImpl _e = _document.$dom_createElement("a"); > > ...
8 years, 6 months ago (2012-05-31 18:17:17 UTC) #6
sra1
8 years, 6 months ago (2012-05-31 21:19:56 UTC) #7
On 2012/05/31 18:17:17, sra1 wrote:
> On 2012/05/31 16:07:11, podivilov wrote:
> > Old version:
> > _AnchorElementImpl _e = _document.$dom_createElement("a");
> > 
> > New version:
> > AnchorElement _e = _document.$dom_createElement("a");
> > 
> > Old version doesn't work in Dartium, because implementation classes are
named
> > after idl interfaces: _ElementImpl, _HTMLElementImpl, _HTMLAnchorElement
etc.
> So
> > there is no class named _AnchorElementImpl.
> > 
> > New version doesn't work in frog, because _DocumentImpl.$dom_createElement
is
> > declared to return narrowed type _ElementImpl which is unrelated to
> > AnchorElement interface.
> > 
> > There are several ways to fix that:
> > 1) Generate another version of _Elements.dart for Dartium
> > 2) Generate "var _e = _document.$dom_createElement("a");" for both systems
> > 3) Use interfaces as return types in frog implementations.
> > ...
> > 
> > Which one is better?
> 
> Can we generate the old version for frog and the new version for Dartium?
> We generate different factory constructors for frog vs dartium for other
> classes.
> The VM can use run-time types so I'm not so worried about the type annotation
> there.

I will fix this by generating two files.

Powered by Google App Engine
This is Rietveld 408576698