1 // Copyright 2016 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 "content/shell/common/shell_origin_trial_policy.h"
6 
7 #include "base/feature_list.h"
8 #include "base/stl_util.h"
9 #include "content/public/common/content_features.h"
10 #include "third_party/blink/public/common/loader/network_utils.h"
11 
12 namespace content {
13 
14 namespace {
15 
16 // This is the public key which the content shell will use to enable origin
17 // trial features. Trial tokens for use in web tests can be created with the
18 // tool in /tools/origin_trials/generate_token.py, using the private key
19 // contained in /tools/origin_trials/eftest.key.
20 static const uint8_t kOriginTrialPublicKey[] = {
21     0x75, 0x10, 0xac, 0xf9, 0x3a, 0x1c, 0xb8, 0xa9, 0x28, 0x70, 0xd2,
22     0x9a, 0xd0, 0x0b, 0x59, 0xe1, 0xac, 0x2b, 0xb7, 0xd5, 0xca, 0x1f,
23     0x64, 0x90, 0x08, 0x8e, 0xa8, 0xe0, 0x56, 0x3a, 0x04, 0xd0,
24 };
25 
26 }  // namespace
27 
ShellOriginTrialPolicy()28 ShellOriginTrialPolicy::ShellOriginTrialPolicy() {
29   public_keys_.push_back(base::StringPiece(
30       reinterpret_cast<const char*>(kOriginTrialPublicKey),
31       base::size(kOriginTrialPublicKey)));
32 }
33 
~ShellOriginTrialPolicy()34 ShellOriginTrialPolicy::~ShellOriginTrialPolicy() {}
35 
IsOriginTrialsSupported() const36 bool ShellOriginTrialPolicy::IsOriginTrialsSupported() const {
37   return true;
38 }
39 
GetPublicKeys() const40 std::vector<base::StringPiece> ShellOriginTrialPolicy::GetPublicKeys() const {
41   return public_keys_;
42 }
43 
IsOriginSecure(const GURL & url) const44 bool ShellOriginTrialPolicy::IsOriginSecure(const GURL& url) const {
45   return blink::network_utils::IsOriginSecure(url);
46 }
47 
48 }  // namespace content
49