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/browser/ui/browser.h" | 5 #include "chrome/browser/ui/browser.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <string> | 10 #include <string> |
(...skipping 20 matching lines...) Expand all Loading... | |
31 #include "build/build_config.h" | 31 #include "build/build_config.h" |
32 #include "chrome/app/chrome_command_ids.h" | 32 #include "chrome/app/chrome_command_ids.h" |
33 #include "chrome/browser/app_mode/app_mode_utils.h" | 33 #include "chrome/browser/app_mode/app_mode_utils.h" |
34 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 34 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
35 #include "chrome/browser/background/background_contents.h" | 35 #include "chrome/browser/background/background_contents.h" |
36 #include "chrome/browser/background/background_contents_service.h" | 36 #include "chrome/browser/background/background_contents_service.h" |
37 #include "chrome/browser/background/background_contents_service_factory.h" | 37 #include "chrome/browser/background/background_contents_service_factory.h" |
38 #include "chrome/browser/banners/app_banner_manager_desktop.h" | 38 #include "chrome/browser/banners/app_banner_manager_desktop.h" |
39 #include "chrome/browser/browser_process.h" | 39 #include "chrome/browser/browser_process.h" |
40 #include "chrome/browser/browser_shutdown.h" | 40 #include "chrome/browser/browser_shutdown.h" |
41 #include "chrome/browser/character_encoding.h" | |
42 #include "chrome/browser/chrome_notification_types.h" | 41 #include "chrome/browser/chrome_notification_types.h" |
43 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 42 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
44 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 43 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
45 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" | 44 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" |
46 #include "chrome/browser/custom_handlers/register_protocol_handler_permission_re quest.h" | 45 #include "chrome/browser/custom_handlers/register_protocol_handler_permission_re quest.h" |
47 #include "chrome/browser/defaults.h" | 46 #include "chrome/browser/defaults.h" |
48 #include "chrome/browser/devtools/devtools_toggle_action.h" | 47 #include "chrome/browser/devtools/devtools_toggle_action.h" |
49 #include "chrome/browser/devtools/devtools_window.h" | 48 #include "chrome/browser/devtools/devtools_window.h" |
50 #include "chrome/browser/download/download_service.h" | 49 #include "chrome/browser/download/download_service.h" |
51 #include "chrome/browser/download/download_service_factory.h" | 50 #include "chrome/browser/download/download_service_factory.h" |
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
821 } | 820 } |
822 | 821 |
823 bool Browser::SupportsWindowFeature(WindowFeature feature) const { | 822 bool Browser::SupportsWindowFeature(WindowFeature feature) const { |
824 return SupportsWindowFeatureImpl(feature, true); | 823 return SupportsWindowFeatureImpl(feature, true); |
825 } | 824 } |
826 | 825 |
827 bool Browser::CanSupportWindowFeature(WindowFeature feature) const { | 826 bool Browser::CanSupportWindowFeature(WindowFeature feature) const { |
828 return SupportsWindowFeatureImpl(feature, false); | 827 return SupportsWindowFeatureImpl(feature, false); |
829 } | 828 } |
830 | 829 |
831 void Browser::ToggleEncodingAutoDetect() { | |
832 content::RecordAction(UserMetricsAction("AutoDetectChange")); | |
833 encoding_auto_detect_.SetValue(!encoding_auto_detect_.GetValue()); | |
msw
2016/08/22 21:59:53
q: Can we remove Browser::encoding_auto_detect_?
Jinsuk Kim
2016/08/23 07:09:22
Yes. Removed.
| |
834 // If "auto detect" is turned on, then any current override encoding | |
835 // is cleared. This also implicitly performs a reload. | |
836 // OTOH, if "auto detect" is turned off, we don't change the currently | |
837 // active encoding. | |
838 if (encoding_auto_detect_.GetValue()) { | |
839 WebContents* contents = tab_strip_model_->GetActiveWebContents(); | |
840 if (contents) | |
841 contents->ResetOverrideEncoding(); | |
842 } | |
843 } | |
844 | |
845 void Browser::OverrideEncoding(int encoding_id) { | |
846 content::RecordAction(UserMetricsAction("OverrideEncoding")); | |
msw
2016/08/22 21:59:53
Please mark this action obsolete in tools/metrics/
Jinsuk Kim
2016/08/23 07:09:22
Done.
| |
847 const std::string selected_encoding = | |
848 CharacterEncoding::GetCanonicalEncodingNameByCommandId(encoding_id); | |
849 WebContents* contents = tab_strip_model_->GetActiveWebContents(); | |
850 if (!selected_encoding.empty() && contents) | |
851 contents->SetOverrideEncoding(selected_encoding); | |
852 // Update the list of recently selected encodings. | |
853 std::string new_selected_encoding_list; | |
854 if (CharacterEncoding::UpdateRecentlySelectedEncoding( | |
855 profile_->GetPrefs()->GetString(prefs::kRecentlySelectedEncoding), | |
msw
2016/08/22 21:59:53
If this isn't used, clear this pref for users and
Jinsuk Kim
2016/08/23 07:09:22
Done.
| |
856 encoding_id, | |
857 &new_selected_encoding_list)) { | |
858 profile_->GetPrefs()->SetString(prefs::kRecentlySelectedEncoding, | |
859 new_selected_encoding_list); | |
860 } | |
861 } | |
862 | |
863 void Browser::OpenFile() { | 830 void Browser::OpenFile() { |
864 content::RecordAction(UserMetricsAction("OpenFile")); | 831 content::RecordAction(UserMetricsAction("OpenFile")); |
865 select_file_dialog_ = ui::SelectFileDialog::Create( | 832 select_file_dialog_ = ui::SelectFileDialog::Create( |
866 this, new ChromeSelectFilePolicy( | 833 this, new ChromeSelectFilePolicy( |
867 tab_strip_model_->GetActiveWebContents())); | 834 tab_strip_model_->GetActiveWebContents())); |
868 | 835 |
869 const base::FilePath directory = profile_->last_selected_directory(); | 836 const base::FilePath directory = profile_->last_selected_directory(); |
870 | 837 |
871 // TODO(beng): figure out how to juggle this. | 838 // TODO(beng): figure out how to juggle this. |
872 gfx::NativeWindow parent_window = window_->GetNativeWindow(); | 839 gfx::NativeWindow parent_window = window_->GetNativeWindow(); |
(...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2600 if (contents && !allow_js_access) { | 2567 if (contents && !allow_js_access) { |
2601 contents->web_contents()->GetController().LoadURL( | 2568 contents->web_contents()->GetController().LoadURL( |
2602 target_url, | 2569 target_url, |
2603 content::Referrer(), | 2570 content::Referrer(), |
2604 ui::PAGE_TRANSITION_LINK, | 2571 ui::PAGE_TRANSITION_LINK, |
2605 std::string()); // No extra headers. | 2572 std::string()); // No extra headers. |
2606 } | 2573 } |
2607 | 2574 |
2608 return contents != NULL; | 2575 return contents != NULL; |
2609 } | 2576 } |
OLD | NEW |