blob: a69cd8725c7a82864e377cadd036e2da5f666362 [file] [log] [blame]
// 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.
#ifndef CHROME_COMMON_CHROME_CONTENT_CLIENT_H_
#define CHROME_COMMON_CHROME_CONTENT_CLIENT_H_
#pragma once
#include <string>
#include <vector>
#include "base/compiler_specific.h"
#include "content/public/common/content_client.h"
namespace chrome {
class ChromeContentClient : public content::ContentClient {
public:
static const char* const kPDFPluginName;
static const char* const kNaClPluginName;
static const char* const kNaClOldPluginName;
virtual void SetActiveURL(const GURL& url) OVERRIDE;
virtual void SetGpuInfo(const content::GPUInfo& gpu_info) OVERRIDE;
virtual void AddPepperPlugins(
std::vector<content::PepperPluginInfo>* plugins) OVERRIDE;
virtual void AddNPAPIPlugins(
webkit::npapi::PluginList* plugin_list) OVERRIDE;
virtual void AddAdditionalSchemes(
std::vector<std::string>* standard_schemes,
std::vector<std::string>* saveable_shemes) OVERRIDE;
virtual bool HasWebUIScheme(const GURL& url) const OVERRIDE;
virtual bool CanHandleWhileSwappedOut(const IPC::Message& msg) OVERRIDE;
virtual std::string GetUserAgent() const OVERRIDE;
virtual string16 GetLocalizedString(int message_id) const OVERRIDE;
virtual base::StringPiece GetDataResource(int resource_id) const OVERRIDE;
virtual base::StringPiece GetImageResource(int resource_id,
float scale_factor) const OVERRIDE;
#if defined(OS_WIN)
virtual bool SandboxPlugin(CommandLine* command_line,
sandbox::TargetPolicy* policy) OVERRIDE;
#endif
#if defined(OS_MACOSX)
virtual bool GetSandboxProfileForSandboxType(
int sandbox_type,
int* sandbox_profile_resource_id) const OVERRIDE;
#endif
// Gets information about the bundled Pepper Flash for field trial.
// |override_npapi_flash| indicates whether it should take precedence over
// the internal NPAPI Flash.
// Returns false if bundled Pepper Flash is not available. In that case,
// |plugin| and |override_npapi_flash| are not touched.
//
// TODO(yzshen): We need this method because currently we are having a field
// trial with bundled Pepper Flash, and need extra information about how to
// order bundled Pepper Flash and internal NPAPI Flash. Once the field trial
// is over, we should merge this into AddPepperPlugins().
bool GetBundledFieldTrialPepperFlash(content::PepperPluginInfo* plugin,
bool* override_npapi_flash);
};
} // namespace chrome
#endif // CHROME_COMMON_CHROME_CONTENT_CLIENT_H_