diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-04-05 17:15:33 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-04-11 07:47:18 +0000 |
commit | 7324afb043a0b1e623d8e8eb906cdc53bdeb4685 (patch) | |
tree | a3fe2d74ea9c9e142c390dac4ca0e219382ace46 /chromium/third_party/WebKit/Source/core/origin_trials | |
parent | 6a4cabb866f66d4128a97cdc6d9d08ce074f1247 (diff) | |
download | qtwebengine-chromium-7324afb043a0b1e623d8e8eb906cdc53bdeb4685.tar.gz |
BASELINE: Update Chromium to 58.0.3029.54
Change-Id: I67f57065a7afdc8e4614adb5c0230281428df4d1
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/origin_trials')
3 files changed, 22 insertions, 25 deletions
diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp index c27eb23a7e3..6f9317af308 100644 --- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp +++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp @@ -20,11 +20,10 @@ #include "public/platform/WebOriginTrialTokenStatus.h" #include "public/platform/WebSecurityOrigin.h" #include "public/platform/WebTrialTokenValidator.h" +#include "v8/include/v8.h" #include "wtf/Vector.h" #include "wtf/text/StringBuilder.h" -#include <v8.h> - namespace blink { namespace { @@ -86,9 +85,9 @@ String extractTokenOrQuotedString(const String& headerValue, unsigned& pos) { } // namespace -OriginTrialContext::OriginTrialContext(ExecutionContext* host, +OriginTrialContext::OriginTrialContext(ExecutionContext& context, WebTrialTokenValidator* validator) - : m_host(host), m_trialTokenValidator(validator) {} + : Supplement<ExecutionContext>(context), m_trialTokenValidator(validator) {} // static const char* OriginTrialContext::supplementName() { @@ -96,14 +95,14 @@ const char* OriginTrialContext::supplementName() { } // static -OriginTrialContext* OriginTrialContext::from(ExecutionContext* host, +OriginTrialContext* OriginTrialContext::from(ExecutionContext* context, CreateMode create) { OriginTrialContext* originTrials = static_cast<OriginTrialContext*>( - Supplement<ExecutionContext>::from(host, supplementName())); + Supplement<ExecutionContext>::from(context, supplementName())); if (!originTrials && create == CreateIfNotExists) { originTrials = new OriginTrialContext( - host, Platform::current()->trialTokenValidator()); - Supplement<ExecutionContext>::provideTo(*host, supplementName(), + *context, Platform::current()->trialTokenValidator()); + Supplement<ExecutionContext>::provideTo(*context, supplementName(), originTrials); } return originTrials; @@ -127,28 +126,28 @@ std::unique_ptr<Vector<String>> OriginTrialContext::parseHeaderValue( } // static -void OriginTrialContext::addTokensFromHeader(ExecutionContext* host, +void OriginTrialContext::addTokensFromHeader(ExecutionContext* context, const String& headerValue) { if (headerValue.isEmpty()) return; std::unique_ptr<Vector<String>> tokens(parseHeaderValue(headerValue)); if (!tokens) return; - addTokens(host, tokens.get()); + addTokens(context, tokens.get()); } // static -void OriginTrialContext::addTokens(ExecutionContext* host, +void OriginTrialContext::addTokens(ExecutionContext* context, const Vector<String>* tokens) { if (!tokens || tokens->isEmpty()) return; - from(host)->addTokens(*tokens); + from(context)->addTokens(*tokens); } // static std::unique_ptr<Vector<String>> OriginTrialContext::getTokens( - ExecutionContext* host) { - OriginTrialContext* context = from(host, DontCreateIfNotExists); + ExecutionContext* executionContext) { + OriginTrialContext* context = from(executionContext, DontCreateIfNotExists); if (!context || context->m_tokens.isEmpty()) return nullptr; return std::unique_ptr<Vector<String>>(new Vector<String>(context->m_tokens)); @@ -186,9 +185,9 @@ void OriginTrialContext::addTokens(const Vector<String>& tokens) { void OriginTrialContext::initializePendingFeatures() { if (!m_enabledTrials.size()) return; - if (!m_host->isDocument()) + if (!supplementable()->isDocument()) return; - LocalFrame* frame = toDocument(m_host.get())->frame(); + LocalFrame* frame = toDocument(supplementable())->frame(); if (!frame) return; ScriptState* scriptState = ScriptState::forMainWorld(frame); @@ -201,7 +200,7 @@ void OriginTrialContext::initializePendingFeatures() { if (m_installedTrials.contains(enabledTrial)) continue; installPendingConditionalFeature(enabledTrial, scriptState); - m_installedTrials.add(enabledTrial); + m_installedTrials.insert(enabledTrial); } } @@ -216,7 +215,7 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) { DCHECK(!token.isEmpty()); // Origin trials are only enabled for secure origins - if (!m_host->isSecureContext()) { + if (!supplementable()->isSecureContext()) { tokenValidationResultHistogram().count( static_cast<int>(WebOriginTrialTokenStatus::Insecure)); return false; @@ -228,14 +227,14 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) { return false; } - WebSecurityOrigin origin(m_host->getSecurityOrigin()); + WebSecurityOrigin origin(supplementable()->getSecurityOrigin()); WebString trialName; bool valid = false; WebOriginTrialTokenStatus tokenResult = m_trialTokenValidator->validateToken(token, origin, &trialName); if (tokenResult == WebOriginTrialTokenStatus::Success) { valid = true; - m_enabledTrials.add(trialName); + m_enabledTrials.insert(trialName); } tokenValidationResultHistogram().count(static_cast<int>(tokenResult)); @@ -243,7 +242,6 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) { } DEFINE_TRACE(OriginTrialContext) { - visitor->trace(m_host); Supplement<ExecutionContext>::trace(visitor); } diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h index 2a31580b5f6..dda09977493 100644 --- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h +++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h @@ -25,7 +25,7 @@ class WebTrialTokenValidator; // context. This class is not for direct use by feature implementers. // Instead, the OriginTrials generated namespace provides a method for each // trial to check if it is enabled. Experimental features must be defined in -// RuntimeEnabledFeatures.in, which is used to generate OriginTrials.h/cpp. +// RuntimeEnabledFeatures.json5, which is used to generate OriginTrials.h/cpp. // // Origin trials are defined by string names, provided by the implementers. The // framework does not maintain an enum or constant list for trial names. @@ -40,7 +40,7 @@ class CORE_EXPORT OriginTrialContext final public: enum CreateMode { CreateIfNotExists, DontCreateIfNotExists }; - OriginTrialContext(ExecutionContext*, WebTrialTokenValidator*); + OriginTrialContext(ExecutionContext&, WebTrialTokenValidator*); static const char* supplementName(); @@ -90,7 +90,6 @@ class CORE_EXPORT OriginTrialContext final // the token is valid. bool enableTrialFromToken(const String& token); - Member<ExecutionContext> m_host; Vector<String> m_tokens; HashSet<String> m_enabledTrials; HashSet<String> m_installedTrials; diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp index 9ca6eafa57d..4261d607f62 100644 --- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp +++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp @@ -74,7 +74,7 @@ class OriginTrialContextTest : public ::testing::Test { : m_frameworkWasEnabled(RuntimeEnabledFeatures::originTrialsEnabled()), m_executionContext(new NullExecutionContext()), m_tokenValidator(WTF::makeUnique<MockTokenValidator>()), - m_originTrialContext(new OriginTrialContext(m_executionContext.get(), + m_originTrialContext(new OriginTrialContext(*m_executionContext, m_tokenValidator.get())), m_histogramTester(new HistogramTester()) { RuntimeEnabledFeatures::setOriginTrialsEnabled(true); |