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