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

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

Issue 8716004: Add per-tab "JavaScript enabled" preference. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved per-tab prefs into a helper Created 9 years 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
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698