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

Side by Side Diff: chrome/common/chrome_content_client.cc

Issue 2582463003: media: Verify CDM Host files (Closed)
Patch Set: comments addressed Created 3 years, 11 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
« no previous file with comments | « chrome/common/chrome_content_client.h ('k') | chrome/common/media/cdm_host_file_path.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/common/chrome_content_client.h" 5 #include "chrome/common/chrome_content_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 #include "flapper_version.h" // nogncheck In SHARED_INTERMEDIATE_DIR. 78 #include "flapper_version.h" // nogncheck In SHARED_INTERMEDIATE_DIR.
79 #include "ppapi/shared_impl/ppapi_permissions.h" 79 #include "ppapi/shared_impl/ppapi_permissions.h"
80 #endif 80 #endif
81 81
82 #if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS) && \ 82 #if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS) && \
83 !defined(WIDEVINE_CDM_IS_COMPONENT) 83 !defined(WIDEVINE_CDM_IS_COMPONENT)
84 #define WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT 84 #define WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT
85 #include "chrome/common/widevine_cdm_constants.h" 85 #include "chrome/common/widevine_cdm_constants.h"
86 #endif 86 #endif
87 87
88 #if BUILDFLAG(ENABLE_PEPPER_CDMS)
89 #include "chrome/common/media/cdm_host_file_path.h"
90 #endif
91
88 #if defined(OS_ANDROID) 92 #if defined(OS_ANDROID)
89 #include "chrome/common/chrome_media_client_android.h" 93 #include "chrome/common/chrome_media_client_android.h"
90 #endif 94 #endif
91 95
92 namespace { 96 namespace {
93 97
94 #if BUILDFLAG(ENABLE_PLUGINS) 98 #if BUILDFLAG(ENABLE_PLUGINS)
95 #if BUILDFLAG(ENABLE_PDF) 99 #if BUILDFLAG(ENABLE_PDF)
96 const char kPDFPluginExtension[] = "pdf"; 100 const char kPDFPluginExtension[] = "pdf";
97 const char kPDFPluginDescription[] = "Portable Document Format"; 101 const char kPDFPluginDescription[] = "Portable Document Format";
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 // better than any other hardcoded alternative. 531 // better than any other hardcoded alternative.
528 plugins->push_back(CreatePepperFlashInfo( 532 plugins->push_back(CreatePepperFlashInfo(
529 base::FilePath::FromUTF8Unsafe(ChromeContentClient::kNotPresent), 533 base::FilePath::FromUTF8Unsafe(ChromeContentClient::kNotPresent),
530 FLAPPER_VERSION_STRING, false)); 534 FLAPPER_VERSION_STRING, false));
531 #endif // defined(GOOGLE_CHROME_BUILD) && defined(FLAPPER_AVAILABLE) 535 #endif // defined(GOOGLE_CHROME_BUILD) && defined(FLAPPER_AVAILABLE)
532 } 536 }
533 #endif // BUILDFLAG(ENABLE_PLUGINS) 537 #endif // BUILDFLAG(ENABLE_PLUGINS)
534 } 538 }
535 539
536 void ChromeContentClient::AddContentDecryptionModules( 540 void ChromeContentClient::AddContentDecryptionModules(
537 std::vector<content::CdmInfo>* cdms) { 541 std::vector<content::CdmInfo>* cdms,
542 std::vector<content::CdmHostFilePath>* cdm_host_file_paths) {
543 if (cdms) {
538 // TODO(jrummell): Need to have a better flag to indicate systems Widevine 544 // TODO(jrummell): Need to have a better flag to indicate systems Widevine
539 // is available on. For now we continue to use ENABLE_PEPPER_CDMS so that 545 // is available on. For now we continue to use ENABLE_PEPPER_CDMS so that
540 // we can experiment between pepper and mojo. 546 // we can experiment between pepper and mojo.
541 #if defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) 547 #if defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT)
542 base::FilePath adapter_path; 548 base::FilePath adapter_path;
543 base::FilePath cdm_path; 549 base::FilePath cdm_path;
544 std::vector<std::string> codecs_supported; 550 std::vector<std::string> codecs_supported;
545 if (IsWidevineAvailable(&adapter_path, &cdm_path, &codecs_supported)) { 551 if (IsWidevineAvailable(&adapter_path, &cdm_path, &codecs_supported)) {
546 // CdmInfo needs |path| to be the actual Widevine library, 552 // CdmInfo needs |path| to be the actual Widevine library,
547 // not the adapter, so adjust as necessary. It will be in the 553 // not the adapter, so adjust as necessary. It will be in the
548 // same directory as the installed adapter. 554 // same directory as the installed adapter.
549 const base::Version version(WIDEVINE_CDM_VERSION_STRING); 555 const base::Version version(WIDEVINE_CDM_VERSION_STRING);
550 DCHECK(version.IsValid()); 556 DCHECK(version.IsValid());
551 cdms->push_back(content::CdmInfo(kWidevineCdmType, version, cdm_path, 557 cdms->push_back(content::CdmInfo(kWidevineCdmType, version, cdm_path,
552 codecs_supported)); 558 codecs_supported));
553 } 559 }
554 #endif // defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) 560 #endif // defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT)
555 561
556 // TODO(jrummell): Add External Clear Key CDM for testing, if it's available. 562 // TODO(jrummell): Add External Clear Key CDM for testing, if it's
563 // available.
564 }
565
566 #if BUILDFLAG(ENABLE_PEPPER_CDMS)
567 if (cdm_host_file_paths)
568 chrome::AddCdmHostFilePaths(cdm_host_file_paths);
569 #endif
557 } 570 }
558 571
559 static const char* const kChromeStandardURLSchemes[] = { 572 static const char* const kChromeStandardURLSchemes[] = {
560 extensions::kExtensionScheme, 573 extensions::kExtensionScheme,
561 chrome::kChromeNativeScheme, 574 chrome::kChromeNativeScheme,
562 chrome::kChromeSearchScheme, 575 chrome::kChromeSearchScheme,
563 dom_distiller::kDomDistillerScheme, 576 dom_distiller::kDomDistillerScheme,
564 #if defined(OS_CHROMEOS) 577 #if defined(OS_CHROMEOS)
565 chrome::kCrosScheme, 578 chrome::kCrosScheme,
566 #endif 579 #endif
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 if (!origin_trial_policy_) 701 if (!origin_trial_policy_)
689 origin_trial_policy_ = base::MakeUnique<ChromeOriginTrialPolicy>(); 702 origin_trial_policy_ = base::MakeUnique<ChromeOriginTrialPolicy>();
690 return origin_trial_policy_.get(); 703 return origin_trial_policy_.get();
691 } 704 }
692 705
693 #if defined(OS_ANDROID) 706 #if defined(OS_ANDROID)
694 media::MediaClientAndroid* ChromeContentClient::GetMediaClientAndroid() { 707 media::MediaClientAndroid* ChromeContentClient::GetMediaClientAndroid() {
695 return new ChromeMediaClientAndroid(); 708 return new ChromeMediaClientAndroid();
696 } 709 }
697 #endif // OS_ANDROID 710 #endif // OS_ANDROID
OLDNEW
« no previous file with comments | « chrome/common/chrome_content_client.h ('k') | chrome/common/media/cdm_host_file_path.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698