Title: [119957] trunk/Source
Revision
119957
Author
[email protected]
Date
2012-06-10 23:58:40 -0700 (Sun, 10 Jun 2012)

Log Message

Unreviewed, rolling out r119955.
http://trac.webkit.org/changeset/119955
https://bugs.webkit.org/show_bug.cgi?id=88758

Breaks Chromium compile - Chromium depends on removed API
(Requested by dominicc on #webkit).

Patch by Sheriff Bot <[email protected]> on 2012-06-10

Source/WebCore:

* WebCore.exp.in:
* editing/Editor.cpp:
(WebCore::Editor::insideVisibleArea):
(WebCore):
(WebCore::Editor::firstVisibleRange):
(WebCore::Editor::lastVisibleRange):
(WebCore::Editor::nextVisibleRange):
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):
* editing/Editor.h:
(Editor):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::findFrameForNavigation):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::parent):
(WebCore::DOMWindow::top):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* page/Frame.h:
(Frame):
(WebCore::Frame::isDisconnected):
(WebCore):
(WebCore::Frame::setIsDisconnected):
(WebCore::Frame::excludeFromTextSearch):
(WebCore::Frame::setExcludeFromTextSearch):
* page/FrameTree.cpp:
(WebCore::FrameTree::parent):
(WebCore::FrameTree::top):
* page/FrameTree.h:
(FrameTree):
* page/Location.cpp:
(WebCore::Location::ancestorOrigins):
* xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::hasNoStyleInformation):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _setIsDisconnected:]):
(-[WebFrame _setExcludeFromTextSearch:]):
* WebView/WebFramePrivate.h:

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::setIsDisconnected):
(WebFrame::setExcludeFromTextSearch):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (119956 => 119957)


--- trunk/Source/WebCore/ChangeLog	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/ChangeLog	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1,3 +1,49 @@
+2012-06-10  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r119955.
+        http://trac.webkit.org/changeset/119955
+        https://bugs.webkit.org/show_bug.cgi?id=88758
+
+        Breaks Chromium compile - Chromium depends on removed API
+        (Requested by dominicc on #webkit).
+
+        * WebCore.exp.in:
+        * editing/Editor.cpp:
+        (WebCore::Editor::insideVisibleArea):
+        (WebCore):
+        (WebCore::Editor::firstVisibleRange):
+        (WebCore::Editor::lastVisibleRange):
+        (WebCore::Editor::nextVisibleRange):
+        (WebCore::Editor::rangeOfString):
+        (WebCore::Editor::countMatchesForText):
+        * editing/Editor.h:
+        (Editor):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::findFrameForNavigation):
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::parent):
+        (WebCore::DOMWindow::top):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::hitTestResultAtPoint):
+        * page/Frame.cpp:
+        (WebCore::Frame::Frame):
+        * page/Frame.h:
+        (Frame):
+        (WebCore::Frame::isDisconnected):
+        (WebCore):
+        (WebCore::Frame::setIsDisconnected):
+        (WebCore::Frame::excludeFromTextSearch):
+        (WebCore::Frame::setExcludeFromTextSearch):
+        * page/FrameTree.cpp:
+        (WebCore::FrameTree::parent):
+        (WebCore::FrameTree::top):
+        * page/FrameTree.h:
+        (FrameTree):
+        * page/Location.cpp:
+        (WebCore::Location::ancestorOrigins):
+        * xml/XMLTreeViewer.cpp:
+        (WebCore::XMLTreeViewer::hasNoStyleInformation):
+
 2012-06-08  Kinuko Yasuda  <[email protected]>
 
         Using BlobBuilder should show a deprecation warning message (if it is enabled)

Modified: trunk/Source/WebCore/WebCore.exp.in (119956 => 119957)


--- trunk/Source/WebCore/WebCore.exp.in	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/WebCore.exp.in	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1534,7 +1534,7 @@
 __ZNK7WebCore9FrameTree20traverseNextWithWrapEb
 __ZNK7WebCore9FrameTree24traversePreviousWithWrapEb
 __ZNK7WebCore9FrameTree4findERKN3WTF12AtomicStringE
