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

Side by Side Diff: tools/dom/templates/html/dartium/html_dartium.darttemplate

Issue 1583773003: Support JS$ prefix for dart and fix bug where _operator_getter and the [] operator were used incons… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: remove tests to put with matching dart2js tests Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // DO NOT EDIT 5 // DO NOT EDIT
6 // Auto-generated dart:html library. 6 // Auto-generated dart:html library.
7 7
8 /** 8 /**
9 * HTML elements and other resources for web-based applications that need to 9 * HTML elements and other resources for web-based applications that need to
10 * interact with the browser and the DOM (Document Object Model). 10 * interact with the browser and the DOM (Document Object Model).
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 return _Utils.spawnDomUri(uri.toString()); 151 return _Utils.spawnDomUri(uri.toString());
152 } 152 }
153 // FIXME: Can we make this private? 153 // FIXME: Can we make this private?
154 @Deprecated("Internal Use Only") 154 @Deprecated("Internal Use Only")
155 final htmlBlinkMap = { 155 final htmlBlinkMap = {
156 '_HistoryCrossFrame': () => _HistoryCrossFrame, 156 '_HistoryCrossFrame': () => _HistoryCrossFrame,
157 '_LocationCrossFrame': () => _LocationCrossFrame, 157 '_LocationCrossFrame': () => _LocationCrossFrame,
158 '_DOMWindowCrossFrame': () => _DOMWindowCrossFrame, 158 '_DOMWindowCrossFrame': () => _DOMWindowCrossFrame,
159 // FIXME: Move these to better locations. 159 // FIXME: Move these to better locations.
160 'DateTime': () => DateTime, 160 'DateTime': () => DateTime,
161 'JsObject': () => js.JsObjectImpl, 161 'JsObject': () => js.JsObject,
162 'JsFunction': () => js.JsFunctionImpl, 162 'JsFunction': () => js.JsFunction,
163 'JsArray': () => js.JsArrayImpl, 163 'JsArray': () => js.JsArray,
164 $!TYPE_MAP 164 $!TYPE_MAP
165 }; 165 };
166 166
167 // TODO(leafp): We may want to move this elsewhere if html becomes 167 // TODO(leafp): We may want to move this elsewhere if html becomes
168 // a package to avoid dartium depending on pkg:html. 168 // a package to avoid dartium depending on pkg:html.
169 Type _getType(String key) { 169 Type _getType(String key) {
170 var result; 170 var result;
171 171
172 // TODO(vsm): Add Cross Frame and JS types here as well. 172 // TODO(vsm): Add Cross Frame and JS types here as well.
173 173
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 // Return the tag name or is attribute of the custom element or data binding. 366 // Return the tag name or is attribute of the custom element or data binding.
367 String _getCustomElementName(element) { 367 String _getCustomElementName(element) {
368 var jsObject; 368 var jsObject;
369 var tag = ""; 369 var tag = "";
370 var runtimeType = element.runtimeType; 370 var runtimeType = element.runtimeType;
371 if (runtimeType == HtmlElement) { 371 if (runtimeType == HtmlElement) {
372 tag = element.localName; 372 tag = element.localName;
373 } else if (runtimeType == TemplateElement) { 373 } else if (runtimeType == TemplateElement) {
374 // Data binding with a Dart class. 374 // Data binding with a Dart class.
375 tag = element.attributes['is']; 375 tag = element.attributes['is'];
376 } else if (runtimeType == js.JsObjectImpl) { 376 } else if (runtimeType == js.JsObject) {
377 // It's a Polymer core element (written in JS). 377 // It's a Polymer core element (written in JS).
378 // Make sure it's an element anything else we can ignore. 378 // Make sure it's an element anything else we can ignore.
379 if (element.hasProperty('nodeType') && element['nodeType'] == 1) { 379 if (element.hasProperty('nodeType') && element['nodeType'] == 1) {
380 if (js.JsNative.callMethod(element, 'hasAttribute', ['is'])) { 380 if (js.JsNative.callMethod(element, 'hasAttribute', ['is'])) {
381 // It's data binding use the is attribute. 381 // It's data binding use the is attribute.
382 tag = js.JsNative.callMethod(element, 'getAttribute', ['is']); 382 tag = js.JsNative.callMethod(element, 'getAttribute', ['is']);
383 } else { 383 } else {
384 // It's a custom element we want the local name. 384 // It's a custom element we want the local name.
385 tag = element['localName']; 385 tag = element['localName'];
386 } 386 }
387 } 387 }
388 } else { 388 } else {
389 throw new UnsupportedError('Element is incorrect type. Got ${runtimeType}, e xpected HtmlElement/HtmlTemplate/JsObjectImpl.'); 389 throw new UnsupportedError('Element is incorrect type. Got ${runtimeType}, e xpected HtmlElement/HtmlTemplate/JsObject.');
390 } 390 }
391 391
392 return tag; 392 return tag;
393 } 393 }
394 394
395 /// An abstract class for all DOM objects we wrap in dart:html and related 395 /// An abstract class for all DOM objects we wrap in dart:html and related
396 /// libraries. 396 /// libraries.
397 ///
398 /// ** Internal Use Only **
399 @Deprecated("Internal Use Only") 397 @Deprecated("Internal Use Only")
400 class DartHtmlDomObject { 398 class DartHtmlDomObject extends js.JSObject {
401 399 DartHtmlDomObject() : super.internal();
402 /// The underlying JS DOM object.
403 @Deprecated("Internal Use Only")
404 js.JsObject blink_jsObject;
405
406 } 400 }
407 401
408 @Deprecated("Internal Use Only") 402 @Deprecated("Internal Use Only")
409 class DebugAssertException implements Exception { 403 class DebugAssertException implements Exception {
410 String message; 404 String message;
411 DebugAssertException(this.message); 405 DebugAssertException(this.message);
412 } 406 }
413 407
414 @Deprecated("Internal Use Only") 408 @Deprecated("Internal Use Only")
415 debug_or_assert(message, expression) { 409 debug_or_assert(message, expression) {
416 if (!expression) { 410 if (!expression) {
417 throw new DebugAssertException("$message"); 411 throw new DebugAssertException("$message");
418 } 412 }
419 } 413 }
420 414
421 // TODO(terry): Manage JS interop JsFunctions for each listener used for add/
422 // removeEventListener. These JsFunctions will leak look at
423 // fixing with weak-refs in C++. The key are the hashcodes of the
424 // user's this (this is needed for futures) and listener function.
425 Map<int, Map<int, js.JsFunction>> _knownListeners = {};
426
427 @Deprecated("Internal Use Only")
428 js.JsFunction wrap_event_listener(theObject, Function listener) {
429 var thisHashCode = theObject.hashCode;
430 var listenerHashCode = identityHashCode(listener);
431
432 _knownListeners.putIfAbsent(thisHashCode, () => new Map<int, js.JsFunction>()) ;
433 _knownListeners[thisHashCode].putIfAbsent(listenerHashCode, () =>
434 new js.JsFunction.withThis((theObject, event) => listener(wrap_jso(event)))) ;
435
436 return _knownListeners[thisHashCode][listenerHashCode];
437 }
438
439 @Deprecated("Internal Use Only") 415 @Deprecated("Internal Use Only")
440 Map<String, dynamic> convertNativeObjectToDartMap(js.JsObject jsObject) { 416 Map<String, dynamic> convertNativeObjectToDartMap(js.JsObject jsObject) {
441 var result = new Map(); 417 var result = new Map();
442 var keys = js.JsNative.callMethod(js.JsNative.getProperty(js.context, 'Object' ), 'keys', [jsObject]); 418 var keys = js.JsNative.callMethod(js.JsNative.getProperty(js.context, 'Object' ), 'keys', [jsObject]);
443 for (var key in keys) { 419 for (var key in keys) {
444 result[key] = wrap_jso(js.JsNative.getProperty(jsObject, key)); 420 result[key] = wrap_jso(js.JsNative.getProperty(jsObject, key));
445 } 421 }
446 return result; 422 return result;
447 } 423 }
448 424
(...skipping 21 matching lines...) Expand all
470 446
471 return dartClass; 447 return dartClass;
472 } 448 }
473 449
474 $else 450 $else
475 class DartHtmlDomObject extends NativeFieldWrapperClass2 {} 451 class DartHtmlDomObject extends NativeFieldWrapperClass2 {}
476 452
477 _createCustomUpgrader(Type customElementClass, $this) => $this; 453 _createCustomUpgrader(Type customElementClass, $this) => $this;
478 454
479 $endif 455 $endif
OLDNEW
« no previous file with comments | « tools/dom/src/dartium_CustomElementSupport.dart ('k') | tools/dom/templates/html/impl/impl_DOMException.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698