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

Side by Side Diff: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h

Issue 1436583002: Revert of Remove setVoiceSearchSupported part of EmbeddedSearch SearchBox API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_ 5 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_ 6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #import <Cocoa/Cocoa.h> 10 #import <Cocoa/Cocoa.h>
11 11
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/memory/scoped_vector.h" 13 #include "base/memory/scoped_vector.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "base/prefs/pref_member.h" 15 #include "base/prefs/pref_member.h"
16 #include "chrome/browser/ui/browser.h" 16 #include "chrome/browser/ui/browser.h"
17 #include "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" 17 #include "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
18 #include "chrome/browser/ui/location_bar/location_bar.h" 18 #include "chrome/browser/ui/location_bar/location_bar.h"
19 #include "chrome/browser/ui/omnibox/chrome_omnibox_edit_controller.h" 19 #include "chrome/browser/ui/omnibox/chrome_omnibox_edit_controller.h"
20 #include "chrome/browser/ui/search/search_model_observer.h"
20 #include "components/content_settings/core/common/content_settings_types.h" 21 #include "components/content_settings/core/common/content_settings_types.h"
21 #include "components/ui/zoom/zoom_event_manager_observer.h" 22 #include "components/ui/zoom/zoom_event_manager_observer.h"
22 23
23 @class AutocompleteTextField; 24 @class AutocompleteTextField;
24 class CommandUpdater; 25 class CommandUpdater;
25 class ContentSettingDecoration; 26 class ContentSettingDecoration;
26 class EVBubbleDecoration; 27 class EVBubbleDecoration;
27 class KeywordHintDecoration; 28 class KeywordHintDecoration;
28 class LocationBarDecoration; 29 class LocationBarDecoration;
29 class LocationIconDecoration; 30 class LocationIconDecoration;
30 class ManagePasswordsDecoration; 31 class ManagePasswordsDecoration;
32 class MicSearchDecoration;
31 class PageActionDecoration; 33 class PageActionDecoration;
32 class Profile; 34 class Profile;
33 class SelectedKeywordDecoration; 35 class SelectedKeywordDecoration;
34 class StarDecoration; 36 class StarDecoration;
35 class TranslateDecoration; 37 class TranslateDecoration;
36 class ZoomDecoration; 38 class ZoomDecoration;
37 class ZoomDecorationTest; 39 class ZoomDecorationTest;
38 40
39 // A C++ bridge class that represents the location bar UI element to 41 // A C++ bridge class that represents the location bar UI element to
40 // the portable code. Wires up an OmniboxViewMac instance to 42 // the portable code. Wires up an OmniboxViewMac instance to
41 // the location bar text field, which handles most of the work. 43 // the location bar text field, which handles most of the work.
42 44
43 class LocationBarViewMac : public LocationBar, 45 class LocationBarViewMac : public LocationBar,
44 public LocationBarTesting, 46 public LocationBarTesting,
45 public ChromeOmniboxEditController, 47 public ChromeOmniboxEditController,
48 public SearchModelObserver,
46 public ui_zoom::ZoomEventManagerObserver { 49 public ui_zoom::ZoomEventManagerObserver {
47 public: 50 public:
48 LocationBarViewMac(AutocompleteTextField* field, 51 LocationBarViewMac(AutocompleteTextField* field,
49 CommandUpdater* command_updater, 52 CommandUpdater* command_updater,
50 Profile* profile, 53 Profile* profile,
51 Browser* browser); 54 Browser* browser);
52 ~LocationBarViewMac() override; 55 ~LocationBarViewMac() override;
53 56
54 // Overridden from LocationBar: 57 // Overridden from LocationBar:
55 void ShowFirstRunBubble() override; 58 void ShowFirstRunBubble() override;
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 content::WebContents* GetWebContents() override; 165 content::WebContents* GetWebContents() override;
163 166
164 NSImage* GetKeywordImage(const base::string16& keyword); 167 NSImage* GetKeywordImage(const base::string16& keyword);
165 168
166 AutocompleteTextField* GetAutocompleteTextField() { return field_; } 169 AutocompleteTextField* GetAutocompleteTextField() { return field_; }
167 170
168 ManagePasswordsDecoration* manage_passwords_decoration() { 171 ManagePasswordsDecoration* manage_passwords_decoration() {
169 return manage_passwords_decoration_.get(); 172 return manage_passwords_decoration_.get();
170 } 173 }
171 174
175 // SearchModelObserver:
176 void ModelChanged(const SearchModel::State& old_state,
177 const SearchModel::State& new_state) override;
178
172 Browser* browser() const { return browser_; } 179 Browser* browser() const { return browser_; }
173 180
174 // ZoomManagerObserver: 181 // ZoomManagerObserver:
175 // Updates the view for the zoom icon when default zoom levels change. 182 // Updates the view for the zoom icon when default zoom levels change.
176 void OnDefaultZoomLevelChanged() override; 183 void OnDefaultZoomLevelChanged() override;
177 184
178 private: 185 private:
179 friend ZoomDecorationTest; 186 friend ZoomDecorationTest;
180 187
181 // Posts |notification| to the default notification center. 188 // Posts |notification| to the default notification center.
(...skipping 23 matching lines...) Expand all
205 void ShowFirstRunBubbleInternal(); 212 void ShowFirstRunBubbleInternal();
206 213
207 // Updates the translate decoration in the omnibox with the current translate 214 // Updates the translate decoration in the omnibox with the current translate
208 // state. 215 // state.
209 void UpdateTranslateDecoration(); 216 void UpdateTranslateDecoration();
210 217
211 // Updates the zoom decoration in the omnibox with the current zoom level. 218 // Updates the zoom decoration in the omnibox with the current zoom level.
212 // Returns whether any updates were made. 219 // Returns whether any updates were made.
213 bool UpdateZoomDecoration(bool default_zoom_changed); 220 bool UpdateZoomDecoration(bool default_zoom_changed);
214 221
222 // Updates the voice search decoration. Returns true if the visible state was
223 // changed.
224 bool UpdateMicSearchDecorationVisibility();
225
215 scoped_ptr<OmniboxViewMac> omnibox_view_; 226 scoped_ptr<OmniboxViewMac> omnibox_view_;
216 227
217 AutocompleteTextField* field_; // owned by tab controller 228 AutocompleteTextField* field_; // owned by tab controller
218 229
219 // A decoration that shows an icon to the left of the address. 230 // A decoration that shows an icon to the left of the address.
220 scoped_ptr<LocationIconDecoration> location_icon_decoration_; 231 scoped_ptr<LocationIconDecoration> location_icon_decoration_;
221 232
222 // A decoration that shows the keyword-search bubble on the left. 233 // A decoration that shows the keyword-search bubble on the left.
223 scoped_ptr<SelectedKeywordDecoration> selected_keyword_decoration_; 234 scoped_ptr<SelectedKeywordDecoration> selected_keyword_decoration_;
224 235
(...skipping 13 matching lines...) Expand all
238 249
239 // Decorations for the installed Page Actions. 250 // Decorations for the installed Page Actions.
240 ScopedVector<PageActionDecoration> page_action_decorations_; 251 ScopedVector<PageActionDecoration> page_action_decorations_;
241 252
242 // The content blocked decorations. 253 // The content blocked decorations.
243 ScopedVector<ContentSettingDecoration> content_setting_decorations_; 254 ScopedVector<ContentSettingDecoration> content_setting_decorations_;
244 255
245 // Keyword hint decoration displayed on the right-hand side. 256 // Keyword hint decoration displayed on the right-hand side.
246 scoped_ptr<KeywordHintDecoration> keyword_hint_decoration_; 257 scoped_ptr<KeywordHintDecoration> keyword_hint_decoration_;
247 258
259 // The voice search icon.
260 scoped_ptr<MicSearchDecoration> mic_search_decoration_;
261
248 // The right-hand-side button to manage passwords associated with a page. 262 // The right-hand-side button to manage passwords associated with a page.
249 scoped_ptr<ManagePasswordsDecoration> manage_passwords_decoration_; 263 scoped_ptr<ManagePasswordsDecoration> manage_passwords_decoration_;
250 264
251 Browser* browser_; 265 Browser* browser_;
252 266
253 // Used to change the visibility of the star decoration. 267 // Used to change the visibility of the star decoration.
254 BooleanPrefMember edit_bookmarks_enabled_; 268 BooleanPrefMember edit_bookmarks_enabled_;
255 269
256 // Indicates whether or not the location bar is currently visible. 270 // Indicates whether or not the location bar is currently visible.
257 bool location_bar_visible_; 271 bool location_bar_visible_;
258 272
259 // Used to schedule a task for the first run info bubble. 273 // Used to schedule a task for the first run info bubble.
260 base::WeakPtrFactory<LocationBarViewMac> weak_ptr_factory_; 274 base::WeakPtrFactory<LocationBarViewMac> weak_ptr_factory_;
261 275
262 DISALLOW_COPY_AND_ASSIGN(LocationBarViewMac); 276 DISALLOW_COPY_AND_ASSIGN(LocationBarViewMac);
263 }; 277 };
264 278
265 #endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_ 279 #endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_BAR_VIEW_MAC_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_commands.cc ('k') | chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698