OLD | NEW |
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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
10 #include "chrome/browser/extensions/activity_log/activity_log.h" | 10 #include "chrome/browser/extensions/activity_log/activity_log.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 } | 69 } |
70 | 70 |
71 void SetPolicy(bool log_arguments) { | 71 void SetPolicy(bool log_arguments) { |
72 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); | 72 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
73 if (log_arguments) | 73 if (log_arguments) |
74 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_FULLSTREAM); | 74 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_FULLSTREAM); |
75 else | 75 else |
76 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_COUNTS); | 76 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_COUNTS); |
77 } | 77 } |
78 | 78 |
| 79 bool GetDatabaseEnabled() { |
| 80 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
| 81 return activity_log->IsDatabaseEnabled(); |
| 82 } |
| 83 |
| 84 bool GetWatchdogActive() { |
| 85 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
| 86 return activity_log->IsWatchdogAppActive(); |
| 87 } |
| 88 |
79 static void Arguments_Prerender( | 89 static void Arguments_Prerender( |
80 scoped_ptr<std::vector<scoped_refptr<Action> > > i) { | 90 scoped_ptr<std::vector<scoped_refptr<Action> > > i) { |
81 ASSERT_EQ(1U, i->size()); | 91 ASSERT_EQ(1U, i->size()); |
82 scoped_refptr<Action> last = i->front(); | 92 scoped_refptr<Action> last = i->front(); |
83 std::string args = | 93 std::string args = |
84 "ID=odlameecjipmbmbejkplpemijjgpljce CATEGORY=content_script API= " | 94 "ID=odlameecjipmbmbejkplpemijjgpljce CATEGORY=content_script API= " |
85 "ARGS=[\"script\"] PAGE_URL=http://www.google.com/ " | 95 "ARGS=[\"script\"] PAGE_URL=http://www.google.com/ " |
86 "OTHER={\"prerender\":true}"; | 96 "OTHER={\"prerender\":true}"; |
87 ASSERT_EQ(args, last->PrintForDebug()); | 97 ASSERT_EQ(args, last->PrintForDebug()); |
88 } | 98 } |
89 | 99 |
90 ExtensionService* extension_service_; | 100 ExtensionService* extension_service_; |
91 | 101 |
92 #if defined OS_CHROMEOS | 102 #if defined OS_CHROMEOS |
93 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; | 103 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; |
94 chromeos::ScopedTestCrosSettings test_cros_settings_; | 104 chromeos::ScopedTestCrosSettings test_cros_settings_; |
95 scoped_ptr<chromeos::ScopedTestUserManager> test_user_manager_; | 105 scoped_ptr<chromeos::ScopedTestUserManager> test_user_manager_; |
96 #endif | 106 #endif |
97 }; | 107 }; |
98 | 108 |
99 TEST_F(ActivityLogTest, Construct) { | 109 TEST_F(ActivityLogTest, Construct) { |
100 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); | 110 ASSERT_TRUE(GetDatabaseEnabled()); |
101 ASSERT_TRUE(activity_log->IsLogEnabled()); | 111 ASSERT_FALSE(GetWatchdogActive()); |
102 } | 112 } |
103 | 113 |
104 TEST_F(ActivityLogTest, LogAndFetchActions) { | 114 TEST_F(ActivityLogTest, LogAndFetchActions) { |
105 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); | 115 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
106 scoped_ptr<base::ListValue> args(new base::ListValue()); | 116 scoped_ptr<base::ListValue> args(new base::ListValue()); |
107 ASSERT_TRUE(activity_log->IsLogEnabled()); | 117 ASSERT_TRUE(GetDatabaseEnabled()); |
108 | 118 |
109 // Write some API calls | 119 // Write some API calls |
110 scoped_refptr<Action> action = new Action(kExtensionId, | 120 scoped_refptr<Action> action = new Action(kExtensionId, |
111 base::Time::Now(), | 121 base::Time::Now(), |
112 Action::ACTION_API_CALL, | 122 Action::ACTION_API_CALL, |
113 "tabs.testMethod"); | 123 "tabs.testMethod"); |
114 activity_log->LogAction(action); | 124 activity_log->LogAction(action); |
115 action = new Action(kExtensionId, | 125 action = new Action(kExtensionId, |
116 base::Time::Now(), | 126 base::Time::Now(), |
117 Action::ACTION_DOM_ACCESS, | 127 Action::ACTION_DOM_ACCESS, |
(...skipping 10 matching lines...) Expand all Loading... |
128 TEST_F(ActivityLogTest, LogPrerender) { | 138 TEST_F(ActivityLogTest, LogPrerender) { |
129 scoped_refptr<const Extension> extension = | 139 scoped_refptr<const Extension> extension = |
130 ExtensionBuilder() | 140 ExtensionBuilder() |
131 .SetManifest(DictionaryBuilder() | 141 .SetManifest(DictionaryBuilder() |
132 .Set("name", "Test extension") | 142 .Set("name", "Test extension") |
133 .Set("version", "1.0.0") | 143 .Set("version", "1.0.0") |
134 .Set("manifest_version", 2)) | 144 .Set("manifest_version", 2)) |
135 .Build(); | 145 .Build(); |
136 extension_service_->AddExtension(extension.get()); | 146 extension_service_->AddExtension(extension.get()); |
137 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); | 147 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
138 ASSERT_TRUE(activity_log->IsLogEnabled()); | 148 ASSERT_TRUE(GetDatabaseEnabled()); |
139 GURL url("http://www.google.com"); | 149 GURL url("http://www.google.com"); |
140 | 150 |
141 prerender::PrerenderManager* prerender_manager = | 151 prerender::PrerenderManager* prerender_manager = |
142 prerender::PrerenderManagerFactory::GetForProfile( | 152 prerender::PrerenderManagerFactory::GetForProfile( |
143 Profile::FromBrowserContext(profile())); | 153 Profile::FromBrowserContext(profile())); |
144 | 154 |
145 const gfx::Size kSize(640, 480); | 155 const gfx::Size kSize(640, 480); |
146 scoped_ptr<prerender::PrerenderHandle> prerender_handle( | 156 scoped_ptr<prerender::PrerenderHandle> prerender_handle( |
147 prerender_manager->AddPrerenderFromLocalPredictor( | 157 prerender_manager->AddPrerenderFromLocalPredictor( |
148 url, | 158 url, |
(...skipping 12 matching lines...) Expand all Loading... |
161 static_cast<TabHelper::ScriptExecutionObserver*>(activity_log)-> | 171 static_cast<TabHelper::ScriptExecutionObserver*>(activity_log)-> |
162 OnScriptsExecuted(contents, executing_scripts, 0, url); | 172 OnScriptsExecuted(contents, executing_scripts, 0, url); |
163 | 173 |
164 activity_log->GetActions( | 174 activity_log->GetActions( |
165 extension->id(), 0, base::Bind(ActivityLogTest::Arguments_Prerender)); | 175 extension->id(), 0, base::Bind(ActivityLogTest::Arguments_Prerender)); |
166 | 176 |
167 prerender_manager->CancelAllPrerenders(); | 177 prerender_manager->CancelAllPrerenders(); |
168 } | 178 } |
169 | 179 |
170 } // namespace extensions | 180 } // namespace extensions |
OLD | NEW |