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

Unified Diff: chrome/browser/rlz/rlz_extension_apitest.cc

Issue 9699054: rlz: Hook up on mac, switch to chrome's network stack on win. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/rlz/rlz_extension_apitest.cc
diff --git a/chrome/browser/rlz/rlz_extension_apitest.cc b/chrome/browser/rlz/rlz_extension_apitest.cc
index 454efa131fc44da95e18ca81aa36f89ba9c38ec6..7a1810b717d7e58b59effba3b9925e5ad8b6ef76 100644
--- a/chrome/browser/rlz/rlz_extension_apitest.cc
+++ b/chrome/browser/rlz/rlz_extension_apitest.cc
@@ -4,14 +4,19 @@
#include <map>
-#include "base/win/registry.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/extension_function.h"
#include "chrome/browser/extensions/extension_function_dispatcher.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/rlz/rlz_extension_api.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
-#include "rlz/win/lib/rlz_lib.h"
+#include "net/base/mock_host_resolver.h"
+#include "rlz/lib/rlz_lib.h"
+
+#if (OS_WIN)
+#include "base/win/registry.h"
+#endif
class MockRlzSendFinancialPingFunction : public RlzSendFinancialPingFunction {
virtual bool RunImpl();
@@ -37,6 +42,14 @@ ExtensionFunction* MockRlzSendFinancialPingFunctionFactory() {
}
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Rlz) {
+ // The default test resolver doesn't allow lookups to *.google.com. That
+ // makes sense, but it does make RLZ's SendFinancialPing() fail -- so allow
+ // connections to google.com in this test.
+ scoped_refptr<net::RuleBasedHostResolverProc> resolver =
+ new net::RuleBasedHostResolverProc(host_resolver());
+ resolver->AllowDirectLookup("*.google.com");
+ net::ScopedDefaultHostResolverProc scoper(resolver);
+
CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kEnableExperimentalExtensionApis);
@@ -49,6 +62,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Rlz) {
rlz_lib::ClearProductState(rlz_lib::PINYIN_IME, access_points);
rlz_lib::ClearProductState(rlz_lib::DESKTOP, access_points);
+#if defined(OS_WIN)
// Check that the state has really been cleared.
base::win::RegKey key(HKEY_CURRENT_USER,
L"Software\\Google\\Common\\Rlz\\Events\\N",
@@ -58,6 +72,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Rlz) {
key.Open(HKEY_CURRENT_USER, L"Software\\Google\\Common\\Rlz\\Events\\D",
KEY_READ);
ASSERT_FALSE(key.Valid());
+#endif
// Mock out experimental.rlz.sendFinancialPing().
ASSERT_TRUE(ExtensionFunctionDispatcher::OverrideFunction(
@@ -73,6 +88,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Rlz) {
ASSERT_EQ(3, MockRlzSendFinancialPingFunction::expected_count());
ExtensionFunctionDispatcher::ResetFunctions();
+#if defined(OS_WIN)
// Now make sure we recorded what was expected. If the code in test.js
// changes, need to make appropriate changes here.
key.Open(HKEY_CURRENT_USER, L"Software\\Google\\Common\\Rlz\\Events\\N",
@@ -93,6 +109,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Rlz) {
key.Open(HKEY_CURRENT_USER, L"Software\\Google\\Common\\Rlz\\Events\\D",
KEY_READ);
ASSERT_FALSE(key.Valid());
+#endif
// Cleanup.
rlz_lib::ClearProductState(rlz_lib::PINYIN_IME, access_points);

Powered by Google App Engine
This is Rietveld 408576698