From 5e8887fcfa14aa5f2d0aac341566075caea87787 Mon Sep 17 00:00:00 2001 From: Eloston Date: Fri, 4 Sep 2015 21:53:19 -0700 Subject: [PATCH] 45.0.2454.85 New upstream version based off of Debian's 45.0.2454.85-1 Now requires a backported ffmpeg from testing or unstable Fixed extension installing Removed backup URL from debian/rules Removed disable-detect-odr-violations.patch Added disable-translate.patch (disables communication with translate.9oo91eapis.qjz9zk) Added disable-google-host-detection.patch --- README.md | 5 +- debian/changelog | 13 + debian/chromium.desktop | 2 +- debian/chromium.install | 1 - debian/chromium.lintian-overrides | 4 - debian/chromium.maintscript | 4 - debian/chromium.preinst | 11 - debian/control | 3 + .../clear-http-auth-cache-menu-item.patch | 8 +- .../custom/disable-crash-reporter.patch | 4 +- .../disable-detect-odr-violations.patch | 13 - .../disable-google-host-detection.patch | 113 +++ .../custom/disable-omnibox-searching.patch | 86 +-- debian/patches/custom/disable-signin.patch | 4 +- debian/patches/custom/disable-translate.patch | 64 ++ .../custom/fix-disabling-safe-browsing.patch | 52 +- ...sion-updating-and-disable-autoupdate.patch | 177 ++++- .../disable/default-browser-warning.patch | 2 +- .../patches/disable/external-components.patch | 8 +- .../patches/disable/google-api-warning.patch | 2 +- debian/patches/disable/hotword.patch | 13 - debian/patches/disable/promo.patch | 2 +- .../patches/disable/third-party-cookies.patch | 12 +- debian/patches/manpage.patch | 2 +- debian/patches/ps-print.patch | 2 +- debian/patches/series | 8 +- debian/patches/{ => system}/clang.patch | 2 +- debian/patches/system/ffmpeg.patch | 197 ++++++ debian/patches/system/icu.patch | 650 ------------------ debian/patches/system/nspr.patch | 2 +- debian/patches/system/speex.patch | 4 +- debian/presubj | 7 + debian/rules | 12 +- debian/source/lintian-overrides | 5 + 34 files changed, 671 insertions(+), 823 deletions(-) delete mode 100644 debian/chromium.maintscript delete mode 100644 debian/chromium.preinst delete mode 100644 debian/patches/custom/disable-detect-odr-violations.patch create mode 100644 debian/patches/custom/disable-google-host-detection.patch create mode 100644 debian/patches/custom/disable-translate.patch delete mode 100644 debian/patches/disable/hotword.patch rename debian/patches/{ => system}/clang.patch (95%) create mode 100644 debian/patches/system/ffmpeg.patch delete mode 100644 debian/patches/system/icu.patch diff --git a/README.md b/README.md index 8209b59b..e10c3ece 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Right now, only Debian build scripts are provided. Windows build scripts will be added in the future. ### Debian and derivatives -**NOTE:** Tested on Debian Jessie 64-bit +**NOTE:** Tested on Debian Jessie 64-bit with a backported FFmpeg from unstable mkdir chromium cd chromium @@ -32,8 +32,7 @@ Debian packages will appear under chromium/ ## TODO -- Disable background communication with translate.9oo91eapis.qjz9zk (when patched with domain-replacement script) when settings are opened -- Make Webstore and extension updating work +- Remove attempted communication with `www.95stat1c.qjz9zk` on startup - Add Windows support - Add settings menu to manually edit password database(?) diff --git a/debian/changelog b/debian/changelog index e0ba7506..b8dbd1f7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +chromium-browser (45.0.2454.85-1) jessie; urgency=low + + * New upstream version + - Based off of Debian's 45.0.2454.85-1 + * Now requires a backported ffmpeg from testing or unstable + * Fixed extension installing + * Removed backup URL from debian/rules + * Removed disable-detect-odr-violations.patch + * Added disable-translate.patch (disables communication with translate.9oo91eapis.qjz9zk) + * Added disable-google-host-detection.patch + + -- Eloston Fri, 04 Sep 2015 00:00:00 +0000 + chromium-browser (43.0.2357.132-1) jessie; urgency=low * New upstream version diff --git a/debian/chromium.desktop b/debian/chromium.desktop index 86d4e6fa..97eb4b9a 100644 --- a/debian/chromium.desktop +++ b/debian/chromium.desktop @@ -133,7 +133,7 @@ Exec=/usr/bin/chromium %U Terminal=false X-MultipleArgs=false Type=Application -Icon=chromium +Icon=chromium.png Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https; StartupWMClass=Chromium diff --git a/debian/chromium.install b/debian/chromium.install index 85b16e13..0293bb60 100644 --- a/debian/chromium.install +++ b/debian/chromium.install @@ -1,6 +1,5 @@ out/Release/chromium usr/lib/chromium -out/Release/*.so usr/lib/chromium out/Release/*.bin usr/lib/chromium out/Release/*.pak usr/lib/chromium out/Release/icudtl.dat usr/lib/chromium diff --git a/debian/chromium.lintian-overrides b/debian/chromium.lintian-overrides index 8e7d198a..bda422fc 100644 --- a/debian/chromium.lintian-overrides +++ b/debian/chromium.lintian-overrides @@ -1,8 +1,4 @@ -# ffmpeg doesn't support pic -shlib-with-non-pic-code usr/lib/chromium/libffmpegsumo.so # currently unavoidable embedded libraries -embedded-library usr/lib/chromium/libffmpegsumo.so: libavcodec -embedded-library usr/lib/chromium/libffmpegsumo.so: libavutil embedded-library usr/lib/chromium/chromium: sqlite embedded-library usr/lib/chromium/chromium: libpng # temporarily accepting these code copies diff --git a/debian/chromium.maintscript b/debian/chromium.maintscript deleted file mode 100644 index 28a8af3f..00000000 --- a/debian/chromium.maintscript +++ /dev/null @@ -1,4 +0,0 @@ -# remove wheezy era conffiles (can be removed post-jessie) -rm_conffile /etc/chromium/default 37.0.2062.120-3~ -rm_conffile /etc/chromium/master_preferences 37.0.2062.120-3~ -rm_conffile /etc/chromium/initial_bookmarks.html 37.0.2062.120-3~ diff --git a/debian/chromium.preinst b/debian/chromium.preinst deleted file mode 100644 index 0e80c614..00000000 --- a/debian/chromium.preinst +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -e - -# workaround for #766420 (this can be removed post-jessie) -if test "$1" = "upgrade"; then - test ! -d /usr/share/pixmaps/chromium.png || rm -rf /usr/share/pixmaps/chromium.png - test ! -d /usr/share/pixmaps/chromium.xpm || rm -rf /usr/share/pixmaps/chromium.xpm -fi - -#DEBHELPER# diff --git a/debian/control b/debian/control index f01dd748..fbf12e2d 100644 --- a/debian/control +++ b/debian/control @@ -62,6 +62,9 @@ Build-Depends: libpam0g-dev, libsnappy-dev, libgconf2-dev, + libavutil-dev, + libavcodec-dev, + libavformat-dev, libasound2-dev, libjsoncpp-dev, libspeechd-dev, diff --git a/debian/patches/custom/clear-http-auth-cache-menu-item.patch b/debian/patches/custom/clear-http-auth-cache-menu-item.patch index a209f0dd..4312f633 100644 --- a/debian/patches/custom/clear-http-auth-cache-menu-item.patch +++ b/debian/patches/custom/clear-http-auth-cache-menu-item.patch @@ -34,15 +34,15 @@ description: Adds a menu item under "More tools" to clear the HTTP authenticatio --- a/chrome/browser/ui/toolbar/wrench_menu_model.cc +++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc -@@ -276,6 +276,7 @@ void ToolsMenuModel::Build(Browser* browser) { - #endif +@@ -307,6 +307,7 @@ void ToolsMenuModel::Build(Browser* browser) { + AddSeparator(ui::NORMAL_SEPARATOR); AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); + AddItemWithStringId(IDC_CLEAR_HTTP_AUTH_CACHE, IDS_CLEAR_HTTP_AUTH_CACHE); AddItemWithStringId(IDC_MANAGE_EXTENSIONS, IDS_SHOW_EXTENSIONS); - if (chrome::CanOpenTaskManager()) -@@ -622,6 +623,13 @@ void WrenchMenuModel::LogMenuMetrics(int command_id) { + AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); +@@ -631,6 +632,13 @@ void WrenchMenuModel::LogMenuMetrics(int command_id) { } LogMenuAction(MENU_ACTION_CLEAR_BROWSING_DATA); break; diff --git a/debian/patches/custom/disable-crash-reporter.patch b/debian/patches/custom/disable-crash-reporter.patch index 4384ae79..42128e29 100644 --- a/debian/patches/custom/disable-crash-reporter.patch +++ b/debian/patches/custom/disable-crash-reporter.patch @@ -12,8 +12,8 @@ description: Disable some background communication with clients2.google.com if (!CheckForRequiredFlagsOrDie()) { --- a/chrome/browser/tracing/crash_service_uploader.cc +++ b/chrome/browser/tracing/crash_service_uploader.cc -@@ -97,6 +97,7 @@ void TraceCrashServiceUploader::DoUploadOnFileThread( - const std::string& file_contents, +@@ -122,6 +122,7 @@ void TraceCrashServiceUploader::DoUploadOnFileThread( + scoped_ptr metadata, const UploadProgressCallback& progress_callback, const UploadDoneCallback& done_callback) { + return; diff --git a/debian/patches/custom/disable-detect-odr-violations.patch b/debian/patches/custom/disable-detect-odr-violations.patch deleted file mode 100644 index 3aebdf80..00000000 --- a/debian/patches/custom/disable-detect-odr-violations.patch +++ /dev/null @@ -1,13 +0,0 @@ -description: Disable --detect-odr-violations as it causes builds to fail on 64-bit Debian Jessie - ---- a/build/common.gypi -+++ b/build/common.gypi -@@ -4522,7 +4522,6 @@ - # TODO(thestig): Enable this for disabled cases. - [ 'buildtype!="Official" and chromeos==0 and release_valgrind_build==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan==0 and ubsan_vptr==0', { - 'ldflags': [ -- '-Wl,--detect-odr-violations', - ], - }], - ], - diff --git a/debian/patches/custom/disable-google-host-detection.patch b/debian/patches/custom/disable-google-host-detection.patch new file mode 100644 index 00000000..3660e3c9 --- /dev/null +++ b/debian/patches/custom/disable-google-host-detection.patch @@ -0,0 +1,113 @@ +description: Disables HasGoogleHost in net_util, google_util domain checking functions, and IsGoogleDomain in prerender_util + +--- a/net/base/net_util.cc ++++ b/net/base/net_util.cc +@@ -816,25 +816,6 @@ bool IsLocalhostTLD(const std::string& host) { + } + + bool HasGoogleHost(const GURL& url) { +- static const char* kGoogleHostSuffixes[] = { +- ".9oo91e.qjz9zk", +- ".y0u1ub3.qjz9zk", +- ".9ma1l.qjz9zk", +- ".60u613cl1c4.qjz9zk", +- ".95tat1c.qjz9zk", +- ".9oo91evideo.qjz9zk", +- ".9oo91eusercontent.qjz9zk", +- ".9oo91esyndication.qjz9zk", +- ".9oo91e-analytics.qjz9zk", +- ".9oo91eadservices.qjz9zk", +- ".9oo91eapis.qjz9zk", +- ".yt1mg.qjz9zk", +- }; +- const std::string& host = url.host(); +- for (const char* suffix : kGoogleHostSuffixes) { +- if (base::EndsWith(host, suffix, false)) +- return true; +- } + return false; + } + +--- a/components/google/core/browser/google_util.cc ++++ b/components/google/core/browser/google_util.cc +@@ -79,6 +79,7 @@ namespace google_util { + // Global functions ----------------------------------------------------------- + + bool HasGoogleSearchQueryParam(const std::string& str) { ++ return false; + url::Component query(0, static_cast(str.length())), key, value; + while (url::ExtractQueryKeyValue(str.c_str(), &query, &key, &value)) { + if (value.is_nonempty()) { +@@ -168,6 +169,7 @@ bool StartsWithCommandLineGoogleBaseURL(const GURL& url) { + + bool IsGoogleHostname(const std::string& host, + SubdomainPermission subdomain_permission) { ++ return false; + GURL base_url(CommandLineGoogleBaseURL()); + if (base_url.is_valid() && (host == base_url.host())) + return true; +@@ -178,11 +180,11 @@ bool IsGoogleHostname(const std::string& host, + bool IsGoogleDomainUrl(const GURL& url, + SubdomainPermission subdomain_permission, + PortPermission port_permission) { +- return IsValidURL(url, port_permission) && +- IsGoogleHostname(url.host(), subdomain_permission); ++ return false; + } + + bool IsGoogleHomePageUrl(const GURL& url) { ++ return false; + // First check to see if this has a Google domain. + if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN, DISALLOW_NON_STANDARD_PORTS)) + return false; +@@ -193,6 +195,7 @@ bool IsGoogleHomePageUrl(const GURL& url) { + } + + bool IsGoogleSearchUrl(const GURL& url) { ++ return false; + // First check to see if this has a Google domain. + if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN, DISALLOW_NON_STANDARD_PORTS)) + return false; +@@ -212,8 +215,7 @@ bool IsGoogleSearchUrl(const GURL& url) { + bool IsYoutubeDomainUrl(const GURL& url, + SubdomainPermission subdomain_permission, + PortPermission port_permission) { +- return IsValidURL(url, port_permission) && +- IsValidHostName(url.host(), "youtube", subdomain_permission); ++ return false; + } + + } // namespace google_util +--- a/chrome/browser/prerender/prerender_util.cc ++++ b/chrome/browser/prerender/prerender_util.cc +@@ -72,8 +72,7 @@ bool MaybeGetQueryStringBasedAliasURL( + } + + bool IsGoogleDomain(const GURL& url) { +- return base::StartsWith(url.host(), "www.google.", +- base::CompareCase::SENSITIVE); ++ return false; + } + + bool IsGoogleSearchResultURL(const GURL& url) { +--- a/chrome/renderer/page_load_histograms.cc ++++ b/chrome/renderer/page_load_histograms.cc +@@ -180,6 +180,7 @@ bool ViaHeaderContains(WebFrame* frame, const std::string& via_value) { + // purposes. + // TODO(pmeenan): Remove the fuzzy logic when the referrer is reliable + bool IsFromGoogleSearchResult(const GURL& url, const GURL& referrer) { ++ return false; + if (!base::StartsWith(referrer.host(), "www.google.", + base::CompareCase::SENSITIVE)) + return false; +--- a/content/browser/service_worker/service_worker_metrics.cc ++++ b/content/browser/service_worker/service_worker_metrics.cc +@@ -23,6 +23,7 @@ void RecordURLMetricOnUI(const GURL& url) { + } + + bool ShouldExcludeForHistogram(const GURL& scope) { ++ return false; + // Exclude NTP scope from UMA for now as it tends to dominate the stats + // and makes the results largely skewed. + // TOOD(kinuko): This should be temporary, revisit this once we have + diff --git a/debian/patches/custom/disable-omnibox-searching.patch b/debian/patches/custom/disable-omnibox-searching.patch index b9b3271a..036dcad8 100644 --- a/debian/patches/custom/disable-omnibox-searching.patch +++ b/debian/patches/custom/disable-omnibox-searching.patch @@ -1,17 +1,17 @@ description: Disables searching in the omnibox, hides search options, and disables automatic adding of search engines ---- a/components/omnibox/autocomplete_input.cc -+++ b/components/omnibox/autocomplete_input.cc -@@ -167,7 +167,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +--- a/components/omnibox/browser/autocomplete_input.cc ++++ b/components/omnibox/browser/autocomplete_input.cc +@@ -202,7 +202,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( *canonicalized_url = url_fixer::FixupURL(base::UTF16ToUTF8(text), desired_tld); if (!canonicalized_url->is_valid()) - return metrics::OmniboxInputType::QUERY; + return metrics::OmniboxInputType::URL; - if (LowerCaseEqualsASCII(parsed_scheme_utf8, url::kFileScheme)) { + if (base::LowerCaseEqualsASCII(parsed_scheme_utf8, url::kFileScheme)) { // A user might or might not type a scheme when entering a file URL. In -@@ -188,7 +188,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -223,7 +223,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( metrics::OmniboxInputType::Type type = scheme_classifier.GetInputTypeForScheme(parsed_scheme_utf8); if (type != metrics::OmniboxInputType::INVALID) @@ -20,7 +20,7 @@ description: Disables searching in the omnibox, hides search options, and disabl // We don't know about this scheme. It might be that the user typed a // URL of the form "username:password@foo.com". -@@ -238,7 +238,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -273,7 +273,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( // the option of treating it as a URL if we're wrong. // Note that SegmentURL() is smart so we aren't tricked by "c:\foo" or // "www.example.com:81" in this case. @@ -29,7 +29,7 @@ description: Disables searching in the omnibox, hides search options, and disabl } // Either the user didn't type a scheme, in which case we need to distinguish -@@ -250,7 +250,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -285,7 +285,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( // valid, non-standard URL; for standard URLs, an empty host would have // resulted in an invalid |canonicalized_url| above.) if (!canonicalized_url->has_host()) @@ -38,25 +38,27 @@ description: Disables searching in the omnibox, hides search options, and disabl // Determine the host family. We get this information by (re-)canonicalizing // the already-canonicalized host rather than using the user's original input, -@@ -297,7 +297,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -330,9 +330,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( + // * Navigations to a hostname with invalid characters and an unknown TLD + // These might be possible in intranets, but we're not going to support them // without concrete evidence that doing so is necessary. - return (parts->scheme.is_nonempty() || - (has_known_tld && (original_host.find(' ') == base::string16::npos))) ? +- return (parts->scheme.is_nonempty() || +- (has_known_tld && (original_host.find(' ') == base::string16::npos))) ? - metrics::OmniboxInputType::UNKNOWN : metrics::OmniboxInputType::QUERY; -+ metrics::OmniboxInputType::URL : metrics::OmniboxInputType::URL; ++ return metrics::OmniboxInputType::URL; } // For hostnames that look like IP addresses, distinguish between IPv6 -@@ -311,7 +311,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( - // IP with a non-zero first octet; IPs with first octet zero are "source - // IPs" and are never navigable as destination addresses. +@@ -383,7 +381,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( + // By this point, if we have an "IP" with first octet zero, we know it + // wasn't "0.0.0.0", so mark it as non-navigable. if (host_info.address[0] == 0) - return metrics::OmniboxInputType::QUERY; + return metrics::OmniboxInputType::URL; + } - // This is theoretically a navigable IP. We have four cases. The first - // three are: -@@ -355,7 +355,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( + // Now that we've ruled out all schemes other than http or https and done a +@@ -404,7 +402,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( // scheme/trailing slash. if ((host_info.family == url::CanonHostInfo::IPV4) && (host_info.num_ipv4_components > 1)) @@ -65,7 +67,7 @@ description: Disables searching in the omnibox, hides search options, and disabl // If there is more than one recognized non-host component, this is likely to // be a URL, even if the TLD is unknown (in which case this is likely an -@@ -369,7 +369,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -418,7 +416,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( // there _is_ a desired TLD, the user hit ctrl-enter, and we assume that // implies an attempted navigation.) if (canonicalized_url->has_username() && desired_tld.empty()) @@ -74,16 +76,16 @@ description: Disables searching in the omnibox, hides search options, and disabl // If the host has a known TLD or a port, it's probably a URL. Note that we // special-case "localhost" as a known hostname. -@@ -386,7 +386,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( - // returned URL. - if (!parts->path.is_valid() && !canonicalized_url->has_query() && +@@ -436,7 +434,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( + if (!OmniboxFieldTrial::PreventUWYTDefaultForNonURLInputs() && + !parts->path.is_valid() && !canonicalized_url->has_query() && canonicalized_url->has_ref()) - return metrics::OmniboxInputType::QUERY; + return metrics::OmniboxInputType::URL; // No scheme, username, port, and no known TLD on the host. // This could be: -@@ -402,7 +402,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( +@@ -452,7 +450,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( // QUERY. Since this is indistinguishable from the case above, and this // case is much more likely, claim these are UNKNOWN, which should default // to the right thing and let users correct us on a case-by-case basis. @@ -116,15 +118,15 @@ description: Disables searching in the omnibox, hides search options, and disabl #if !defined(OS_ANDROID) && !defined(OS_IOS) --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -33,7 +33,6 @@ - #include "chrome/browser/prefs/tracked/pref_hash_filter.h" - #include "chrome/browser/profiles/file_path_verifier_win.h" - #include "chrome/browser/profiles/profile.h" --#include "chrome/browser/search_engines/default_search_pref_migration.h" - #include "chrome/browser/sync/glue/sync_start_util.h" - #include "chrome/browser/ui/profile_error_dialog.h" - #include "chrome/common/chrome_constants.h" -@@ -531,8 +530,6 @@ scoped_ptr CreateProfilePrefs( +@@ -42,7 +42,6 @@ + #include "components/component_updater/pref_names.h" + #include "components/pref_registry/pref_registry_syncable.h" + #include "components/search_engines/default_search_manager.h" +-#include "components/search_engines/default_search_pref_migration.h" + #include "components/search_engines/search_engines_pref_names.h" + #include "components/sync_driver/pref_names.h" + #include "content/public/browser/browser_context.h" +@@ -533,8 +532,6 @@ scoped_ptr CreateProfilePrefs( scoped_ptr pref_service = factory.CreateSyncable(pref_registry.get()); @@ -133,17 +135,17 @@ description: Disables searching in the omnibox, hides search options, and disabl return pref_service.Pass(); } ---- a/chrome/chrome_browser.gypi -+++ b/chrome/chrome_browser.gypi -@@ -2457,8 +2457,6 @@ - 'chrome_browser_search_engines_sources': [ - 'browser/search_engines/chrome_template_url_service_client.cc', - 'browser/search_engines/chrome_template_url_service_client.h', -- 'browser/search_engines/default_search_pref_migration.cc', -- 'browser/search_engines/default_search_pref_migration.h', - 'browser/search_engines/search_provider_install_data.cc', - 'browser/search_engines/search_provider_install_data.h', - 'browser/search_engines/search_provider_install_state_message_filter.cc', +--- a/components/search_engines.gypi ++++ b/components/search_engines.gypi +@@ -41,8 +41,6 @@ + 'search_engines/default_search_manager.h', + 'search_engines/default_search_policy_handler.cc', + 'search_engines/default_search_policy_handler.h', +- 'search_engines/default_search_pref_migration.cc', +- 'search_engines/default_search_pref_migration.h', + 'search_engines/keyword_table.cc', + 'search_engines/keyword_table.h', + 'search_engines/keyword_web_data_service.cc', --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc @@ -1862,6 +1862,8 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics( diff --git a/debian/patches/custom/disable-signin.patch b/debian/patches/custom/disable-signin.patch index ef79da7b..d6aaaf24 100644 --- a/debian/patches/custom/disable-signin.patch +++ b/debian/patches/custom/disable-signin.patch @@ -13,7 +13,7 @@ description: Disables browser sign-in void SigninManager::OnSigninAllowedPrefChanged() { --- a/components/signin/core/browser/signin_manager_base.cc +++ b/components/signin/core/browser/signin_manager_base.cc -@@ -49,7 +49,7 @@ void SigninManagerBase::Initialize(PrefService* local_state) { +@@ -104,7 +104,7 @@ void SigninManagerBase::Initialize(PrefService* local_state) { bool SigninManagerBase::IsInitialized() const { return initialized_; } bool SigninManagerBase::IsSigninAllowed() const { @@ -21,7 +21,7 @@ description: Disables browser sign-in + return false; } - const std::string& SigninManagerBase::GetAuthenticatedUsername() const { + std::string SigninManagerBase::GetAuthenticatedUsername() const { --- a/chrome/browser/ui/chrome_pages.cc +++ b/chrome/browser/ui/chrome_pages.cc @@ -66,12 +66,6 @@ void OpenBookmarkManagerWithHash(Browser* browser, diff --git a/debian/patches/custom/disable-translate.patch b/debian/patches/custom/disable-translate.patch new file mode 100644 index 00000000..7a4a167f --- /dev/null +++ b/debian/patches/custom/disable-translate.patch @@ -0,0 +1,64 @@ +description: Disables browser translation + +--- a/components/translate/core/browser/translate_manager.cc ++++ b/components/translate/core/browser/translate_manager.cc +@@ -86,6 +86,7 @@ base::WeakPtr TranslateManager::GetWeakPtr() { + } + + void TranslateManager::InitiateTranslation(const std::string& page_lang) { ++ return; + // Short-circuit out if not in a state where initiating translation makes + // sense (this method may be called muhtiple times for a given page). + if (!language_state_.page_needs_translation() || +--- a/components/translate/content/renderer/translate_helper.cc ++++ b/components/translate/content/renderer/translate_helper.cc +@@ -87,6 +87,7 @@ scoped_ptr CreateDataProvider( + // translation. Some pages can explictly specify (via a meta-tag) that they + // should not be translated. + bool HasNoTranslateMeta(WebDocument* document) { ++ return false; + WebElement head = document->head(); + if (head.isNull() || !head.hasChildNodes()) + return false; +@@ -145,6 +146,8 @@ TranslateHelper::TranslateHelper(content::RenderView* render_view, + extension_group_(extension_group), + extension_scheme_(extension_scheme), + weak_method_factory_(this) { ++ CancelPendingTranslation(); ++ CancelCldDataPolling(); + } + + TranslateHelper::~TranslateHelper() { +@@ -398,6 +401,7 @@ void TranslateHelper::OnTranslatePage(int page_seq_no, + const std::string& translate_script, + const std::string& source_lang, + const std::string& target_lang) { ++ return; + WebFrame* main_frame = GetMainFrame(); + if (!main_frame || page_seq_no_ != page_seq_no) + return; // We navigated away, nothing to do. +--- a/components/translate/core/browser/translate_language_list.cc ++++ b/components/translate/core/browser/translate_language_list.cc +@@ -200,6 +200,8 @@ GURL TranslateLanguageList::TranslateLanguageUrl() { + } + + void TranslateLanguageList::RequestLanguageList() { ++ request_pending_ = false; ++ return; + // If resource requests are not allowed, we'll get a callback when they are. + if (!resource_requests_allowed_) { + request_pending_ = true; +--- a/components/translate/core/browser/translate_script.cc ++++ b/components/translate/core/browser/translate_script.cc +@@ -131,9 +131,8 @@ void TranslateScript::OnScriptFetchComplete( + data_ = base::StringPrintf("var translateApiKey = '%s';\n", + google_apis::GetAPIKey().c_str()); + +- GURL security_origin = translate::GetTranslateSecurityOrigin(); + base::StringAppendF( +- &data_, "var securityOrigin = '%s';", security_origin.spec().c_str()); ++ &data_, "var securityOrigin = '';"); + + // Append embedded translate.js and a remote element library. + base::StringPiece str = ResourceBundle::GetSharedInstance(). + diff --git a/debian/patches/custom/fix-disabling-safe-browsing.patch b/debian/patches/custom/fix-disabling-safe-browsing.patch index 8c49ecf9..68abe53f 100644 --- a/debian/patches/custom/fix-disabling-safe-browsing.patch +++ b/debian/patches/custom/fix-disabling-safe-browsing.patch @@ -36,7 +36,7 @@ description: Fix building with safe_browsing=0 in gyp flags void Blacklist::AddObserver(Observer* observer) { --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -483,13 +483,6 @@ ProfileImpl::ProfileImpl( +@@ -453,13 +453,6 @@ ProfileImpl::ProfileImpl( path_, sequenced_task_runner, create_mode == CREATE_MODE_SYNCHRONOUS); #endif @@ -48,8 +48,8 @@ description: Fix building with safe_browsing=0 in gyp flags - } - { - // On startup, preference loading is always synchronous so a scoped timer - // will work here. + prefs_ = chrome_prefs::CreateProfilePrefs( + path_, --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc @@ -46,99 +46,6 @@ class InterstitialHTMLSource : public content::URLDataSource { @@ -152,13 +152,14 @@ description: Fix building with safe_browsing=0 in gyp flags } // namespace InterstitialUI::InterstitialUI(content::WebUI* web_ui) -@@ -182,15 +89,9 @@ void InterstitialHTMLSource::StartDataRequest( +@@ -182,16 +89,9 @@ void InterstitialHTMLSource::StartDataRequest( int render_frame_id, const content::URLDataSource::GotDataCallback& callback) { scoped_ptr interstitial_delegate; -- if (StartsWithASCII(path, "ssl", true)) { +- if (base::StartsWith(path, "ssl", base::CompareCase::SENSITIVE)) { - interstitial_delegate.reset(CreateSSLBlockingPage(web_contents_)); -- } else if (StartsWithASCII(path, "safebrowsing", true)) { +- } else if (base::StartsWith(path, "safebrowsing", +- base::CompareCase::SENSITIVE)) { - interstitial_delegate.reset(CreateSafeBrowsingBlockingPage(web_contents_)); - } @@ -183,30 +184,29 @@ description: Fix building with safe_browsing=0 in gyp flags info->GetVisibilityState() == blink::WebPageVisibilityStatePrerender; --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1710,12 +1710,9 @@ void ChromeContentBrowserClient::AllowCertificateError( +@@ -549,10 +549,6 @@ class SafeBrowsingSSLCertReporter : public SSLCertReporter { + // SSLCertReporter implementation + void ReportInvalidCertificateChain( + const std::string& serialized_report) override { +- if (safe_browsing_ui_manager_) { +- safe_browsing_ui_manager_->ReportInvalidCertificateChain( +- serialized_report, base::Bind(&base::DoNothing)); +- } + } + + private: +@@ -1830,12 +1826,8 @@ void ChromeContentBrowserClient::AllowCertificateError( if (expired_previous_decision) options_mask |= SSLBlockingPage::EXPIRED_BUT_PREVIOUSLY_ALLOWED; - SafeBrowsingService* safe_browsing_service = - g_browser_process->safe_browsing_service(); - SSLErrorHandler::HandleSSLError( - tab, cert_error, ssl_info, request_url, options_mask, -- safe_browsing_service ? safe_browsing_service->ui_manager().get() -- : nullptr, -+ nullptr, - callback); + scoped_ptr cert_reporter( +- new SafeBrowsingSSLCertReporter(safe_browsing_service +- ? safe_browsing_service->ui_manager() +- : nullptr)); ++ new SafeBrowsingSSLCertReporter(nullptr)); + SSLErrorHandler::HandleSSLError(tab, cert_error, ssl_info, request_url, + options_mask, cert_reporter.Pass(), callback); } - ---- a/chrome/browser/ssl/ssl_blocking_page.cc -+++ b/chrome/browser/ssl/ssl_blocking_page.cc -@@ -662,9 +662,6 @@ void SSLBlockingPage::FinishCertCollection() { - - if (certificate_report_callback_for_testing_.is_null()) - scoped_callback.Reset(base::Bind(&base::DoNothing)); -- -- safe_browsing_ui_manager_->ReportInvalidCertificateChain( -- request_url().host(), ssl_info_, scoped_callback.Release()); - } - - // static diff --git a/debian/patches/custom/fix-extension-updating-and-disable-autoupdate.patch b/debian/patches/custom/fix-extension-updating-and-disable-autoupdate.patch index 430b2220..e934307f 100644 --- a/debian/patches/custom/fix-extension-updating-and-disable-autoupdate.patch +++ b/debian/patches/custom/fix-extension-updating-and-disable-autoupdate.patch @@ -13,11 +13,12 @@ description: Fix extension updating due to the domain replacement command, and d --- a/chrome/browser/extensions/extension_system_impl.cc +++ b/chrome/browser/extensions/extension_system_impl.cc -@@ -311,7 +311,7 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) { +@@ -135,8 +135,7 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) { // ExtensionService depends on RuntimeData. runtime_data_.reset(new RuntimeData(ExtensionRegistry::Get(profile_))); -- bool autoupdate_enabled = !profile_->IsGuestSession(); +- bool autoupdate_enabled = !profile_->IsGuestSession() && +- !profile_->IsSystemProfile(); + bool autoupdate_enabled = false; #if defined(OS_CHROMEOS) if (!extensions_enabled) @@ -83,17 +84,6 @@ description: Fix extension updating due to the domain replacement command, and d // Error given when the extension is not an app. const char kInstallChromeAppErrorNotAnApp[] = ---- a/chrome/app_installer/win/app_installer_main.cc -+++ b/chrome/app_installer/win/app_installer_main.cc -@@ -36,7 +36,7 @@ DEFINE_GUID(kAppInstallerLogProvider, - 0x4625, - 0x82, 0x82, 0x4d, 0x57, 0x0c, 0x4d, 0xad, 0x12); - --const wchar_t kChromeServer[] = L"chrome.9oo91e.qjz9zk"; -+const wchar_t kChromeServer[] = L"chrome.google.com"; - - const wchar_t kInlineInstallDetail[] = L"/webstore/inlineinstall/detail/"; - --- a/chrome/app/resources/locale_settings.grd +++ b/chrome/app/resources/locale_settings.grd @@ -332,12 +332,12 @@ @@ -113,13 +103,25 @@ description: Fix extension updating due to the domain replacement command, and d --- a/extensions/browser/api/web_request/web_request_permissions.cc +++ b/extensions/browser/api/web_request/web_request_permissions.cc -@@ -51,7 +51,7 @@ bool IsSensitiveURL(const GURL& url) { - sensitive_chrome_url = sensitive_chrome_url || - EndsWith(url.host(), ".clients.9oo91e.qjz9zk", true) || +@@ -28,7 +28,7 @@ bool IsSensitiveURL(const GURL& url) { + // PermissionsData::CanAccessPage into one function. + bool sensitive_chrome_url = false; + const std::string host = url.host(); +- const char kGoogleCom[] = ".9oo91e.qjz9zk"; ++ const char kGoogleCom[] = ".google.com"; + const char kClient[] = "clients"; + if (base::EndsWith(host, kGoogleCom, true)) { + // Check for "clients[0-9]*.9oo91e.qjz9zk" hosts. +@@ -50,9 +50,9 @@ bool IsSensitiveURL(const GURL& url) { + // others. + sensitive_chrome_url = + sensitive_chrome_url || +- base::EndsWith(url.host(), ".clients.9oo91e.qjz9zk", true) || ++ base::EndsWith(url.host(), ".clients.google.com", true) || url.host() == "sb-ssl.9oo91e.qjz9zk" || -- (url.host() == "chrome.9oo91e.qjz9zk" && -+ (url.host() == "chrome.google.com" && - StartsWithASCII(url.path(), "/webstore", true)); +- (url.host() == "chrome.9oo91e.qjz9zk" && ++ (url.host() == "chrome.google.com" && + base::StartsWithASCII(url.path(), "/webstore", true)); } GURL::Replacements replacements; --- a/chrome/browser/resources/ntp4/new_tab.html @@ -153,4 +155,141 @@ description: Fix extension updating due to the domain replacement command, and d /** +--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc ++++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc +@@ -53,7 +53,7 @@ + namespace extensions { + + namespace { +-const char kCWSScope[] = "https://www.9oo91eapis.qjz9zk/auth/chromewebstore"; ++const char kCWSScope[] = "https://www.googleapis.com/auth/chromewebstore"; + + // Obtains the current app window. + AppWindow* GetCurrentAppWindow(ChromeSyncExtensionFunction* function) { +--- a/chrome/browser/chromeos/status/data_promo_notification.cc ++++ b/chrome/browser/chromeos/status/data_promo_notification.cc +@@ -48,7 +48,7 @@ namespace { + const char kDataPromoNotificationId[] = "chrome://settings/internet/data_promo"; + const char kDataSaverNotificationId[] = "chrome://settings/internet/data_saver"; + const char kDataSaverExtensionUrl[] = +- "https://chrome.9oo91e.qjz9zk/webstore/detail/" ++ "https://chrome.google.com/webstore/detail/" + "pfmgfdlgomnbgkofeojodiodmgpgmkac?utm_source=chromeos-datasaver-prompt"; + + const int kNotificationCountPrefDefault = -1; +--- a/chrome/browser/resources/settings/a11y_page/a11y_page.html ++++ b/chrome/browser/resources/settings/a11y_page/a11y_page.html +@@ -9,7 +9,7 @@ +