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

Side by Side Diff: lib/compiler/implementation/lib/native_helper.dart

Issue 10908003: Revert revision 11570, this still has dartium failures. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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 | lib/dom/dart2js/dom_dart2js.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 // 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 String typeNameInChrome(obj) { 5 String typeNameInChrome(obj) {
6 String name = JS('String', "#.constructor.name", obj); 6 String name = JS('String', "#.constructor.name", obj);
7 if (name == 'Window') return 'DOMWindow'; 7 if (name == 'Window') return 'DOMWindow';
8 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray'; 8 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray';
9 if (name == 'WebKitMutationObserver') return 'MutationObserver'; 9 if (name == 'WebKitMutationObserver') return 'MutationObserver';
10 if (name == 'FormData') return 'DOMFormData';
11 return name; 10 return name;
12 } 11 }
13 12
14 String typeNameInSafari(obj) { 13 String typeNameInSafari(obj) {
15 String name = JS('String', '#', constructorNameFallback(obj)); 14 String name = JS('String', '#', constructorNameFallback(obj));
16 // Safari is very similar to Chrome. 15 // Safari is very similar to Chrome.
17 if (name == 'Window') return 'DOMWindow'; 16 if (name == 'Window') return 'DOMWindow';
18 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray'; 17 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray';
19 if (name == 'WebKitMutationObserver') return 'MutationObserver'; 18 if (name == 'WebKitMutationObserver') return 'MutationObserver';
20 if (name == 'FormData') return 'DOMFormData';
21 return name; 19 return name;
22 } 20 }
23 21
24 String typeNameInOpera(obj) { 22 String typeNameInOpera(obj) {
25 String name = JS('String', '#', constructorNameFallback(obj)); 23 String name = JS('String', '#', constructorNameFallback(obj));
26 if (name == 'Window') return 'DOMWindow'; 24 if (name == 'Window') return 'DOMWindow';
27 if (name == 'FormData') return 'DOMFormData';
28 return name; 25 return name;
29 } 26 }
30 27
31 String typeNameInFirefox(obj) { 28 String typeNameInFirefox(obj) {
32 String name = JS('String', '#', constructorNameFallback(obj)); 29 String name = JS('String', '#', constructorNameFallback(obj));
33 if (name == 'Window') return 'DOMWindow'; 30 if (name == 'Window') return 'DOMWindow';
34 if (name == 'Document') return 'HTMLDocument'; 31 if (name == 'Document') return 'HTMLDocument';
35 if (name == 'XMLDocument') return 'Document'; 32 if (name == 'XMLDocument') return 'Document';
36 if (name == 'WorkerMessageEvent') return 'MessageEvent'; 33 if (name == 'WorkerMessageEvent') return 'MessageEvent';
37 if (name == 'DragEvent') return 'MouseEvent'; 34 if (name == 'DragEvent') return 'MouseEvent';
38 if (name == 'DataTransfer') return 'Clipboard'; 35 if (name == 'DataTransfer') return 'Clipboard';
39 if (name == 'FormData') return 'DOMFormData';
40 return name; 36 return name;
41 } 37 }
42 38
43 String typeNameInIE(obj) { 39 String typeNameInIE(obj) {
44 String name = JS('String', '#', constructorNameFallback(obj)); 40 String name = JS('String', '#', constructorNameFallback(obj));
45 if (name == 'Window') return 'DOMWindow'; 41 if (name == 'Window') return 'DOMWindow';
46 if (name == 'Document') { 42 if (name == 'Document') {
47 // IE calls both HTML and XML documents 'Document', so we check for the 43 // IE calls both HTML and XML documents 'Document', so we check for the
48 // xmlVersion property, which is the empty string on HTML documents. 44 // xmlVersion property, which is the empty string on HTML documents.
49 if (JS('bool', '!!#.xmlVersion', obj)) return 'Document'; 45 if (JS('bool', '!!#.xmlVersion', obj)) return 'Document';
50 return 'HTMLDocument'; 46 return 'HTMLDocument';
51 } 47 }
52 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray'; 48 if (name == 'CanvasPixelArray') return 'Uint8ClampedArray';
53 if (name == 'DataTransfer') return 'Clipboard'; 49 if (name == 'DataTransfer') return 'Clipboard';
54 if (name == 'DragEvent') return 'MouseEvent'; 50 if (name == 'DragEvent') return 'MouseEvent';
55 if (name == 'HTMLDDElement') return 'HTMLElement'; 51 if (name == 'HTMLDDElement') return 'HTMLElement';
56 if (name == 'HTMLDTElement') return 'HTMLElement'; 52 if (name == 'HTMLDTElement') return 'HTMLElement';
57 if (name == 'HTMLTableDataCellElement') return 'HTMLTableCellElement'; 53 if (name == 'HTMLTableDataCellElement') return 'HTMLTableCellElement';
58 if (name == 'HTMLTableHeaderCellElement') return 'HTMLTableCellElement'; 54 if (name == 'HTMLTableHeaderCellElement') return 'HTMLTableCellElement';
59 if (name == 'HTMLPhraseElement') return 'HTMLElement'; 55 if (name == 'HTMLPhraseElement') return 'HTMLElement';
60 if (name == 'MSStyleCSSProperties') return 'CSSStyleDeclaration'; 56 if (name == 'MSStyleCSSProperties') return 'CSSStyleDeclaration';
61 if (name == 'MouseWheelEvent') return 'WheelEvent'; 57 if (name == 'MouseWheelEvent') return 'WheelEvent';
62 if (name == 'FormData') return 'DOMFormData';
63 return name; 58 return name;
64 } 59 }
65 60
66 String constructorNameFallback(obj) { 61 String constructorNameFallback(obj) {
67 var constructor = JS('var', "#.constructor", obj); 62 var constructor = JS('var', "#.constructor", obj);
68 if (JS('String', "typeof(#)", constructor) === 'function') { 63 if (JS('String', "typeof(#)", constructor) === 'function') {
69 // The constructor isn't null or undefined at this point. Try 64 // The constructor isn't null or undefined at this point. Try
70 // to grab hold of its name. 65 // to grab hold of its name.
71 var name = JS('var', '#.name', constructor); 66 var name = JS('var', '#.name', constructor);
72 // If the name is a non-empty string, we use that as the type 67 // If the name is a non-empty string, we use that as the type
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } 326 }
332 return result; 327 return result;
333 } 328 }
334 329
335 /** 330 /**
336 * Called by the compiler to setup [_dynamicMetadata]. 331 * Called by the compiler to setup [_dynamicMetadata].
337 */ 332 */
338 void dynamicSetMetadata(List<List<String>> inputTable) { 333 void dynamicSetMetadata(List<List<String>> inputTable) {
339 _dynamicMetadata = buildDynamicMetadata(inputTable); 334 _dynamicMetadata = buildDynamicMetadata(inputTable);
340 } 335 }
OLDNEW
« no previous file with comments | « no previous file | lib/dom/dart2js/dom_dart2js.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698