Changeset 83531 in webkit


Ignore:
Timestamp:
Apr 11, 2011 4:26:02 PM (13 years ago)
Author:
weinig@apple.com
Message:

2011-04-11 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Move focus management out of WebKit via the UIClient
<rdar://problem/8784068>
https://bugs.webkit.org/show_bug.cgi?id=58278

  • MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::initialize): Add stubs for new UIClient functions.

2011-04-11 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Move focus management out of WebKit via the UIClient
<rdar://problem/8784068>
https://bugs.webkit.org/show_bug.cgi?id=58278

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:
  • UIProcess/API/qt/qwkpage.cpp: (QWKPage::QWKPage):
  • UIProcess/API/qt/qwkpage_p.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setFocus):
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::focus): (WebKit::WebUIClient::unfocus):
  • UIProcess/WebUIClient.h:
  • UIProcess/gtk/WebView.cpp:
  • UIProcess/gtk/WebView.h:
  • UIProcess/win/WebView.h: Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus.
Location:
trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r83525 r83531  
     12011-04-11  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        Move focus management out of WebKit via  the UIClient
     6        <rdar://problem/8784068>
     7        https://bugs.webkit.org/show_bug.cgi?id=58278
     8
     9        * UIProcess/API/C/WKPage.h:
     10        * UIProcess/API/mac/PageClientImpl.h:
     11        * UIProcess/API/mac/PageClientImpl.mm:
     12        * UIProcess/API/qt/qwkpage.cpp:
     13        (QWKPage::QWKPage):
     14        * UIProcess/API/qt/qwkpage_p.h:
     15        * UIProcess/PageClient.h:
     16        * UIProcess/WebPageProxy.cpp:
     17        (WebKit::WebPageProxy::setFocus):
     18        * UIProcess/WebUIClient.cpp:
     19        (WebKit::WebUIClient::focus):
     20        (WebKit::WebUIClient::unfocus):
     21        * UIProcess/WebUIClient.h:
     22        * UIProcess/gtk/WebView.cpp:
     23        * UIProcess/gtk/WebView.h:
     24        * UIProcess/win/WebView.h:
     25        Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus.
     26
    1272011-04-11  Alexey Proskuryakov  <ap@apple.com>
    228
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.h

    r80943 r83531  
    150150typedef bool (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, const void *clientInfo);
    151151typedef WKStringRef (*WKPageRunJavaScriptPromptCallback)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, const void *clientInfo);
     152typedef void (*WKPageFocusCallback)(WKPageRef page, const void *clientInfo);
     153typedef void (*WKPageUnfocusCallback)(WKPageRef page, const void *clientInfo);
    152154typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, const void *clientInfo);
    153155typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
     
    182184    WKPageCallback                                                      showPage;
    183185    WKPageCallback                                                      close;
     186    WKPageFocusCallback                                                 focus;
     187    WKPageUnfocusCallback                                               unfocus;
    184188    WKPageRunJavaScriptAlertCallback                                    runJavaScriptAlert;
    185189    WKPageRunJavaScriptConfirmCallback                                  runJavaScriptConfirm;
  • trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h

    r83454 r83531  
    6464    virtual void pageClosed();
    6565    virtual void didRelaunchProcess();
    66     virtual void setFocus(bool focused);
    6766    virtual void takeFocus(bool direction);
    6867    virtual void toolTipChanged(const String& oldToolTip, const String& newToolTip);
  • trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm

    r83454 r83531  
    194194}
    195195
    196 void PageClientImpl::setFocus(bool focused)
    197 {
    198     if (focused)
    199         [[m_wkView window] makeFirstResponder:m_wkView];
    200     else
    201         // takeFocus in this context means take focus away from the WKView.
    202         takeFocus(true);
    203 }
    204    
    205196void PageClientImpl::takeFocus(bool direction)
    206197{
  • trunk/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp

    r83194 r83531  
    468468        qt_wk_showPage,
    469469        qt_wk_close,
     470        0,  /* focus */
     471        0,  /* unfocus */
    470472        qt_wk_runJavaScriptAlert,
    471473        0,  /* runJavaScriptConfirm */
  • trunk/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h

    r83454 r83531  
    7373    virtual void setViewportArguments(const WebCore::ViewportArguments&);
    7474    virtual void takeFocus(bool direction);
    75     virtual void setFocus(bool focused) { }
    7675    virtual void toolTipChanged(const WTF::String&, const WTF::String&);
    7776    virtual void registerEditCommand(PassRefPtr<WebKit::WebEditCommandProxy>, WebKit::WebPageProxy::UndoOrRedo);
  • trunk/Source/WebKit2/UIProcess/PageClient.h

    r83460 r83531  
    8282    virtual void pageClosed() = 0;
    8383
    84     virtual void setFocus(bool focused) = 0;
    8584    virtual void takeFocus(bool direction) = 0;
    8685    virtual void toolTipChanged(const String&, const String&) = 0;
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r83513 r83531  
    24862486void WebPageProxy::setFocus(bool focused)
    24872487{
    2488     m_pageClient->setFocus(focused);
     2488    if (focused)
     2489        m_uiClient.focus(this);
     2490    else
     2491        m_uiClient.unfocus(this);
    24892492}
    24902493
  • trunk/Source/WebKit2/UIProcess/WebUIClient.cpp

    r80943 r83531  
    8585}
    8686
     87void WebUIClient::focus(WebPageProxy* page)
     88{
     89    if (!m_client.focus)
     90        return;
     91   
     92    m_client.focus(toAPI(page), m_client.clientInfo);
     93}
     94
     95void WebUIClient::unfocus(WebPageProxy* page)
     96{
     97    if (!m_client.unfocus)
     98        return;
     99
     100    m_client.unfocus(toAPI(page), m_client.clientInfo);
     101}
     102
    87103void WebUIClient::runJavaScriptAlert(WebPageProxy* page, const String& message, WebFrameProxy* frame)
    88104{
  • trunk/Source/WebKit2/UIProcess/WebUIClient.h

    r80943 r83531  
    5757    void close(WebPageProxy*);
    5858
     59    void focus(WebPageProxy*);
     60    void unfocus(WebPageProxy*);
     61
    5962    void runJavaScriptAlert(WebPageProxy*, const String&, WebFrameProxy*);
    6063    bool runJavaScriptConfirm(WebPageProxy*, const String&, WebFrameProxy*);
  • trunk/Source/WebKit2/UIProcess/gtk/WebView.cpp

    r83194 r83531  
    415415}
    416416
    417 void WebView::setFocus(bool)
    418 {
    419     notImplemented();
    420 }
    421 
    422417void WebView::takeFocus(bool)
    423418{
  • trunk/Source/WebKit2/UIProcess/gtk/WebView.h

    r83194 r83531  
    8989    virtual void didRelaunchProcess();
    9090    virtual void pageClosed();
    91     virtual void setFocus(bool focused);
    9291    virtual void takeFocus(bool direction);
    9392    virtual void toolTipChanged(const WTF::String&, const WTF::String&);
  • trunk/Source/WebKit2/UIProcess/win/WebView.h

    r83460 r83531  
    158158    virtual void pageClosed();
    159159    virtual void takeFocus(bool direction);
    160     virtual void setFocus(bool focused) { }
    161160    virtual void toolTipChanged(const WTF::String&, const WTF::String&);
    162161    virtual void setCursor(const WebCore::Cursor&);
  • trunk/Tools/ChangeLog

    r83530 r83531  
     12011-04-11  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        Move focus management out of WebKit via  the UIClient
     6        <rdar://problem/8784068>
     7        https://bugs.webkit.org/show_bug.cgi?id=58278
     8
     9        * MiniBrowser/mac/BrowserWindowController.m:
     10        (-[BrowserWindowController awakeFromNib]):
     11        * WebKitTestRunner/TestController.cpp:
     12        (WTR::TestController::createOtherPage):
     13        (WTR::TestController::initialize):
     14        Add stubs for new UIClient functions.
     15
    1162011-02-03  Martin Robinson  <mrobinson@igalia.com>
    217
  • trunk/Tools/MiniBrowser/mac/BrowserWindowController.m

    r80943 r83531  
    619619        showPage,
    620620        closePage,
     621        0,          /* focus */
     622        0,          /* unfocus */
    621623        runJavaScriptAlert,
    622624        runJavaScriptConfirm,
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r81606 r83531  
    140140        0, // showPage
    141141        closeOtherPage,
     142        0, // focus
     143        0, // unfocus
    142144        0, // runJavaScriptAlert       
    143145        0, // runJavaScriptConfirm
     
    274276        0, // showPage
    275277        0, // close
     278        0, // focus
     279        0, // unfocus
    276280        0, // runJavaScriptAlert       
    277281        0, // runJavaScriptConfirm
Note: See TracChangeset for help on using the changeset viewer.