1 // Copyright 2018 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 "fuchsia/engine/common/web_engine_content_client.h"
6 
7 #include "base/command_line.h"
8 #include "base/notreached.h"
9 #include "fuchsia/base/fuchsia_dir_scheme.h"
10 #include "fuchsia/engine/switches.h"
11 #include "ui/base/l10n/l10n_util.h"
12 #include "ui/base/resource/resource_bundle.h"
13 
14 WebEngineContentClient::WebEngineContentClient() = default;
15 WebEngineContentClient::~WebEngineContentClient() = default;
16 
GetLocalizedString(int message_id)17 base::string16 WebEngineContentClient::GetLocalizedString(int message_id) {
18   return l10n_util::GetStringUTF16(message_id);
19 }
20 
GetDataResource(int resource_id,ui::ScaleFactor scale_factor)21 base::StringPiece WebEngineContentClient::GetDataResource(
22     int resource_id,
23     ui::ScaleFactor scale_factor) {
24   return ui::ResourceBundle::GetSharedInstance().GetRawDataResourceForScale(
25       resource_id, scale_factor);
26 }
27 
GetDataResourceBytes(int resource_id)28 base::RefCountedMemory* WebEngineContentClient::GetDataResourceBytes(
29     int resource_id) {
30   return ui::ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
31       resource_id);
32 }
33 
GetNativeImageNamed(int resource_id)34 gfx::Image& WebEngineContentClient::GetNativeImageNamed(int resource_id) {
35   return ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed(
36       resource_id);
37 }
38 
GetOriginTrialPolicy()39 blink::OriginTrialPolicy* WebEngineContentClient::GetOriginTrialPolicy() {
40   NOTIMPLEMENTED_LOG_ONCE();
41   return nullptr;
42 }
43 
AddAdditionalSchemes(Schemes * schemes)44 void WebEngineContentClient::AddAdditionalSchemes(Schemes* schemes) {
45   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
46           switches::kContentDirectories)) {
47     schemes->standard_schemes.push_back(cr_fuchsia::kFuchsiaDirScheme);
48   }
49 }
50