Changeset 63627 in webkit


Ignore:
Timestamp:
Jul 18, 2010 10:01:19 AM (14 years ago)
Author:
andersca@apple.com
Message:

Add dumping of statusbar text to WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=42516

Reviewed by Dan Bernstein.

WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:

Add setStatusbarText callback to WKBundlePageUIClient.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::setStatusbarText):
Call setStatusbarText.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::setStatusbarText):
Call the bundle page UI client.

WebKitTools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::_setStatusbarText):
(WTR::InjectedBundlePage::setStatusbarText):
Dump the statusbar text.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::LayoutTestController):
Initialize m_dumpStatusCallbacks to false.

(WTR::dumpStatusCallbacksCallback):
Implement JSC callback.

(WTR::LayoutTestController::staticFunctions):
Add dumpStatusCallbacks.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::dumpStatusCallbacks):
(WTR::LayoutTestController::setDumpStatusCallbacks):
Add setter and getter for m_dumpStatusCallbacks.

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r63621 r63627  
     12010-07-18  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Add dumping of statusbar text to WebKitTestRunner
     6        https://bugs.webkit.org/show_bug.cgi?id=42516
     7
     8        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
     9        Add setStatusbarText callback to WKBundlePageUIClient.
     10
     11        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
     12        (WebKit::InjectedBundlePageUIClient::setStatusbarText):
     13        Call setStatusbarText.
     14
     15        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
     16        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     17        (WebKit::WebChromeClient::setStatusbarText):
     18        Call the bundle page UI client.
     19
    1202010-07-17  Anders Carlsson  <andersca@apple.com>
    221
  • trunk/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h

    r63455 r63627  
    6262// UI Client
    6363typedef void (*WKBundlePageAddMessageToConsoleCallback)(WKBundlePageRef page, WKStringRef message, uint32_t lineNumber, const void *clientInfo);
     64typedef void (*WKBundlePageSetStatusbarTextCallback)(WKBundlePageRef page, WKStringRef statusbarText, const void *clientInfo);
    6465
    6566struct WKBundlePageUIClient {
     
    6768    const void *                                                        clientInfo;
    6869    WKBundlePageAddMessageToConsoleCallback                             addMessageToConsole;
     70    WKBundlePageSetStatusbarTextCallback                                setStatusbarText;
    6971};
    7072typedef struct WKBundlePageUIClient WKBundlePageUIClient;
  • trunk/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp

    r62590 r63627  
    5353}
    5454
     55void InjectedBundlePageUIClient::setStatusbarText(WebPage* page, const String& statusbarText)
     56{
     57    if (m_client.setStatusbarText)
     58        m_client.setStatusbarText(toRef(page), toRef(statusbarText.impl()), m_client.clientInfo);
     59}
     60
    5561} // namespace WebKit
  • trunk/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageUIClient.h

    r62590 r63627  
    4343
    4444    void addMessageToConsole(WebPage*, const WebCore::String& message, int32_t lineNumber);
     45    void setStatusbarText(WebPage*, const WebCore::String&);
    4546
    4647private:
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r63339 r63627  
    231231}
    232232
    233 void WebChromeClient::setStatusbarText(const String&)
    234 {
     233void WebChromeClient::setStatusbarText(const String& statusbarText)
     234{
     235    // Notify the bundle client.
     236    m_page->injectedBundleUIClient().setStatusbarText(m_page, statusbarText);
     237
    235238    notImplemented();
    236239}
  • trunk/WebKitTools/ChangeLog

    r63621 r63627  
     12010-07-18  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Add dumping of statusbar text to WebKitTestRunner
     6        https://bugs.webkit.org/show_bug.cgi?id=42516
     7
     8        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
     9        (WTR::InjectedBundlePage::InjectedBundlePage):
     10        (WTR::InjectedBundlePage::_setStatusbarText):
     11        (WTR::InjectedBundlePage::setStatusbarText):
     12        Dump the statusbar text.
     13
     14        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
     15        * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
     16        (WTR::LayoutTestController::LayoutTestController):
     17        Initialize m_dumpStatusCallbacks to false.
     18
     19        (WTR::dumpStatusCallbacksCallback):
     20        Implement JSC callback.
     21
     22        (WTR::LayoutTestController::staticFunctions):
     23        Add dumpStatusCallbacks.
     24
     25        * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
     26        (WTR::LayoutTestController::dumpStatusCallbacks):
     27        (WTR::LayoutTestController::setDumpStatusCallbacks):
     28        Add setter and getter for m_dumpStatusCallbacks.
     29
    1302010-07-17  Anders Carlsson  <andersca@apple.com>
    231
  • trunk/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp

    r63164 r63627  
    5959        0,
    6060        this,
    61         _addMessageToConsole
     61        _addMessageToConsole,
     62        _setStatusbarText
    6263    };
    6364    WKBundlePageSetUIClient(m_page, &uiClient);
     
    199200}
    200201
     202void InjectedBundlePage::_setStatusbarText(WKBundlePageRef page, WKStringRef statusbarText, const void *clientInfo)
     203{
     204    static_cast<InjectedBundlePage*>(const_cast<void*>(clientInfo))->setStatusbarText(statusbarText);
     205}
     206
    201207void InjectedBundlePage::addMessageToConsole(WKStringRef message, uint32_t lineNumber)
    202208{
     
    206212}
    207213
     214void InjectedBundlePage::setStatusbarText(WKStringRef statusbarText)
     215{
     216    if (!InjectedBundle::shared().layoutTestController()->dumpStatusCallbacks())
     217        return;
     218
     219    OwnPtr<Vector<char> > utf8StatusbarText = WKStringToUTF8(statusbarText);
     220    InjectedBundle::shared().os() << "UI DELEGATE STATUS CALLBACK: setStatusText:" << utf8StatusbarText << "\n";
     221}
     222
    208223} // namespace WTR
  • trunk/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h

    r63061 r63627  
    6262    // UI Client
    6363    static void _addMessageToConsole(WKBundlePageRef page, WKStringRef message, uint32_t lineNumber, const void *clientInfo);
     64    static void _setStatusbarText(WKBundlePageRef page, WKStringRef statusbarText, const void *clientInfo);
     65
    6466    void addMessageToConsole(WKStringRef message, uint32_t lineNumber);
     67    void setStatusbarText(WKStringRef statusbarText);
    6568
    6669    WKBundlePageRef m_page;
  • trunk/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp

    r63399 r63627  
    4343LayoutTestController::LayoutTestController(const std::string& testPathOrURL)
    4444    : m_dumpAsText(false)
     45    , m_dumpStatusCallbacks(false)
    4546    , m_waitToDump(false)
    4647    , m_testRepaint(false)
     
    134135}
    135136
     137static JSValueRef dumpStatusCallbacksCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
     138{
     139    LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
     140    controller->setDumpStatusCallbacks(true);
     141    return JSValueMakeUndefined(context);
     142}
     143
    136144static JSValueRef waitUntilDoneCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
    137145{
     
    225233        { "display", displayCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
    226234        { "dumpAsText", dumpAsTextCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
     235        { "dumpStatusCallbacks", dumpStatusCallbacksCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
    227236        { "notifyDone", notifyDoneCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
    228237        { "numberOfActiveAnimations", numberOfActiveAnimationsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
  • trunk/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h

    r63276 r63627  
    4545    void setDumpAsText(bool dumpAsText) { m_dumpAsText = dumpAsText; }
    4646
     47    bool dumpStatusCallbacks() const { return m_dumpStatusCallbacks; }
     48    void setDumpStatusCallbacks(bool dumpStatusCallbacks) { m_dumpStatusCallbacks = dumpStatusCallbacks; }
     49
    4750    bool waitToDump() const { return m_waitToDump; }
    4851    void setWaitToDump();
     
    6265
    6366    bool m_dumpAsText;
     67    bool m_dumpStatusCallbacks;
    6468    bool m_waitToDump; // True if waitUntilDone() has been called, but notifyDone() has not yet been called.
    6569    bool m_testRepaint;
Note: See TracChangeset for help on using the changeset viewer.