Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "chrome/renderer/searchbox/searchbox.h" | 5 #include "chrome/renderer/searchbox/searchbox.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 222 } | 222 } |
| 223 | 223 |
| 224 SearchBox::SearchBox(content::RenderFrame* render_frame) | 224 SearchBox::SearchBox(content::RenderFrame* render_frame) |
| 225 : content::RenderFrameObserver(render_frame), | 225 : content::RenderFrameObserver(render_frame), |
| 226 content::RenderFrameObserverTracker<SearchBox>(render_frame), | 226 content::RenderFrameObserverTracker<SearchBox>(render_frame), |
| 227 page_seq_no_(0), | 227 page_seq_no_(0), |
| 228 is_focused_(false), | 228 is_focused_(false), |
| 229 is_input_in_progress_(false), | 229 is_input_in_progress_(false), |
| 230 is_key_capture_enabled_(false), | 230 is_key_capture_enabled_(false), |
| 231 most_visited_items_cache_(kMaxInstantMostVisitedItemCacheSize), | 231 most_visited_items_cache_(kMaxInstantMostVisitedItemCacheSize), |
| 232 query_(), | |
| 233 binding_(this) { | 232 binding_(this) { |
| 234 // Connect to the embedded search interface in the browser. | 233 // Connect to the embedded search interface in the browser. |
| 235 chrome::mojom::EmbeddedSearchConnectorAssociatedPtr connector; | 234 chrome::mojom::EmbeddedSearchConnectorAssociatedPtr connector; |
| 236 render_frame->GetRemoteAssociatedInterfaces()->GetInterface(&connector); | 235 render_frame->GetRemoteAssociatedInterfaces()->GetInterface(&connector); |
| 237 chrome::mojom::SearchBoxAssociatedPtrInfo search_box; | 236 chrome::mojom::SearchBoxAssociatedPtrInfo search_box; |
| 238 binding_.Bind(mojo::MakeRequest(&search_box)); | 237 binding_.Bind(mojo::MakeRequest(&search_box)); |
| 239 connector->Connect(mojo::MakeRequest(&instant_service_), | 238 connector->Connect(mojo::MakeRequest(&instant_service_), |
| 240 std::move(search_box)); | 239 std::move(search_box)); |
| 241 } | 240 } |
| 242 | 241 |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 405 } | 404 } |
| 406 } | 405 } |
| 407 | 406 |
| 408 void SearchBox::SetSuggestionToPrefetch(const InstantSuggestion& suggestion) { | 407 void SearchBox::SetSuggestionToPrefetch(const InstantSuggestion& suggestion) { |
| 409 suggestion_ = suggestion; | 408 suggestion_ = suggestion; |
| 410 DVLOG(1) << render_frame() << " SetSuggestionToPrefetch"; | 409 DVLOG(1) << render_frame() << " SetSuggestionToPrefetch"; |
| 411 extensions_v8::SearchBoxExtension::DispatchSuggestionChange( | 410 extensions_v8::SearchBoxExtension::DispatchSuggestionChange( |
| 412 render_frame()->GetWebFrame()); | 411 render_frame()->GetWebFrame()); |
| 413 } | 412 } |
| 414 | 413 |
| 415 void SearchBox::Submit(const base::string16& query, | 414 void SearchBox::Submit(const EmbeddedSearchRequestParams& params) { |
| 416 const EmbeddedSearchRequestParams& params) { | |
| 417 query_ = query; | |
| 418 embedded_search_request_params_ = params; | 415 embedded_search_request_params_ = params; |
| 419 DVLOG(1) << render_frame() << " Submit"; | 416 DVLOG(1) << render_frame() << " Submit"; |
| 420 extensions_v8::SearchBoxExtension::DispatchSubmit( | 417 extensions_v8::SearchBoxExtension::DispatchSubmit( |
| 421 render_frame()->GetWebFrame()); | 418 render_frame()->GetWebFrame()); |
| 422 if (!query.empty()) | 419 Reset(); |
|
Marc Treib
2017/05/17 08:02:02
Removing this check looks like a logical change, b
| |
| 423 Reset(); | |
| 424 } | 420 } |
| 425 | 421 |
| 426 void SearchBox::ThemeChanged(const ThemeBackgroundInfo& theme_info) { | 422 void SearchBox::ThemeChanged(const ThemeBackgroundInfo& theme_info) { |
| 427 // Do not send duplicate notifications. | 423 // Do not send duplicate notifications. |
| 428 if (theme_info_ == theme_info) | 424 if (theme_info_ == theme_info) |
| 429 return; | 425 return; |
| 430 | 426 |
| 431 theme_info_ = theme_info; | 427 theme_info_ = theme_info; |
| 432 extensions_v8::SearchBoxExtension::DispatchThemeChange( | 428 extensions_v8::SearchBoxExtension::DispatchThemeChange( |
| 433 render_frame()->GetWebFrame()); | 429 render_frame()->GetWebFrame()); |
| 434 } | 430 } |
| 435 | 431 |
| 436 GURL SearchBox::GetURLForMostVisitedItem(InstantRestrictedID item_id) const { | 432 GURL SearchBox::GetURLForMostVisitedItem(InstantRestrictedID item_id) const { |
| 437 InstantMostVisitedItem item; | 433 InstantMostVisitedItem item; |
| 438 return GetMostVisitedItemWithID(item_id, &item) ? item.url : GURL(); | 434 return GetMostVisitedItemWithID(item_id, &item) ? item.url : GURL(); |
| 439 } | 435 } |
| 440 | 436 |
| 441 void SearchBox::Bind(chrome::mojom::SearchBoxAssociatedRequest request) { | 437 void SearchBox::Bind(chrome::mojom::SearchBoxAssociatedRequest request) { |
| 442 binding_.Bind(std::move(request)); | 438 binding_.Bind(std::move(request)); |
| 443 } | 439 } |
| 444 | 440 |
| 445 void SearchBox::Reset() { | 441 void SearchBox::Reset() { |
| 446 query_.clear(); | |
| 447 embedded_search_request_params_ = EmbeddedSearchRequestParams(); | 442 embedded_search_request_params_ = EmbeddedSearchRequestParams(); |
| 448 suggestion_ = InstantSuggestion(); | 443 suggestion_ = InstantSuggestion(); |
| 449 is_focused_ = false; | 444 is_focused_ = false; |
| 450 is_key_capture_enabled_ = false; | 445 is_key_capture_enabled_ = false; |
| 451 theme_info_ = ThemeBackgroundInfo(); | 446 theme_info_ = ThemeBackgroundInfo(); |
| 452 } | 447 } |
| 453 | 448 |
| 454 void SearchBox::OnDestruct() { | 449 void SearchBox::OnDestruct() { |
| 455 delete this; | 450 delete this; |
| 456 } | 451 } |
| OLD | NEW |