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 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" | 5 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
11 #include "base/stl_util.h" | 11 #include "base/stl_util.h" |
12 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
13 #include "base/strings/sys_string_conversions.h" | 13 #include "base/strings/sys_string_conversions.h" |
14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
15 #include "chrome/app/chrome_command_ids.h" | 15 #include "chrome/app/chrome_command_ids.h" |
16 #import "chrome/browser/app_controller_mac.h" | 16 #import "chrome/browser/app_controller_mac.h" |
17 #include "chrome/browser/chrome_notification_types.h" | |
18 #include "chrome/browser/command_updater.h" | 17 #include "chrome/browser/command_updater.h" |
19 #include "chrome/browser/defaults.h" | 18 #include "chrome/browser/defaults.h" |
20 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h" | 19 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h" |
21 #include "chrome/browser/extensions/api/tabs/tabs_api.h" | 20 #include "chrome/browser/extensions/api/tabs/tabs_api.h" |
22 #include "chrome/browser/extensions/extension_action.h" | 21 #include "chrome/browser/extensions/extension_action.h" |
23 #include "chrome/browser/extensions/extension_service.h" | 22 #include "chrome/browser/extensions/extension_service.h" |
24 #include "chrome/browser/extensions/location_bar_controller.h" | 23 #include "chrome/browser/extensions/location_bar_controller.h" |
25 #include "chrome/browser/extensions/tab_helper.h" | 24 #include "chrome/browser/extensions/tab_helper.h" |
26 #include "chrome/browser/profiles/profile.h" | 25 #include "chrome/browser/profiles/profile.h" |
27 #include "chrome/browser/search/instant_service.h" | 26 #include "chrome/browser/search/instant_service.h" |
(...skipping 29 matching lines...) Expand all Loading... |
57 #import "chrome/browser/ui/omnibox/omnibox_popup_model.h" | 56 #import "chrome/browser/ui/omnibox/omnibox_popup_model.h" |
58 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" | 57 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
59 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 58 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
60 #include "chrome/browser/ui/toolbar/toolbar_model.h" | 59 #include "chrome/browser/ui/toolbar/toolbar_model.h" |
61 #include "chrome/browser/ui/zoom/zoom_controller.h" | 60 #include "chrome/browser/ui/zoom/zoom_controller.h" |
62 #include "chrome/common/chrome_switches.h" | 61 #include "chrome/common/chrome_switches.h" |
63 #include "chrome/common/pref_names.h" | 62 #include "chrome/common/pref_names.h" |
64 #include "components/search_engines/template_url.h" | 63 #include "components/search_engines/template_url.h" |
65 #include "components/search_engines/template_url_service.h" | 64 #include "components/search_engines/template_url_service.h" |
66 #include "components/translate/core/browser/language_state.h" | 65 #include "components/translate/core/browser/language_state.h" |
67 #include "content/public/browser/notification_service.h" | |
68 #include "content/public/browser/web_contents.h" | 66 #include "content/public/browser/web_contents.h" |
69 #include "extensions/browser/extension_system.h" | 67 #include "extensions/browser/extension_system.h" |
70 #include "extensions/common/extension.h" | 68 #include "extensions/common/extension.h" |
71 #include "extensions/common/permissions/permissions_data.h" | 69 #include "extensions/common/permissions/permissions_data.h" |
72 #include "grit/component_scaled_resources.h" | 70 #include "grit/component_scaled_resources.h" |
73 #include "grit/theme_resources.h" | 71 #include "grit/theme_resources.h" |
74 #include "net/base/net_util.h" | 72 #include "net/base/net_util.h" |
75 #include "skia/ext/skia_utils_mac.h" | 73 #include "skia/ext/skia_utils_mac.h" |
76 #import "ui/base/cocoa/cocoa_base_utils.h" | 74 #import "ui/base/cocoa/cocoa_base_utils.h" |
77 #include "ui/base/l10n/l10n_util_mac.h" | 75 #include "ui/base/l10n/l10n_util_mac.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 new ManagePasswordsDecoration(command_updater)), | 134 new ManagePasswordsDecoration(command_updater)), |
137 browser_(browser), | 135 browser_(browser), |
138 weak_ptr_factory_(this) { | 136 weak_ptr_factory_(this) { |
139 for (size_t i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { | 137 for (size_t i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { |
140 DCHECK_EQ(i, content_setting_decorations_.size()); | 138 DCHECK_EQ(i, content_setting_decorations_.size()); |
141 ContentSettingsType type = static_cast<ContentSettingsType>(i); | 139 ContentSettingsType type = static_cast<ContentSettingsType>(i); |
142 content_setting_decorations_.push_back( | 140 content_setting_decorations_.push_back( |
143 new ContentSettingDecoration(type, this, profile)); | 141 new ContentSettingDecoration(type, this, profile)); |
144 } | 142 } |
145 | 143 |
146 content::Source<Profile> profile_source = content::Source<Profile>(profile); | |
147 registrar_.Add(this, | |
148 extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, | |
149 profile_source); | |
150 registrar_.Add(this, | |
151 extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, | |
152 profile_source); | |
153 | |
154 edit_bookmarks_enabled_.Init( | 144 edit_bookmarks_enabled_.Init( |
155 prefs::kEditBookmarksEnabled, profile->GetPrefs(), | 145 prefs::kEditBookmarksEnabled, profile->GetPrefs(), |
156 base::Bind(&LocationBarViewMac::OnEditBookmarksEnabledChanged, | 146 base::Bind(&LocationBarViewMac::OnEditBookmarksEnabledChanged, |
157 base::Unretained(this))); | 147 base::Unretained(this))); |
158 | 148 |
159 browser_->search_model()->AddObserver(this); | 149 browser_->search_model()->AddObserver(this); |
160 | 150 |
161 [[field_ cell] setIsPopupMode: | 151 [[field_ cell] setIsPopupMode: |
162 !browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP)]; | 152 !browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP)]; |
163 | 153 |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 profile())->GetTemplateURLForKeyword(keyword); | 603 profile())->GetTemplateURLForKeyword(keyword); |
614 if (template_url && | 604 if (template_url && |
615 (template_url->GetType() == TemplateURL::OMNIBOX_API_EXTENSION)) { | 605 (template_url->GetType() == TemplateURL::OMNIBOX_API_EXTENSION)) { |
616 return extensions::OmniboxAPI::Get(profile())-> | 606 return extensions::OmniboxAPI::Get(profile())-> |
617 GetOmniboxIcon(template_url->GetExtensionId()).AsNSImage(); | 607 GetOmniboxIcon(template_url->GetExtensionId()).AsNSImage(); |
618 } | 608 } |
619 | 609 |
620 return OmniboxViewMac::ImageForResource(IDR_OMNIBOX_SEARCH); | 610 return OmniboxViewMac::ImageForResource(IDR_OMNIBOX_SEARCH); |
621 } | 611 } |
622 | 612 |
623 void LocationBarViewMac::Observe(int type, | |
624 const content::NotificationSource& source, | |
625 const content::NotificationDetails& details) { | |
626 DCHECK(type == extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED || | |
627 type == extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED); | |
628 | |
629 Update(NULL); | |
630 } | |
631 | |
632 void LocationBarViewMac::ModelChanged(const SearchModel::State& old_state, | 613 void LocationBarViewMac::ModelChanged(const SearchModel::State& old_state, |
633 const SearchModel::State& new_state) { | 614 const SearchModel::State& new_state) { |
634 if (UpdateMicSearchDecorationVisibility()) | 615 if (UpdateMicSearchDecorationVisibility()) |
635 Layout(); | 616 Layout(); |
636 } | 617 } |
637 | 618 |
638 void LocationBarViewMac::ActivatePageAction(const std::string& extension_id) { | 619 void LocationBarViewMac::ActivatePageAction(const std::string& extension_id) { |
639 for (size_t i = 0; i < page_action_decorations_.size(); ++i) { | 620 for (size_t i = 0; i < page_action_decorations_.size(); ++i) { |
640 if (page_action_decorations_[i]->page_action()->extension_id() == | 621 if (page_action_decorations_[i]->page_action()->extension_id() == |
641 extension_id) { | 622 extension_id) { |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 } | 758 } |
778 | 759 |
779 bool LocationBarViewMac::UpdateMicSearchDecorationVisibility() { | 760 bool LocationBarViewMac::UpdateMicSearchDecorationVisibility() { |
780 bool is_visible = !GetToolbarModel()->input_in_progress() && | 761 bool is_visible = !GetToolbarModel()->input_in_progress() && |
781 browser_->search_model()->voice_search_supported(); | 762 browser_->search_model()->voice_search_supported(); |
782 if (mic_search_decoration_->IsVisible() == is_visible) | 763 if (mic_search_decoration_->IsVisible() == is_visible) |
783 return false; | 764 return false; |
784 mic_search_decoration_->SetVisible(is_visible); | 765 mic_search_decoration_->SetVisible(is_visible); |
785 return true; | 766 return true; |
786 } | 767 } |
OLD | NEW |