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

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

Issue 9030010: Move most of the remaining users of WebContentsObserver::tab_contents() to use web_contents(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 12 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
« no previous file with comments | « chrome/browser/ui/prefs/prefs_tab_helper.h ('k') | chrome/browser/ui/sad_tab_observer.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 (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/prefs/prefs_tab_helper.h" 5 #include "chrome/browser/ui/prefs/prefs_tab_helper.h"
6 6
7 #include "base/stringprintf.h" 7 #include "base/stringprintf.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/prefs/pref_service.h" 10 #include "chrome/browser/prefs/pref_service.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/renderer_preferences_util.h" 12 #include "chrome/browser/renderer_preferences_util.h"
13 #include "chrome/browser/themes/theme_service.h" 13 #include "chrome/browser/themes/theme_service.h"
14 #include "chrome/browser/themes/theme_service_factory.h" 14 #include "chrome/browser/themes/theme_service_factory.h"
15 #include "chrome/browser/ui/constrained_window_tab_helper.h" 15 #include "chrome/browser/ui/constrained_window_tab_helper.h"
16 #include "chrome/common/chrome_notification_types.h" 16 #include "chrome/common/chrome_notification_types.h"
17 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
18 #include "content/browser/renderer_host/render_view_host.h" 18 #include "content/browser/renderer_host/render_view_host.h"
19 #include "content/browser/tab_contents/tab_contents.h" 19 #include "content/browser/renderer_host/render_view_host_delegate.h"
20 #include "content/public/browser/notification_details.h" 20 #include "content/public/browser/notification_details.h"
21 #include "content/public/browser/notification_service.h" 21 #include "content/public/browser/notification_service.h"
22 #include "content/public/browser/web_contents.h"
22 #include "grit/locale_settings.h" 23 #include "grit/locale_settings.h"
23 #include "grit/platform_locale_settings.h" 24 #include "grit/platform_locale_settings.h"
24 #include "webkit/glue/webpreferences.h" 25 #include "webkit/glue/webpreferences.h"
25 26
26 using content::WebContents; 27 using content::WebContents;
27 28
28 namespace { 29 namespace {
29 30
30 const char* kPerTabPrefsToObserve[] = { 31 const char* kPerTabPrefsToObserve[] = {
31 prefs::kWebKitJavascriptEnabled 32 prefs::kWebKitJavascriptEnabled
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 #if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) 206 #if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
206 // To avoid Clang warning, only define kPerScriptFontDefaultsLength when it is 207 // To avoid Clang warning, only define kPerScriptFontDefaultsLength when it is
207 // non-zero. When it is zero, code like 208 // non-zero. When it is zero, code like
208 // for (size_t i = 0; i < kPerScriptFontDefaultsLength; ++i) 209 // for (size_t i = 0; i < kPerScriptFontDefaultsLength; ++i)
209 // causes a warning due to comparison of unsigned expression < 0. 210 // causes a warning due to comparison of unsigned expression < 0.
210 const size_t kPerScriptFontDefaultsLength = arraysize(kPerScriptFontDefaults); 211 const size_t kPerScriptFontDefaultsLength = arraysize(kPerScriptFontDefaults);
211 #endif 212 #endif
212 213
213 } // namespace 214 } // namespace
214 215
215 PrefsTabHelper::PrefsTabHelper(TabContents* contents) 216 PrefsTabHelper::PrefsTabHelper(WebContents* contents)
216 : content::WebContentsObserver(contents), 217 : content::WebContentsObserver(contents) {
217 contents_(contents) {
218 PrefService* prefs = GetProfile()->GetPrefs(); 218 PrefService* prefs = GetProfile()->GetPrefs();
219 pref_change_registrar_.Init(prefs); 219 pref_change_registrar_.Init(prefs);
220 if (prefs) { 220 if (prefs) {
221 for (int i = 0; i < kPrefsToObserveLength; ++i) 221 for (int i = 0; i < kPrefsToObserveLength; ++i)
222 pref_change_registrar_.Add(kPrefsToObserve[i], this); 222 pref_change_registrar_.Add(kPrefsToObserve[i], this);
223 223
224 RegisterFontFamilyMapObserver(&pref_change_registrar_, 224 RegisterFontFamilyMapObserver(&pref_change_registrar_,
225 prefs::kWebKitStandardFontFamilyMap, this); 225 prefs::kWebKitStandardFontFamilyMap, this);
226 RegisterFontFamilyMapObserver(&pref_change_registrar_, 226 RegisterFontFamilyMapObserver(&pref_change_registrar_,
227 prefs::kWebKitFixedFontFamilyMap, this); 227 prefs::kWebKitFixedFontFamilyMap, this);
228 RegisterFontFamilyMapObserver(&pref_change_registrar_, 228 RegisterFontFamilyMapObserver(&pref_change_registrar_,
229 prefs::kWebKitSerifFontFamilyMap, this); 229 prefs::kWebKitSerifFontFamilyMap, this);
230 RegisterFontFamilyMapObserver(&pref_change_registrar_, 230 RegisterFontFamilyMapObserver(&pref_change_registrar_,
231 prefs::kWebKitSansSerifFontFamilyMap, this); 231 prefs::kWebKitSansSerifFontFamilyMap, this);
232 RegisterFontFamilyMapObserver(&pref_change_registrar_, 232 RegisterFontFamilyMapObserver(&pref_change_registrar_,
233 prefs::kWebKitCursiveFontFamilyMap, this); 233 prefs::kWebKitCursiveFontFamilyMap, this);
234 RegisterFontFamilyMapObserver(&pref_change_registrar_, 234 RegisterFontFamilyMapObserver(&pref_change_registrar_,
235 prefs::kWebKitFantasyFontFamilyMap, this); 235 prefs::kWebKitFantasyFontFamilyMap, this);
236 } 236 }
237 237
238 per_tab_prefs_.reset( 238 per_tab_prefs_.reset(
239 GetProfile()->GetPrefs()->CreatePrefServiceWithPerTabPrefStore()); 239 GetProfile()->GetPrefs()->CreatePrefServiceWithPerTabPrefStore());
240 RegisterPerTabUserPrefs(per_tab_prefs_.get()); 240 RegisterPerTabUserPrefs(per_tab_prefs_.get());
241 per_tab_pref_change_registrar_.Init(per_tab_prefs_.get()); 241 per_tab_pref_change_registrar_.Init(per_tab_prefs_.get());
242 for (int i = 0; i < kPerTabPrefsToObserveLength; ++i) { 242 for (int i = 0; i < kPerTabPrefsToObserveLength; ++i) {
243 per_tab_pref_change_registrar_.Add(kPerTabPrefsToObserve[i], this); 243 per_tab_pref_change_registrar_.Add(kPerTabPrefsToObserve[i], this);
244 } 244 }
245 245
246 renderer_preferences_util::UpdateFromSystemSettings( 246 renderer_preferences_util::UpdateFromSystemSettings(
247 tab_contents()->GetMutableRendererPrefs(), GetProfile()); 247 web_contents()->GetMutableRendererPrefs(), GetProfile());
248 248
249 registrar_.Add(this, chrome::NOTIFICATION_USER_STYLE_SHEET_UPDATED, 249 registrar_.Add(this, chrome::NOTIFICATION_USER_STYLE_SHEET_UPDATED,
250 content::NotificationService::AllSources()); 250 content::NotificationService::AllSources());
251 #if defined(OS_POSIX) && !defined(OS_MACOSX) 251 #if defined(OS_POSIX) && !defined(OS_MACOSX)
252 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED, 252 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
253 content::Source<ThemeService>( 253 content::Source<ThemeService>(
254 ThemeServiceFactory::GetForProfile(GetProfile()))); 254 ThemeServiceFactory::GetForProfile(GetProfile())));
255 #endif 255 #endif
256 } 256 }
257 257
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 NOTREACHED() << "unexpected pref change notification" << *pref_name_in; 419 NOTREACHED() << "unexpected pref change notification" << *pref_name_in;
420 } 420 }
421 break; 421 break;
422 } 422 }
423 default: 423 default:
424 NOTREACHED(); 424 NOTREACHED();
425 } 425 }
426 } 426 }
427 427
428 void PrefsTabHelper::UpdateWebPreferences() { 428 void PrefsTabHelper::UpdateWebPreferences() {
429 RenderViewHostDelegate* rvhd = tab_contents(); 429 RenderViewHostDelegate* rvhd =
430 web_contents()->GetRenderViewHost()->delegate();
430 WebPreferences prefs = rvhd->GetWebkitPrefs(); 431 WebPreferences prefs = rvhd->GetWebkitPrefs();
431 prefs.javascript_enabled = 432 prefs.javascript_enabled =
432 per_tab_prefs_->GetBoolean(prefs::kWebKitJavascriptEnabled); 433 per_tab_prefs_->GetBoolean(prefs::kWebKitJavascriptEnabled);
433 tab_contents()->GetRenderViewHost()->UpdateWebkitPreferences(prefs); 434 web_contents()->GetRenderViewHost()->UpdateWebkitPreferences(prefs);
434 } 435 }
435 436
436 void PrefsTabHelper::UpdateRendererPreferences() { 437 void PrefsTabHelper::UpdateRendererPreferences() {
437 renderer_preferences_util::UpdateFromSystemSettings( 438 renderer_preferences_util::UpdateFromSystemSettings(
438 tab_contents()->GetMutableRendererPrefs(), GetProfile()); 439 web_contents()->GetMutableRendererPrefs(), GetProfile());
439 tab_contents()->GetRenderViewHost()->SyncRendererPrefs(); 440 web_contents()->GetRenderViewHost()->SyncRendererPrefs();
440 } 441 }
441 442
442 Profile* PrefsTabHelper::GetProfile() { 443 Profile* PrefsTabHelper::GetProfile() {
443 return Profile::FromBrowserContext(contents_->GetBrowserContext()); 444 return Profile::FromBrowserContext(web_contents()->GetBrowserContext());
444 } 445 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/prefs/prefs_tab_helper.h ('k') | chrome/browser/ui/sad_tab_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698