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

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

Issue 1405963015: Return the real error during custom element created failure (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 /// ** Internal Use Only ** 398 /// ** Internal Use Only **
399 @Deprecated("Internal Use Only") 399 @Deprecated("Internal Use Only")
400 class DartHtmlDomObject { 400 class DartHtmlDomObject {
401 401
402 /// The underlying JS DOM object. 402 /// The underlying JS DOM object.
403 @Deprecated("Internal Use Only") 403 @Deprecated("Internal Use Only")
404 js.JsObject blink_jsObject; 404 js.JsObject blink_jsObject;
405 405
406 } 406 }
407 407
408 /// Upgrade a Dart HtmlElement to the user's Dart custom element class.
409 _upgradeHtmlElement(dartInstance) {
410 // Only try upgrading HtmlElement (Dart class) if there is a failure then
411 // don't try it again - one failure is enough.
412 if (dartInstance.runtimeType == HtmlElement && !dartInstance.isBadUpgrade) {
413 // Must be exactly HtmlElement not something derived from it.
414
415 var customElementClass = getCustomElementType(dartInstance);
416
417 // Custom Element to upgrade.
418 if (customElementClass != null) {
419 var jsObject = dartInstance.blink_jsObject;
420 try {
421 dartInstance = _blink.Blink_Utils.constructElement(customElementClass, j sObject);
422 } catch (e) {
423 dartInstance._badUpgrade();
424 } finally {
425 dartInstance.blink_jsObject = jsObject;
426 js.setDartHtmlWrapperFor(jsObject, dartInstance);
427 }
428 }
429 }
430
431 return dartInstance;
432 }
433
434 @Deprecated("Internal Use Only") 408 @Deprecated("Internal Use Only")
435 class DebugAssertException implements Exception { 409 class DebugAssertException implements Exception {
436 String message; 410 String message;
437 DebugAssertException(this.message); 411 DebugAssertException(this.message);
438 } 412 }
439 413
440 @Deprecated("Internal Use Only") 414 @Deprecated("Internal Use Only")
441 debug_or_assert(message, expression) { 415 debug_or_assert(message, expression) {
442 if (!expression) { 416 if (!expression) {
443 throw new DebugAssertException("$message"); 417 throw new DebugAssertException("$message");
(...skipping 29 matching lines...) Expand all
473 } 447 }
474 448
475 /** 449 /**
476 * Upgrade the JS HTMLElement to the Dart class. Used by Dart's Polymer. 450 * Upgrade the JS HTMLElement to the Dart class. Used by Dart's Polymer.
477 */ 451 */
478 _createCustomUpgrader(Type customElementClass, $this) { 452 _createCustomUpgrader(Type customElementClass, $this) {
479 var dartClass; 453 var dartClass;
480 try { 454 try {
481 dartClass = _blink.Blink_Utils.constructElement(customElementClass, $this); 455 dartClass = _blink.Blink_Utils.constructElement(customElementClass, $this);
482 } catch (e) { 456 } catch (e) {
483 dartClass._badUpgrade(); 457 // Did the dartClass get allocated but the created failed? Otherwise, other
458 // components inside of this failed somewhere (could be JS custom element).
459 if (dartClass != null) {
460 // Yes, mark as didn't upgrade.
461 dartClass._badUpgrade();
462 }
484 throw e; 463 throw e;
485 } finally { 464 } finally {
486 // Need to remember the Dart class that was created for this custom so 465 // Need to remember the Dart class that was created for this custom so
487 // return it and setup the blink_jsObject to the $this that we'll be working 466 // return it and setup the blink_jsObject to the $this that we'll be working
488 // with as we talk to blink. 467 // with as we talk to blink.
489 js.setDartHtmlWrapperFor($this, dartClass); 468 js.setDartHtmlWrapperFor($this, dartClass);
490 } 469 }
491 470
492 return dartClass; 471 return dartClass;
493 } 472 }
494 473
495 $else 474 $else
496 class DartHtmlDomObject extends NativeFieldWrapperClass2 {} 475 class DartHtmlDomObject extends NativeFieldWrapperClass2 {}
497 476
498 _createCustomUpgrader(Type customElementClass, $this) => $this; 477 _createCustomUpgrader(Type customElementClass, $this) => $this;
499 478
500 $endif 479 $endif
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698