1// Copyright 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 "chrome/common/chrome_content_client.h"
6
7#include "base/logging.h"
8#include "base/strings/string_piece.h"
9#include "chrome/common/chrome_version_info.h"
10#include "chrome/common/url_constants.h"
11#include "content/public/common/user_agent.h"
12#include "ui/base/l10n/l10n_util.h"
13#include "ui/base/resource/resource_bundle.h"
14#include "url/gurl.h"
15
16// TODO(ios): Investigate merging with chrome_content_client.cc; this would
17// requiring either a lot of ifdefing, or spliting the file into parts.
18
19void ChromeContentClient::SetActiveURL(const GURL& url) {
20  NOTIMPLEMENTED();
21}
22
23void ChromeContentClient::SetGpuInfo(const gpu::GPUInfo& gpu_info) {
24  NOTIMPLEMENTED();
25}
26
27void ChromeContentClient::AddPepperPlugins(
28    std::vector<content::PepperPluginInfo>* plugins) {
29  NOTREACHED();
30}
31
32void ChromeContentClient::AddAdditionalSchemes(
33    std::vector<std::string>* standard_schemes,
34    std::vector<std::string>* saveable_shemes) {
35  // No additional schemes for iOS.
36}
37
38std::string ChromeContentClient::GetProduct() const {
39  chrome::VersionInfo version_info;
40  std::string product("CriOS/");
41  product += version_info.is_valid() ? version_info.Version() : "0.0.0.0";
42  return product;
43}
44
45std::string ChromeContentClient::GetUserAgent() const {
46  std::string product = GetProduct();
47  return content::BuildUserAgentFromProduct(product);
48}
49
50base::string16 ChromeContentClient::GetLocalizedString(int message_id) const {
51  return l10n_util::GetStringUTF16(message_id);
52}
53
54base::StringPiece ChromeContentClient::GetDataResource(
55    int resource_id,
56    ui::ScaleFactor scale_factor) const {
57  return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale(
58      resource_id, scale_factor);
59}
60
61base::RefCountedStaticMemory* ChromeContentClient::GetDataResourceBytes(
62    int resource_id) const {
63  return ResourceBundle::GetSharedInstance().LoadDataResourceBytes(resource_id);
64}
65
66gfx::Image& ChromeContentClient::GetNativeImageNamed(int resource_id) const {
67  return ResourceBundle::GetSharedInstance().GetNativeImageNamed(resource_id);
68}
69
70std::string ChromeContentClient::GetProcessTypeNameInEnglish(int type) {
71  DCHECK(false) << "Unknown child process type!";
72  return "Unknown"; 
73}
74