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

Side by Side Diff: tools/dom/templates/html/impl/impl_Geolocation.darttemplate

Issue 23055008: Making almost all dom_ methods private. Exceptions will be addressed in a later CL. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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
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 part of $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6
7 @DocsEditable() 7 @DocsEditable()
8 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { 8 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
9 9
10 @DomName('Geolocation.getCurrentPosition') 10 @DomName('Geolocation.getCurrentPosition')
11 Future<Geoposition> getCurrentPosition({bool enableHighAccuracy, 11 Future<Geoposition> getCurrentPosition({bool enableHighAccuracy,
12 Duration timeout, Duration maximumAge}) { 12 Duration timeout, Duration maximumAge}) {
13 var options = {}; 13 var options = {};
14 if (enableHighAccuracy != null) { 14 if (enableHighAccuracy != null) {
15 options['enableHighAccuracy'] = enableHighAccuracy; 15 options['enableHighAccuracy'] = enableHighAccuracy;
16 } 16 }
17 if (timeout != null) { 17 if (timeout != null) {
18 options['timeout'] = timeout.inMilliseconds; 18 options['timeout'] = timeout.inMilliseconds;
19 } 19 }
20 if (maximumAge != null) { 20 if (maximumAge != null) {
21 options['maximumAge'] = maximumAge.inMilliseconds; 21 options['maximumAge'] = maximumAge.inMilliseconds;
22 } 22 }
23 var completer = new Completer<Geoposition>(); 23 var completer = new Completer<Geoposition>();
24 try { 24 try {
25 $dom_getCurrentPosition( 25 _getCurrentPosition(
26 (position) { 26 (position) {
27 completer.complete(_ensurePosition(position)); 27 completer.complete(_ensurePosition(position));
28 }, 28 },
29 (error) { 29 (error) {
30 completer.completeError(error); 30 completer.completeError(error);
31 }, 31 },
32 options); 32 options);
33 } catch (e, stacktrace) { 33 } catch (e, stacktrace) {
34 completer.completeError(e, stacktrace); 34 completer.completeError(e, stacktrace);
35 } 35 }
(...skipping 13 matching lines...) Expand all
49 } 49 }
50 if (maximumAge != null) { 50 if (maximumAge != null) {
51 options['maximumAge'] = maximumAge.inMilliseconds; 51 options['maximumAge'] = maximumAge.inMilliseconds;
52 } 52 }
53 53
54 int watchId; 54 int watchId;
55 var controller; 55 var controller;
56 controller = new StreamController<Geoposition>(sync: true, 56 controller = new StreamController<Geoposition>(sync: true,
57 onListen: () { 57 onListen: () {
58 assert(watchId == null); 58 assert(watchId == null);
59 watchId = $dom_watchPosition( 59 watchId = _watchPosition(
60 (position) { 60 (position) {
61 controller.add(_ensurePosition(position)); 61 controller.add(_ensurePosition(position));
62 }, 62 },
63 (error) { 63 (error) {
64 controller.addError(error); 64 controller.addError(error);
65 }, 65 },
66 options); 66 options);
67 }, 67 },
68 onCancel: () { 68 onCancel: () {
69 assert(watchId != null); 69 assert(watchId != null);
70 $dom_clearWatch(watchId); 70 _clearWatch(watchId);
71 }); 71 });
72 72
73 return controller.stream; 73 return controller.stream;
74 } 74 }
75 75
76 Geoposition _ensurePosition(domPosition) { 76 Geoposition _ensurePosition(domPosition) {
77 $if DART2JS 77 $if DART2JS
78 try { 78 try {
79 // Firefox may throw on this. 79 // Firefox may throw on this.
80 if (domPosition is Geoposition) { 80 if (domPosition is Geoposition) {
(...skipping 17 matching lines...) Expand all
98 class _GeopositionWrapper implements Geoposition { 98 class _GeopositionWrapper implements Geoposition {
99 var _ptr; 99 var _ptr;
100 _GeopositionWrapper(this._ptr); 100 _GeopositionWrapper(this._ptr);
101 101
102 Coordinates get coords => JS('Coordinates', '#.coords', _ptr); 102 Coordinates get coords => JS('Coordinates', '#.coords', _ptr);
103 int get timestamp => JS('int', '#.timestamp', _ptr); 103 int get timestamp => JS('int', '#.timestamp', _ptr);
104 } 104 }
105 $endif 105 $endif
106 106
107 107
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698