-__ZNK7WebCore9FrameTree6parentEv
+__ZNK7WebCore9FrameTree6parentEb
 __ZNK7WebCore9FrameView11needsLayoutEv
 __ZNK7WebCore9FrameView13isTransparentEv
 __ZNK7WebCore9FrameView13paintBehaviorEv

Modified: trunk/Source/WebCore/editing/Editor.cpp (119956 => 119957)


--- trunk/Source/WebCore/editing/Editor.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/editing/Editor.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -2414,6 +2414,144 @@
     m_alternativeTextController->dismiss(ReasonForDismissingAlternativeTextIgnored);
 }
 
+bool Editor::insideVisibleArea(const LayoutPoint& point) const
+{
+    if (m_frame->excludeFromTextSearch())
+        return false;
+    
+    // Right now, we only check the visibility of a point for disconnected frames. For all other
+    // frames, we assume visibility.
+    Frame* frame = m_frame->isDisconnected() ? m_frame : m_frame->tree()->top(true);
+    if (!frame->isDisconnected())
+        return true;
+    
+    RenderPart* renderer = frame->ownerRenderer();
+    if (!renderer)
+        return false;
+
+    RenderBlock* container = renderer->containingBlock();
+    if (!(container->style()->overflowX() == OHIDDEN || container->style()->overflowY() == OHIDDEN))
+        return true;
+
+    LayoutRect rectInPageCoords = container->overflowClipRect(IntPoint(), 0); // FIXME: Incorrect for CSS regions.
+    LayoutRect rectInFrameCoords = LayoutRect(renderer->x() * -1, renderer->y() * -1,
+                                              rectInPageCoords.width(), rectInPageCoords.height());
+
+    return rectInFrameCoords.contains(point);
+}
+
+bool Editor::insideVisibleArea(Range* range) const
+{
+    if (!range)
+        return true;
+
+    if (m_frame->excludeFromTextSearch())
+        return false;
+    
+    // Right now, we only check the visibility of a range for disconnected frames. For all other
+    // frames, we assume visibility.
+    Frame* frame = m_frame->isDisconnected() ? m_frame : m_frame->tree()->top(true);
+    if (!frame->isDisconnected())
+        return true;
+    
+    RenderPart* renderer = frame->ownerRenderer();
+    if (!renderer)
+        return false;
+
+    RenderBlock* container = renderer->containingBlock();
+    if (!(container->style()->overflowX() == OHIDDEN || container->style()->overflowY() == OHIDDEN))
+        return true;
+
+    LayoutRect rectInPageCoords = container->overflowClipRect(LayoutPoint(), 0); // FIXME: Incorrect for CSS regions.
+    LayoutRect rectInFrameCoords = LayoutRect(renderer->x() * -1, renderer->y() * -1,
+                                    rectInPageCoords.width(), rectInPageCoords.height());
+    LayoutRect resultRect = range->boundingBox();
+    
+    return rectInFrameCoords.contains(resultRect);
+}
+
+PassRefPtr<Range> Editor::firstVisibleRange(const String& target, FindOptions options)
+{
+    RefPtr<Range> searchRange(rangeOfContents(m_frame->document()));
+    RefPtr<Range> resultRange = findPlainText(searchRange.get(), target, options & ~Backwards);
+    ExceptionCode ec = 0;
+
+    while (!insideVisibleArea(resultRange.get())) {
+        searchRange->setStartAfter(resultRange->endContainer(), ec);
+        if (searchRange->startContainer() == searchRange->endContainer())
+            return Range::create(m_frame->document());
+        resultRange = findPlainText(searchRange.get(), target, options & ~Backwards);
+    }
+    
+    return resultRange;
+}
+
+PassRefPtr<Range> Editor::lastVisibleRange(const String& target, FindOptions options)
+{
+    RefPtr<Range> searchRange(rangeOfContents(m_frame->document()));
+    RefPtr<Range> resultRange = findPlainText(searchRange.get(), target, options | Backwards);
+    ExceptionCode ec = 0;
+
+    while (!insideVisibleArea(resultRange.get())) {
+        searchRange->setEndBefore(resultRange->startContainer(), ec);
+        if (searchRange->startContainer() == searchRange->endContainer())
+            return Range::create(m_frame->document());
+        resultRange = findPlainText(searchRange.get(), target, options | Backwards);
+    }
+    
+    return resultRange;
+}
+
+PassRefPtr<Range> Editor::nextVisibleRange(Range* currentRange, const String& target, FindOptions options)
+{
+    if (m_frame->excludeFromTextSearch())
+        return Range::create(m_frame->document());
+
+    RefPtr<Range> resultRange = currentRange;
+    RefPtr<Range> searchRange(rangeOfContents(m_frame->document()));
+    ExceptionCode ec = 0;
+    bool forward = !(options & Backwards);
+    for ( ; !insideVisibleArea(resultRange.get()); resultRange = findPlainText(searchRange.get(), target, options)) {
+        if (resultRange->collapsed(ec)) {
+            if (!resultRange->startContainer()->isInShadowTree())
+                break;
+            searchRange = rangeOfContents(m_frame->document());
+            if (forward)
+                searchRange->setStartAfter(resultRange->startContainer()->shadowAncestorNode(), ec);
+            else
+                searchRange->setEndBefore(resultRange->startContainer()->shadowAncestorNode(), ec);
+            continue;
+        }
+
+        if (forward)
+            searchRange->setStartAfter(resultRange->endContainer(), ec);
+        else
+            searchRange->setEndBefore(resultRange->startContainer(), ec);
+
+        ShadowRoot* shadowRoot = searchRange->shadowRoot();
+        if (searchRange->collapsed(ec) && shadowRoot) {
+            if (forward)
+                searchRange->setEnd(shadowRoot, shadowRoot->childNodeCount(), ec);
+            else
+                searchRange->setStartBefore(shadowRoot, ec);
+        }
+        
+        if (searchRange->startContainer()->isDocumentNode() && searchRange->endContainer()->isDocumentNode())
+            break;
+    }
+    
+    if (insideVisibleArea(resultRange.get()))
+        return resultRange;
+    
+    if (!(options & WrapAround))
+        return Range::create(m_frame->document());
+
+    if (options & Backwards)
+        return lastVisibleRange(target, options);
+
+    return firstVisibleRange(target, options);
+}
+
 void Editor::changeSelectionAfterCommand(const VisibleSelection& newSelection, bool closeTyping, bool clearTypingStyle)
 {
     // If the new selection is orphaned, then don't update the selection.
@@ -2612,6 +2750,9 @@
     if (target.isEmpty())
         return 0;
 
+    if (m_frame->excludeFromTextSearch())
+        return 0;
+
     // Start from an edge of the reference range, if there's a reference range that's not in shadow content. Which edge
     // is used depends on whether we're searching forward or backward, and whether startInSelection is set.
     RefPtr<Range> searchRange(rangeOfContents(m_frame->document()));
@@ -2665,6 +2806,12 @@
         resultRange = findPlainText(searchRange.get(), target, options);
     }
 
