diff options
Diffstat (limited to 'content/public/common/content_client.cc')
-rw-r--r-- | content/public/common/content_client.cc | 23 |
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); |