diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
commit | 33b26980cb24288b5a9f2590ccf32a949281bb79 (patch) | |
tree | cc0203dac37338b24b0b25a4694c0b76d4e4164b /Source/WebKit/chromium/src | |
parent | 715be629d51174233403237bfc563cf150087dc8 (diff) | |
download | qtwebkit-33b26980cb24288b5a9f2590ccf32a949281bb79.tar.gz |
Imported WebKit commit c596dd7f03007fa7ed896b928106497e8784b3b5 (http://svn.webkit.org/repository/webkit/trunk@129610)
New snapshot that removes QtQuick1 support (to be moved into QtQuick1 module)
Diffstat (limited to 'Source/WebKit/chromium/src')
6 files changed, 55 insertions, 25 deletions
diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp index 7a616c520..0ac5d932c 100644 --- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp +++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp @@ -867,15 +867,14 @@ void FrameLoaderClientImpl::dispatchDidFinishLoad() // provisional load succeeds or fails, not the "real" one. } -void FrameLoaderClientImpl::dispatchDidFirstLayout() +void FrameLoaderClientImpl::dispatchDidLayout(LayoutMilestones milestones) { - if (m_webFrame->client()) - m_webFrame->client()->didFirstLayout(m_webFrame); -} + if (!m_webFrame->client()) + return; -void FrameLoaderClientImpl::dispatchDidFirstVisuallyNonEmptyLayout() -{ - if (m_webFrame->client()) + if (milestones & DidFirstLayout) + m_webFrame->client()->didFirstLayout(m_webFrame); + if (milestones & DidFirstVisuallyNonEmptyLayout) m_webFrame->client()->didFirstVisuallyNonEmptyLayout(m_webFrame); } diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.h b/Source/WebKit/chromium/src/FrameLoaderClientImpl.h index 1cf5cd1e1..4d33267ce 100644 --- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.h +++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.h @@ -110,8 +110,7 @@ public: virtual void dispatchDidFailLoad(const WebCore::ResourceError&); virtual void dispatchDidFinishDocumentLoad(); virtual void dispatchDidFinishLoad(); - virtual void dispatchDidFirstLayout(); - virtual void dispatchDidFirstVisuallyNonEmptyLayout(); + virtual void dispatchDidLayout(WebCore::LayoutMilestones); virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&); virtual void dispatchShow(); virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction function, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&); diff --git a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp index f559715d9..a3dd824cc 100644 --- a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp +++ b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp @@ -580,12 +580,44 @@ unsigned WebAccessibilityObject::selectionStart() const return m_private->selectedTextRange().start; } +unsigned WebAccessibilityObject::selectionEndLineNumber() const +{ + if (isDetached()) + return 0; + + VisiblePosition position = m_private->visiblePositionForIndex(selectionEnd()); + int lineNumber = m_private->lineForPosition(position); + if (lineNumber < 0) + return 0; + return lineNumber; +} + +unsigned WebAccessibilityObject::selectionStartLineNumber() const +{ + if (isDetached()) + return 0; + + VisiblePosition position = m_private->visiblePositionForIndex(selectionStart()); + int lineNumber = m_private->lineForPosition(position); + if (lineNumber < 0) + return 0; + return lineNumber; +} + void WebAccessibilityObject::setFocused(bool on) const { if (!isDetached()) m_private->setFocused(on); } +void WebAccessibilityObject::setSelectedTextRange(int selectionStart, int selectionEnd) const +{ + if (isDetached()) + return; + + m_private->setSelectedTextRange(PlainTextRange(selectionStart, selectionEnd - selectionStart)); +} + WebString WebAccessibilityObject::stringValue() const { if (isDetached()) @@ -731,21 +763,15 @@ bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const if (isDetached()) return false; - int textLength = m_private->textLength(); - if (!textLength) - return false; + Vector<int> lineBreaksVector; + m_private->lineBreaks(lineBreaksVector); - VisiblePosition pos = m_private->visiblePositionForIndex(textLength); - int lineBreakCount = m_private->lineForPosition(pos); - if (lineBreakCount <= 0) - return false; + size_t vectorSize = lineBreaksVector.size(); + WebVector<int> lineBreaksWebVector(vectorSize); + for (size_t i = 0; i< vectorSize; i++) + lineBreaksWebVector[i] = lineBreaksVector[i]; + result.swap(lineBreaksWebVector); - WebVector<int> lineBreaks(static_cast<size_t>(lineBreakCount)); - for (int i = 0; i < lineBreakCount; i++) { - PlainTextRange range = m_private->doAXRangeForLine(i); - lineBreaks[i] = range.start + range.length; - } - result.swap(lineBreaks); return true; } diff --git a/Source/WebKit/chromium/src/WebHelperPluginImpl.cpp b/Source/WebKit/chromium/src/WebHelperPluginImpl.cpp index afa3701aa..00991712d 100644 --- a/Source/WebKit/chromium/src/WebHelperPluginImpl.cpp +++ b/Source/WebKit/chromium/src/WebHelperPluginImpl.cpp @@ -184,6 +184,9 @@ bool WebHelperPluginImpl::initPage(WebKit::WebViewImpl* webView, const String& p m_page->settings()->setScriptEnabled(true); m_page->settings()->setPluginsEnabled(true); + unsigned layoutMilestones = DidFirstLayout | DidFirstVisuallyNonEmptyLayout; + m_page->addLayoutMilestones(static_cast<LayoutMilestones>(layoutMilestones)); + webView->client()->initializeHelperPluginWebFrame(this); // The page's main frame was set in initializeFrame() as a result of the above call. diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp index 980f81a8a..1e0fcebb5 100644 --- a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp +++ b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp @@ -182,6 +182,9 @@ bool WebPagePopupImpl::initPage() m_page->setDeviceScaleFactor(m_webView->deviceScaleFactor()); m_page->settings()->setDeviceSupportsTouch(m_webView->page()->settings()->deviceSupportsTouch()); + unsigned layoutMilestones = DidFirstLayout | DidFirstVisuallyNonEmptyLayout; + m_page->addLayoutMilestones(static_cast<LayoutMilestones>(layoutMilestones)); + static ContextFeaturesClient* pagePopupFeaturesClient = new PagePopupFeaturesClient(); provideContextFeaturesTo(m_page.get(), pagePopupFeaturesClient); static FrameLoaderClient* emptyFrameLoaderClient = new EmptyFrameLoaderClient(); diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp index 6666571b3..261f7c357 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.cpp +++ b/Source/WebKit/chromium/src/WebViewImpl.cpp @@ -483,6 +483,9 @@ WebViewImpl::WebViewImpl(WebViewClient* client) m_page->setGroupName(pageGroupName); + unsigned layoutMilestones = DidFirstLayout | DidFirstVisuallyNonEmptyLayout; + m_page->addLayoutMilestones(static_cast<LayoutMilestones>(layoutMilestones)); + #if ENABLE(PAGE_VISIBILITY_API) if (m_client) setVisibilityState(m_client->visibilityState(), true); @@ -1822,9 +1825,6 @@ void WebViewImpl::composite(bool) if (!page()) return; - if (m_pageOverlays) - m_pageOverlays->update(); - m_layerTreeView->composite(); } #endif |