+    if (!insideVisibleArea(resultRange.get())) {
+        resultRange = nextVisibleRange(resultRange.get(), target, options);
+        if (!resultRange)
+            return 0;
+    }
+
     // If we didn't find anything and we're wrapping, search again in the entire document (this will
     // redundantly re-search the area already searched in some cases).
     if (resultRange->collapsed() && options & WrapAround) {
@@ -2727,9 +2874,12 @@
             continue;
         }
 
-        ++matchCount;
-        if (markMatches)
-            m_frame->document()->markers()->addMarker(resultRange.get(), DocumentMarker::TextMatch);
+        // Only treat the result as a match if it is visible
+        if (insideVisibleArea(resultRange.get())) {
+            ++matchCount;
+            if (markMatches)
+                m_frame->document()->markers()->addMarker(resultRange.get(), DocumentMarker::TextMatch);
+        }
 
         // Stop looking if we hit the specified limit. A limit of 0 means no limit.
         if (limit > 0 && matchCount >= limit)

Modified: trunk/Source/WebCore/editing/Editor.h (119956 => 119957)


--- trunk/Source/WebCore/editing/Editor.h	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/editing/Editor.h	2012-06-11 06:58:40 UTC (rev 119957)
@@ -322,6 +322,10 @@
 
     PassRefPtr<Range> selectedRange();
     
