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

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

Issue 7134017: Make safe browsing work in a multi-profile environment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: a few tweaks in initialization &c Created 9 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/tab_contents/tab_contents_wrapper.h" 5 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "chrome/browser/autocomplete_history_manager.h" 9 #include "chrome/browser/autocomplete_history_manager.h"
10 #include "chrome/browser/autofill/autofill_manager.h" 10 #include "chrome/browser/autofill/autofill_manager.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 static base::LazyInstance<PropertyAccessor<TabContentsWrapper*> > 68 static base::LazyInstance<PropertyAccessor<TabContentsWrapper*> >
69 g_tab_contents_wrapper_property_accessor(base::LINKER_INITIALIZED); 69 g_tab_contents_wrapper_property_accessor(base::LINKER_INITIALIZED);
70 70
71 // The list of prefs we want to observe. 71 // The list of prefs we want to observe.
72 const char* kPrefsToObserve[] = { 72 const char* kPrefsToObserve[] = {
73 prefs::kAlternateErrorPagesEnabled, 73 prefs::kAlternateErrorPagesEnabled,
74 prefs::kDefaultCharset, 74 prefs::kDefaultCharset,
75 prefs::kDefaultZoomLevel, 75 prefs::kDefaultZoomLevel,
76 prefs::kEnableReferrers, 76 prefs::kEnableReferrers,
77 prefs::kSafeBrowsingEnabled,
77 prefs::kWebKitAllowDisplayingInsecureContent, 78 prefs::kWebKitAllowDisplayingInsecureContent,
78 prefs::kWebKitAllowRunningInsecureContent, 79 prefs::kWebKitAllowRunningInsecureContent,
79 prefs::kWebKitDefaultFixedFontSize, 80 prefs::kWebKitDefaultFixedFontSize,
80 prefs::kWebKitDefaultFontSize, 81 prefs::kWebKitDefaultFontSize,
81 prefs::kWebKitFixedFontFamily, 82 prefs::kWebKitFixedFontFamily,
82 prefs::kWebKitJavaEnabled, 83 prefs::kWebKitJavaEnabled,
83 prefs::kWebKitJavascriptEnabled, 84 prefs::kWebKitJavascriptEnabled,
84 prefs::kWebKitLoadsImagesAutomatically, 85 prefs::kWebKitLoadsImagesAutomatically,
85 prefs::kWebKitMinimumFontSize, 86 prefs::kWebKitMinimumFontSize,
86 prefs::kWebKitMinimumLogicalFontSize, 87 prefs::kWebKitMinimumLogicalFontSize,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 download_tab_helper_.reset(new DownloadTabHelper(this)); 121 download_tab_helper_.reset(new DownloadTabHelper(this));
121 extension_tab_helper_.reset(new ExtensionTabHelper(this)); 122 extension_tab_helper_.reset(new ExtensionTabHelper(this));
122 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); 123 favicon_tab_helper_.reset(new FaviconTabHelper(contents));
123 find_tab_helper_.reset(new FindTabHelper(contents)); 124 find_tab_helper_.reset(new FindTabHelper(contents));
124 history_tab_helper_.reset(new HistoryTabHelper(contents)); 125 history_tab_helper_.reset(new HistoryTabHelper(contents));
125 restore_tab_helper_.reset(new RestoreTabHelper(this)); 126 restore_tab_helper_.reset(new RestoreTabHelper(this));
126 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); 127 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this));
127 password_manager_.reset( 128 password_manager_.reset(
128 new PasswordManager(contents, password_manager_delegate_.get())); 129 new PasswordManager(contents, password_manager_delegate_.get()));
129 safebrowsing_detection_host_.reset( 130 safebrowsing_detection_host_.reset(
130 safe_browsing::ClientSideDetectionHost::Create(contents)); 131 safe_browsing::ClientSideDetectionHost::Create(contents));
mattm 2011/07/08 22:15:24 Oops, I think I gave some odd advice since looking
Miranda Callahan 2011/07/12 16:24:08 Strangeness fixed.
131 search_engine_tab_helper_.reset(new SearchEngineTabHelper(contents)); 132 search_engine_tab_helper_.reset(new SearchEngineTabHelper(contents));
132 ssl_helper_.reset(new TabContentsSSLHelper(this)); 133 ssl_helper_.reset(new TabContentsSSLHelper(this));
133 content_settings_.reset(new TabSpecificContentSettings(contents)); 134 content_settings_.reset(new TabSpecificContentSettings(contents));
134 translate_tab_helper_.reset(new TranslateTabHelper(contents)); 135 translate_tab_helper_.reset(new TranslateTabHelper(contents));
135 print_view_manager_.reset(new printing::PrintViewManager(this)); 136 print_view_manager_.reset(new printing::PrintViewManager(this));
136 137
137 // Create the per-tab observers. 138 // Create the per-tab observers.
138 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); 139 external_protocol_observer_.reset(new ExternalProtocolObserver(contents));
139 file_select_observer_.reset(new FileSelectObserver(contents)); 140 file_select_observer_.reset(new FileSelectObserver(contents));
140 plugin_observer_.reset(new PluginObserver(this)); 141 plugin_observer_.reset(new PluginObserver(this));
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 if (*pref_name_in == prefs::kAlternateErrorPagesEnabled) { 449 if (*pref_name_in == prefs::kAlternateErrorPagesEnabled) {
449 UpdateAlternateErrorPageURL(render_view_host()); 450 UpdateAlternateErrorPageURL(render_view_host());
450 } else if ((*pref_name_in == prefs::kDefaultCharset) || 451 } else if ((*pref_name_in == prefs::kDefaultCharset) ||
451 StartsWithASCII(*pref_name_in, "webkit.webprefs.", true)) { 452 StartsWithASCII(*pref_name_in, "webkit.webprefs.", true)) {
452 UpdateWebPreferences(); 453 UpdateWebPreferences();
453 } else if (*pref_name_in == prefs::kDefaultZoomLevel) { 454 } else if (*pref_name_in == prefs::kDefaultZoomLevel) {
454 Send(new ViewMsg_SetZoomLevel( 455 Send(new ViewMsg_SetZoomLevel(
455 routing_id(), tab_contents()->GetZoomLevel())); 456 routing_id(), tab_contents()->GetZoomLevel()));
456 } else if (*pref_name_in == prefs::kEnableReferrers) { 457 } else if (*pref_name_in == prefs::kEnableReferrers) {
457 UpdateRendererPreferences(); 458 UpdateRendererPreferences();
459 } else if (*pref_name_in == prefs::kSafeBrowsingEnabled) {
460 UpdateSafebrowsingDetectionHost();
mattm 2011/07/08 22:15:24 Just thought of one thing.. this is fine with this
Miranda Callahan 2011/07/12 16:24:08 Good point, yes -- made a note of this in 88661.
458 } else { 461 } else {
459 NOTREACHED() << "unexpected pref change notification" << *pref_name_in; 462 NOTREACHED() << "unexpected pref change notification" << *pref_name_in;
460 } 463 }
461 break; 464 break;
462 } 465 }
463 default: 466 default:
464 NOTREACHED(); 467 NOTREACHED();
465 } 468 }
466 } 469 }
467 470
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 RenderViewHostDelegate* rvhd = tab_contents(); 624 RenderViewHostDelegate* rvhd = tab_contents();
622 Send(new ViewMsg_UpdateWebPreferences(routing_id(), rvhd->GetWebkitPrefs())); 625 Send(new ViewMsg_UpdateWebPreferences(routing_id(), rvhd->GetWebkitPrefs()));
623 } 626 }
624 627
625 void TabContentsWrapper::UpdateRendererPreferences() { 628 void TabContentsWrapper::UpdateRendererPreferences() {
626 renderer_preferences_util::UpdateFromSystemSettings( 629 renderer_preferences_util::UpdateFromSystemSettings(
627 tab_contents()->GetMutableRendererPrefs(), profile()); 630 tab_contents()->GetMutableRendererPrefs(), profile());
628 render_view_host()->SyncRendererPrefs(); 631 render_view_host()->SyncRendererPrefs();
629 } 632 }
630 633
634 void TabContentsWrapper::UpdateSafebrowsingDetectionHost() {
635 PrefService* prefs = profile()->GetPrefs();
636 bool safe_browsing = prefs->GetBoolean(prefs::kSafeBrowsingEnabled);
mattm 2011/07/08 22:15:24 Should also check g_browser_process->safe_browsing
Miranda Callahan 2011/07/12 16:24:08 Done.
637 if (safe_browsing) {
638 if (!safebrowsing_detection_host_.get()) {
639 safebrowsing_detection_host_.reset(
640 safe_browsing::ClientSideDetectionHost::Create(tab_contents()));
641 }
642 } else {
643 safebrowsing_detection_host_.reset();
644 }
645 render_view_host()->Send(
646 new ViewMsg_SetClientSidePhishingDetection(routing_id(), safe_browsing));
647 }
648
631 void TabContentsWrapper::RemoveInfoBarInternal(InfoBarDelegate* delegate, 649 void TabContentsWrapper::RemoveInfoBarInternal(InfoBarDelegate* delegate,
632 bool animate) { 650 bool animate) {
633 if (!infobars_enabled_) { 651 if (!infobars_enabled_) {
634 DCHECK(infobars_.empty()); 652 DCHECK(infobars_.empty());
635 return; 653 return;
636 } 654 }
637 655
638 size_t i; 656 size_t i;
639 for (i = 0; i < infobars_.size(); ++i) { 657 for (i = 0; i < infobars_.size(); ++i) {
640 if (GetInfoBarDelegateAt(i) == delegate) 658 if (GetInfoBarDelegateAt(i) == delegate)
(...skipping 13 matching lines...) Expand all
654 if (infobars_.empty()) { 672 if (infobars_.empty()) {
655 registrar_.Remove(this, NotificationType::NAV_ENTRY_COMMITTED, 673 registrar_.Remove(this, NotificationType::NAV_ENTRY_COMMITTED,
656 Source<NavigationController>(&tab_contents_->controller())); 674 Source<NavigationController>(&tab_contents_->controller()));
657 } 675 }
658 } 676 }
659 677
660 void TabContentsWrapper::RemoveAllInfoBars(bool animate) { 678 void TabContentsWrapper::RemoveAllInfoBars(bool animate) {
661 while (!infobars_.empty()) 679 while (!infobars_.empty())
662 RemoveInfoBarInternal(GetInfoBarDelegateAt(infobar_count() - 1), animate); 680 RemoveInfoBarInternal(GetInfoBarDelegateAt(infobar_count() - 1), animate);
663 } 681 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698