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

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

Issue 192283002: Revert 255858 "Simplify the user agent code some more since afte..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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"
10 11
11 namespace content { 12 namespace content {
12 13
13 static ContentClient* g_client; 14 static ContentClient* g_client;
14 15
15 class InternalTestInitializer { 16 class InternalTestInitializer {
16 public: 17 public:
17 static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) { 18 static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) {
18 ContentBrowserClient* rv = g_client->browser_; 19 ContentBrowserClient* rv = g_client->browser_;
19 g_client->browser_ = b; 20 g_client->browser_ = b;
20 return rv; 21 return rv;
21 } 22 }
22 23
23 static ContentRendererClient* SetRenderer(ContentRendererClient* r) { 24 static ContentRendererClient* SetRenderer(ContentRendererClient* r) {
24 ContentRendererClient* rv = g_client->renderer_; 25 ContentRendererClient* rv = g_client->renderer_;
25 g_client->renderer_ = r; 26 g_client->renderer_ = r;
26 return rv; 27 return rv;
27 } 28 }
28 29
29 static ContentUtilityClient* SetUtility(ContentUtilityClient* u) { 30 static ContentUtilityClient* SetUtility(ContentUtilityClient* u) {
30 ContentUtilityClient* rv = g_client->utility_; 31 ContentUtilityClient* rv = g_client->utility_;
31 g_client->utility_ = u; 32 g_client->utility_ = u;
32 return rv; 33 return rv;
33 } 34 }
34 }; 35 };
35 36
36 void SetContentClient(ContentClient* client) { 37 void SetContentClient(ContentClient* client) {
37 g_client = client; 38 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());
38 } 45 }
39 46
40 ContentClient* GetContentClient() { 47 ContentClient* GetContentClient() {
41 return g_client; 48 return g_client;
42 } 49 }
43 50
44 ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) { 51 ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) {
45 return InternalTestInitializer::SetBrowser(b); 52 return InternalTestInitializer::SetBrowser(b);
46 } 53 }
47 54
48 ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) { 55 ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) {
49 return InternalTestInitializer::SetRenderer(r); 56 return InternalTestInitializer::SetRenderer(r);
50 } 57 }
51 58
52 ContentUtilityClient* SetUtilityClientForTesting(ContentUtilityClient* u) { 59 ContentUtilityClient* SetUtilityClientForTesting(ContentUtilityClient* u) {
53 return InternalTestInitializer::SetUtility(u); 60 return InternalTestInitializer::SetUtility(u);
54 } 61 }
55 62
63 const std::string& GetUserAgent(const GURL& url) {
64 DCHECK(g_client);
65 return webkit_glue::GetUserAgent(url);
66 }
67
56 ContentClient::ContentClient() 68 ContentClient::ContentClient()
57 : browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) { 69 : browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) {
58 } 70 }
59 71
60 ContentClient::~ContentClient() { 72 ContentClient::~ContentClient() {
61 } 73 }
62 74
63 bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) { 75 bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
64 return false; 76 return false;
65 } 77 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 int* sandbox_profile_resource_id) const { 119 int* sandbox_profile_resource_id) const {
108 return false; 120 return false;
109 } 121 }
110 122
111 std::string ContentClient::GetCarbonInterposePath() const { 123 std::string ContentClient::GetCarbonInterposePath() const {
112 return std::string(); 124 return std::string();
113 } 125 }
114 #endif 126 #endif
115 127
116 } // namespace content 128 } // namespace content
OLDNEW
« no previous file with comments | « trunk/src/content/public/common/content_client.h ('k') | trunk/src/content/public/common/content_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698