OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |