blob: 06f31a4f46f4a0cfba07a8cc8b6f0575b0c3a8bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/common/content_client.h"
#include "base/logging.h"
#include "base/string_piece.h"
#include "ui/gfx/image/image.h"
#include "webkit/user_agent/user_agent.h"
#if defined(ENABLE_PLUGINS)
#include "webkit/plugins/ppapi/host_globals.h"
#endif
namespace content {
static ContentClient* g_client;
class InternalTestInitializer {
public:
static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) {
ContentBrowserClient* rv = g_client->browser_;
g_client->browser_ = b;
return rv;
}
static ContentRendererClient* SetRenderer(ContentRendererClient* r) {
ContentRendererClient* rv = g_client->renderer_;
g_client->renderer_ = r;
return rv;
}
};
void SetContentClient(ContentClient* client) {
g_client = client;
// Set the default user agent as provided by the client. We need to make
// sure this is done before webkit_glue::GetUserAgent() is called (so that
// the UA doesn't change).
if (client) {
webkit_glue::SetUserAgent(client->GetUserAgent(), false);
}
}
ContentClient* GetContentClient() {
return g_client;
}
ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) {
return InternalTestInitializer::SetBrowser(b);
}
ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) {
return InternalTestInitializer::SetRenderer(r);
}
const std::string& GetUserAgent(const GURL& url) {
DCHECK(g_client);
return webkit_glue::GetUserAgent(url);
}
webkit::ppapi::HostGlobals* GetHostGlobals() {
#if defined(ENABLE_PLUGINS)
return webkit::ppapi::HostGlobals::Get();
#else
return NULL;
#endif
}
ContentClient::ContentClient()
: browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) {
}
ContentClient::~ContentClient() {
}
bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
return false;
}
bool ContentClient::CanHandleWhileSwappedOut(const IPC::Message& message) {
return false;
}
std::string ContentClient::GetProduct() const {
return std::string();
}
std::string ContentClient::GetUserAgent() const {
return std::string();
}
string16 ContentClient::GetLocalizedString(int message_id) const {
return string16();
}
base::StringPiece ContentClient::GetDataResource(
int resource_id,
ui::ScaleFactor scale_factor) const {
return base::StringPiece();
}
base::RefCountedStaticMemory* ContentClient::GetDataResourceBytes(
int resource_id) const {
return NULL;
}
gfx::Image& ContentClient::GetNativeImageNamed(int resource_id) const {
CR_DEFINE_STATIC_LOCAL(gfx::Image, kEmptyImage, ());
return kEmptyImage;
}
std::string ContentClient::GetProcessTypeNameInEnglish(int type) {
NOTIMPLEMENTED();
return std::string();
}
#if defined(OS_MACOSX) && !defined(OS_IOS)
bool ContentClient::GetSandboxProfileForSandboxType(
int sandbox_type,
int* sandbox_profile_resource_id) const {
return false;
}
std::string ContentClient::GetCarbonInterposePath() const {
return std::string();
}
#endif
} // namespace content
|