OLD | NEW |
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 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 const base::Version version(WIDEVINE_CDM_VERSION_STRING); | 547 const base::Version version(WIDEVINE_CDM_VERSION_STRING); |
548 DCHECK(version.IsValid()); | 548 DCHECK(version.IsValid()); |
549 cdms->push_back(content::CdmInfo(kWidevineCdmType, version, cdm_path, | 549 cdms->push_back(content::CdmInfo(kWidevineCdmType, version, cdm_path, |
550 codecs_supported)); | 550 codecs_supported)); |
551 } | 551 } |
552 #endif // defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) | 552 #endif // defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) |
553 | 553 |
554 // TODO(jrummell): Add External Clear Key CDM for testing, if it's available. | 554 // TODO(jrummell): Add External Clear Key CDM for testing, if it's available. |
555 } | 555 } |
556 | 556 |
| 557 static const url::SchemeWithType kChromeStandardURLSchemes[] = { |
| 558 {extensions::kExtensionScheme, url::SCHEME_WITHOUT_PORT}, |
| 559 {chrome::kChromeNativeScheme, url::SCHEME_WITHOUT_PORT}, |
| 560 {chrome::kChromeSearchScheme, url::SCHEME_WITHOUT_PORT}, |
| 561 {dom_distiller::kDomDistillerScheme, url::SCHEME_WITHOUT_PORT}, |
557 #if defined(OS_CHROMEOS) | 562 #if defined(OS_CHROMEOS) |
558 static const int kNumChromeStandardURLSchemes = 6; | 563 {chrome::kCrosScheme, url::SCHEME_WITHOUT_PORT}, |
559 #else | |
560 static const int kNumChromeStandardURLSchemes = 5; | |
561 #endif | |
562 static const url::SchemeWithType kChromeStandardURLSchemes[ | |
563 kNumChromeStandardURLSchemes] = { | |
564 {extensions::kExtensionScheme, url::SCHEME_WITHOUT_PORT}, | |
565 {chrome::kChromeNativeScheme, url::SCHEME_WITHOUT_PORT}, | |
566 {extensions::kExtensionResourceScheme, url::SCHEME_WITHOUT_PORT}, | |
567 {chrome::kChromeSearchScheme, url::SCHEME_WITHOUT_PORT}, | |
568 {dom_distiller::kDomDistillerScheme, url::SCHEME_WITHOUT_PORT}, | |
569 #if defined(OS_CHROMEOS) | |
570 {chrome::kCrosScheme, url::SCHEME_WITHOUT_PORT}, | |
571 #endif | 564 #endif |
572 }; | 565 }; |
573 | 566 |
574 void ChromeContentClient::AddAdditionalSchemes( | 567 void ChromeContentClient::AddAdditionalSchemes( |
575 std::vector<url::SchemeWithType>* standard_schemes, | 568 std::vector<url::SchemeWithType>* standard_schemes, |
576 std::vector<url::SchemeWithType>* referrer_schemes, | 569 std::vector<url::SchemeWithType>* referrer_schemes, |
577 std::vector<std::string>* savable_schemes) { | 570 std::vector<std::string>* savable_schemes) { |
578 for (int i = 0; i < kNumChromeStandardURLSchemes; i++) | 571 for (const url::SchemeWithType& standard_scheme : kChromeStandardURLSchemes) |
579 standard_schemes->push_back(kChromeStandardURLSchemes[i]); | 572 standard_schemes->push_back(standard_scheme); |
580 | 573 |
581 #if defined(OS_ANDROID) | 574 #if defined(OS_ANDROID) |
582 referrer_schemes->push_back( | 575 referrer_schemes->push_back( |
583 {chrome::kAndroidAppScheme, url::SCHEME_WITHOUT_PORT}); | 576 {chrome::kAndroidAppScheme, url::SCHEME_WITHOUT_PORT}); |
584 #endif | 577 #endif |
585 | 578 |
586 savable_schemes->push_back(extensions::kExtensionScheme); | 579 savable_schemes->push_back(extensions::kExtensionScheme); |
587 savable_schemes->push_back(extensions::kExtensionResourceScheme); | |
588 savable_schemes->push_back(chrome::kChromeSearchScheme); | 580 savable_schemes->push_back(chrome::kChromeSearchScheme); |
589 savable_schemes->push_back(dom_distiller::kDomDistillerScheme); | 581 savable_schemes->push_back(dom_distiller::kDomDistillerScheme); |
590 } | 582 } |
591 | 583 |
592 std::string ChromeContentClient::GetProduct() const { | 584 std::string ChromeContentClient::GetProduct() const { |
593 return ::GetProduct(); | 585 return ::GetProduct(); |
594 } | 586 } |
595 | 587 |
596 std::string ChromeContentClient::GetUserAgent() const { | 588 std::string ChromeContentClient::GetUserAgent() const { |
597 return ::GetUserAgent(); | 589 return ::GetUserAgent(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 return false; | 637 return false; |
646 } | 638 } |
647 #endif | 639 #endif |
648 | 640 |
649 void ChromeContentClient::AddSecureSchemesAndOrigins( | 641 void ChromeContentClient::AddSecureSchemesAndOrigins( |
650 std::set<std::string>* schemes, | 642 std::set<std::string>* schemes, |
651 std::set<GURL>* origins) { | 643 std::set<GURL>* origins) { |
652 schemes->insert(chrome::kChromeSearchScheme); | 644 schemes->insert(chrome::kChromeSearchScheme); |
653 schemes->insert(content::kChromeUIScheme); | 645 schemes->insert(content::kChromeUIScheme); |
654 schemes->insert(extensions::kExtensionScheme); | 646 schemes->insert(extensions::kExtensionScheme); |
655 schemes->insert(extensions::kExtensionResourceScheme); | |
656 GetSecureOriginWhitelist(origins); | 647 GetSecureOriginWhitelist(origins); |
657 } | 648 } |
658 | 649 |
659 void ChromeContentClient::AddServiceWorkerSchemes( | 650 void ChromeContentClient::AddServiceWorkerSchemes( |
660 std::set<std::string>* schemes) { | 651 std::set<std::string>* schemes) { |
661 #if BUILDFLAG(ENABLE_EXTENSIONS) | 652 #if BUILDFLAG(ENABLE_EXTENSIONS) |
662 if (extensions::feature_util::ExtensionServiceWorkersEnabled()) | 653 if (extensions::feature_util::ExtensionServiceWorkersEnabled()) |
663 schemes->insert(extensions::kExtensionScheme); | 654 schemes->insert(extensions::kExtensionScheme); |
664 #endif | 655 #endif |
665 } | 656 } |
666 | 657 |
667 bool ChromeContentClient::AllowScriptExtensionForServiceWorker( | 658 bool ChromeContentClient::AllowScriptExtensionForServiceWorker( |
668 const GURL& script_url) { | 659 const GURL& script_url) { |
669 #if BUILDFLAG(ENABLE_EXTENSIONS) | 660 #if BUILDFLAG(ENABLE_EXTENSIONS) |
670 return script_url.SchemeIs(extensions::kExtensionScheme) || | 661 return script_url.SchemeIs(extensions::kExtensionScheme); |
671 script_url.SchemeIs(extensions::kExtensionResourceScheme); | |
672 #else | 662 #else |
673 return false; | 663 return false; |
674 #endif | 664 #endif |
675 } | 665 } |
676 | 666 |
677 bool ChromeContentClient::IsSupplementarySiteIsolationModeEnabled() { | 667 bool ChromeContentClient::IsSupplementarySiteIsolationModeEnabled() { |
678 #if BUILDFLAG(ENABLE_EXTENSIONS) | 668 #if BUILDFLAG(ENABLE_EXTENSIONS) |
679 return extensions::IsIsolateExtensionsEnabled(); | 669 return extensions::IsIsolateExtensionsEnabled(); |
680 #else | 670 #else |
681 return false; | 671 return false; |
682 #endif | 672 #endif |
683 } | 673 } |
684 | 674 |
685 content::OriginTrialPolicy* ChromeContentClient::GetOriginTrialPolicy() { | 675 content::OriginTrialPolicy* ChromeContentClient::GetOriginTrialPolicy() { |
686 if (!origin_trial_policy_) | 676 if (!origin_trial_policy_) |
687 origin_trial_policy_ = base::MakeUnique<ChromeOriginTrialPolicy>(); | 677 origin_trial_policy_ = base::MakeUnique<ChromeOriginTrialPolicy>(); |
688 return origin_trial_policy_.get(); | 678 return origin_trial_policy_.get(); |
689 } | 679 } |
690 | 680 |
691 #if defined(OS_ANDROID) | 681 #if defined(OS_ANDROID) |
692 media::MediaClientAndroid* ChromeContentClient::GetMediaClientAndroid() { | 682 media::MediaClientAndroid* ChromeContentClient::GetMediaClientAndroid() { |
693 return new ChromeMediaClientAndroid(); | 683 return new ChromeMediaClientAndroid(); |
694 } | 684 } |
695 #endif // OS_ANDROID | 685 #endif // OS_ANDROID |
OLD | NEW |