Changeset 140269 in webkit


Ignore:
Timestamp:
Jan 20, 2013 1:40:09 AM (11 years ago)
Author:
jochen@chromium.org
Message:

[chromium] move geolocation related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107267

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestRunner::WebTestDelegate::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner::WebTestDelegate::setGeolocationPermission):
(WebTestRunner::WebTestDelegate::setMockGeolocationPosition):
(WebTestRunner::WebTestDelegate::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner):
(WebTestRunner::TestRunner::setGeolocationPermission):
(WebTestRunner::TestRunner::setMockGeolocationPosition):
(WebTestRunner::TestRunner::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::numberOfPendingGeolocationPermissionRequests):
(WebViewHost::setGeolocationPermission):
(WebViewHost::setMockGeolocationPosition):
(WebViewHost::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/WebViewHost.h:
Location:
trunk/Tools
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r140268 r140269  
     12013-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
    1332013-01-19  Zan Dobersek  <zdobersek@igalia.com>
    234
  • trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.cpp

    r140119 r140269  
    4646#include "WebFindOptions.h"
    4747#include "WebFrame.h"
    48 #include "WebGeolocationClientMock.h"
    4948#include "WebIDBFactory.h"
    5049#include "WebInputElement.h"
     
    108107#endif
    109108    bindMethod("notifyDone", &DRTTestRunner::notifyDone);
    110     bindMethod("numberOfPendingGeolocationPermissionRequests", &DRTTestRunner:: numberOfPendingGeolocationPermissionRequests);
    111109    bindMethod("queueBackNavigation", &DRTTestRunner::queueBackNavigation);
    112110    bindMethod("queueForwardNavigation", &DRTTestRunner::queueForwardNavigation);
     
    118116    bindMethod("setCloseRemainingWindowsWhenComplete", &DRTTestRunner::setCloseRemainingWindowsWhenComplete);
    119117    bindMethod("setCustomPolicyDelegate", &DRTTestRunner::setCustomPolicyDelegate);
    120     bindMethod("setGeolocationPermission", &DRTTestRunner::setGeolocationPermission);
    121     bindMethod("setMockGeolocationPositionUnavailableError", &DRTTestRunner::setMockGeolocationPositionUnavailableError);
    122     bindMethod("setMockGeolocationPosition", &DRTTestRunner::setMockGeolocationPosition);
    123118    bindMethod("setWillSendRequestClearHeader", &DRTTestRunner::setWillSendRequestClearHeader);
    124119    bindMethod("setWillSendRequestReturnsNull", &DRTTestRunner::setWillSendRequestReturnsNull);
     
    504499}
    505500
    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=52368
    518 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: Benjamin
    545     for (size_t i = 0; i < windowList.size(); i++)
    546         windowList[i]->geolocationClientMock()->setPositionUnavailableError(cppVariantToWebString(arguments[0]));
    547 }
    548 
    549501#if ENABLE(INPUT_SPEECH)
    550502void DRTTestRunner::addMockSpeechInputResult(const CppArgumentList& arguments, CppVariant* result)
  • trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.h

    r140119 r140269  
    5151#include <wtf/OwnPtr.h>
    5252
    53 namespace WebKit {
    54 class WebGeolocationClientMock;
    55 }
    56 
    5753namespace webkit_support {
    5854class ScopedTempDirectory;
     
    121117    void display(const CppArgumentList&, CppVariant*);
    122118    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*);
    131119
    132120    // Speech input related functions.
  • trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h

    r140119 r140269  
    100100    virtual void setPointerLockWillRespondAsynchronously() { }
    101101    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&) { }
    102106};
    103107
  • trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp

    r140119 r140269  
    22 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 * Copyright (C) 2010 Pawel Hajdan (phajdan.jr@chromium.org)
     4 * Copyright (C) 2012 Apple Inc. All Rights Reserved.
    45 *
    56 * Redistribution and use in source and binary forms, with or without
     
    217218    bindMethod("setBackingScaleFactor", &TestRunner::setBackingScaleFactor);
    218219    bindMethod("setPOSIXLocale", &TestRunner::setPOSIXLocale);
     220    bindMethod("numberOfPendingGeolocationPermissionRequests", &TestRunner:: numberOfPendingGeolocationPermissionRequests);
     221    bindMethod("setGeolocationPermission", &TestRunner::setGeolocationPermission);
     222    bindMethod("setMockGeolocationPositionUnavailableError", &TestRunner::setMockGeolocationPositionUnavailableError);
     223    bindMethod("setMockGeolocationPosition", &TestRunner::setMockGeolocationPosition);
    219224
    220225    // Properties.
     
    14271432}
    14281433
     1434void 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
     1441void 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
     1449void 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
     1457void 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
    14291465void TestRunner::dumpEditingCallbacks(const CppArgumentList&, CppVariant* result)
    14301466{
  • trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h

    r140119 r140269  
    22 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 * Copyright (C) 2010 Pawel Hajdan (phajdan.jr@chromium.org)
     4 * Copyright (C) 2012 Apple Inc. All Rights Reserved.
    45 *
    56 * Redistribution and use in source and binary forms, with or without
     
    368369    void setPOSIXLocale(const CppArgumentList&, CppVariant*);
    369370
     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
    370379    ///////////////////////////////////////////////////////////////////////////
    371380    // Properties
  • trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp

    r139875 r140269  
    11411141}
    11421142
     1143int 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
     1152void 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
     1159void 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
     1166void 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
    11431174// Public functions -----------------------------------------------------------
    11441175
  • trunk/Tools/DumpRenderTree/chromium/WebViewHost.h

    r140119 r140269  
    161161    virtual void setPointerLockWillFailSynchronously() OVERRIDE { m_pointerLockPlannedResult = PointerLockWillFailSync; }
    162162#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;
    163167
    164168    // NavigationHost
Note: See TracChangeset for help on using the changeset viewer.