content_client.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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 3// found in the LICENSE file. 4 5#include "content/public/common/content_client.h" 6 7#include "base/logging.h" 8#include "base/strings/string_piece.h" 9#include "content/public/common/user_agent.h" 10#include "ui/gfx/image/image.h" 11 12namespace content { 13 14static ContentClient* g_client; 15 16class InternalTestInitializer { 17 public: 18 static ContentBrowserClient* SetBrowser(ContentBrowserClient* b) { 19 ContentBrowserClient* rv = g_client->browser_; 20 g_client->browser_ = b; 21 return rv; 22 } 23 24 static ContentRendererClient* SetRenderer(ContentRendererClient* r) { 25 ContentRendererClient* rv = g_client->renderer_; 26 g_client->renderer_ = r; 27 return rv; 28 } 29 30 static ContentUtilityClient* SetUtility(ContentUtilityClient* u) { 31 ContentUtilityClient* rv = g_client->utility_; 32 g_client->utility_ = u; 33 return rv; 34 } 35}; 36 37void SetContentClient(ContentClient* client) { 38 g_client = client; 39 40 // TODO(jam): find out which static on Windows is causing this to have to be 41 // called on startup. 42 if (client) 43 client->GetUserAgent(); 44} 45 46ContentClient* GetContentClient() { 47 return g_client; 48} 49 50ContentBrowserClient* SetBrowserClientForTesting(ContentBrowserClient* b) { 51 return InternalTestInitializer::SetBrowser(b); 52} 53 54ContentRendererClient* SetRendererClientForTesting(ContentRendererClient* r) { 55 return InternalTestInitializer::SetRenderer(r); 56} 57 58ContentUtilityClient* SetUtilityClientForTesting(ContentUtilityClient* u) { 59 return InternalTestInitializer::SetUtility(u); 60} 61 62ContentClient::ContentClient() 63 : browser_(NULL), plugin_(NULL), renderer_(NULL), utility_(NULL) { 64} 65 66ContentClient::~ContentClient() { 67} 68 69bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) { 70 return false; 71} 72 73bool ContentClient::CanHandleWhileSwappedOut(const IPC::Message& message) { 74 return false; 75} 76 77std::string ContentClient::GetProduct() const { 78 return std::string(); 79} 80 81std::string ContentClient::GetUserAgent() const { 82 return std::string(); 83} 84 85base::string16 ContentClient::GetLocalizedString(int message_id) const { 86 return base::string16(); 87} 88 89base::StringPiece ContentClient::GetDataResource( 90 int resource_id, 91 ui::ScaleFactor scale_factor) const { 92 return base::StringPiece(); 93} 94 95base::RefCountedStaticMemory* ContentClient::GetDataResourceBytes( 96 int resource_id) const { 97 return NULL; 98} 99 100gfx::Image& ContentClient::GetNativeImageNamed(int resource_id) const { 101 CR_DEFINE_STATIC_LOCAL(gfx::Image, kEmptyImage, ()); 102 return kEmptyImage; 103} 104 105std::string ContentClient::GetProcessTypeNameInEnglish(int type) { 106 NOTIMPLEMENTED(); 107 return std::string(); 108} 109 110#if defined(OS_MACOSX) && !defined(OS_IOS) 111bool ContentClient::GetSandboxProfileForSandboxType( 112 int sandbox_type, 113 int* sandbox_profile_resource_id) const { 114 return false; 115} 116 117std::string ContentClient::GetCarbonInterposePath() const { 118 return std::string(); 119} 120#endif 121 122} // namespace content 123