Changeset 75934 in webkit
- Timestamp:
- Jan 17, 2011 4:21:55 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r75930 r75934 1 2011-01-17 John Knottenbelt <jknotten@chromium.org> 2 3 Reviewed by Jeremy Orlow. 4 5 GeolocationController should call stopUpdating on destruction 6 https://bugs.webkit.org/show_bug.cgi?id=52216 7 8 fast/dom/window-close-crash.html tests that we do not fail the 9 assertion in the mock GeolocationClient that the GeolocationClient 10 is not updating when the GeolocationController is destroyed. 11 12 * fast/dom/Geolocation/resources/window-close-popup.html: Added. 13 * fast/dom/Geolocation/script-tests/window-close-crash.js: Added. 14 (gotPosition): 15 (waitForWindowToClose): 16 (failedToCreateWatch): 17 * fast/dom/Geolocation/window-close-crash-expected.txt: Added. 18 * fast/dom/Geolocation/window-close-crash.html: Added. 19 * platform/gtk/Skipped: 20 * platform/mac-wk2/Skipped: 21 * platform/qt-wk2/Skipped: 22 1 23 2011-01-14 Ilya Tikhonovsky <loislo@chromium.org> 2 24 -
trunk/LayoutTests/platform/gtk/Skipped
r75924 r75934 4910 4910 fast/dom/Geolocation/timestamp.html 4911 4911 fast/dom/Geolocation/watch.html 4912 fast/dom/Geolocation/window-close-crash.html 4912 4913 4913 4914 # We're not quite ready to run these tests, because the slaves need -
trunk/LayoutTests/platform/mac-wk2/Skipped
r75841 r75934 1585 1585 fast/dom/Geolocation/timestamp.html 1586 1586 fast/dom/Geolocation/watch.html 1587 fast/dom/Geolocation/window-close-crash.html 1587 1588 1588 1589 # WebKitTestRunner needs layoutTestController.setMockGeolocationPosition -
trunk/LayoutTests/platform/qt-wk2/Skipped
r74605 r75934 1738 1738 fast/dom/Geolocation/timeout.html 1739 1739 fast/dom/Geolocation/watch.html 1740 fast/dom/Geolocation/window-close-crash.html 1740 1741 1741 1742 # WebKitTestRunner needs layoutTestController.setMockGeolocationPosition -
trunk/Source/WebCore/ChangeLog
r75933 r75934 1 2011-01-17 John Knottenbelt <jknotten@chromium.org> 2 3 Reviewed by Jeremy Orlow. 4 5 GeolocationController should call stopUpdating on destruction 6 https://bugs.webkit.org/show_bug.cgi?id=52216 7 8 Test: fast/dom/Geolocation/window-close-crash.html 9 10 * page/GeolocationController.cpp: 11 (WebCore::GeolocationController::~GeolocationController): 12 1 13 2011-01-17 Pavel Feldman <pfeldman@chromium.org> 2 14 -
trunk/Source/WebCore/page/GeolocationController.cpp
r73163 r75934 42 42 GeolocationController::~GeolocationController() 43 43 { 44 if (m_client) 44 if (m_client) { 45 if (!m_observers.isEmpty()) 46 m_client->stopUpdating(); 47 45 48 m_client->geolocationDestroyed(); 49 } 46 50 } 47 51 -
trunk/Tools/ChangeLog
r75918 r75934 1 2011-01-17 John Knottenbelt <jknotten@chromium.org> 2 3 Reviewed by Jeremy Orlow. 4 5 GeolocationController should call stopUpdating on destruction 6 https://bugs.webkit.org/show_bug.cgi?id=52216 7 8 fast/dom/Geolocation/window-close-crash.html requires that a 9 Geolocation watch be started in a secondary window. Consequently, 10 we need to allow geolocation permission and provide a mock 11 geolocation position for the secondary window's 12 GeolocationClientMock. 13 14 * DumpRenderTree/chromium/LayoutTestController.cpp: 15 (LayoutTestController::setGeolocationPermission): 16 (LayoutTestController::setMockGeolocationPosition): 17 (LayoutTestController::setMockGeolocationError): 18 * DumpRenderTree/chromium/TestShell.h: 19 (TestShell::windowList): 20 1 21 2011-01-16 Adam Barth <abarth@webkit.org> 2 22 -
trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp
r75367 r75934 1516 1516 } 1517 1517 1518 // FIXME: For greater test flexibility, we should be able to set each page's geolocation mock individually. 1519 // https://bugs.webkit.org/show_bug.cgi?id=52368 1518 1520 void LayoutTestController::setGeolocationPermission(const CppArgumentList& arguments, CppVariant* result) 1519 1521 { … … 1521 1523 if (arguments.size() < 1 || !arguments[0].isBool()) 1522 1524 return; 1523 m_shell->webViewHost()->geolocationClientMock()->setPermission(arguments[0].toBoolean()); 1525 Vector<WebViewHost*> windowList = m_shell->windowList(); 1526 for (size_t i = 0; i < windowList.size(); i++) 1527 windowList[i]->geolocationClientMock()->setPermission(arguments[0].toBoolean()); 1524 1528 } 1525 1529 … … 1529 1533 if (arguments.size() < 3 || !arguments[0].isNumber() || !arguments[1].isNumber() || !arguments[2].isNumber()) 1530 1534 return; 1531 m_shell->webViewHost()->geolocationClientMock()->setPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble()); 1535 Vector<WebViewHost*> windowList = m_shell->windowList(); 1536 for (size_t i = 0; i < windowList.size(); i++) 1537 windowList[i]->geolocationClientMock()->setPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble()); 1532 1538 } 1533 1539 … … 1537 1543 if (arguments.size() < 2 || !arguments[0].isNumber() || !arguments[1].isString()) 1538 1544 return; 1539 m_shell->webViewHost()->geolocationClientMock()->setError(arguments[0].toInt32(), cppVariantToWebString(arguments[1])); 1545 Vector<WebViewHost*> windowList = m_shell->windowList(); 1546 for (size_t i = 0; i < windowList.size(); i++) 1547 windowList[i]->geolocationClientMock()->setError(arguments[0].toInt32(), cppVariantToWebString(arguments[1])); 1540 1548 } 1541 1549 -
trunk/Tools/DumpRenderTree/chromium/TestShell.h
r75036 r75934 167 167 static const int virtualWindowBorder = 3; 168 168 169 typedef Vector<WebViewHost*> WindowList; 170 WindowList windowList() const { return m_windowList; } 171 169 172 private: 170 173 WebViewHost* createNewWindow(const WebKit::WebURL&, DRTDevToolsAgent*); … … 208 211 // List of all windows in this process. 209 212 // The main window should be put into windowList[0]. 210 typedef Vector<WebViewHost*> WindowList;211 213 WindowList m_windowList; 212 214
Note: See TracChangeset
for help on using the changeset viewer.