Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Unified Diff: extensions/browser/guest_view/web_view/web_view_find_helper.h

Issue 505893002: Revert of Move core web_view code to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698