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

Side by Side Diff: content/public/common/content_client.cc

Issue 186883002: Move user_agent code from webkit/ to content/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 6 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 unified diff | Download patch | Annotate | Revision Log
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 "content/public/common/content_client.h" 5 #include "content/public/common/content_client.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_piece.h" 8 #include "base/strings/string_piece.h"
9 #include "ui/gfx/image/image.h" 9 #include "ui/gfx/image/image.h"
10 #include "webkit/common/user_agent/user_agent.h"
11 10
12 namespace content { 11 namespace content {
13 12
14 static ContentClient* g_client; 13 static ContentClient* g_client;
15 14
16 class InternalTestInitializer { 15 class InternalTestInitializer {
17 public: 16 public:
18 static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) { 17 static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) {
19 ContentBrowserClient* rv = g_client->browser_; 18 ContentBrowserClient* rv = g_client->browser_;
20 g_client->browser_ = b; 19 g_client->browser_ = b;
21 return rv; 20 return rv;
22 } 21 }
23 22
24 static ContentRendererClient* SetRenderer(ContentRendererClient* r) { 23 static ContentRendererClient* SetRenderer(ContentRendererClient* r) {
25 ContentRendererClient* rv = g_client->renderer_; 24 ContentRendererClient* rv = g_client->renderer_;
26 g_client->renderer_ = r; 25 g_client->renderer_ = r;
27 return rv; 26 return rv;
28 } 27 }
29 28
30 static ContentUtilityClient* SetUtility(ContentUtilityClient* u) { 29 static ContentUtilityClient* SetUtility(ContentUtilityClient* u) {
31 ContentUtilityClient* rv = g_client->utility_; 30 ContentUtilityClient* rv = g_client->utility_;
32 g_client->utility_ = u; 31 g_client->utility_ = u;
33 return rv; 32 return rv;
34 } 33 }
35 }; 34 };
36 35
37 void SetContentClient(ContentClient* client) { 36 void SetContentClient(ContentClient* client) {
38 g_client = client; 37 g_client = client;
39
40 // Set the default user agent as provided by the client. We need to make
41 // sure this is done before webkit_glue::GetUserAgent() is called (so that
42 // the UA doesn't change).
43 if (client) {
44 webkit_glue::SetUserAgent(client->GetUserAgent(), false);
45 }
46 } 38 }
47 39
48 ContentClient* GetContentClient() { 40 ContentClient* GetContentClient() {
49 return g_client; 41 return g_client;
50 } 42 }
51 43
52 ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) { 44 ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) {
53 return InternalTestInitializer::SetBrowser(b); 45 return InternalTestInitializer::SetBrowser(b);
54 } 46 }
55 47
56 ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) { 48 ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) {
57 return InternalTestInitializer::SetRenderer(r); 49 return InternalTestInitializer::SetRenderer(r);
58 } 50 }
59 51
60 ContentUtilityClient* SetUtilityClientForTesting(ContentUtilityClient* u) { 52 ContentUtilityClient* SetUtilityClientForTesting(ContentUtilityClient* u) {
61 return InternalTestInitializer::SetUtility(u); 53 return InternalTestInitializer::SetUtility(u);
62 } 54 }
63 55
64 const std::string& GetUserAgent(const GURL& url) {
65 DCHECK(g_client);
66 return webkit_glue::GetUserAgent(url);
67 }
68
69 ContentClient::ContentClient() 56 ContentClient::ContentClient()
70 : browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) { 57 : browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) {
71 } 58 }
72 59
73 ContentClient::~ContentClient() { 60 ContentClient::~ContentClient() {
74 } 61 }
75 62
76 bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) { 63 bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
77 return false; 64 return false;
78 } 65 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 int* sandbox_profile_resource_id) const { 107 int* sandbox_profile_resource_id) const {
121 return false; 108 return false;
122 } 109 }
123 110
124 std::string ContentClient::GetCarbonInterposePath() const { 111 std::string ContentClient::GetCarbonInterposePath() const {
125 return std::string(); 112 return std::string();
126 } 113 }
127 #endif 114 #endif
128 115
129 } // namespace content 116 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698