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

Side by Side Diff: chrome/browser/profiles/off_the_record_profile_impl_unittest.cc

Issue 541103002: Introduce ChromeZoomLevelPref, make zoom level prefs independent of profile prefs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove obsolete access of ZoomController from WebUILoginView. Created 6 years, 2 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
« no previous file with comments | « chrome/browser/profiles/host_zoom_map_browsertest.cc ('k') | chrome/browser/profiles/profile.h » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/profiles/off_the_record_profile_impl.h" 5 #include "chrome/browser/profiles/off_the_record_profile_impl.h"
6 6
7 #include "base/prefs/pref_registry_simple.h" 7 #include "base/prefs/pref_registry_simple.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/prefs/scoped_user_pref_update.h" 9 #include "base/prefs/scoped_user_pref_update.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "chrome/browser/prefs/browser_prefs.h" 11 #include "chrome/browser/prefs/browser_prefs.h"
12 #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
12 #include "chrome/common/pref_names.h" 13 #include "chrome/common/pref_names.h"
13 #include "chrome/test/base/browser_with_test_window_test.h" 14 #include "chrome/test/base/browser_with_test_window_test.h"
14 #include "chrome/test/base/testing_browser_process.h" 15 #include "chrome/test/base/testing_browser_process.h"
15 #include "chrome/test/base/testing_io_thread_state.h" 16 #include "chrome/test/base/testing_io_thread_state.h"
16 #include "chrome/test/base/testing_pref_service_syncable.h" 17 #include "chrome/test/base/testing_pref_service_syncable.h"
17 #include "chrome/test/base/testing_profile.h" 18 #include "chrome/test/base/testing_profile.h"
18 #include "chrome/test/base/testing_profile_manager.h" 19 #include "chrome/test/base/testing_profile_manager.h"
19 #include "content/public/browser/host_zoom_map.h" 20 #include "content/public/browser/host_zoom_map.h"
20 #include "content/public/common/page_zoom.h" 21 #include "content/public/common/page_zoom.h"
21 #include "net/dns/mock_host_resolver.h" 22 #include "net/dns/mock_host_resolver.h"
22 23
23 using content::HostZoomMap; 24 using content::HostZoomMap;
24 25
25 namespace { 26 namespace {
26 27
27 class TestingProfileWithHostZoomMap : public TestingProfile { 28 class TestingProfileWithHostZoomMap : public TestingProfile {
28 public: 29 public:
29 TestingProfileWithHostZoomMap() { 30 TestingProfileWithHostZoomMap() {
30 zoom_subscription_ = 31 HostZoomMap* host_zoom_map = HostZoomMap::GetDefaultForBrowserContext(this);
31 HostZoomMap::GetDefaultForBrowserContext(this) 32 zoom_subscription_ = host_zoom_map->AddZoomLevelChangedCallback(
32 ->AddZoomLevelChangedCallback( 33 base::Bind(&TestingProfileWithHostZoomMap::OnZoomLevelChanged,
33 base::Bind(&TestingProfileWithHostZoomMap::OnZoomLevelChanged, 34 base::Unretained(this)));
34 base::Unretained(this))); 35 zoom_level_prefs_.reset(
36 new chrome::ChromeZoomLevelPrefs(GetPrefs(), GetPath()));
37 zoom_level_prefs_->InitPrefsAndCopyToHostZoomMap(GetPath(), host_zoom_map);
35 } 38 }
36 39
37 virtual ~TestingProfileWithHostZoomMap() {} 40 virtual ~TestingProfileWithHostZoomMap() {}
38 41
39 // Profile overrides: 42 // Profile overrides:
40 virtual PrefService* GetOffTheRecordPrefs() override { 43 virtual PrefService* GetOffTheRecordPrefs() override {
41 return GetPrefs(); 44 return GetPrefs();
42 } 45 }
43 46
44 private: 47 private:
45 void OnZoomLevelChanged(const HostZoomMap::ZoomLevelChange& change) { 48 void OnZoomLevelChanged(const HostZoomMap::ZoomLevelChange& change) {
46 49
47 if (change.mode != HostZoomMap::ZOOM_CHANGED_FOR_HOST) 50 if (change.mode != HostZoomMap::ZOOM_CHANGED_FOR_HOST)
48 return; 51 return;
49 52
50 HostZoomMap* host_zoom_map = HostZoomMap::GetDefaultForBrowserContext(this); 53 HostZoomMap* host_zoom_map = HostZoomMap::GetDefaultForBrowserContext(this);
51 54
52 double level = change.zoom_level; 55 double level = change.zoom_level;
53 DictionaryPrefUpdate update(prefs_.get(), prefs::kPerHostZoomLevels); 56 std::string per_host_zoom_levels(prefs::kPartitionPerHostZoomLevels);
57 per_host_zoom_levels.append(".0");
58 DictionaryPrefUpdate update(GetPrefs(),
59 prefs::kPartitionPerHostZoomLevels);
54 base::DictionaryValue* host_zoom_dictionary = update.Get(); 60 base::DictionaryValue* host_zoom_dictionary = update.Get();
55 if (content::ZoomValuesEqual(level, host_zoom_map->GetDefaultZoomLevel())) { 61 if (content::ZoomValuesEqual(level, host_zoom_map->GetDefaultZoomLevel())) {
56 host_zoom_dictionary->RemoveWithoutPathExpansion(change.host, NULL); 62 host_zoom_dictionary->RemoveWithoutPathExpansion(change.host, NULL);
57 } else { 63 } else {
58 host_zoom_dictionary->SetWithoutPathExpansion( 64 host_zoom_dictionary->SetWithoutPathExpansion(
59 change.host, new base::FundamentalValue(level)); 65 change.host, new base::FundamentalValue(level));
60 } 66 }
61 } 67 }
62 68
63 scoped_ptr<HostZoomMap::Subscription> zoom_subscription_; 69 scoped_ptr<HostZoomMap::Subscription> zoom_subscription_;
70 scoped_ptr<chrome::ChromeZoomLevelPrefs> zoom_level_prefs_;
64 71
65 DISALLOW_COPY_AND_ASSIGN(TestingProfileWithHostZoomMap); 72 DISALLOW_COPY_AND_ASSIGN(TestingProfileWithHostZoomMap);
66 }; 73 };
67 74
68 } // namespace 75 } // namespace
69 76
70 // We need to have a BrowserProcess in g_browser_process variable, since 77 // We need to have a BrowserProcess in g_browser_process variable, since
71 // OffTheRecordProfileImpl ctor uses it in 78 // OffTheRecordProfileImpl ctor uses it in
72 // ProfileIOData::InitializeProfileParams. 79 // ProfileIOData::InitializeProfileParams.
73 class OffTheRecordProfileImplTest : public BrowserWithTestWindowTest { 80 class OffTheRecordProfileImplTest : public BrowserWithTestWindowTest {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 parent_zoom_map->SetZoomLevelForHost(host, zoom_level_40); 182 parent_zoom_map->SetZoomLevelForHost(host, zoom_level_40);
176 ASSERT_EQ( 183 ASSERT_EQ(
177 parent_zoom_map->GetZoomLevelForHostAndScheme("http", host), 184 parent_zoom_map->GetZoomLevelForHostAndScheme("http", host),
178 zoom_level_40); 185 zoom_level_40);
179 186
180 EXPECT_EQ(parent_zoom_map->GetZoomLevelForHostAndScheme("http", host), 187 EXPECT_EQ(parent_zoom_map->GetZoomLevelForHostAndScheme("http", host),
181 child_zoom_map->GetZoomLevelForHostAndScheme("http", host)) << 188 child_zoom_map->GetZoomLevelForHostAndScheme("http", host)) <<
182 "Parent change should propagate to child."; 189 "Parent change should propagate to child.";
183 base::RunLoop().RunUntilIdle(); 190 base::RunLoop().RunUntilIdle();
184 } 191 }
OLDNEW
« no previous file with comments | « chrome/browser/profiles/host_zoom_map_browsertest.cc ('k') | chrome/browser/profiles/profile.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698