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

Side by Side Diff: sdk/lib/js/dartium/js_dartium.dart

Issue 1409743003: Hide internal methods like wrap_jso from the dart:html public interface (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Review fixes Created 5 years, 2 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
« no previous file with comments | « sdk/lib/html/html_common/html_common.dart ('k') | tests/html/wrapping_collections_test.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 /** 5 /**
6 * Support for interoperating with JavaScript. 6 * Support for interoperating with JavaScript.
7 * 7 *
8 * This library provides access to JavaScript objects from Dart, allowing 8 * This library provides access to JavaScript objects from Dart, allowing
9 * Dart code to get and set properties, and call methods of JavaScript objects 9 * Dart code to get and set properties, and call methods of JavaScript objects
10 * and invoke JavaScript functions. The library takes care of converting 10 * and invoke JavaScript functions. The library takes care of converting
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 * 85 *
86 * var jsArray = new JsObject.jsify([1, 2, 3]); 86 * var jsArray = new JsObject.jsify([1, 2, 3]);
87 */ 87 */
88 library dart.js; 88 library dart.js;
89 89
90 import 'dart:collection' show ListMixin; 90 import 'dart:collection' show ListMixin;
91 import 'dart:nativewrappers'; 91 import 'dart:nativewrappers';
92 import 'dart:math' as math; 92 import 'dart:math' as math;
93 import 'dart:mirrors' as mirrors; 93 import 'dart:mirrors' as mirrors;
94 import 'dart:html' as html; 94 import 'dart:html' as html;
95 import 'dart:html_common' as html_common;
95 import 'dart:indexed_db' as indexed_db; 96 import 'dart:indexed_db' as indexed_db;
96 import 'dart:typed_data'; 97 import 'dart:typed_data';
97 98
98 // Pretend we are always in checked mode as we aren't interested in users 99 // Pretend we are always in checked mode as we aren't interested in users
99 // running Dartium code outside of checked mode. 100 // running Dartium code outside of checked mode.
100 final bool CHECK_JS_INVOCATIONS = true; 101 final bool CHECK_JS_INVOCATIONS = true;
101 102
102 final _allowedMethods = new Map<Symbol, _DeclarationSet>(); 103 final _allowedMethods = new Map<Symbol, _DeclarationSet>();
103 final _allowedGetters = new Map<Symbol, _DeclarationSet>(); 104 final _allowedGetters = new Map<Symbol, _DeclarationSet>();
104 final _allowedSetters = new Map<Symbol, _DeclarationSet>(); 105 final _allowedSetters = new Map<Symbol, _DeclarationSet>();
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 bool get _finalized native "Js_interfacesFinalized_Callback"; 694 bool get _finalized native "Js_interfacesFinalized_Callback";
694 695
695 JsObject get context { 696 JsObject get context {
696 if (_cachedContext == null) { 697 if (_cachedContext == null) {
697 _cachedContext = _context; 698 _cachedContext = _context;
698 } 699 }
699 return _cachedContext; 700 return _cachedContext;
700 } 701 }
701 702
702 _maybeWrap(o) { 703 _maybeWrap(o) {
703 var wrapped = html.wrap_jso_no_SerializedScriptvalue(o); 704 var wrapped = html_common.wrap_jso_no_SerializedScriptvalue(o);
704 if (identical(wrapped, o)) return o; 705 if (identical(wrapped, o)) return o;
705 return (wrapped is html.Blob 706 return (wrapped is html.Blob
706 || wrapped is html.Event 707 || wrapped is html.Event
707 || wrapped is indexed_db.KeyRange 708 || wrapped is indexed_db.KeyRange
708 || wrapped is html.ImageData 709 || wrapped is html.ImageData
709 || wrapped is html.Node 710 || wrapped is html.Node
710 || wrapped is TypedData 711 || wrapped is TypedData
711 || wrapped is html.Window) ? wrapped : o; 712 || wrapped is html.Window) ? wrapped : o;
712 } 713 }
713 714
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 */ 813 */
813 factory JsObject.jsify(object) { 814 factory JsObject.jsify(object) {
814 if ((object is! Map) && (object is! Iterable)) { 815 if ((object is! Map) && (object is! Iterable)) {
815 throw new ArgumentError("object must be a Map or Iterable"); 816 throw new ArgumentError("object must be a Map or Iterable");
816 } 817 }
817 return _jsify(object); 818 return _jsify(object);
818 } 819 }
819 820
820 static JsObject _jsify(object) native "JsObject_jsify"; 821 static JsObject _jsify(object) native "JsObject_jsify";
821 822
822 static JsObject _fromBrowserObject(object) => html.unwrap_jso(object); 823 static JsObject _fromBrowserObject(object) => html_common.unwrap_jso(object);
823 824
824 /** 825 /**
825 * Returns the value associated with [property] from the proxied JavaScript 826 * Returns the value associated with [property] from the proxied JavaScript
826 * object. 827 * object.
827 * 828 *
828 * The type of [property] must be either [String] or [num]. 829 * The type of [property] must be either [String] or [num].
829 */ 830 */
830 operator [](property) { 831 operator [](property) {
831 try { 832 try {
832 return _maybeWrap(_operator_getter(property)); 833 return _maybeWrap(_operator_getter(property));
(...skipping 18 matching lines...) Expand all
851 throw new html.DomException.jsInterop(e); 852 throw new html.DomException.jsInterop(e);
852 } 853 }
853 } 854 }
854 _operator_setter(property, value) native "JsObject_[]="; 855 _operator_setter(property, value) native "JsObject_[]=";
855 856
856 int get hashCode native "JsObject_hashCode"; 857 int get hashCode native "JsObject_hashCode";
857 858
858 operator ==(other) { 859 operator ==(other) {
859 var is_JsObject = other is JsObject; 860 var is_JsObject = other is JsObject;
860 if (!is_JsObject) { 861 if (!is_JsObject) {
861 other = html.unwrap_jso(other); 862 other = html_common.unwrap_jso(other);
862 is_JsObject = other is JsObject; 863 is_JsObject = other is JsObject;
863 } 864 }
864 return is_JsObject && _identityEquality(this, other); 865 return is_JsObject && _identityEquality(this, other);
865 } 866 }
866 867
867 static bool _identityEquality( 868 static bool _identityEquality(
868 JsObject a, JsObject b) native "JsObject_identityEquality"; 869 JsObject a, JsObject b) native "JsObject_identityEquality";
869 870
870 /** 871 /**
871 * Returns `true` if the JavaScript object contains the specified property 872 * Returns `true` if the JavaScript object contains the specified property
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1174 return f; 1175 return f;
1175 } else { 1176 } else {
1176 var ret = _interopCaptureThisExpando[f]; 1177 var ret = _interopCaptureThisExpando[f];
1177 if (ret == null) { 1178 if (ret == null) {
1178 ret = new JsFunction.withThis(f); 1179 ret = new JsFunction.withThis(f);
1179 _interopCaptureThisExpando[f] = ret; 1180 _interopCaptureThisExpando[f] = ret;
1180 } 1181 }
1181 return ret; 1182 return ret;
1182 } 1183 }
1183 } 1184 }
OLDNEW
« no previous file with comments | « sdk/lib/html/html_common/html_common.dart ('k') | tests/html/wrapping_collections_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698