summaryrefslogtreecommitdiffstats
path: root/content/public/common/content_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/public/common/content_client.cc')
-rw-r--r--content/public/common/content_client.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/content/public/common/content_client.cc b/content/public/common/content_client.cc
index 31bbb8a..06f31a4 100644
--- a/content/public/common/content_client.cc
+++ b/content/public/common/content_client.cc
@@ -17,6 +17,21 @@ 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;
@@ -32,6 +47,14 @@ 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);