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.
5 #ifndef CHROME_COMMON_CHROME_CONTENT_CLIENT_H_
6 #define CHROME_COMMON_CHROME_CONTENT_CLIENT_H_
11 #include "base/compiler_specific.h"
12 #include "content/public/common/content_client.h"
16 class ChromeContentClient
: public content::ContentClient
{
18 static const char* const kPDFPluginName
;
19 static const char* const kNaClPluginName
;
20 static const char* const kNaClOldPluginName
;
22 virtual void SetActiveURL(const GURL
& url
) OVERRIDE
;
23 virtual void SetGpuInfo(const content::GPUInfo
& gpu_info
) OVERRIDE
;
24 virtual void AddPepperPlugins(
25 std::vector
<content::PepperPluginInfo
>* plugins
) OVERRIDE
;
26 virtual void AddNPAPIPlugins(
27 webkit::npapi::PluginList
* plugin_list
) OVERRIDE
;
28 virtual void AddAdditionalSchemes(
29 std::vector
<std::string
>* standard_schemes
,
30 std::vector
<std::string
>* saveable_shemes
) OVERRIDE
;
31 virtual bool HasWebUIScheme(const GURL
& url
) const OVERRIDE
;
32 virtual bool CanHandleWhileSwappedOut(const IPC::Message
& msg
) OVERRIDE
;
33 virtual std::string
GetProduct() const OVERRIDE
;
34 virtual std::string
GetUserAgent() const OVERRIDE
;
35 virtual string16
GetLocalizedString(int message_id
) const OVERRIDE
;
36 virtual base::StringPiece
GetDataResource(
38 ui::ScaleFactor scale_factor
) const OVERRIDE
;
39 virtual gfx::Image
& GetNativeImageNamed(int resource_id
) const OVERRIDE
;
41 #if defined(OS_MACOSX) && !defined(OS_IOS)
42 virtual bool GetSandboxProfileForSandboxType(
44 int* sandbox_profile_resource_id
) const OVERRIDE
;
45 virtual std::string
GetCarbonInterposePath() const OVERRIDE
;
48 // Gets information about the bundled Pepper Flash for field trial.
49 // |override_npapi_flash| indicates whether it should take precedence over
50 // the internal NPAPI Flash.
51 // Returns false if bundled Pepper Flash is not available. In that case,
52 // |plugin| and |override_npapi_flash| are not touched.
54 // TODO(yzshen): We need this method because currently we are having a field
55 // trial with bundled Pepper Flash, and need extra information about how to
56 // order bundled Pepper Flash and internal NPAPI Flash. Once the field trial
57 // is over, we should merge this into AddPepperPlugins().
58 bool GetBundledFieldTrialPepperFlash(content::PepperPluginInfo
* plugin
,
59 bool* override_npapi_flash
);
64 #endif // CHROME_COMMON_CHROME_CONTENT_CLIENT_H_