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

Side by Side Diff: chrome/browser/ui/browser.cc

Issue 2254273003: Remove text encoding UI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 3 months 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
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 407
409 profile_pref_registrar_.Init(profile_->GetPrefs()); 408 profile_pref_registrar_.Init(profile_->GetPrefs());
410 profile_pref_registrar_.Add( 409 profile_pref_registrar_.Add(
411 prefs::kDevToolsDisabled, 410 prefs::kDevToolsDisabled,
412 base::Bind(&Browser::OnDevToolsDisabledChanged, base::Unretained(this))); 411 base::Bind(&Browser::OnDevToolsDisabledChanged, base::Unretained(this)));
413 profile_pref_registrar_.Add( 412 profile_pref_registrar_.Add(
414 bookmarks::prefs::kShowBookmarkBar, 413 bookmarks::prefs::kShowBookmarkBar,
415 base::Bind(&Browser::UpdateBookmarkBarState, base::Unretained(this), 414 base::Bind(&Browser::UpdateBookmarkBarState, base::Unretained(this),
416 BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE)); 415 BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE));
417 416
418 // NOTE: These prefs all need to be explicitly destroyed in the destructor
419 // or you'll get a nasty surprise when you run the incognito tests.
420 encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector,
421 profile_->GetPrefs());
422
423 if (search::IsInstantExtendedAPIEnabled() && is_type_tabbed()) 417 if (search::IsInstantExtendedAPIEnabled() && is_type_tabbed())
424 instant_controller_.reset(new BrowserInstantController(this)); 418 instant_controller_.reset(new BrowserInstantController(this));
425 419
426 if (extensions::HostedAppBrowserController::IsForHostedApp(this)) { 420 if (extensions::HostedAppBrowserController::IsForHostedApp(this)) {
427 hosted_app_controller_.reset( 421 hosted_app_controller_.reset(
428 new extensions::HostedAppBrowserController(this)); 422 new extensions::HostedAppBrowserController(this));
429 } 423 }
430 424
431 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_INIT); 425 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_INIT);
432 426
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 if (session_service) 483 if (session_service)
490 session_service->WindowClosed(session_id_); 484 session_service->WindowClosed(session_id_);
491 485
492 sessions::TabRestoreService* tab_restore_service = 486 sessions::TabRestoreService* tab_restore_service =
493 TabRestoreServiceFactory::GetForProfile(profile()); 487 TabRestoreServiceFactory::GetForProfile(profile());
494 if (tab_restore_service) 488 if (tab_restore_service)
495 tab_restore_service->BrowserClosed(live_tab_context()); 489 tab_restore_service->BrowserClosed(live_tab_context());
496 490
497 profile_pref_registrar_.RemoveAll(); 491 profile_pref_registrar_.RemoveAll();
498 492
499 encoding_auto_detect_.Destroy();
500
501 // Destroy BrowserExtensionWindowController before the incognito profile 493 // Destroy BrowserExtensionWindowController before the incognito profile
502 // is destroyed to make sure the chrome.windows.onRemoved event is sent. 494 // is destroyed to make sure the chrome.windows.onRemoved event is sent.
503 extension_window_controller_.reset(); 495 extension_window_controller_.reset();
504 496
505 // Destroy BrowserInstantController before the incongnito profile is destroyed 497 // Destroy BrowserInstantController before the incongnito profile is destroyed
506 // because the InstantController destructor depends on this profile. 498 // because the InstantController destructor depends on this profile.
507 instant_controller_.reset(); 499 instant_controller_.reset();
508 500
509 if (profile_->IsOffTheRecord() && 501 if (profile_->IsOffTheRecord() &&
510 !BrowserList::IsIncognitoSessionActiveForProfile(profile_)) { 502 !BrowserList::IsIncognitoSessionActiveForProfile(profile_)) {
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 } 813 }
822 814
823 bool Browser::SupportsWindowFeature(WindowFeature feature) const { 815 bool Browser::SupportsWindowFeature(WindowFeature feature) const {
824 return SupportsWindowFeatureImpl(feature, true); 816 return SupportsWindowFeatureImpl(feature, true);
825 } 817 }
826 818
827 bool Browser::CanSupportWindowFeature(WindowFeature feature) const { 819 bool Browser::CanSupportWindowFeature(WindowFeature feature) const {
828 return SupportsWindowFeatureImpl(feature, false); 820 return SupportsWindowFeatureImpl(feature, false);
829 } 821 }
830 822
831 void Browser::ToggleEncodingAutoDetect() {
832 content::RecordAction(UserMetricsAction("AutoDetectChange"));
833 encoding_auto_detect_.SetValue(!encoding_auto_detect_.GetValue());
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"));
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),
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() { 823 void Browser::OpenFile() {
864 content::RecordAction(UserMetricsAction("OpenFile")); 824 content::RecordAction(UserMetricsAction("OpenFile"));
865 select_file_dialog_ = ui::SelectFileDialog::Create( 825 select_file_dialog_ = ui::SelectFileDialog::Create(
866 this, new ChromeSelectFilePolicy( 826 this, new ChromeSelectFilePolicy(
867 tab_strip_model_->GetActiveWebContents())); 827 tab_strip_model_->GetActiveWebContents()));
868 828
869 const base::FilePath directory = profile_->last_selected_directory(); 829 const base::FilePath directory = profile_->last_selected_directory();
870 830
871 // TODO(beng): figure out how to juggle this. 831 // TODO(beng): figure out how to juggle this.
872 gfx::NativeWindow parent_window = window_->GetNativeWindow(); 832 gfx::NativeWindow parent_window = window_->GetNativeWindow();
(...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after
2600 if (contents && !allow_js_access) { 2560 if (contents && !allow_js_access) {
2601 contents->web_contents()->GetController().LoadURL( 2561 contents->web_contents()->GetController().LoadURL(
2602 target_url, 2562 target_url,
2603 content::Referrer(), 2563 content::Referrer(),
2604 ui::PAGE_TRANSITION_LINK, 2564 ui::PAGE_TRANSITION_LINK,
2605 std::string()); // No extra headers. 2565 std::string()); // No extra headers.
2606 } 2566 }
2607 2567
2608 return contents != NULL; 2568 return contents != NULL;
2609 } 2569 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698