OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper.h" | |
6 | |
7 #include "chrome/browser/ui/constrained_window_tab_helper.h" | |
8 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | |
9 #include "chrome/browser/prefs/pref_service.h" | |
Avi (use Gerrit)
2011/11/29 15:13:53
alphabetize
mnaganov (inactive)
2011/11/29 16:57:59
Done.
| |
10 #include "chrome/browser/profiles/profile.h" | |
11 #include "chrome/common/pref_names.h" | |
12 #include "webkit/glue/webpreferences.h" | |
13 | |
14 const char* kPerTabPrefsToObserve[] = { | |
15 prefs::kWebKitJavascriptEnabled | |
16 }; | |
17 | |
18 const int kPerTabPrefsToObserveLength = arraysize(kPerTabPrefsToObserve); | |
19 | |
20 PerTabPrefsTabHelper::PerTabPrefsTabHelper( | |
21 TabContentsWrapper* wrapper) | |
22 : TabContentsObserver(wrapper->tab_contents()), | |
23 wrapper_(wrapper) { | |
24 prefs_.reset( | |
25 wrapper_->profile()->GetPrefs()->CreatePrefServiceWithPerTabPrefStore()); | |
26 RegisterPerTabUserPrefs(prefs_.get()); | |
27 | |
28 // Notify the wrapper about all interested prefs changes. | |
29 pref_change_registrar_.Init(prefs_.get()); | |
30 for (int i = 0; i < kPerTabPrefsToObserveLength; ++i) { | |
31 pref_change_registrar_.Add(kPerTabPrefsToObserve[i], wrapper_); | |
32 } | |
33 } | |
34 | |
35 PerTabPrefsTabHelper::~PerTabPrefsTabHelper() { | |
36 } | |
37 | |
38 void PerTabPrefsTabHelper::OverrideWebPreferences(WebPreferences* prefs) | |
39 { | |
Avi (use Gerrit)
2011/11/29 15:13:53
opening braces always share the previous line
mnaganov (inactive)
2011/11/29 16:57:59
Done.
| |
40 prefs->javascript_enabled = | |
41 prefs_->GetBoolean(prefs::kWebKitJavascriptEnabled); | |
42 } | |
43 | |
44 void PerTabPrefsTabHelper::RegisterPerTabUserPrefs(PrefService* prefs) | |
45 { | |
Avi (use Gerrit)
2011/11/29 15:13:53
opening braces always share the previous line
mnaganov (inactive)
2011/11/29 16:57:59
Done.
| |
46 WebPreferences pref_defaults; | |
47 | |
48 prefs->RegisterBooleanPref(prefs::kWebKitJavascriptEnabled, | |
49 pref_defaults.javascript_enabled, | |
50 PrefService::UNSYNCABLE_PREF); | |
51 } | |
52 | |
53 void PerTabPrefsTabHelper::TabContentsDestroyed(TabContents* tab) { | |
54 pref_change_registrar_.RemoveAll(); | |
55 } | |
OLD | NEW |