| Index: chrome/renderer/searchbox/searchbox.cc
|
| diff --git a/chrome/renderer/searchbox/searchbox.cc b/chrome/renderer/searchbox/searchbox.cc
|
| index f5ff4b1ece0eb5cdc4894a3ef017bb946bdbb36c..9a502ec3b109db01be88e6cd6d881a93abf22a7b 100644
|
| --- a/chrome/renderer/searchbox/searchbox.cc
|
| +++ b/chrome/renderer/searchbox/searchbox.cc
|
| @@ -17,7 +17,8 @@ SearchBox::SearchBox(content::RenderView* render_view)
|
| selection_end_(0),
|
| results_base_(0),
|
| last_results_base_(0),
|
| - active_tab_is_ntp_(false) {
|
| + active_tab_is_ntp_(false),
|
| + theme_area_height_(0) {
|
| }
|
|
|
| SearchBox::~SearchBox() {
|
| @@ -78,6 +79,14 @@ const InstantAutocompleteResult* SearchBox::GetAutocompleteResultWithId(
|
| return &last_autocomplete_results_[restricted_id - last_results_base_];
|
| }
|
|
|
| +const ThemeBackgroundInfo& SearchBox::GetThemeBackgroundInfo() {
|
| + return theme_info_;
|
| +}
|
| +
|
| +int SearchBox::GetThemeAreaHeight() {
|
| + return theme_area_height_;
|
| +}
|
| +
|
| bool SearchBox::OnMessageReceived(const IPC::Message& message) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(SearchBox, message)
|
| @@ -93,6 +102,10 @@ bool SearchBox::OnMessageReceived(const IPC::Message& message) {
|
| OnUpOrDownKeyPressed)
|
| IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxActiveTabModeChanged,
|
| OnActiveTabModeChanged)
|
| + IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeChanged,
|
| + OnThemeChanged)
|
| + IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeAreaHeightChanged,
|
| + OnThemeAreaHeightChanged)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -176,6 +189,22 @@ void SearchBox::OnActiveTabModeChanged(bool active_tab_is_ntp) {
|
| }
|
| }
|
|
|
| +void SearchBox::OnThemeChanged(const ThemeBackgroundInfo& theme_info) {
|
| + theme_info_ = theme_info;
|
| + if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| + extensions_v8::SearchBoxExtension::DispatchThemeChange(
|
| + render_view()->GetWebView()->mainFrame());
|
| + }
|
| +}
|
| +
|
| +void SearchBox::OnThemeAreaHeightChanged(int height) {
|
| + theme_area_height_ = height;
|
| + if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
|
| + extensions_v8::SearchBoxExtension::DispatchThemeAreaHeightChange(
|
| + render_view()->GetWebView()->mainFrame());
|
| + }
|
| +}
|
| +
|
| void SearchBox::Reset() {
|
| query_.clear();
|
| verbatim_ = false;
|
| @@ -185,4 +214,6 @@ void SearchBox::Reset() {
|
| rect_ = gfx::Rect();
|
| autocomplete_results_.clear();
|
| active_tab_is_ntp_ = false;
|
| + theme_info_ = ThemeBackgroundInfo();
|
| + theme_area_height_ = 0;
|
| }
|
|
|