Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp

Issue 2945223002: Add deprecation warnings for permission API usage from iframes (Closed)
Patch Set: . Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.h" 5 #include "modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "bindings/core/v8/ScriptPromise.h" 9 #include "bindings/core/v8/ScriptPromise.h"
10 #include "bindings/core/v8/ScriptPromiseResolver.h" 10 #include "bindings/core/v8/ScriptPromiseResolver.h"
(...skipping 12 matching lines...) Expand all
23 #include "platform/Histogram.h" 23 #include "platform/Histogram.h"
24 #include "platform/bindings/ScriptState.h" 24 #include "platform/bindings/ScriptState.h"
25 #include "platform/bindings/V8ThrowException.h" 25 #include "platform/bindings/V8ThrowException.h"
26 #include "platform/network/ParsedContentType.h" 26 #include "platform/network/ParsedContentType.h"
27 #include "platform/network/mime/ContentType.h" 27 #include "platform/network/mime/ContentType.h"
28 #include "platform/wtf/PtrUtil.h" 28 #include "platform/wtf/PtrUtil.h"
29 #include "platform/wtf/Vector.h" 29 #include "platform/wtf/Vector.h"
30 #include "platform/wtf/text/WTFString.h" 30 #include "platform/wtf/text/WTFString.h"
31 #include "public/platform/WebEncryptedMediaClient.h" 31 #include "public/platform/WebEncryptedMediaClient.h"
32 #include "public/platform/WebEncryptedMediaRequest.h" 32 #include "public/platform/WebEncryptedMediaRequest.h"
33 #include "public/platform/WebFeaturePolicyFeature.h"
33 #include "public/platform/WebMediaKeySystemConfiguration.h" 34 #include "public/platform/WebMediaKeySystemConfiguration.h"
34 #include "public/platform/WebMediaKeySystemMediaCapability.h" 35 #include "public/platform/WebMediaKeySystemMediaCapability.h"
35 #include "public/platform/WebVector.h" 36 #include "public/platform/WebVector.h"
36 37
37 namespace blink { 38 namespace blink {
38 39
39 namespace { 40 namespace {
40 41
41 static WebVector<WebEncryptedMediaInitDataType> ConvertInitDataTypes( 42 static WebVector<WebEncryptedMediaInitDataType> ConvertInitDataTypes(
42 const Vector<String>& init_data_types) { 43 const Vector<String>& init_data_types) {
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 return ScriptPromise::RejectWithDOMException( 324 return ScriptPromise::RejectWithDOMException(
324 script_state, 325 script_state,
325 DOMException::Create( 326 DOMException::Create(
326 kInvalidStateError, 327 kInvalidStateError,
327 "The context provided is not associated with a page.")); 328 "The context provided is not associated with a page."));
328 } 329 }
329 330
330 UseCounter::Count(*document, WebFeature::kEncryptedMediaSecureOrigin); 331 UseCounter::Count(*document, WebFeature::kEncryptedMediaSecureOrigin);
331 UseCounter::CountCrossOriginIframe( 332 UseCounter::CountCrossOriginIframe(
332 *document, WebFeature::kEncryptedMediaCrossOriginIframe); 333 *document, WebFeature::kEncryptedMediaCrossOriginIframe);
334 Deprecation::CountDeprecationFeaturePolicy(*document,
335 WebFeaturePolicyFeature::kEme);
333 336
334 // 4. Let origin be the origin of document. 337 // 4. Let origin be the origin of document.
335 // (Passed with the execution context.) 338 // (Passed with the execution context.)
336 339
337 // 5. Let promise be a new promise. 340 // 5. Let promise be a new promise.
338 MediaKeySystemAccessInitializer* initializer = 341 MediaKeySystemAccessInitializer* initializer =
339 new MediaKeySystemAccessInitializer(script_state, key_system, 342 new MediaKeySystemAccessInitializer(script_state, key_system,
340 supported_configurations); 343 supported_configurations);
341 ScriptPromise promise = initializer->Promise(); 344 ScriptPromise promise = initializer->Promise();
342 345
343 // 6. Asynchronously determine support, and if allowed, create and 346 // 6. Asynchronously determine support, and if allowed, create and
344 // initialize the MediaKeySystemAccess object. 347 // initialize the MediaKeySystemAccess object.
345 MediaKeysController* controller = 348 MediaKeysController* controller =
346 MediaKeysController::From(document->GetPage()); 349 MediaKeysController::From(document->GetPage());
347 WebEncryptedMediaClient* media_client = 350 WebEncryptedMediaClient* media_client =
348 controller->EncryptedMediaClient(execution_context); 351 controller->EncryptedMediaClient(execution_context);
349 media_client->RequestMediaKeySystemAccess( 352 media_client->RequestMediaKeySystemAccess(
350 WebEncryptedMediaRequest(initializer)); 353 WebEncryptedMediaRequest(initializer));
351 354
352 // 7. Return promise. 355 // 7. Return promise.
353 return promise; 356 return promise;
354 } 357 }
355 358
356 } // namespace blink 359 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/Deprecation.cpp ('k') | third_party/WebKit/Source/modules/geolocation/Geolocation.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698