diff options
Diffstat (limited to 'WebKit/win/WebView.cpp')
-rw-r--r-- | WebKit/win/WebView.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp index 1fbd8d3..20f0f06 100644 --- a/WebKit/win/WebView.cpp +++ b/WebKit/win/WebView.cpp @@ -2561,12 +2561,13 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame( #else WebGeolocationControllerClient* geolocationControllerClient = 0; #endif + DeviceOrientationClient* deviceOrientationClient = 0; BOOL useHighResolutionTimer; if (SUCCEEDED(m_preferences->shouldUseHighResolutionTimers(&useHighResolutionTimer))) Settings::setShouldUseHighResolutionTimers(useHighResolutionTimer); - m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), geolocationControllerClient); + m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), geolocationControllerClient, deviceOrientationClient); BSTR localStoragePath; if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath))) { @@ -4593,6 +4594,12 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification) return hr; settings->setEditableLinkBehavior((EditableLinkBehavior)behavior); + WebKitEditingBehavior editingBehavior; + hr = preferences->editingBehavior(&editingBehavior); + if (FAILED(hr)) + return hr; + settings->setEditingBehavior((EditingBehavior)editingBehavior); + hr = preferences->usesPageCache(&enabled); if (FAILED(hr)) return hr; @@ -6155,7 +6162,7 @@ void WebView::setAcceleratedCompositing(bool accelerated) return; if (accelerated) { - m_layerRenderer = WKCACFLayerRenderer::create(); + m_layerRenderer = WKCACFLayerRenderer::create(this); if (m_layerRenderer) { m_isAcceleratedCompositing = true; @@ -6371,6 +6378,20 @@ HRESULT WebView::nextDisplayIsSynchronous() return S_OK; } +#if USE(ACCELERATED_COMPOSITING) +bool WebView::shouldRender() const +{ + Frame* coreFrame = core(m_mainFrame); + if (!coreFrame) + return true; + FrameView* frameView = coreFrame->view(); + if (!frameView) + return true; + + return !frameView->layoutPending(); +} +#endif + class EnumTextMatches : public IEnumTextMatches { long m_ref; |