| 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 |