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

Side by Side Diff: chrome/renderer/searchbox/searchbox.cc

Issue 11413018: alternate ntp: implement searchbox api for instant overlay to adopt themes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed to only send ht change when there's theme image Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "chrome/common/render_messages.h" 7 #include "chrome/common/render_messages.h"
8 #include "chrome/renderer/searchbox/searchbox_extension.h" 8 #include "chrome/renderer/searchbox/searchbox_extension.h"
9 #include "content/public/renderer/render_view.h" 9 #include "content/public/renderer/render_view.h"
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 } 72 }
73 73
74 const InstantAutocompleteResult* SearchBox::GetAutocompleteResultWithId( 74 const InstantAutocompleteResult* SearchBox::GetAutocompleteResultWithId(
75 size_t restricted_id) const { 75 size_t restricted_id) const {
76 if (restricted_id < last_results_base_ || 76 if (restricted_id < last_results_base_ ||
77 restricted_id >= last_results_base_ + last_autocomplete_results_.size()) 77 restricted_id >= last_results_base_ + last_autocomplete_results_.size())
78 return NULL; 78 return NULL;
79 return &last_autocomplete_results_[restricted_id - last_results_base_]; 79 return &last_autocomplete_results_[restricted_id - last_results_base_];
80 } 80 }
81 81
82 const ThemeBackgroundInfo& SearchBox::GetThemeBackgroundInfo() {
83 return theme_info_;
84 }
85
86 int SearchBox::GetThemeAreaHeight() {
87 return theme_area_height_;
88 }
89
82 bool SearchBox::OnMessageReceived(const IPC::Message& message) { 90 bool SearchBox::OnMessageReceived(const IPC::Message& message) {
83 bool handled = true; 91 bool handled = true;
84 IPC_BEGIN_MESSAGE_MAP(SearchBox, message) 92 IPC_BEGIN_MESSAGE_MAP(SearchBox, message)
85 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxChange, OnChange) 93 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxChange, OnChange)
86 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxSubmit, OnSubmit) 94 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxSubmit, OnSubmit)
87 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxCancel, OnCancel) 95 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxCancel, OnCancel)
88 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxResize, OnResize) 96 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxResize, OnResize)
89 IPC_MESSAGE_HANDLER(ChromeViewMsg_DetermineIfPageSupportsInstant, 97 IPC_MESSAGE_HANDLER(ChromeViewMsg_DetermineIfPageSupportsInstant,
90 OnDetermineIfPageSupportsInstant) 98 OnDetermineIfPageSupportsInstant)
91 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxAutocompleteResults, 99 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxAutocompleteResults,
92 OnAutocompleteResults) 100 OnAutocompleteResults)
93 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxUpOrDownKeyPressed, 101 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxUpOrDownKeyPressed,
94 OnUpOrDownKeyPressed) 102 OnUpOrDownKeyPressed)
95 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxFocus, OnFocus) 103 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxFocus, OnFocus)
96 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxBlur, OnBlur) 104 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxBlur, OnBlur)
97 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxActiveTabModeChanged, 105 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxActiveTabModeChanged,
98 OnActiveTabModeChanged) 106 OnActiveTabModeChanged)
107 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeChanged,
108 OnThemeChanged)
109 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeAreaHeightChanged,
110 OnThemeAreaHeightChanged)
99 IPC_MESSAGE_UNHANDLED(handled = false) 111 IPC_MESSAGE_UNHANDLED(handled = false)
100 IPC_END_MESSAGE_MAP() 112 IPC_END_MESSAGE_MAP()
101 return handled; 113 return handled;
102 } 114 }
103 115
104 void SearchBox::OnChange(const string16& query, 116 void SearchBox::OnChange(const string16& query,
105 bool verbatim, 117 bool verbatim,
106 size_t selection_start, 118 size_t selection_start,
107 size_t selection_end) { 119 size_t selection_end) {
108 query_ = query; 120 query_ = query;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 } 200 }
189 201
190 void SearchBox::OnActiveTabModeChanged(bool active_tab_is_ntp) { 202 void SearchBox::OnActiveTabModeChanged(bool active_tab_is_ntp) {
191 active_tab_is_ntp_ = active_tab_is_ntp; 203 active_tab_is_ntp_ = active_tab_is_ntp;
192 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) { 204 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
193 extensions_v8::SearchBoxExtension::DispatchContextChange( 205 extensions_v8::SearchBoxExtension::DispatchContextChange(
194 render_view()->GetWebView()->mainFrame()); 206 render_view()->GetWebView()->mainFrame());
195 } 207 }
196 } 208 }
197 209
210 void SearchBox::OnThemeChanged(const ThemeBackgroundInfo& theme_info) {
211 theme_info_ = theme_info;
212 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
213 extensions_v8::SearchBoxExtension::DispatchThemeChange(
214 render_view()->GetWebView()->mainFrame());
215 }
216 }
217
218 void SearchBox::OnThemeAreaHeightChanged(int height) {
219 theme_area_height_ = height;
220 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
221 extensions_v8::SearchBoxExtension::DispatchThemeAreaHeightChange(
222 render_view()->GetWebView()->mainFrame());
223 }
224 }
225
198 void SearchBox::Reset() { 226 void SearchBox::Reset() {
199 query_.clear(); 227 query_.clear();
200 verbatim_ = false; 228 verbatim_ = false;
201 selection_start_ = 0; 229 selection_start_ = 0;
202 selection_end_ = 0; 230 selection_end_ = 0;
203 results_base_ = 0; 231 results_base_ = 0;
204 rect_ = gfx::Rect(); 232 rect_ = gfx::Rect();
205 autocomplete_results_.clear(); 233 autocomplete_results_.clear();
206 is_focused_ = false; 234 is_focused_ = false;
207 active_tab_is_ntp_ = false; 235 active_tab_is_ntp_ = false;
208 } 236 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698