From 79bd6e8691a7ff0b1d2b66a54cd09c9b874da8f9 Mon Sep 17 00:00:00 2001 From: "dpranke@chromium.org" Date: Mon, 26 Sep 2011 18:30:34 +0000 Subject: Re-land r102336 (remove webkit_glue::BuildUserAgent) w/ fix. Remove webkit_glue::BuildUserAgent(), change the contract in webkit_glue so that SetUserAgent() must be called before GetUserAgent(). This was causing a dependency inversion between webkit_support and its clients, and was needed for the content component build. For content users, calling SetContentClient() will automatically initialize the user agent (retrieved from client->GetUserAgent()). As a bonus, fixing this allowed me to re-test the "mimic_windows" code path and it looks like we no longer need it. R=jam@chromium.org,rsesek@chromium.org BUG=11136, 90442 TEST=visit yahoo! mail using Chromium on Linux, ensure that we don't get an "unsupported browser" warning. Review URL: http://codereview.chromium.org/8045005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102763 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome_frame/test/html_util_unittests.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'chrome_frame/test') diff --git a/chrome_frame/test/html_util_unittests.cc b/chrome_frame/test/html_util_unittests.cc index 9d59106..17589c0 100644 --- a/chrome_frame/test/html_util_unittests.cc +++ b/chrome_frame/test/html_util_unittests.cc @@ -20,11 +20,12 @@ #include "net/base/net_util.h" #include "chrome/browser/automation/url_request_automation_job.h" +#include "chrome/common/chrome_version_info.h" #include "chrome_frame/chrome_frame_automation.h" #include "chrome_frame/chrome_frame_delegate.h" #include "chrome_frame/html_utils.h" #include "testing/gtest/include/gtest/gtest.h" -#include "webkit/glue/webkit_glue.h" +#include "webkit/glue/user_agent.h" const char kChromeFrameUserAgent[] = "chromeframe"; @@ -403,11 +404,15 @@ TEST_F(HtmlUtilUnittest, GetDefaultUserAgentHeaderWithCFTag) { } TEST_F(HtmlUtilUnittest, GetChromeUserAgent) { - std::string chrome_ua; - chrome_ua = webkit_glue::BuildUserAgent(false); - EXPECT_FALSE(chrome_ua.empty()); + // This code is duplicated from chrome_content_client.cc to avoid + // introducing a link-time dependency on chrome_common. + chrome::VersionInfo version_info; + std::string product("Chrome/"); + product += version_info.is_valid() ? version_info.Version() : "0.0.0.0"; + std::string chrome_ua(webkit_glue::BuildUserAgentFromProduct(product)); + const char* ua = http_utils::GetChromeUserAgent(); - EXPECT_EQ(0, chrome_ua.compare(ua)); + EXPECT_EQ(ua, chrome_ua); } TEST_F(HtmlUtilUnittest, GetDefaultUserAgent) { -- cgit v1.1