+    // We should make these functions private when their callers in Frame are moved over here to Editor
+    bool insideVisibleArea(const LayoutPoint&) const;
+    bool insideVisibleArea(Range*) const;
+
     void addToKillRing(Range*, bool prepend);
 
     void startAlternativeTextUITimer();
@@ -429,6 +433,10 @@
     enum SetCompositionMode { ConfirmComposition, CancelComposition };
     void setComposition(const String&, SetCompositionMode);
 
+    PassRefPtr<Range> firstVisibleRange(const String&, FindOptions);
+    PassRefPtr<Range> lastVisibleRange(const String&, FindOptions);
+    PassRefPtr<Range> nextVisibleRange(Range*, const String&, FindOptions);
+
     void changeSelectionAfterCommand(const VisibleSelection& newSelection, bool closeTyping, bool clearTypingStyle);
 
     Node* findEventTargetFromSelection() const;

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (119956 => 119957)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -2933,7 +2933,7 @@
     // browsing context flag set, and continue these steps as if that
     // browsing context was the one that was going to be navigated instead.
     if (frame == m_frame && name != "_self" && m_frame->document()->shouldDisplaySeamlesslyWithParent()) {
-        for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree()->parent()) {
+        for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree()->parent(true)) {
             if (!ancestor->document()->shouldDisplaySeamlesslyWithParent()) {
                 frame = ancestor;
                 break;

Modified: trunk/Source/WebCore/page/DOMWindow.cpp (119956 => 119957)


--- trunk/Source/WebCore/page/DOMWindow.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/DOMWindow.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1280,7 +1280,7 @@
     if (!m_frame)
         return 0;
 
-    Frame* parent = m_frame->tree()->parent();
+    Frame* parent = m_frame->tree()->parent(true);
     if (parent)
         return parent->domWindow();
 
@@ -1296,7 +1296,7 @@
     if (!page)
         return 0;
 
-    return m_frame->tree()->top()->domWindow();
+    return m_frame->tree()->top(true)->domWindow();
 }
 
 Document* DOMWindow::document() const

Modified: trunk/Source/WebCore/page/EventHandler.cpp (119956 => 119957)


--- trunk/Source/WebCore/page/EventHandler.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1079,7 +1079,7 @@
     Frame* resultFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : 0;
     if (Page* page = m_frame->page()) {
         Frame* mainFrame = page->mainFrame();
-        if (m_frame != mainFrame && resultFrame && resultFrame != mainFrame) {
+        if (m_frame != mainFrame && resultFrame && resultFrame != mainFrame && !resultFrame->editor()->insideVisibleArea(result.point())) {
             FrameView* resultView = resultFrame->view();
             FrameView* mainView = mainFrame->view();
             if (resultView && mainView) {

Modified: trunk/Source/WebCore/page/Frame.cpp (119956 => 119957)


--- trunk/Source/WebCore/page/Frame.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/Frame.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -164,6 +164,8 @@
     , m_orientation(0)
 #endif
     , m_inViewSourceMode(false)
+    , m_isDisconnected(false)
+    , m_excludeFromTextSearch(false)
     , m_activeDOMObjectsAndAnimationsSuspendedCount(0)
 {
     ASSERT(page);

Modified: trunk/Source/WebCore/page/Frame.h (119956 => 119957)


--- trunk/Source/WebCore/page/Frame.h	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/Frame.h	2012-06-11 06:58:40 UTC (rev 119957)
@@ -119,6 +119,10 @@
 
     // ======== All public functions below this point are candidates to move out of Frame into another class. ========
 
+        bool isDisconnected() const;
+        void setIsDisconnected(bool);
+        bool excludeFromTextSearch() const;
+        void setExcludeFromTextSearch(bool);
         bool inScope(TreeScope*) const;
 
         void injectUserScripts(UserScriptInjectionTime);
@@ -233,6 +237,8 @@
 #endif
 
         bool m_inViewSourceMode;
+        bool m_isDisconnected;
+        bool m_excludeFromTextSearch;
 
 #if USE(TILED_BACKING_STORE)
     // FIXME: The tiled backing store belongs in FrameView, not Frame.
@@ -306,6 +312,26 @@
         return m_ownerElement;
     }
 
+    inline bool Frame::isDisconnected() const
+    {
+        return m_isDisconnected;
+    }
+
+    inline void Frame::setIsDisconnected(bool isDisconnected)
+    {
+        m_isDisconnected = isDisconnected;
+    }
+
+    inline bool Frame::excludeFromTextSearch() const
+    {
+        return m_excludeFromTextSearch;
+    }
+
+    inline void Frame::setExcludeFromTextSearch(bool exclude)
+    {
+        m_excludeFromTextSearch = exclude;
+    }
+
     inline bool Frame::inViewSourceMode() const
     {
         return m_inViewSourceMode;

Modified: trunk/Source/WebCore/page/FrameTree.cpp (119956 => 119957)


--- trunk/Source/WebCore/page/FrameTree.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/FrameTree.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -58,8 +58,10 @@
     m_uniqueName = AtomicString();
 }
 
-Frame* FrameTree::parent() const 
+Frame* FrameTree::parent(bool checkForDisconnectedFrame) const 
 { 
+    if (checkForDisconnectedFrame && m_thisFrame->isDisconnected())
+        return 0;
     return m_parent;
 }
 
@@ -381,11 +383,14 @@
     return result;
 }
 
-Frame* FrameTree::top() const
+Frame* FrameTree::top(bool checkForDisconnectedFrame) const
 {
     Frame* frame = m_thisFrame;
-    for (Frame* parent = m_thisFrame; parent; parent = parent->tree()->parent())
+    for (Frame* parent = m_thisFrame; parent; parent = parent->tree()->parent()) {
         frame = parent;
+        if (checkForDisconnectedFrame && frame->isDisconnected())
+            return frame;
+    }
     return frame;
 }
 

Modified: trunk/Source/WebCore/page/FrameTree.h (119956 => 119957)


--- trunk/Source/WebCore/page/FrameTree.h	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/FrameTree.h	2012-06-11 06:58:40 UTC (rev 119957)
@@ -48,7 +48,7 @@
         const AtomicString& uniqueName() const { return m_uniqueName; }
         void setName(const AtomicString&);
         void clearName();
-        Frame* parent() const;
+        Frame* parent(bool checkForDisconnectedFrame = false) const;
         void setParent(Frame* parent) { m_parent = parent; }
         
         Frame* nextSibling() const { return m_nextSibling.get(); }
@@ -73,7 +73,7 @@
 
         AtomicString uniqueChildName(const AtomicString& requestedName) const;
 
-        Frame* top() const;
+        Frame* top(bool checkForDisconnectedFrame = false) const;
 
         Frame* scopedChild(unsigned index) const;
         Frame* scopedChild(const AtomicString& name) const;

Modified: trunk/Source/WebCore/page/Location.cpp (119956 => 119957)


--- trunk/Source/WebCore/page/Location.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/page/Location.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -129,7 +129,7 @@
     RefPtr<DOMStringList> origins = DOMStringList::create();
     if (!m_frame)
         return origins.release();
-    for (Frame* frame = m_frame->tree()->parent(); frame; frame = frame->tree()->parent())
+    for (Frame* frame = m_frame->tree()->parent(true); frame; frame = frame->tree()->parent(true))
         origins->append(frame->document()->securityOrigin()->toString());
     return origins.release();
 }

Modified: trunk/Source/WebCore/xml/XMLTreeViewer.cpp (119956 => 119957)


--- trunk/Source/WebCore/xml/XMLTreeViewer.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebCore/xml/XMLTreeViewer.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -62,7 +62,7 @@
     if (!m_document->frame()->page()->settings()->developerExtrasEnabled())
         return false;
 
-    if (m_document->frame()->tree()->parent())
+    if (m_document->frame()->tree()->parent(true))
         return false; // This document is not in a top frame
 
     return true;

Modified: trunk/Source/WebKit/mac/ChangeLog (119956 => 119957)


--- trunk/Source/WebKit/mac/ChangeLog	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebKit/mac/ChangeLog	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1,3 +1,17 @@
+2012-06-10  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r119955.
+        http://trac.webkit.org/changeset/119955
+        https://bugs.webkit.org/show_bug.cgi?id=88758
+
+        Breaks Chromium compile - Chromium depends on removed API
+        (Requested by dominicc on #webkit).
+
+        * WebView/WebFrame.mm:
+        (-[WebFrame _setIsDisconnected:]):
+        (-[WebFrame _setExcludeFromTextSearch:]):
+        * WebView/WebFramePrivate.h:
+
 2012-06-10  Sam Weinig  <[email protected]>
 
         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore

Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (119956 => 119957)


--- trunk/Source/WebKit/mac/WebView/WebFrame.mm	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm	2012-06-11 06:58:40 UTC (rev 119957)
@@ -910,6 +910,16 @@
     return _private->coreFrame->domWindow()->pendingUnloadEventListeners();
 }
 
+- (void)_setIsDisconnected:(bool)isDisconnected
+{
+    _private->coreFrame->setIsDisconnected(isDisconnected);
+}
+
+- (void)_setExcludeFromTextSearch:(bool)exclude
+{
+    _private->coreFrame->setExcludeFromTextSearch(exclude);
+}
+
 #if ENABLE(NETSCAPE_PLUGIN_API)
 - (void)_recursive_resumeNullEventsForAllNetscapePlugins
 {

Modified: trunk/Source/WebKit/mac/WebView/WebFramePrivate.h (119956 => 119957)


--- trunk/Source/WebKit/mac/WebView/WebFramePrivate.h	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebKit/mac/WebView/WebFramePrivate.h	2012-06-11 06:58:40 UTC (rev 119957)
@@ -87,6 +87,9 @@
 
 - (unsigned)_pendingFrameUnloadEventCount;
 
+- (void)_setIsDisconnected:(bool)isDisconnected;
+- (void)_setExcludeFromTextSearch:(bool)exclude;
+
 #if ENABLE_NETSCAPE_PLUGIN_API
 - (void)_recursive_resumeNullEventsForAllNetscapePlugins;
 - (void)_recursive_pauseNullEventsForAllNetscapePlugins;

Modified: trunk/Source/WebKit/win/ChangeLog (119956 => 119957)


--- trunk/Source/WebKit/win/ChangeLog	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebKit/win/ChangeLog	2012-06-11 06:58:40 UTC (rev 119957)
@@ -1,3 +1,16 @@
+2012-06-10  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r119955.
+        http://trac.webkit.org/changeset/119955
+        https://bugs.webkit.org/show_bug.cgi?id=88758
+
+        Breaks Chromium compile - Chromium depends on removed API
+        (Requested by dominicc on #webkit).
+
+        * WebFrame.cpp:
+        (WebFrame::setIsDisconnected):
+        (WebFrame::setExcludeFromTextSearch):
+
 2012-06-10  Sam Weinig  <[email protected]>
 
         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore

Modified: trunk/Source/WebKit/win/WebFrame.cpp (119956 => 119957)


--- trunk/Source/WebKit/win/WebFrame.cpp	2012-06-11 06:23:59 UTC (rev 119956)
+++ trunk/Source/WebKit/win/WebFrame.cpp	2012-06-11 06:58:40 UTC (rev 119957)
@@ -298,12 +298,22 @@
 HRESULT STDMETHODCALLTYPE WebFrame::setIsDisconnected(
     /* [in] */ BOOL flag)
 {
+    if (Frame* frame = core(this)) {
+        frame->setIsDisconnected(flag);
+        return S_OK;
+    }
+
     return E_FAIL;
 }
 
 HRESULT STDMETHODCALLTYPE WebFrame::setExcludeFromTextSearch(
     /* [in] */ BOOL flag)
 {
+    if (Frame* frame = core(this)) {
+        frame->setExcludeFromTextSearch(flag);
+        return S_OK;
+    }
+
     return E_FAIL;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to