diff --git a/resources/patches/inox-patchset/0001-fix-building-without-safebrowsing.patch b/resources/patches/inox-patchset/0001-fix-building-without-safebrowsing.patch index 98283ff0..090e5933 100644 --- a/resources/patches/inox-patchset/0001-fix-building-without-safebrowsing.patch +++ b/resources/patches/inox-patchset/0001-fix-building-without-safebrowsing.patch @@ -36,7 +36,7 @@ void ChromeContentBrowserClient::SelectClientCertificate( --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -473,12 +473,12 @@ ProfileImpl::ProfileImpl( +@@ -470,12 +470,12 @@ ProfileImpl::ProfileImpl( path_, sequenced_task_runner, create_mode == CREATE_MODE_SYNCHRONOUS); #endif @@ -376,7 +376,7 @@ namespace subresource_filter { class RulesetService; } -@@ -114,10 +110,6 @@ namespace rappor { +@@ -114,10 +114,6 @@ class RapporServiceImpl; } @@ -384,9 +384,9 @@ -class ClientSideDetectionService; -} - - // NOT THREAD SAFE, call only from the main thread. - // These functions shouldn't return NULL unless otherwise noted. - class BrowserProcess { + namespace ukm { + class UkmService; + } @@ -224,14 +216,6 @@ class BrowserProcess { // on this platform (or this is a unit test). virtual StatusTray* status_tray() = 0; @@ -725,10 +725,10 @@ void DownloadTargetDeterminer::OnDownloadDestroyed( --- a/chrome/browser/permissions/permission_uma_util.cc +++ b/chrome/browser/permissions/permission_uma_util.cc -@@ -636,8 +636,6 @@ void PermissionUmaUtil::RecordPermission - requesting_origin, permission, profile), - PermissionDecisionAutoBlocker::GetIgnoreCount( - requesting_origin, permission, profile)); +@@ -645,8 +645,6 @@ + PermissionPersistDecision::UNSPECIFIED, + autoblocker->GetDismissCount(requesting_origin, permission), + autoblocker->GetIgnoreCount(requesting_origin, permission)); - g_browser_process->safe_browsing_service() - ->ui_manager()->ReportPermissionAction(report_info); } @@ -748,7 +748,7 @@ return !download_item_->IsDone(); --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3090,8 +3090,6 @@ split_static_library("browser") { +@@ -3088,8 +3088,6 @@ split_static_library("browser") { "download/download_commands.h", "download/download_crx_util.cc", "download/download_crx_util.h", @@ -759,14 +759,14 @@ "download/download_permission_request.cc", --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1668,7 +1668,6 @@ split_static_library("ui") { - "views/create_application_shortcut_view.h", - "views/desktop_ios_promotion/desktop_ios_promotion_view.cc", - "views/desktop_ios_promotion/desktop_ios_promotion_view.h", -- "views/download/download_danger_prompt_views.cc", - "views/download/download_feedback_dialog_view.cc", - "views/download/download_feedback_dialog_view.h", - "views/download/download_in_progress_dialog_view.cc", +@@ -1466,7 +1466,6 @@ + "views/cookie_info_view.h", + "views/device_chooser_content_view.cc", + "views/device_chooser_content_view.h", +- "views/download/download_danger_prompt_views.cc", + "views/elevation_icon_setter.cc", + "views/elevation_icon_setter.h", + "views/exclusive_access_bubble_views.cc", @@ -2633,7 +2632,6 @@ split_static_library("ui") { "cocoa/device_chooser_content_view_cocoa.mm", "cocoa/download/background_theme.h", @@ -777,10 +777,12 @@ "cocoa/download/download_item_cell.h", --- a/chrome/browser/ssl/security_state_tab_helper.cc +++ b/chrome/browser/ssl/security_state_tab_helper.cc -@@ -156,40 +156,6 @@ SecurityStateTabHelper::GetMaliciousCont +@@ -143,43 +143,6 @@ + SecurityStateTabHelper::GetMaliciousContentStatus() const { + content::NavigationEntry* entry = web_contents()->GetController().GetVisibleEntry(); - if (!entry) - return security_state::MALICIOUS_CONTENT_STATUS_NONE; +- if (!entry) +- return security_state::MALICIOUS_CONTENT_STATUS_NONE; - safe_browsing::SafeBrowsingService* sb_service = - g_browser_process->safe_browsing_service(); - if (!sb_service) @@ -808,6 +810,7 @@ - case safe_browsing::SB_THREAT_TYPE_EXTENSION: - case safe_browsing::SB_THREAT_TYPE_BLACKLISTED_RESOURCE: - case safe_browsing::SB_THREAT_TYPE_API_ABUSE: +- case safe_browsing::SB_THREAT_TYPE_SUBRESOURCE_FILTER: - // These threat types are not currently associated with - // interstitials, and thus resources with these threat types are - // not ever whitelisted or pending whitelisting. @@ -908,15 +911,7 @@ // Badges are only supported on Android, primarily because it's the only --- a/chrome/browser/permissions/permission_blacklist_client.cc +++ b/chrome/browser/permissions/permission_blacklist_client.cc -@@ -9,7 +9,6 @@ - - #include "base/logging.h" - #include "base/memory/ptr_util.h" --#include "base/timer/timer.h" - #include "content/public/browser/browser_thread.h" - #include "content/public/browser/web_contents.h" - #include "url/gurl.h" -@@ -53,38 +52,10 @@ PermissionBlacklistClient::~PermissionBl +@@ -56,49 +56,10 @@ void PermissionBlacklistClient::StartCheck(const GURL& request_origin) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); @@ -924,11 +919,15 @@ - // empty response if Safe Browsing times out. - safe_browsing::ThreatMetadata empty_metadata; - timer_ = base::MakeUnique(); +- elapsed_timer_.reset(new base::ElapsedTimer()); - timer_->Start( - FROM_HERE, base::TimeDelta::FromMilliseconds(timeout_), - base::Bind(&PermissionBlacklistClient::OnCheckApiBlacklistUrlResult, this, - request_origin, empty_metadata)); -- db_manager_->CheckApiBlacklistUrl(request_origin, this); +- // If CheckApiBlacklistUrl returns true, no asynchronous call to |this| will +- // be made, so just directly call through to OnCheckApiBlacklistUrlResult. +- if (db_manager_->CheckApiBlacklistUrl(request_origin, this)) +- OnCheckApiBlacklistUrlResult(request_origin, empty_metadata); -} - -void PermissionBlacklistClient::OnCheckApiBlacklistUrlResult( @@ -936,18 +935,25 @@ - const safe_browsing::ThreatMetadata& metadata) { - DCHECK_CURRENTLY_ON(content::BrowserThread::IO); - -- if (timer_->IsRunning()) +- base::TimeDelta response_time = elapsed_timer_->Elapsed(); +- SafeBrowsingResponse response = SafeBrowsingResponse::NOT_BLACKLISTED; +- +- if (timer_->IsRunning()) { - timer_->Stop(); -- else +- } else { - db_manager_->CancelApiCheck(this); +- response = SafeBrowsingResponse::TIMEOUT; +- } +- - timer_.reset(nullptr); -- -- // TODO(meredithl): Convert the strings returned from Safe Browsing to the -- // ones used by PermissionUtil for comparison. - bool permission_blocked = -- metadata.api_permissions.find(PermissionUtil::GetPermissionString( -- permission_type_)) != metadata.api_permissions.end(); +- metadata.api_permissions.find( +- PermissionUtil::ConvertContentSettingsTypeToSafeBrowsingName( +- content_settings_type_)) != metadata.api_permissions.end(); +- if (permission_blocked) +- response = SafeBrowsingResponse::BLACKLISTED; - +- PermissionUmaUtil::RecordSafeBrowsingResponse(response_time, response); content::BrowserThread::PostTask( content::BrowserThread::UI, FROM_HERE, base::Bind(&PermissionBlacklistClient::EvaluateBlacklistResultOnUiThread, @@ -956,29 +962,6 @@ } void PermissionBlacklistClient::EvaluateBlacklistResultOnUiThread( ---- a/chrome/browser/permissions/permission_context_base.cc -+++ b/chrome/browser/permissions/permission_context_base.cc -@@ -130,19 +130,12 @@ void PermissionContextBase::RequestPermi - return; - } - -- if (!db_manager_) { -- safe_browsing::SafeBrowsingService* sb_service = -- g_browser_process->safe_browsing_service(); -- if (sb_service) -- db_manager_ = sb_service->database_manager(); -- } -- - // Asynchronously check whether the origin should be blocked from making this - // permission request. It may be on the Safe Browsing API blacklist, or it may - // have been dismissed too many times in a row. If the origin is allowed to - // request, that request will be made to ContinueRequestPermission(). - PermissionDecisionAutoBlocker::UpdateEmbargoedStatus( -- db_manager_, permission_type_, requesting_origin, web_contents, -+ nullptr, permission_type_, requesting_origin, web_contents, - safe_browsing_timeout_, profile_, base::Time::Now(), - base::Bind(&PermissionContextBase::ContinueRequestPermission, - weak_factory_.GetWeakPtr(), web_contents, id, --- a/chrome/browser/profiles/net_http_session_params_observer.cc +++ b/chrome/browser/profiles/net_http_session_params_observer.cc @@ -10,7 +10,6 @@ @@ -1039,14 +1022,14 @@ // static --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -35,7 +35,6 @@ - #include "chrome/browser/metrics/network_quality_estimator_provider_impl.h" +@@ -41,7 +41,6 @@ #include "chrome/browser/metrics/sampling_metrics_provider.h" #include "chrome/browser/metrics/subprocess_metrics_provider.h" + #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h" #include "chrome/browser/sync/chrome_sync_client.h" + #include "chrome/browser/sync/profile_sync_service_factory.h" #include "chrome/browser/ui/browser_otr_state.h" - #include "chrome/common/channel_info.h" @@ -692,10 +691,6 @@ void ChromeMetricsServiceClient::Initial metrics_service_->RegisterMetricsProvider( std::unique_ptr( @@ -1060,7 +1043,7 @@ bool ChromeMetricsServiceClient::ShouldIncludeProfilerDataInLog() { --- a/chrome/browser/permissions/permission_blacklist_client.h +++ b/chrome/browser/permissions/permission_blacklist_client.h -@@ -54,11 +54,6 @@ class PermissionBlacklistClient +@@ -59,11 +59,6 @@ void StartCheck(const GURL& request_origin); @@ -1069,7 +1052,7 @@ - const GURL& url, - const safe_browsing::ThreatMetadata& metadata) override; - - void EvaluateBlacklistResultOnUiThread(bool permission_blocked); + void EvaluateBlacklistResultOnUiThread(bool response); // WebContentsObserver implementation. Sets a flag so that when the database --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc @@ -1146,3 +1129,24 @@ TabContentsSyncedTabDelegate::CreateForWebContents(web_contents); TabDialogs::CreateForWebContents(web_contents); ThumbnailTabHelper::CreateForWebContents(web_contents); +--- a/chrome/browser/permissions/permission_decision_auto_blocker.cc ++++ b/chrome/browser/permissions/permission_decision_auto_blocker.cc +@@ -16,7 +16,6 @@ + #include "chrome/browser/permissions/permission_util.h" + #include "chrome/browser/profiles/incognito_helpers.h" + #include "chrome/browser/profiles/profile.h" +-#include "chrome/browser/safe_browsing/safe_browsing_service.h" + #include "chrome/common/chrome_features.h" + #include "components/content_settings/core/browser/host_content_settings_map.h" + #include "components/keyed_service/content/browser_context_dependency_manager.h" +@@ -320,10 +319,6 @@ + db_manager_(nullptr), + safe_browsing_timeout_(kCheckUrlTimeoutMs), + clock_(new base::DefaultClock()) { +- safe_browsing::SafeBrowsingService* sb_service = +- g_browser_process->safe_browsing_service(); +- if (sb_service) +- db_manager_ = sb_service->database_manager(); + } + + PermissionDecisionAutoBlocker::~PermissionDecisionAutoBlocker() {} diff --git a/resources/patches/inox-patchset/0005-disable-default-extensions.patch b/resources/patches/inox-patchset/0005-disable-default-extensions.patch index ec7ba820..c992678a 100644 --- a/resources/patches/inox-patchset/0005-disable-default-extensions.patch +++ b/resources/patches/inox-patchset/0005-disable-default-extensions.patch @@ -38,9 +38,24 @@ } #if defined(OS_CHROMEOS) +--- a/chrome/browser/extensions/external_component_loader.cc ++++ b/chrome/browser/extensions/external_component_loader.cc +@@ -41,11 +41,6 @@ + + void ExternalComponentLoader::StartLoading() { + prefs_.reset(new base::DictionaryValue()); +- AddExternalExtension(extension_misc::kInAppPaymentsSupportAppId); +- +- if (HotwordServiceFactory::IsHotwordAllowed(profile_)) +- AddExternalExtension(extension_misc::kHotwordSharedModuleId); +- + #if defined(OS_CHROMEOS) + { + base::CommandLine* const command_line = + --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -579,6 +579,7 @@ void WebstoreInstaller::DownloadNextPend +@@ -579,6 +579,7 @@ void WebstoreInstaller::DownloadCrx( const std::string& extension_id, InstallSource source) { @@ -48,7 +63,7 @@ download_url_ = GetWebstoreInstallURL(extension_id, source); MaybeAppendAuthUserParameter(approval_->authuser, &download_url_); -@@ -601,6 +602,7 @@ void WebstoreInstaller::DownloadCrx( +@@ -601,6 +602,7 @@ BrowserThread::FILE, FROM_HERE, base::Bind(&GetDownloadFilePath, download_directory, extension_id, base::Bind(&WebstoreInstaller::StartDownload, this, extension_id))); @@ -56,7 +71,7 @@ } // http://crbug.com/165634 -@@ -718,6 +720,7 @@ void WebstoreInstaller::UpdateDownloadPr +@@ -718,6 +720,7 @@ } void WebstoreInstaller::StartCrxInstaller(const DownloadItem& download) { @@ -64,7 +79,7 @@ DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK(!crx_installer_.get()); -@@ -740,6 +743,7 @@ void WebstoreInstaller::StartCrxInstalle +@@ -740,6 +743,7 @@ crx_installer_->set_allow_silent_install(true); crx_installer_->InstallCrx(download.GetFullPath()); @@ -74,7 +89,7 @@ void WebstoreInstaller::ReportFailure(const std::string& error, --- a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc +++ b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc -@@ -30,8 +30,6 @@ namespace extensions { +@@ -30,8 +30,6 @@ bool IsComponentExtensionWhitelisted(const std::string& extension_id) { const char* const kAllowed[] = { diff --git a/resources/patches/inox-patchset/0006-modify-default-prefs.patch b/resources/patches/inox-patchset/0006-modify-default-prefs.patch index 27726f73..7d98e2eb 100644 --- a/resources/patches/inox-patchset/0006-modify-default-prefs.patch +++ b/resources/patches/inox-patchset/0006-modify-default-prefs.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -865,7 +865,7 @@ ChromeContentBrowserClient::~ChromeConte +@@ -866,7 +866,7 @@ ChromeContentBrowserClient::~ChromeConte void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -102,26 +102,6 @@ registry->RegisterBooleanPref(prefs::kQuickCheckEnabled, true); registry->RegisterBooleanPref(prefs::kPacHttpsUrlStrippingEnabled, true); } ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -382,7 +382,7 @@ bool Extension::ShouldNotBeVisible() con - if (extensions::Manifest::IsComponentLocation(location()) && - !base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kShowComponentExtensionOptions)) { -- return true; -+ return false; - } - - // Always show unpacked extensions and apps. -@@ -391,7 +391,7 @@ bool Extension::ShouldNotBeVisible() con - - // Don't show apps that aren't visible in either launcher or ntp. - if (is_app() && !ShouldDisplayInAppLauncher() && !ShouldDisplayInNewTabPage()) -- return true; -+ return false; - - return false; - } --- a/chrome/browser/signin/signin_promo.cc +++ b/chrome/browser/signin/signin_promo.cc @@ -329,8 +329,8 @@ void ForceWebBasedSigninFlowForTesting(b @@ -205,3 +185,20 @@ -#endif user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); } +--- a/extensions/common/extension.cc ++++ b/extensions/common/extension.cc +@@ -344,14 +344,6 @@ + if (is_theme()) + return false; + +- // Hide component extensions because they are only extensions as an +- // implementation detail of Chrome. +- if (extensions::Manifest::IsComponentLocation(location()) && +- !base::CommandLine::ForCurrentProcess()->HasSwitch( +- switches::kShowComponentExtensionOptions)) { +- return false; +- } +- + // Unless they are unpacked, never show hosted apps. Note: We intentionally + // show packaged apps and platform apps because there are some pieces of + // functionality that are only available in chrome://extensions/ but which diff --git a/resources/patches/inox-patchset/0007-disable-web-resource-service.patch b/resources/patches/inox-patchset/0007-disable-web-resource-service.patch index dc524319..8c093b7f 100644 --- a/resources/patches/inox-patchset/0007-disable-web-resource-service.patch +++ b/resources/patches/inox-patchset/0007-disable-web-resource-service.patch @@ -1,11 +1,16 @@ -# Disable the web resource service - --- a/components/web_resource/web_resource_service.cc +++ b/components/web_resource/web_resource_service.cc -@@ -115,27 +115,8 @@ void WebResourceService::StartFetch() { - prefs_->SetString(last_update_time_pref_name_, - base::DoubleToString(base::Time::Now().ToDoubleT())); - +@@ -109,37 +109,7 @@ + // Initializes the fetching of data from the resource server. Data + // load calls OnURLFetchComplete. + void WebResourceService::StartFetch() { +- // First, put our next cache load on the MessageLoop. +- ScheduleFetch(cache_update_delay_ms_); +- +- // Set cache update time in preferences. +- prefs_->SetString(last_update_time_pref_name_, +- base::DoubleToString(base::Time::Now().ToDoubleT())); +- - // If we are still fetching data, exit. - if (in_fetch_) - return; @@ -20,6 +25,9 @@ - DVLOG(1) << "WebResourceService StartFetch " << web_resource_server; - url_fetcher_ = - net::URLFetcher::Create(web_resource_server, net::URLFetcher::GET, this); +- data_use_measurement::DataUseUserData::AttachToFetcher( +- url_fetcher_.get(), +- data_use_measurement::DataUseUserData::WEB_RESOURCE_SERVICE); - // Do not let url fetcher affect existing state in system context - // (by setting cookies, for example). - url_fetcher_->SetLoadFlags(net::LOAD_DISABLE_CACHE | @@ -28,7 +36,6 @@ - url_fetcher_->SetRequestContext(request_context_.get()); - url_fetcher_->Start(); + in_fetch_ = false; -+ return; } void WebResourceService::EndFetch() { diff --git a/resources/patches/inox-patchset/0015-disable-update-pings.patch b/resources/patches/inox-patchset/0015-disable-update-pings.patch index add751d1..3c4eee67 100644 --- a/resources/patches/inox-patchset/0015-disable-update-pings.patch +++ b/resources/patches/inox-patchset/0015-disable-update-pings.patch @@ -1,6 +1,6 @@ --- a/components/component_updater/configurator_impl.cc +++ b/components/component_updater/configurator_impl.cc -@@ -143,16 +143,6 @@ int ConfiguratorImpl::UpdateDelay() cons +@@ -147,22 +147,6 @@ std::vector ConfiguratorImpl::UpdateUrl() const { std::vector urls; @@ -9,8 +9,14 @@ - return urls; - } - -- urls.push_back(GURL(kUpdaterDefaultUrl)); -- urls.push_back(GURL(kUpdaterFallbackUrl)); +- if (base::FeatureList::IsEnabled(kAlternateComponentUrls)) { +- urls.push_back(GURL(kUpdaterDefaultUrlAlt)); +- urls.push_back(GURL(kUpdaterFallbackUrlAlt)); +- } else { +- urls.push_back(GURL(kUpdaterDefaultUrl)); +- urls.push_back(GURL(kUpdaterFallbackUrl)); +- } +- - if (require_encryption_) - update_client::RemoveUnsecureUrls(&urls); - diff --git a/resources/patches/inox-patchset/0018-disable-first-run-behaviour.patch b/resources/patches/inox-patchset/0018-disable-first-run-behaviour.patch index d1d95d29..bb3513e0 100644 --- a/resources/patches/inox-patchset/0018-disable-first-run-behaviour.patch +++ b/resources/patches/inox-patchset/0018-disable-first-run-behaviour.patch @@ -33,16 +33,17 @@ if (ProfileHasResetTrigger()) { --- a/chrome/browser/ui/startup/startup_tab_provider.cc +++ b/chrome/browser/ui/startup/startup_tab_provider.cc -@@ -142,8 +142,6 @@ StartupTabs StartupTabProviderImpl::Chec +@@ -146,9 +146,6 @@ bool is_signed_in, bool is_supervised_user) { StartupTabs tabs; -- if (!has_seen_welcome_page && !is_signed_in && !is_supervised_user) +- if (!has_seen_welcome_page && is_signin_allowed && !is_signed_in && +- !is_supervised_user) - tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); return tabs; } -@@ -158,16 +156,6 @@ StartupTabs StartupTabProviderImpl::Chec +@@ -164,16 +161,6 @@ bool is_default_browser, bool is_supervised_user) { StartupTabs tabs; @@ -53,24 +54,9 @@ - if (set_default_browser_allowed && !has_seen_win10_promo && - !is_default_browser) { - tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false); -- } else if (!has_seen_welcome_page && !is_signed_in) { +- } else if (!has_seen_welcome_page && is_signin_allowed && !is_signed_in) { - tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); - } return tabs; } #endif -@@ -185,11 +173,9 @@ StartupTabs StartupTabProviderImpl::Chec - if (is_first_run) { - tabs.reserve(first_run_tabs.size()); - for (GURL url : first_run_tabs) { -- if (url.host_piece() == kNewTabUrlHost) -- url = GURL(chrome::kChromeUINewTabURL); -- else if (url.host_piece() == kWelcomePageUrlHost) -- url = GetWelcomePageUrl(false); -- tabs.emplace_back(url, false); -+ if (url.host_piece() == kNewTabUrlHost) { -+ tabs.emplace_back(GURL(chrome::kChromeUINewTabURL), false); -+ } - } - } - return tabs;