Title: [109228] trunk/Source/WebKit2
Revision
109228
Author
[email protected]
Date
2012-02-29 10:15:32 -0800 (Wed, 29 Feb 2012)

Log Message

DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
https://bugs.webkit.org/show_bug.cgi?id=76522

Reviewed by Darin Adler.

DidFindString message should be issued always even if neither
FindOptionsShowOverlay or FindOptionsShowHighlight are
provided. The difference is that if any of those flags are present
the find operation will look for all the appearances of the text
in the web view, otherwise it will just look and report the next
occurrence.

This patch removes the temporary workaround added in r109222 to
the WebKitFindController unit tests.

* UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findString):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (109227 => 109228)


--- trunk/Source/WebKit2/ChangeLog	2012-02-29 18:08:27 UTC (rev 109227)
+++ trunk/Source/WebKit2/ChangeLog	2012-02-29 18:15:32 UTC (rev 109228)
@@ -1,3 +1,24 @@
+2012-02-29  Sergio Villar Senin  <[email protected]>
+
+        DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
+        https://bugs.webkit.org/show_bug.cgi?id=76522
+
+        Reviewed by Darin Adler.
+
+        DidFindString message should be issued always even if neither
+        FindOptionsShowOverlay or FindOptionsShowHighlight are
+        provided. The difference is that if any of those flags are present
+        the find operation will look for all the appearances of the text
+        in the web view, otherwise it will just look and report the next
+        occurrence.
+
+        This patch removes the temporary workaround added in r109222 to
+        the WebKitFindController unit tests.
+
+        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
+        * WebProcess/WebPage/FindController.cpp:
+        (WebKit::FindController::findString):
+
 2012-01-19  Sergio Villar Senin  <[email protected]>
 
         [GTK] [WK2] Add Find API

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp (109227 => 109228)


--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp	2012-02-29 18:08:27 UTC (rev 109227)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp	2012-02-29 18:15:32 UTC (rev 109228)
@@ -45,12 +45,6 @@
 
     void find(const char* searchText, guint32 findOptions, guint maxMatchCount)
     {
-        // Due to http://weakit.org/b/76522 we have to artificially
-        // add here the show overlay option (that we do not even
-        // expose in the API) to get the DidFindString messsage
-        // issued. Remove this once 76522 is fixed.
-        findOptions = findOptions | 1 << 5;
-
         g_signal_connect(m_findController.get(), "found-text", G_CALLBACK(foundTextCallback), this);
         g_signal_connect(m_findController.get(), "failed-to-find-text", G_CALLBACK(failedToFindTextCallback), this);
         webkit_find_controller_search(m_findController.get(), searchText, findOptions, maxMatchCount);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp (109227 => 109228)


--- trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp	2012-02-29 18:08:27 UTC (rev 109227)
+++ trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp	2012-02-29 18:15:32 UTC (rev 109228)
@@ -109,24 +109,25 @@
         m_webPage->send(Messages::WebPageProxy::DidFailToFindString(string));
     } else {
         shouldShowOverlay = options & FindOptionsShowOverlay;
+        bool shouldShowHighlight = options & FindOptionsShowHighlight;
+        unsigned matchCount = 1;
 
-        if (shouldShowOverlay) {
-            bool shouldShowHighlight = options & FindOptionsShowHighlight;
+        if (shouldShowOverlay || shouldShowHighlight) {
 
             if (maxMatchCount == numeric_limits<unsigned>::max())
                 --maxMatchCount;
-            
-            unsigned matchCount = m_webPage->corePage()->markAllMatchesForText(string, core(options), shouldShowHighlight, maxMatchCount + 1);
 
+            matchCount = m_webPage->corePage()->markAllMatchesForText(string, core(options), shouldShowHighlight, maxMatchCount + 1);
+
             // Check if we have more matches than allowed.
             if (matchCount > maxMatchCount) {
                 shouldShowOverlay = false;
                 matchCount = static_cast<unsigned>(kWKMoreThanMaximumMatchCount);
             }
-
-            m_webPage->send(Messages::WebPageProxy::DidFindString(string, matchCount));
         }
 
+        m_webPage->send(Messages::WebPageProxy::DidFindString(string, matchCount));
+
         if (!(options & FindOptionsShowFindIndicator) || !updateFindIndicator(selectedFrame, shouldShowOverlay)) {
             // Either we shouldn't show the find indicator, or we couldn't update it.
             hideFindIndicator();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to