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

Side by Side Diff: Source/modules/geolocation/Geolocation.cpp

Issue 336343002: Use "Dictionary" for PositionOptions instead of Custom binding (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebasing for removing PerWorldBindings (http://crrev.com/330293002) Created 6 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
« no previous file with comments | « Source/modules/geolocation/Geolocation.h ('k') | Source/modules/geolocation/Geolocation.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All Rights Reserved.
3 * Copyright (C) 2009 Torch Mobile, Inc. 3 * Copyright (C) 2009 Torch Mobile, Inc.
4 * Copyright 2010, The Android Open Source Project 4 * Copyright 2010, The Android Open Source Project
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 { 288 {
289 LocalFrame* frame = this->frame(); 289 LocalFrame* frame = this->frame();
290 if (!frame) 290 if (!frame)
291 return 0; 291 return 0;
292 292
293 m_lastPosition = createGeoposition(GeolocationController::from(frame)->lastP osition()); 293 m_lastPosition = createGeoposition(GeolocationController::from(frame)->lastP osition());
294 294
295 return m_lastPosition.get(); 295 return m_lastPosition.get();
296 } 296 }
297 297
298 void Geolocation::getCurrentPosition(PassOwnPtr<PositionCallback> successCallbac k, PassOwnPtr<PositionErrorCallback> errorCallback, PositionOptions* options) 298 void Geolocation::getCurrentPosition(PassOwnPtr<PositionCallback> successCallbac k, PassOwnPtr<PositionErrorCallback> errorCallback, const Dictionary& options)
299 { 299 {
300 if (!frame()) 300 if (!frame())
301 return; 301 return;
302 302
303 GeoNotifier* notifier = GeoNotifier::create(this, successCallback, errorCall back, options); 303 GeoNotifier* notifier = GeoNotifier::create(this, successCallback, errorCall back, PositionOptions::create(options));
304 startRequest(notifier); 304 startRequest(notifier);
305 305
306 m_oneShots.add(notifier); 306 m_oneShots.add(notifier);
307 } 307 }
308 308
309 int Geolocation::watchPosition(PassOwnPtr<PositionCallback> successCallback, Pas sOwnPtr<PositionErrorCallback> errorCallback, PositionOptions* options) 309 int Geolocation::watchPosition(PassOwnPtr<PositionCallback> successCallback, Pas sOwnPtr<PositionErrorCallback> errorCallback, const Dictionary& options)
310 { 310 {
311 if (!frame()) 311 if (!frame())
312 return 0; 312 return 0;
313 313
314 GeoNotifier* notifier = GeoNotifier::create(this, successCallback, errorCall back, options); 314 GeoNotifier* notifier = GeoNotifier::create(this, successCallback, errorCall back, PositionOptions::create(options));
315 startRequest(notifier); 315 startRequest(notifier);
316 316
317 int watchID; 317 int watchID;
318 // Keep asking for the next id until we're given one that we don't already h ave. 318 // Keep asking for the next id until we're given one that we don't already h ave.
319 do { 319 do {
320 watchID = executionContext()->circularSequentialID(); 320 watchID = executionContext()->circularSequentialID();
321 } while (!m_watchers.add(watchID, notifier)); 321 } while (!m_watchers.add(watchID, notifier));
322 return watchID; 322 return watchID;
323 } 323 }
324 324
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 notifier->startTimer(); 675 notifier->startTimer();
676 else 676 else
677 notifier->setFatalError(PositionError::create(PositionError::POS ITION_UNAVAILABLE, failedToStartServiceErrorMessage)); 677 notifier->setFatalError(PositionError::create(PositionError::POS ITION_UNAVAILABLE, failedToStartServiceErrorMessage));
678 } else { 678 } else {
679 notifier->setFatalError(PositionError::create(PositionError::PERMISS ION_DENIED, permissionDeniedErrorMessage)); 679 notifier->setFatalError(PositionError::create(PositionError::PERMISS ION_DENIED, permissionDeniedErrorMessage));
680 } 680 }
681 } 681 }
682 } 682 }
683 683
684 } // namespace WebCore 684 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/geolocation/Geolocation.h ('k') | Source/modules/geolocation/Geolocation.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698