From 3cbacefbe3567688b17c7cc4cd10a307847f5601 Mon Sep 17 00:00:00 2001 From: Terry Lucas Date: Thu, 8 Jun 2017 20:44:23 -0700 Subject: [PATCH] Fix HTMLCanvasElement.getContext it can return RenderingContext2 now which will be tree shaken without this annotation. R=alanknight@google.com,sigmund@google.com Review-Url: https://codereview.chromium.org/2932793002 . --- sdk/lib/html/dart2js/html_dart2js.dart | 14 +++++++------- tools/dom/scripts/dartmetadata.py | 4 ++-- .../html/dart2js/html_dart2js.darttemplate | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart index d0cb36a5678..c07f01bdccd 100644 --- a/sdk/lib/html/dart2js/html_dart2js.dart +++ b/sdk/lib/html/dart2js/html_dart2js.dart @@ -39,7 +39,7 @@ import 'dart:svg' show Matrix; import 'dart:svg' show SvgSvgElement; import 'dart:web_audio' as web_audio; import 'dart:web_gl' as gl; -import 'dart:web_gl' show RenderingContext; +import 'dart:web_gl' show RenderingContext, RenderingContext2; import 'dart:web_sql'; import 'dart:_isolate_helper' show IsolateNatives; import 'dart:_foreign_helper' show JS, JS_INTERCEPTOR_CONSTANT; @@ -2023,8 +2023,8 @@ class CanvasElement extends HtmlElement implements CanvasImageSource { @DomName('HTMLCanvasElement.getContext') @DocsEditable() - @Creates('CanvasRenderingContext2D|RenderingContext') - @Returns('CanvasRenderingContext2D|RenderingContext|Null') + @Creates('CanvasRenderingContext2D|RenderingContext|RenderingContext2') + @Returns('CanvasRenderingContext2D|RenderingContext|RenderingContext2|Null') Object getContext(String contextId, [Map attributes]) { if (attributes != null) { var attributes_1 = convertDartToNative_Dictionary(attributes); @@ -2036,14 +2036,14 @@ class CanvasElement extends HtmlElement implements CanvasImageSource { @JSName('getContext') @DomName('HTMLCanvasElement.getContext') @DocsEditable() - @Creates('CanvasRenderingContext2D|RenderingContext') - @Returns('CanvasRenderingContext2D|RenderingContext|Null') + @Creates('CanvasRenderingContext2D|RenderingContext|RenderingContext2') + @Returns('CanvasRenderingContext2D|RenderingContext|RenderingContext2|Null') Object _getContext_1(contextId, attributes) native; @JSName('getContext') @DomName('HTMLCanvasElement.getContext') @DocsEditable() - @Creates('CanvasRenderingContext2D|RenderingContext') - @Returns('CanvasRenderingContext2D|RenderingContext|Null') + @Creates('CanvasRenderingContext2D|RenderingContext|RenderingContext2') + @Returns('CanvasRenderingContext2D|RenderingContext|RenderingContext2|Null') Object _getContext_2(contextId) native; @DomName('HTMLCanvasElement.toBlob') diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py index 25f00ce031c..6e77214afa8 100644 --- a/tools/dom/scripts/dartmetadata.py +++ b/tools/dom/scripts/dartmetadata.py @@ -192,8 +192,8 @@ _dart2js_annotations = monitored.Dict('dartmetadata._dart2js_annotations', { ], 'HTMLCanvasElement.getContext': [ - "@Creates('CanvasRenderingContext2D|RenderingContext')", - "@Returns('CanvasRenderingContext2D|RenderingContext|Null')", + "@Creates('CanvasRenderingContext2D|RenderingContext|RenderingContext2')", + "@Returns('CanvasRenderingContext2D|RenderingContext|RenderingContext2|Null')", ], 'HTMLInputElement.valueAsDate': [ diff --git a/tools/dom/templates/html/dart2js/html_dart2js.darttemplate b/tools/dom/templates/html/dart2js/html_dart2js.darttemplate index cc2f4f928d2..cac23bf9d29 100644 --- a/tools/dom/templates/html/dart2js/html_dart2js.darttemplate +++ b/tools/dom/templates/html/dart2js/html_dart2js.darttemplate @@ -48,7 +48,7 @@ import 'dart:svg' show Matrix; import 'dart:svg' show SvgSvgElement; import 'dart:web_audio' as web_audio; import 'dart:web_gl' as gl; -import 'dart:web_gl' show RenderingContext; +import 'dart:web_gl' show RenderingContext,RenderingContext2; import 'dart:web_sql'; import 'dart:_js_helper' show convertDartClosureToJS, Creates, JavaScriptIndexingBehavior,