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

Side by Side Diff: sdk/lib/html/dart2js/html_dart2js.dart

Issue 16336022: Fixing a number of Dart2JS compiler warnings. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | sdk/lib/html/html_common/conversions.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /// The Dart HTML library. 1 /// The Dart HTML library.
2 library dart.dom.html; 2 library dart.dom.html;
3 3
4 import 'dart:async'; 4 import 'dart:async';
5 import 'dart:collection'; 5 import 'dart:collection';
6 import 'dart:_collection-dev' hide Symbol; 6 import 'dart:_collection-dev' hide Symbol;
7 import 'dart:html_common'; 7 import 'dart:html_common';
8 import 'dart:indexed_db'; 8 import 'dart:indexed_db';
9 import 'dart:isolate'; 9 import 'dart:isolate';
10 import 'dart:json' as json; 10 import 'dart:json' as json;
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 void clip([String winding]) native; 1123 void clip([String winding]) native;
1124 1124
1125 @DomName('CanvasRenderingContext2D.closePath') 1125 @DomName('CanvasRenderingContext2D.closePath')
1126 @DocsEditable 1126 @DocsEditable
1127 void closePath() native; 1127 void closePath() native;
1128 1128
1129 @DomName('CanvasRenderingContext2D.createImageData') 1129 @DomName('CanvasRenderingContext2D.createImageData')
1130 @DocsEditable 1130 @DocsEditable
1131 @Creates('ImageData|=Object') 1131 @Creates('ImageData|=Object')
1132 ImageData createImageData(num sw, num sh) { 1132 ImageData createImageData(num sw, num sh) {
1133 return _convertNativeToDart_ImageData(_createImageData_1(sw, sh)); 1133 return convertNativeToDart_ImageData(_createImageData_1(sw, sh));
1134 } 1134 }
1135 @JSName('createImageData') 1135 @JSName('createImageData')
1136 @DomName('CanvasRenderingContext2D.createImageData') 1136 @DomName('CanvasRenderingContext2D.createImageData')
1137 @DocsEditable 1137 @DocsEditable
1138 @Creates('ImageData|=Object') 1138 @Creates('ImageData|=Object')
1139 _createImageData_1(sw, sh) native; 1139 _createImageData_1(sw, sh) native;
1140 1140
1141 @DomName('CanvasRenderingContext2D.createImageData') 1141 @DomName('CanvasRenderingContext2D.createImageData')
1142 @DocsEditable 1142 @DocsEditable
1143 @Creates('ImageData|=Object') 1143 @Creates('ImageData|=Object')
1144 ImageData createImageDataFromImageData(ImageData imagedata) { 1144 ImageData createImageDataFromImageData(ImageData imagedata) {
1145 var imagedata_1 = _convertDartToNative_ImageData(imagedata); 1145 var imagedata_1 = convertDartToNative_ImageData(imagedata);
1146 return _convertNativeToDart_ImageData(_createImageDataFromImageData_1(imaged ata_1)); 1146 return convertNativeToDart_ImageData(_createImageDataFromImageData_1(imageda ta_1));
1147 } 1147 }
1148 @JSName('createImageData') 1148 @JSName('createImageData')
1149 @DomName('CanvasRenderingContext2D.createImageData') 1149 @DomName('CanvasRenderingContext2D.createImageData')
1150 @DocsEditable 1150 @DocsEditable
1151 @Creates('ImageData|=Object') 1151 @Creates('ImageData|=Object')
1152 _createImageDataFromImageData_1(imagedata) native; 1152 _createImageDataFromImageData_1(imagedata) native;
1153 1153
1154 @DomName('CanvasRenderingContext2D.createLinearGradient') 1154 @DomName('CanvasRenderingContext2D.createLinearGradient')
1155 @DocsEditable 1155 @DocsEditable
1156 CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) native; 1156 CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) native;
(...skipping 21 matching lines...) Expand all
1178 @DomName('CanvasRenderingContext2D.getContextAttributes') 1178 @DomName('CanvasRenderingContext2D.getContextAttributes')
1179 @DocsEditable 1179 @DocsEditable
1180 // http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL 1180 // http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL
1181 @Experimental 1181 @Experimental
1182 Canvas2DContextAttributes getContextAttributes() native; 1182 Canvas2DContextAttributes getContextAttributes() native;
1183 1183
1184 @DomName('CanvasRenderingContext2D.getImageData') 1184 @DomName('CanvasRenderingContext2D.getImageData')
1185 @DocsEditable 1185 @DocsEditable
1186 @Creates('ImageData|=Object') 1186 @Creates('ImageData|=Object')
1187 ImageData getImageData(num sx, num sy, num sw, num sh) { 1187 ImageData getImageData(num sx, num sy, num sw, num sh) {
1188 return _convertNativeToDart_ImageData(_getImageData_1(sx, sy, sw, sh)); 1188 return convertNativeToDart_ImageData(_getImageData_1(sx, sy, sw, sh));
1189 } 1189 }
1190 @JSName('getImageData') 1190 @JSName('getImageData')
1191 @DomName('CanvasRenderingContext2D.getImageData') 1191 @DomName('CanvasRenderingContext2D.getImageData')
1192 @DocsEditable 1192 @DocsEditable
1193 @Creates('ImageData|=Object') 1193 @Creates('ImageData|=Object')
1194 _getImageData_1(sx, sy, sw, sh) native; 1194 _getImageData_1(sx, sy, sw, sh) native;
1195 1195
1196 @DomName('CanvasRenderingContext2D.getLineDash') 1196 @DomName('CanvasRenderingContext2D.getLineDash')
1197 @DocsEditable 1197 @DocsEditable
1198 List<num> getLineDash() native; 1198 List<num> getLineDash() native;
(...skipping 15 matching lines...) Expand all
1214 TextMetrics measureText(String text) native; 1214 TextMetrics measureText(String text) native;
1215 1215
1216 @DomName('CanvasRenderingContext2D.moveTo') 1216 @DomName('CanvasRenderingContext2D.moveTo')
1217 @DocsEditable 1217 @DocsEditable
1218 void moveTo(num x, num y) native; 1218 void moveTo(num x, num y) native;
1219 1219
1220 @DomName('CanvasRenderingContext2D.putImageData') 1220 @DomName('CanvasRenderingContext2D.putImageData')
1221 @DocsEditable 1221 @DocsEditable
1222 void putImageData(ImageData imagedata, num dx, num dy, [num dirtyX, num dirtyY , num dirtyWidth, num dirtyHeight]) { 1222 void putImageData(ImageData imagedata, num dx, num dy, [num dirtyX, num dirtyY , num dirtyWidth, num dirtyHeight]) {
1223 if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) { 1223 if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) {
1224 var imagedata_1 = _convertDartToNative_ImageData(imagedata); 1224 var imagedata_1 = convertDartToNative_ImageData(imagedata);
1225 _putImageData_1(imagedata_1, dx, dy); 1225 _putImageData_1(imagedata_1, dx, dy);
1226 return; 1226 return;
1227 } 1227 }
1228 if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) { 1228 if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) {
1229 var imagedata_2 = _convertDartToNative_ImageData(imagedata); 1229 var imagedata_2 = convertDartToNative_ImageData(imagedata);
1230 _putImageData_2(imagedata_2, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeig ht); 1230 _putImageData_2(imagedata_2, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeig ht);
1231 return; 1231 return;
1232 } 1232 }
1233 throw new ArgumentError("Incorrect number or type of arguments"); 1233 throw new ArgumentError("Incorrect number or type of arguments");
1234 } 1234 }
1235 @JSName('putImageData') 1235 @JSName('putImageData')
1236 @DomName('CanvasRenderingContext2D.putImageData') 1236 @DomName('CanvasRenderingContext2D.putImageData')
1237 @DocsEditable 1237 @DocsEditable
1238 void _putImageData_1(imagedata, dx, dy) native; 1238 void _putImageData_1(imagedata, dx, dy) native;
1239 @JSName('putImageData') 1239 @JSName('putImageData')
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 @DocsEditable 1293 @DocsEditable
1294 void translate(num tx, num ty) native; 1294 void translate(num tx, num ty) native;
1295 1295
1296 @DomName('CanvasRenderingContext2D.webkitGetImageDataHD') 1296 @DomName('CanvasRenderingContext2D.webkitGetImageDataHD')
1297 @DocsEditable 1297 @DocsEditable
1298 @SupportedBrowser(SupportedBrowser.CHROME) 1298 @SupportedBrowser(SupportedBrowser.CHROME)
1299 @SupportedBrowser(SupportedBrowser.SAFARI) 1299 @SupportedBrowser(SupportedBrowser.SAFARI)
1300 @Experimental 1300 @Experimental
1301 @Creates('ImageData|=Object') 1301 @Creates('ImageData|=Object')
1302 ImageData getImageDataHD(num sx, num sy, num sw, num sh) { 1302 ImageData getImageDataHD(num sx, num sy, num sw, num sh) {
1303 return _convertNativeToDart_ImageData(_getImageDataHD_1(sx, sy, sw, sh)); 1303 return convertNativeToDart_ImageData(_getImageDataHD_1(sx, sy, sw, sh));
1304 } 1304 }
1305 @JSName('webkitGetImageDataHD') 1305 @JSName('webkitGetImageDataHD')
1306 @DomName('CanvasRenderingContext2D.webkitGetImageDataHD') 1306 @DomName('CanvasRenderingContext2D.webkitGetImageDataHD')
1307 @DocsEditable 1307 @DocsEditable
1308 @SupportedBrowser(SupportedBrowser.CHROME) 1308 @SupportedBrowser(SupportedBrowser.CHROME)
1309 @SupportedBrowser(SupportedBrowser.SAFARI) 1309 @SupportedBrowser(SupportedBrowser.SAFARI)
1310 @Experimental 1310 @Experimental
1311 @Creates('ImageData|=Object') 1311 @Creates('ImageData|=Object')
1312 _getImageDataHD_1(sx, sy, sw, sh) native; 1312 _getImageDataHD_1(sx, sy, sw, sh) native;
1313 1313
1314 @DomName('CanvasRenderingContext2D.webkitPutImageDataHD') 1314 @DomName('CanvasRenderingContext2D.webkitPutImageDataHD')
1315 @DocsEditable 1315 @DocsEditable
1316 @SupportedBrowser(SupportedBrowser.CHROME) 1316 @SupportedBrowser(SupportedBrowser.CHROME)
1317 @SupportedBrowser(SupportedBrowser.SAFARI) 1317 @SupportedBrowser(SupportedBrowser.SAFARI)
1318 @Experimental 1318 @Experimental
1319 void putImageDataHD(ImageData imagedata, num dx, num dy, [num dirtyX, num dirt yY, num dirtyWidth, num dirtyHeight]) { 1319 void putImageDataHD(ImageData imagedata, num dx, num dy, [num dirtyX, num dirt yY, num dirtyWidth, num dirtyHeight]) {
1320 if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) { 1320 if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) {
1321 var imagedata_1 = _convertDartToNative_ImageData(imagedata); 1321 var imagedata_1 = convertDartToNative_ImageData(imagedata);
1322 _putImageDataHD_1(imagedata_1, dx, dy); 1322 _putImageDataHD_1(imagedata_1, dx, dy);
1323 return; 1323 return;
1324 } 1324 }
1325 if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) { 1325 if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) {
1326 var imagedata_2 = _convertDartToNative_ImageData(imagedata); 1326 var imagedata_2 = convertDartToNative_ImageData(imagedata);
1327 _putImageDataHD_2(imagedata_2, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHe ight); 1327 _putImageDataHD_2(imagedata_2, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHe ight);
1328 return; 1328 return;
1329 } 1329 }
1330 throw new ArgumentError("Incorrect number or type of arguments"); 1330 throw new ArgumentError("Incorrect number or type of arguments");
1331 } 1331 }
1332 @JSName('webkitPutImageDataHD') 1332 @JSName('webkitPutImageDataHD')
1333 @DomName('CanvasRenderingContext2D.webkitPutImageDataHD') 1333 @DomName('CanvasRenderingContext2D.webkitPutImageDataHD')
1334 @DocsEditable 1334 @DocsEditable
1335 @SupportedBrowser(SupportedBrowser.CHROME) 1335 @SupportedBrowser(SupportedBrowser.CHROME)
1336 @SupportedBrowser(SupportedBrowser.SAFARI) 1336 @SupportedBrowser(SupportedBrowser.SAFARI)
(...skipping 6483 matching lines...) Expand 10 before | Expand all | Expand 10 after
7820 * document.body.insertAdjacentHtml('afterBegin', html); 7820 * document.body.insertAdjacentHtml('afterBegin', html);
7821 * var createdElement = document.body.children[0]; 7821 * var createdElement = document.body.children[0];
7822 * print(createdElement.classes[0]); // Prints 'something' 7822 * print(createdElement.classes[0]); // Prints 'something'
7823 * 7823 *
7824 * See also: 7824 * See also:
7825 * 7825 *
7826 * * [insertAdjacentText] 7826 * * [insertAdjacentText]
7827 * * [insertAdjacentElement] 7827 * * [insertAdjacentElement]
7828 */ 7828 */
7829 void insertAdjacentHtml(String where, String html) { 7829 void insertAdjacentHtml(String where, String html) {
7830 if (JS('bool', '!!#.insertAdjacentHtml', this)) { 7830 if (JS('bool', '!!#.insertAdjacentHTML', this)) {
7831 _insertAdjacentHtml(where, html); 7831 _insertAdjacentHtml(where, html);
7832 } else { 7832 } else {
7833 _insertAdjacentNode(where, new DocumentFragment.html(html)); 7833 _insertAdjacentNode(where, new DocumentFragment.html(html));
7834 } 7834 }
7835 } 7835 }
7836 7836
7837 @JSName('insertAdjacentHTML') 7837 @JSName('insertAdjacentHTML')
7838 void _insertAdjacentHTML(String where, String text) native; 7838 void _insertAdjacentHtml(String where, String text) native;
7839 7839
7840 /** 7840 /**
7841 * Inserts [element] into the DOM at the specified location. 7841 * Inserts [element] into the DOM at the specified location.
7842 * 7842 *
7843 * To see the possible values for [where], read the doc for 7843 * To see the possible values for [where], read the doc for
7844 * [insertAdjacentHtml]. 7844 * [insertAdjacentHtml].
7845 * 7845 *
7846 * See also: 7846 * See also:
7847 * 7847 *
7848 * * [insertAdjacentHtml] 7848 * * [insertAdjacentHtml]
(...skipping 3090 matching lines...) Expand 10 before | Expand all | Expand 10 after
10939 * * [pushState] 10939 * * [pushState]
10940 * * [replaceState] 10940 * * [replaceState]
10941 * * [state] 10941 * * [state]
10942 */ 10942 */
10943 static bool get supportsState => JS('bool', '!!window.history.pushState'); 10943 static bool get supportsState => JS('bool', '!!window.history.pushState');
10944 10944
10945 @DomName('History.length') 10945 @DomName('History.length')
10946 @DocsEditable 10946 @DocsEditable
10947 final int length; 10947 final int length;
10948 10948
10949 dynamic get state => _convertNativeToDart_SerializedScriptValue(this._get_stat e); 10949 dynamic get state => convertNativeToDart_SerializedScriptValue(this._get_state );
10950 @JSName('state') 10950 @JSName('state')
10951 @DomName('History.state') 10951 @DomName('History.state')
10952 @DocsEditable 10952 @DocsEditable
10953 @annotation_Creates_SerializedScriptValue 10953 @annotation_Creates_SerializedScriptValue
10954 @annotation_Returns_SerializedScriptValue 10954 @annotation_Returns_SerializedScriptValue
10955 final dynamic _get_state; 10955 final dynamic _get_state;
10956 10956
10957 @DomName('History.back') 10957 @DomName('History.back')
10958 @DocsEditable 10958 @DocsEditable
10959 void back() native; 10959 void back() native;
(...skipping 12453 matching lines...) Expand 10 before | Expand all | Expand 10 after
23413 String _returnValue; 23413 String _returnValue;
23414 23414
23415 _BeforeUnloadEvent(Event base): super(base); 23415 _BeforeUnloadEvent(Event base): super(base);
23416 23416
23417 String get returnValue => _returnValue; 23417 String get returnValue => _returnValue;
23418 23418
23419 void set returnValue(String value) { 23419 void set returnValue(String value) {
23420 _returnValue = value; 23420 _returnValue = value;
23421 // FF and IE use the value as the return value, Chrome will return this from 23421 // FF and IE use the value as the return value, Chrome will return this from
23422 // the event callback function. 23422 // the event callback function.
23423 if (JS('bool', '("returnValue" in #)', _base)) { 23423 if (JS('bool', '("returnValue" in #)', wrapped)) {
23424 JS('void', '#.returnValue = #', _base, value); 23424 JS('void', '#.returnValue = #', wrapped, value);
23425 } 23425 }
23426 } 23426 }
23427 } 23427 }
23428 23428
23429 class _BeforeUnloadEventStreamProvider implements 23429 class _BeforeUnloadEventStreamProvider implements
23430 EventStreamProvider<BeforeUnloadEvent> { 23430 EventStreamProvider<BeforeUnloadEvent> {
23431 final String _eventType; 23431 final String _eventType;
23432 23432
23433 const _BeforeUnloadEventStreamProvider(this._eventType); 23433 const _BeforeUnloadEventStreamProvider(this._eventType);
23434 23434
(...skipping 5553 matching lines...) Expand 10 before | Expand all | Expand 10 after
28988 return e; 28988 return e;
28989 } 28989 }
28990 28990
28991 EventTarget _convertDartToNative_EventTarget(e) { 28991 EventTarget _convertDartToNative_EventTarget(e) {
28992 if (e is _DOMWindowCrossFrame) { 28992 if (e is _DOMWindowCrossFrame) {
28993 return e._window; 28993 return e._window;
28994 } else { 28994 } else {
28995 return e; 28995 return e;
28996 } 28996 }
28997 } 28997 }
28998
28999 // Conversions for ImageData
29000 //
29001 // On Firefox, the returned ImageData is a plain object.
29002
29003 class _TypedImageData implements ImageData {
29004 final Uint8ClampedList data;
29005 final int height;
29006 final int width;
29007
29008 _TypedImageData(this.data, this.height, this.width);
29009 }
29010
29011 ImageData _convertNativeToDart_ImageData(nativeImageData) {
29012
29013 // None of the native getters that return ImageData have the type ImageData
29014 // since that is incorrect for FireFox (which returns a plain Object). So we
29015 // need something that tells the compiler that the ImageData class has been
29016 // instantiated.
29017 // TODO(sra): Remove this when all the ImageData returning APIs have been
29018 // annotated as returning the union ImageData + Object.
29019 JS('ImageData', '0');
29020
29021 if (nativeImageData is ImageData) return nativeImageData;
29022
29023 // On Firefox the above test fails because imagedata is a plain object.
29024 // So we create a _TypedImageData.
29025
29026 return new _TypedImageData(
29027 JS('var', '#.data', nativeImageData),
29028 JS('var', '#.height', nativeImageData),
29029 JS('var', '#.width', nativeImageData));
29030 }
29031
29032 // We can get rid of this conversion if _TypedImageData implements the fields
29033 // with native names.
29034 _convertDartToNative_ImageData(ImageData imageData) {
29035 if (imageData is _TypedImageData) {
29036 return JS('', '{data: #, height: #, width: #}',
29037 imageData.data, imageData.height, imageData.width);
29038 }
29039 return imageData;
29040 }
29041 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 28998 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
29042 // for details. All rights reserved. Use of this source code is governed by a 28999 // for details. All rights reserved. Use of this source code is governed by a
29043 // BSD-style license that can be found in the LICENSE file. 29000 // BSD-style license that can be found in the LICENSE file.
29044 29001
29045 29002
29046 // TODO(vsm): Unify with Dartium version. 29003 // TODO(vsm): Unify with Dartium version.
29047 class _DOMWindowCrossFrame implements WindowBase { 29004 class _DOMWindowCrossFrame implements WindowBase {
29048 // Private window. Note, this is a window in another frame, so it 29005 // Private window. Note, this is a window in another frame, so it
29049 // cannot be typed as "Window" as its prototype is not patched 29006 // cannot be typed as "Window" as its prototype is not patched
29050 // properly. Its fields and methods can only be accessed via JavaScript. 29007 // properly. Its fields and methods can only be accessed via JavaScript.
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
29400 _position = nextPosition; 29357 _position = nextPosition;
29401 return true; 29358 return true;
29402 } 29359 }
29403 _current = null; 29360 _current = null;
29404 _position = _array.length; 29361 _position = _array.length;
29405 return false; 29362 return false;
29406 } 29363 }
29407 29364
29408 T get current => _current; 29365 T get current => _current;
29409 } 29366 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/html/html_common/conversions.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698