Index: extensions/browser/guest_view/web_view/web_view_find_helper.h |
diff --git a/extensions/browser/guest_view/web_view/web_view_find_helper.h b/extensions/browser/guest_view/web_view/web_view_find_helper.h |
deleted file mode 100644 |
index 425b4401011ad7b18957b7039119ee7af0f0a311..0000000000000000000000000000000000000000 |
--- a/extensions/browser/guest_view/web_view/web_view_find_helper.h |
+++ /dev/null |
@@ -1,190 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_ |
-#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_ |
- |
-#include <map> |
-#include <vector> |
- |
-#include "base/memory/weak_ptr.h" |
-#include "base/values.h" |
-#include "content/public/browser/web_contents.h" |
-#include "third_party/WebKit/public/web/WebFindOptions.h" |
-#include "ui/gfx/geometry/rect.h" |
- |
-namespace extensions { |
-class WebViewInternalFindFunction; |
-class WebViewGuest; |
- |
-// Helper class for find requests and replies for the web_view_internal find |
-// API. |
-class WebViewFindHelper { |
- public: |
- explicit WebViewFindHelper(WebViewGuest* webview_guest); |
- ~WebViewFindHelper(); |
- |
- // Cancels all find requests in progress and calls their callback functions. |
- void CancelAllFindSessions(); |
- |
- // Dispatches the |findupdate| event. |
- void DispatchFindUpdateEvent(bool canceled, bool final_update); |
- |
- // Ends the find session with id |session_request_id| and calls the |
- // appropriate callbacks. |
- void EndFindSession(int session_request_id, bool canceled); |
- |
- // Helper function for WebViewGuest::Find(). |
- void Find( |
- content::WebContents* guest_web_contents, |
- const base::string16& search_text, |
- const blink::WebFindOptions& options, |
- scoped_refptr<WebViewInternalFindFunction> find_function); |
- |
- // Helper function for WeViewGuest:FindReply(). |
- void FindReply(int request_id, |
- int number_of_matches, |
- const gfx::Rect& selection_rect, |
- int active_match_ordinal, |
- bool final_update); |
- |
- private: |
- // A wrapper to store find results. |
- class FindResults { |
- public: |
- FindResults(); |
- ~FindResults(); |
- |
- // Aggregate the find results. |
- void AggregateResults(int number_of_matches, |
- const gfx::Rect& selection_rect, |
- int active_match_ordinal, |
- bool final_update); |
- |
- // Stores find results into a DictionaryValue. |
- void PrepareResults(base::DictionaryValue* results); |
- |
- private: |
- int number_of_matches_; |
- int active_match_ordinal_; |
- gfx::Rect selection_rect_; |
- |
- friend void WebViewFindHelper::EndFindSession(int session_request_id, |
- bool canceled); |
- |
- DISALLOW_COPY_AND_ASSIGN(FindResults); |
- }; |
- |
- // Stores and processes the results for the |findupdate| event. |
- class FindUpdateEvent { |
- public: |
- explicit FindUpdateEvent(const base::string16& search_text); |
- ~FindUpdateEvent(); |
- |
- // Aggregate the find results. |
- void AggregateResults(int number_of_matches, |
- const gfx::Rect& selection_rect, |
- int active_match_ordinal, |
- bool final_update); |
- |
- // Stores find results and other event info into a DictionaryValue. |
- void PrepareResults(base::DictionaryValue* results); |
- |
- private: |
- const base::string16 search_text_; |
- FindResults find_results_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FindUpdateEvent); |
- }; |
- |
- // Handles all information about a find request and its results. |
- class FindInfo { |
- public: |
- FindInfo( |
- int request_id, |
- const base::string16& search_text, |
- const blink::WebFindOptions& options, |
- scoped_refptr<WebViewInternalFindFunction> find_function); |
- ~FindInfo(); |
- |
- // Add another request to |find_next_requests_|. |
- void AddFindNextRequest(const base::WeakPtr<FindInfo>& request) { |
- find_next_requests_.push_back(request); |
- } |
- |
- // Aggregate the find results. |
- void AggregateResults(int number_of_matches, |
- const gfx::Rect& selection_rect, |
- int active_match_ordinal, |
- bool final_update); |
- |
- base::WeakPtr<FindInfo> AsWeakPtr(); |
- |
- blink::WebFindOptions* options() { |
- return &options_; |
- } |
- |
- bool replied() { |
- return replied_; |
- } |
- |
- int request_id() { |
- return request_id_; |
- } |
- |
- const base::string16& search_text() { |
- return search_text_; |
- } |
- |
- // Calls the callback function within |find_function_| with the find results |
- // from within |find_results_|. |
- void SendResponse(bool canceled); |
- |
- private: |
- const int request_id_; |
- const base::string16 search_text_; |
- blink::WebFindOptions options_; |
- scoped_refptr<WebViewInternalFindFunction> find_function_; |
- FindResults find_results_; |
- |
- // A find reply has been received for this find request. |
- bool replied_; |
- |
- // Stores pointers to all the find next requests if this is the first |
- // request of a find session. |
- std::vector<base::WeakPtr<FindInfo> > find_next_requests_; |
- |
- // Weak pointer used to access the find info of fin. |
- base::WeakPtrFactory<FindInfo> weak_ptr_factory_; |
- |
- friend void WebViewFindHelper::EndFindSession(int session_request_id, |
- bool canceled); |
- |
- DISALLOW_COPY_AND_ASSIGN(FindInfo); |
- }; |
- |
- // Pointer to the webview that is being helped. |
- WebViewGuest* const webview_guest_; |
- |
- // A counter to generate a unique request id for a find request. |
- // We only need the ids to be unique for a given WebViewGuest. |
- int current_find_request_id_; |
- |
- // Stores aggregated find results and other info for the |findupdate| event. |
- scoped_ptr<FindUpdateEvent> find_update_event_; |
- |
- // Pointer to the first request of the current find session. |
- linked_ptr<FindInfo> current_find_session_; |
- |
- // Stores each find request's information by request_id so that its callback |
- // function can be called when its find results are available. |
- typedef std::map<int, linked_ptr<FindInfo> > FindInfoMap; |
- FindInfoMap find_info_map_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebViewFindHelper); |
-}; |
- |
-} // namespace extensions |
- |
-#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_ |