X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/062aa562d0402b7fe888dbcf3a5a94ef28560d1f..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/html/htmlctrl/webkit/webkit.mm diff --git a/src/html/htmlctrl/webkit/webkit.mm b/src/html/htmlctrl/webkit/webkit.mm index fcd39df1b2..1152845843 100644 --- a/src/html/htmlctrl/webkit/webkit.mm +++ b/src/html/htmlctrl/webkit/webkit.mm @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: webkit.mm +// Name: src/html/htmlctrl/webkit/webkit.mm // Purpose: wxWebKitCtrl - embeddable web kit control // Author: Jethro Grassie / Kevin Ollivier // Modified by: @@ -406,7 +406,6 @@ bool wxWebKitCtrl::Create(wxWindow *parent, const wxValidator& validator, const wxString& name) { - m_currentURL = strURL; //m_pageTitle = _("Untitled Page"); @@ -427,6 +426,7 @@ bool wxWebKitCtrl::Create(wxWindow *parent, } */ // now create and attach WebKit view... + DontCreatePeer(); #ifdef __WXCOCOA__ wxControl::Create(parent, m_windowID, pos, sizeInstance, style , validator , name); SetSize(pos.x, pos.y, sizeInstance.x, sizeInstance.y); @@ -445,31 +445,33 @@ bool wxWebKitCtrl::Create(wxWindow *parent, if(m_parent) m_parent->CocoaAddChild(this); SetInitialFrameRect(pos,sizeInstance); #else - m_macIsUserPane = false; + DontCreatePeer(); wxControl::Create(parent, winID, pos, size, style , validator , name); #if wxOSX_USE_CARBON - m_peer = new wxMacControl(this); + wxMacControl* peer = new wxMacControl(this); WebInitForCarbon(); - HIWebViewCreate( m_peer->GetControlRefAddr() ); + HIWebViewCreate( peer->GetControlRefAddr() ); - m_webView = (WebView*) HIWebViewGetWebView( m_peer->GetControlRef() ); + m_webView = (WebView*) HIWebViewGetWebView( peer->GetControlRef() ); #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 if ( UMAGetSystemVersion() >= 0x1030 ) - HIViewChangeFeatures( m_peer->GetControlRef() , kHIViewIsOpaque , 0 ) ; + HIViewChangeFeatures( peer->GetControlRef() , kHIViewIsOpaque , 0 ) ; #endif - InstallControlEventHandler( m_peer->GetControlRef() , GetwxWebKitCtrlEventHandlerUPP(), + InstallControlEventHandler( peer->GetControlRef() , GetwxWebKitCtrlEventHandlerUPP(), GetEventTypeCount(eventList), eventList, this, (EventHandlerRef *)&m_webKitCtrlEventHandler); + + SetPeer(peer); #else NSRect r = wxOSXGetFrameForControl( this, pos , size ) ; m_webView = [[WebView alloc] initWithFrame:r frameName:@"webkitFrame" groupName:@"webkitGroup"]; - m_peer = new wxWidgetCocoaImpl( this, m_webView ); + SetPeer(new wxWidgetCocoaImpl( this, m_webView )); #endif MacPostControlCreate(pos, size); #if wxOSX_USE_CARBON - HIViewSetVisible( m_peer->GetControlRef(), true ); + HIViewSetVisible( GetPeer()->GetControlRef(), true ); #endif [m_webView setHidden:false]; @@ -742,7 +744,7 @@ void wxWebKitCtrl::OnSize(wxSizeEvent &event){ // and this tripped me up at first. But in fact, what we want is the root view, because we need to // make the y origin relative to the very top of the window, not its contents, since we later flip // the y coordinate for Cocoa. - HIViewConvertRect (&rect, m_peer->GetControlRef(), + HIViewConvertRect (&rect, GetPeer()->GetControlRef(), HIViewGetRoot( (WindowRef) MacGetTopLevelWindowRef() ) ); x = (int)rect.origin.x; @@ -767,13 +769,13 @@ void wxWebKitCtrl::OnSize(wxSizeEvent &event){ if (IsShown()) [(WebView*)m_webView display]; - event.Skip(); #endif + event.Skip(); } void wxWebKitCtrl::MacVisibilityChanged(){ #if defined(__WXMAC__) && wxOSX_USE_CARBON - bool isHidden = !IsControlVisible( m_peer->GetControlRef()); + bool isHidden = !IsControlVisible( GetPeer()->GetControlRef()); if (!isHidden) [(WebView*)m_webView display];