shell_content_client.cc revision 5f1c94371a64b3196d4be9466099bb892df9b88e
1// Copyright 2014 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 "extensions/shell/common/shell_content_client.h"
6
7#include "base/strings/string_piece.h"
8#include "base/strings/utf_string_conversions.h"
9#include "content/public/common/user_agent.h"
10#include "extensions/common/constants.h"
11#include "ui/base/l10n/l10n_util.h"
12#include "ui/base/resource/resource_bundle.h"
13
14namespace extensions {
15
16ShellContentClient::ShellContentClient() {
17}
18
19ShellContentClient::~ShellContentClient() {
20}
21
22void ShellContentClient::AddAdditionalSchemes(
23    std::vector<std::string>* standard_schemes,
24    std::vector<std::string>* savable_schemes) {
25  standard_schemes->push_back(kExtensionScheme);
26  savable_schemes->push_back(kExtensionScheme);
27  standard_schemes->push_back(kExtensionResourceScheme);
28  savable_schemes->push_back(kExtensionResourceScheme);
29}
30
31std::string ShellContentClient::GetUserAgent() const {
32  // TODO(derat): Figure out what this should be for app_shell and determine
33  // whether we need to include a version number to placate browser sniffing.
34  return content::BuildUserAgentFromProduct("Chrome");
35}
36
37base::string16 ShellContentClient::GetLocalizedString(int message_id) const {
38  return l10n_util::GetStringUTF16(message_id);
39}
40
41base::StringPiece ShellContentClient::GetDataResource(
42    int resource_id,
43    ui::ScaleFactor scale_factor) const {
44  return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale(
45      resource_id, scale_factor);
46}
47
48base::RefCountedStaticMemory* ShellContentClient::GetDataResourceBytes(
49    int resource_id) const {
50  return ResourceBundle::GetSharedInstance().LoadDataResourceBytes(resource_id);
51}
52
53gfx::Image& ShellContentClient::GetNativeImageNamed(int resource_id) const {
54  return ResourceBundle::GetSharedInstance().GetNativeImageNamed(resource_id);
55}
56
57}  // namespace extensions
58