Changeset 90685 in webkit


Ignore:
Timestamp:
Jul 9, 2011 12:44:14 PM (13 years ago)
Author:
kevino@webkit.org
Message:

Reviewed by Kevin Ollivier.

[wx] In load events, specify the wxWebFrame that sent them.

https://bugs.webkit.org/show_bug.cgi?id=64233

Location:
trunk/Source/WebKit/wx
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/wx/ChangeLog

    r90683 r90685  
    1 2011-07-08  Robin Dunn  <robin@alldunn.com>
     12011-07-09  Robin Dunn  <robin@alldunn.com>
     2
     3        Reviewed by Kevin Ollivier.
     4
     5        [wx] In load events, specify the wxWebFrame that sent them.
     6       
     7        https://bugs.webkit.org/show_bug.cgi?id=64233
     8
     9        * WebBrowserShell.cpp:
     10        (wxWebBrowserShell::OnLoadEvent):
     11        * WebFrame.cpp:
     12        (wxWebFrame::GetName):
     13        * WebFrame.h:
     14        * WebKitSupport/FrameLoaderClientWx.cpp:
     15        (WebCore::FrameLoaderClientWx::dispatchDidHandleOnloadEvents):
     16        (WebCore::FrameLoaderClientWx::dispatchDidStartProvisionalLoad):
     17        (WebCore::FrameLoaderClientWx::dispatchDidReceiveTitle):
     18        (WebCore::FrameLoaderClientWx::dispatchDidCommitLoad):
     19        (WebCore::FrameLoaderClientWx::dispatchDidFinishDocumentLoad):
     20        (WebCore::FrameLoaderClientWx::postProgressFinishedNotification):
     21        (WebCore::FrameLoaderClientWx::dispatchDidFailLoading):
     22        (WebCore::FrameLoaderClientWx::dispatchDecidePolicyForNewWindowAction):
     23        (WebCore::FrameLoaderClientWx::dispatchDecidePolicyForNavigationAction):
     24        * WebView.h:
     25        * bindings/python/webview.i:
     26
     272011-07-09  Robin Dunn  <robin@alldunn.com>
    228
    329        Reviewed by Kevin Ollivier.
  • trunk/Source/WebKit/wx/WebBrowserShell.cpp

    r87745 r90685  
    230230        else if (event.GetState() == wxWEBVIEW_LOAD_TRANSFERRING) {
    231231            GetStatusBar()->SetStatusText(_("Loading ") + event.GetURL());
     232            if (event.GetFrame() == webview->GetMainFrame())
     233                addressBar->SetValue(event.GetURL());
    232234        }
    233235        else if (event.GetState() == wxWEBVIEW_LOAD_ONLOAD_HANDLED) {
    234236            GetStatusBar()->SetStatusText(_("Load complete."));
    235             addressBar->SetValue(event.GetURL());
    236             SetTitle(webview->GetPageTitle());
     237            if (event.GetFrame() == webview->GetMainFrame())
     238                SetTitle(webview->GetPageTitle());
    237239        }
    238240        else if (event.GetState() == wxWEBVIEW_LOAD_FAILED) {
  • trunk/Source/WebKit/wx/WebFrame.cpp

    r90683 r90685  
    239239}
    240240
     241wxString wxWebFrame::GetName()
     242{
     243    if (m_impl && m_impl->frame && m_impl->frame->tree())
     244        return m_impl->frame->tree()->name().string();
     245    return wxEmptyString;
     246}
     247
    241248WebCore::Frame* wxWebFrame::GetFrame()
    242249{
  • trunk/Source/WebKit/wx/WebFrame.h

    r90509 r90685  
    135135    void Redo();
    136136   
     137    wxString GetName();
     138   
    137139    wxString GetPageSource();
    138140    void SetPageSource(const wxString& source, const wxString& baseUrl = wxEmptyString, const wxString& mimetype = wxT("text/html"));
  • trunk/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp

    r88628 r90685  
    234234        wkEvent.SetState(wxWEBVIEW_LOAD_ONLOAD_HANDLED);
    235235        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
     236        wkEvent.SetFrame(m_webFrame);
    236237        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    237238    }
     
    291292        wkEvent.SetState(wxWEBVIEW_LOAD_NEGOTIATING);
    292293        wkEvent.SetURL(m_frame->loader()->provisionalDocumentLoader()->request().url().string());
     294        wkEvent.SetFrame(m_webFrame);
    293295        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    294296    }
     
    300302    if (m_webView) {
    301303        // FIXME: use direction of title.
    302         m_webView->SetPageTitle(title.string());
     304        if (m_webFrame == m_webView->GetMainFrame())
     305            m_webView->SetPageTitle(title.string());
     306       
    303307        wxWebViewReceivedTitleEvent wkEvent(m_webView);
     308        wkEvent.SetFrame(m_webFrame);
    304309        wkEvent.SetTitle(title.string());
    305310        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
     
    314319        wkEvent.SetState(wxWEBVIEW_LOAD_TRANSFERRING);
    315320        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
     321        wkEvent.SetFrame(m_webFrame);
    316322        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    317323    }
     
    324330        wkEvent.SetState(wxWEBVIEW_LOAD_DOC_COMPLETED);
    325331        wkEvent.SetURL(m_frame->document()->url().string());
     332        wkEvent.SetFrame(m_webFrame);
    326333        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    327334    }
     
    398405        wkEvent.SetState(wxWEBVIEW_LOAD_DL_COMPLETED);
    399406        wkEvent.SetURL(m_frame->document()->url().string());
     407        wkEvent.SetFrame(m_webFrame);
    400408        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    401409    }
     
    752760        wkEvent.SetState(wxWEBVIEW_LOAD_FAILED);
    753761        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
     762        wkEvent.SetFrame(m_webFrame);
    754763        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    755764    }
     
    796805        wkEvent.SetURL(request.url().string());
    797806        wkEvent.SetTargetName(targetName);
     807        wkEvent.SetFrame(m_webFrame);
    798808        if (m_webView->GetEventHandler()->ProcessEvent(wkEvent)) {
    799809            // if the app handles and doesn't skip the event,
     
    816826        wkEvent.SetNavigationType(wxNavTypeFromWebNavType(action.type()));
    817827        wkEvent.SetURL(request.url().string());
    818        
     828        wkEvent.SetFrame(m_webFrame);
    819829        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
    820830        if (wkEvent.IsCancelled())
  • trunk/Source/WebKit/wx/WebView.h

    r89284 r90685  
    299299    void SetNavigationType(int navType) { m_navType = navType; }
    300300    int GetNavigationType() const { return m_navType; }
     301    wxWebFrame* GetFrame() const { return m_frame; }
     302    void SetFrame(wxWebFrame* frame) { m_frame = frame; }
    301303
    302304    wxWebViewBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL );
     
    307309    wxString m_url;
    308310    int m_navType;
     311    wxWebFrame* m_frame;
    309312};
    310313
     
    320323    wxString GetURL() const { return m_url; }
    321324    void SetURL(const wxString& url) { m_url = url; }
     325    wxWebFrame* GetFrame() const { return m_frame; }
     326    void SetFrame(wxWebFrame* frame) { m_frame = frame; }
    322327
    323328    wxWebViewLoadEvent( wxWindow* win = (wxWindow*) NULL );
     
    327332    int m_state;
    328333    wxString m_url;
     334    wxWebFrame* m_frame;
    329335};
    330336
     
    368374    wxWebKitWindowFeatures GetWindowFeatures() { return m_features; }
    369375    void SetWindowFeatures(wxWebKitWindowFeatures features) { m_features = features; }
     376    wxWebFrame* GetFrame() const { return m_frame; }
     377    void SetFrame(wxWebFrame* frame) { m_frame = frame; }
    370378
    371379    wxWebViewNewWindowEvent( wxWindow* win = static_cast<wxWindow*>(NULL));
     
    374382private:
    375383    wxWebView* m_webView;
     384    wxWebFrame* m_frame;
    376385    wxWebKitWindowFeatures m_features;
    377386    wxString m_url;
     
    498507    void SetTitle(const wxString& title) { m_title = title; }
    499508
     509    wxWebFrame* GetFrame() const { return m_frame; }
     510    void SetFrame(wxWebFrame* frame) { m_frame = frame; }
     511
    500512    wxWebViewReceivedTitleEvent( wxWindow* win = static_cast<wxWindow*>(NULL));
    501513    wxEvent *Clone(void) const { return new wxWebViewReceivedTitleEvent(*this); }
     
    503515private:
    504516    wxString m_title;
     517    wxWebFrame* m_frame;
    505518};
    506519
  • trunk/Source/WebKit/wx/bindings/python/webview.i

    r89284 r90685  
    163163%include WebView.h
    164164
     165%extend wxWebFrame {
     166    %pythoncode {
     167        def __eq__(self, other):
     168            return self.this == other.this
     169    }
     170}
     171
    165172%constant wxEventType wxEVT_WEBVIEW_BEFORE_LOAD;
    166173%constant wxEventType wxEVT_WEBVIEW_LOAD;
Note: See TracChangeset for help on using the changeset viewer.