Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "extensions/browser/guest_view/web_view/web_view_find_helper.h" | 5 #include "extensions/browser/guest_view/web_view/web_view_find_helper.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "extensions/browser/api/web_view/web_view_internal_api.h" | 9 #include "extensions/browser/api/web_view/web_view_internal_api.h" |
| 10 #include "extensions/browser/guest_view/web_view/web_view_constants.h" | 10 #include "extensions/browser/guest_view/web_view/web_view_constants.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 77 (*i)->SendResponse(canceled); | 77 (*i)->SendResponse(canceled); |
| 78 find_info_map_.erase((*i)->request_id_); | 78 find_info_map_.erase((*i)->request_id_); |
| 79 } | 79 } |
| 80 | 80 |
| 81 // Erase the first find request's map entry to free the | 81 // Erase the first find request's map entry to free the |
| 82 // WebViewInternalFindFunction | 82 // WebViewInternalFindFunction |
| 83 // object. | 83 // object. |
| 84 find_info_map_.erase(session_request_id); | 84 find_info_map_.erase(session_request_id); |
| 85 } | 85 } |
| 86 | 86 |
| 87 void WebViewFindHelper::Find( | 87 void WebViewFindHelper::Find(content::WebContents* guest_web_contents, |
| 88 content::WebContents* guest_web_contents, | 88 const base::string16& search_text, |
| 89 const base::string16& search_text, | 89 const blink::WebFindOptions& options, |
| 90 const blink::WebFindOptions& options, | 90 WebViewInternalFindFunction* find_function) { |
|
Fady Samuel
2014/09/18 16:49:48
Why are you making this change?
| |
| 91 scoped_refptr<WebViewInternalFindFunction> find_function) { | |
| 92 // Need a new request_id for each new find request. | 91 // Need a new request_id for each new find request. |
| 93 ++current_find_request_id_; | 92 ++current_find_request_id_; |
| 94 | 93 |
| 95 // Stores the find request information by request_id so that its callback | 94 // Stores the find request information by request_id so that its callback |
| 96 // function can be called when the find results are available. | 95 // function can be called when the find results are available. |
| 97 std::pair<FindInfoMap::iterator, bool> insert_result = | 96 std::pair<FindInfoMap::iterator, bool> insert_result = |
| 98 find_info_map_.insert(std::make_pair( | 97 find_info_map_.insert(std::make_pair( |
| 99 current_find_request_id_, | 98 current_find_request_id_, |
| 100 linked_ptr< | 99 linked_ptr< |
| 101 WebViewFindHelper::FindInfo>(new WebViewFindHelper::FindInfo( | 100 WebViewFindHelper::FindInfo>(new WebViewFindHelper::FindInfo( |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 234 void WebViewFindHelper::FindUpdateEvent::PrepareResults( | 233 void WebViewFindHelper::FindUpdateEvent::PrepareResults( |
| 235 base::DictionaryValue* results) { | 234 base::DictionaryValue* results) { |
| 236 results->SetString(webview::kFindSearchText, search_text_); | 235 results->SetString(webview::kFindSearchText, search_text_); |
| 237 find_results_.PrepareResults(results); | 236 find_results_.PrepareResults(results); |
| 238 } | 237 } |
| 239 | 238 |
| 240 WebViewFindHelper::FindInfo::FindInfo( | 239 WebViewFindHelper::FindInfo::FindInfo( |
| 241 int request_id, | 240 int request_id, |
| 242 const base::string16& search_text, | 241 const base::string16& search_text, |
| 243 const blink::WebFindOptions& options, | 242 const blink::WebFindOptions& options, |
| 244 scoped_refptr<WebViewInternalFindFunction> find_function) | 243 WebViewInternalFindFunction* find_function) |
| 245 : request_id_(request_id), | 244 : request_id_(request_id), |
| 246 search_text_(search_text), | 245 search_text_(search_text), |
| 247 options_(options), | 246 options_(options), |
| 248 find_function_(find_function), | 247 find_function_(find_function), |
| 249 replied_(false), | 248 replied_(false), |
| 250 weak_ptr_factory_(this) { | 249 weak_ptr_factory_(this) { |
| 251 } | 250 } |
| 252 | 251 |
| 253 WebViewFindHelper::FindInfo::~FindInfo() { | 252 WebViewFindHelper::FindInfo::~FindInfo() { |
| 254 } | 253 } |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 273 base::DictionaryValue results; | 272 base::DictionaryValue results; |
| 274 find_results_.PrepareResults(&results); | 273 find_results_.PrepareResults(&results); |
| 275 results.SetBoolean(webview::kFindCanceled, canceled); | 274 results.SetBoolean(webview::kFindCanceled, canceled); |
| 276 | 275 |
| 277 // Call the callback. | 276 // Call the callback. |
| 278 find_function_->SetResult(results.DeepCopy()); | 277 find_function_->SetResult(results.DeepCopy()); |
| 279 find_function_->SendResponse(true); | 278 find_function_->SendResponse(true); |
| 280 } | 279 } |
| 281 | 280 |
| 282 } // namespace extensions | 281 } // namespace extensions |
| OLD | NEW |