Changeset 140269 in webkit
- Timestamp:
- Jan 20, 2013 1:40:09 AM (11 years ago)
- Location:
- trunk/Tools
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r140268 r140269 1 2013-01-20 Jochen Eisinger <jochen@chromium.org> 2 3 [chromium] move geolocation related methods to TestRunner 4 https://bugs.webkit.org/show_bug.cgi?id=107267 5 6 Reviewed by Adam Barth. 7 8 * DumpRenderTree/chromium/DRTTestRunner.cpp: 9 (DRTTestRunner::DRTTestRunner): 10 * DumpRenderTree/chromium/DRTTestRunner.h: 11 (DRTTestRunner): 12 * DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h: 13 (WebTestRunner::WebTestDelegate::numberOfPendingGeolocationPermissionRequests): 14 (WebTestRunner::WebTestDelegate::setGeolocationPermission): 15 (WebTestRunner::WebTestDelegate::setMockGeolocationPosition): 16 (WebTestRunner::WebTestDelegate::setMockGeolocationPositionUnavailableError): 17 * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp: 18 (WebTestRunner::TestRunner::TestRunner): 19 (WebTestRunner::TestRunner::numberOfPendingGeolocationPermissionRequests): 20 (WebTestRunner): 21 (WebTestRunner::TestRunner::setGeolocationPermission): 22 (WebTestRunner::TestRunner::setMockGeolocationPosition): 23 (WebTestRunner::TestRunner::setMockGeolocationPositionUnavailableError): 24 * DumpRenderTree/chromium/TestRunner/src/TestRunner.h: 25 (TestRunner): 26 * DumpRenderTree/chromium/WebViewHost.cpp: 27 (WebViewHost::numberOfPendingGeolocationPermissionRequests): 28 (WebViewHost::setGeolocationPermission): 29 (WebViewHost::setMockGeolocationPosition): 30 (WebViewHost::setMockGeolocationPositionUnavailableError): 31 * DumpRenderTree/chromium/WebViewHost.h: 32 1 33 2013-01-19 Zan Dobersek <zdobersek@igalia.com> 2 34 -
trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp
r140119 r140269 46 46 #include "WebFindOptions.h" 47 47 #include "WebFrame.h" 48 #include "WebGeolocationClientMock.h"49 48 #include "WebIDBFactory.h" 50 49 #include "WebInputElement.h" … … 108 107 #endif 109 108 bindMethod("notifyDone", &DRTTestRunner::notifyDone); 110 bindMethod("numberOfPendingGeolocationPermissionRequests", &DRTTestRunner:: numberOfPendingGeolocationPermissionRequests);111 109 bindMethod("queueBackNavigation", &DRTTestRunner::queueBackNavigation); 112 110 bindMethod("queueForwardNavigation", &DRTTestRunner::queueForwardNavigation); … … 118 116 bindMethod("setCloseRemainingWindowsWhenComplete", &DRTTestRunner::setCloseRemainingWindowsWhenComplete); 119 117 bindMethod("setCustomPolicyDelegate", &DRTTestRunner::setCustomPolicyDelegate); 120 bindMethod("setGeolocationPermission", &DRTTestRunner::setGeolocationPermission);121 bindMethod("setMockGeolocationPositionUnavailableError", &DRTTestRunner::setMockGeolocationPositionUnavailableError);122 bindMethod("setMockGeolocationPosition", &DRTTestRunner::setMockGeolocationPosition);123 118 bindMethod("setWillSendRequestClearHeader", &DRTTestRunner::setWillSendRequestClearHeader); 124 119 bindMethod("setWillSendRequestReturnsNull", &DRTTestRunner::setWillSendRequestReturnsNull); … … 504 499 } 505 500 506 void DRTTestRunner::numberOfPendingGeolocationPermissionRequests(const CppArgumentList& arguments, CppVariant* result)507 {508 result->setNull();509 Vector<WebViewHost*> windowList = m_shell->windowList();510 int numberOfRequests = 0;511 for (size_t i = 0; i < windowList.size(); i++)512 numberOfRequests += windowList[i]->geolocationClientMock()->numberOfPendingPermissionRequests();513 result->set(numberOfRequests);514 }515 516 // FIXME: For greater test flexibility, we should be able to set each page's geolocation mock individually.517 // https://bugs.webkit.org/show_bug.cgi?id=52368518 void DRTTestRunner::setGeolocationPermission(const CppArgumentList& arguments, CppVariant* result)519 {520 result->setNull();521 if (arguments.size() < 1 || !arguments[0].isBool())522 return;523 Vector<WebViewHost*> windowList = m_shell->windowList();524 for (size_t i = 0; i < windowList.size(); i++)525 windowList[i]->geolocationClientMock()->setPermission(arguments[0].toBoolean());526 }527 528 void DRTTestRunner::setMockGeolocationPosition(const CppArgumentList& arguments, CppVariant* result)529 {530 result->setNull();531 if (arguments.size() < 3 || !arguments[0].isNumber() || !arguments[1].isNumber() || !arguments[2].isNumber())532 return;533 Vector<WebViewHost*> windowList = m_shell->windowList();534 for (size_t i = 0; i < windowList.size(); i++)535 windowList[i]->geolocationClientMock()->setPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble());536 }537 538 void DRTTestRunner::setMockGeolocationPositionUnavailableError(const CppArgumentList& arguments, CppVariant* result)539 {540 result->setNull();541 if (arguments.size() != 1 || !arguments[0].isString())542 return;543 Vector<WebViewHost*> windowList = m_shell->windowList();544 // FIXME: Benjamin545 for (size_t i = 0; i < windowList.size(); i++)546 windowList[i]->geolocationClientMock()->setPositionUnavailableError(cppVariantToWebString(arguments[0]));547 }548 549 501 #if ENABLE(INPUT_SPEECH) 550 502 void DRTTestRunner::addMockSpeechInputResult(const CppArgumentList& arguments, CppVariant* result) -
trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.h
r140119 r140269 51 51 #include <wtf/OwnPtr.h> 52 52 53 namespace WebKit {54 class WebGeolocationClientMock;55 }56 57 53 namespace webkit_support { 58 54 class ScopedTempDirectory; … … 121 117 void display(const CppArgumentList&, CppVariant*); 122 118 void displayInvalidatedRegion(const CppArgumentList&, CppVariant*); 123 124 // Gets the number of geolocation permissions requests pending.125 void numberOfPendingGeolocationPermissionRequests(const CppArgumentList&, CppVariant*);126 127 // Geolocation related functions.128 void setGeolocationPermission(const CppArgumentList&, CppVariant*);129 void setMockGeolocationPosition(const CppArgumentList&, CppVariant*);130 void setMockGeolocationPositionUnavailableError(const CppArgumentList&, CppVariant*);131 119 132 120 // Speech input related functions. -
trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h
r140119 r140269 100 100 virtual void setPointerLockWillRespondAsynchronously() { } 101 101 virtual void setPointerLockWillFailSynchronously() { } 102 virtual int numberOfPendingGeolocationPermissionRequests() { return 0; } 103 virtual void setGeolocationPermission(bool) { } 104 virtual void setMockGeolocationPosition(double, double, double) { } 105 virtual void setMockGeolocationPositionUnavailableError(const std::string&) { } 102 106 }; 103 107 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp
r140119 r140269 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 3 * Copyright (C) 2010 Pawel Hajdan (phajdan.jr@chromium.org) 4 * Copyright (C) 2012 Apple Inc. All Rights Reserved. 4 5 * 5 6 * Redistribution and use in source and binary forms, with or without … … 217 218 bindMethod("setBackingScaleFactor", &TestRunner::setBackingScaleFactor); 218 219 bindMethod("setPOSIXLocale", &TestRunner::setPOSIXLocale); 220 bindMethod("numberOfPendingGeolocationPermissionRequests", &TestRunner:: numberOfPendingGeolocationPermissionRequests); 221 bindMethod("setGeolocationPermission", &TestRunner::setGeolocationPermission); 222 bindMethod("setMockGeolocationPositionUnavailableError", &TestRunner::setMockGeolocationPositionUnavailableError); 223 bindMethod("setMockGeolocationPosition", &TestRunner::setMockGeolocationPosition); 219 224 220 225 // Properties. … … 1427 1432 } 1428 1433 1434 void TestRunner::numberOfPendingGeolocationPermissionRequests(const CppArgumentList& arguments, CppVariant* result) 1435 { 1436 result->set(m_delegate->numberOfPendingGeolocationPermissionRequests()); 1437 } 1438 1439 // FIXME: For greater test flexibility, we should be able to set each page's geolocation mock individually. 1440 // https://bugs.webkit.org/show_bug.cgi?id=52368 1441 void TestRunner::setGeolocationPermission(const CppArgumentList& arguments, CppVariant* result) 1442 { 1443 result->setNull(); 1444 if (arguments.size() < 1 || !arguments[0].isBool()) 1445 return; 1446 m_delegate->setGeolocationPermission(arguments[0].toBoolean()); 1447 } 1448 1449 void TestRunner::setMockGeolocationPosition(const CppArgumentList& arguments, CppVariant* result) 1450 { 1451 result->setNull(); 1452 if (arguments.size() < 3 || !arguments[0].isNumber() || !arguments[1].isNumber() || !arguments[2].isNumber()) 1453 return; 1454 m_delegate->setMockGeolocationPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble()); 1455 } 1456 1457 void TestRunner::setMockGeolocationPositionUnavailableError(const CppArgumentList& arguments, CppVariant* result) 1458 { 1459 result->setNull(); 1460 if (arguments.size() != 1 || !arguments[0].isString()) 1461 return; 1462 m_delegate->setMockGeolocationPositionUnavailableError(arguments[0].toString()); 1463 } 1464 1429 1465 void TestRunner::dumpEditingCallbacks(const CppArgumentList&, CppVariant* result) 1430 1466 { -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h
r140119 r140269 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 3 * Copyright (C) 2010 Pawel Hajdan (phajdan.jr@chromium.org) 4 * Copyright (C) 2012 Apple Inc. All Rights Reserved. 4 5 * 5 6 * Redistribution and use in source and binary forms, with or without … … 368 369 void setPOSIXLocale(const CppArgumentList&, CppVariant*); 369 370 371 // Gets the number of geolocation permissions requests pending. 372 void numberOfPendingGeolocationPermissionRequests(const CppArgumentList&, CppVariant*); 373 374 // Geolocation related functions. 375 void setGeolocationPermission(const CppArgumentList&, CppVariant*); 376 void setMockGeolocationPosition(const CppArgumentList&, CppVariant*); 377 void setMockGeolocationPositionUnavailableError(const CppArgumentList&, CppVariant*); 378 370 379 /////////////////////////////////////////////////////////////////////////// 371 380 // Properties -
trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp
r139875 r140269 1141 1141 } 1142 1142 1143 int WebViewHost::numberOfPendingGeolocationPermissionRequests() 1144 { 1145 Vector<WebViewHost*> windowList = m_shell->windowList(); 1146 int numberOfRequests = 0; 1147 for (size_t i = 0; i < windowList.size(); i++) 1148 numberOfRequests += windowList[i]->geolocationClientMock()->numberOfPendingPermissionRequests(); 1149 return numberOfRequests; 1150 } 1151 1152 void WebViewHost::setGeolocationPermission(bool allowed) 1153 { 1154 Vector<WebViewHost*> windowList = m_shell->windowList(); 1155 for (size_t i = 0; i < windowList.size(); i++) 1156 windowList[i]->geolocationClientMock()->setPermission(allowed); 1157 } 1158 1159 void WebViewHost::setMockGeolocationPosition(double latitude, double longitude, double accuracy) 1160 { 1161 Vector<WebViewHost*> windowList = m_shell->windowList(); 1162 for (size_t i = 0; i < windowList.size(); i++) 1163 windowList[i]->geolocationClientMock()->setPosition(latitude, longitude, accuracy); 1164 } 1165 1166 void WebViewHost::setMockGeolocationPositionUnavailableError(const std::string& message) 1167 { 1168 Vector<WebViewHost*> windowList = m_shell->windowList(); 1169 // FIXME: Benjamin 1170 for (size_t i = 0; i < windowList.size(); i++) 1171 windowList[i]->geolocationClientMock()->setPositionUnavailableError(WebString::fromUTF8(message)); 1172 } 1173 1143 1174 // Public functions ----------------------------------------------------------- 1144 1175 -
trunk/Tools/DumpRenderTree/chromium/WebViewHost.h
r140119 r140269 161 161 virtual void setPointerLockWillFailSynchronously() OVERRIDE { m_pointerLockPlannedResult = PointerLockWillFailSync; } 162 162 #endif 163 virtual int numberOfPendingGeolocationPermissionRequests() OVERRIDE; 164 virtual void setGeolocationPermission(bool) OVERRIDE; 165 virtual void setMockGeolocationPosition(double, double, double) OVERRIDE; 166 virtual void setMockGeolocationPositionUnavailableError(const std::string&) OVERRIDE; 163 167 164 168 // NavigationHost
Note: See TracChangeset
for help on using the changeset viewer.