Parcourir la source

Release 89.0.4389.117

csagan5 il y a 4 ans
Parent
commit
4e0e82b3c1

+ 4 - 0
CHANGELOG.md

@@ -1,3 +1,7 @@
+# 89.0.4389.117
+* disable AImageReader by default on Android 9 and below (fixes https://github.com/bromite/bromite/issues/1005)
+* log checksum of AdBlock filters
+
 # 89.0.4389.100
 # 89.0.4389.100
 * enable AImageReader by default (fixes https://github.com/bromite/bromite/issues/1005)
 * enable AImageReader by default (fixes https://github.com/bromite/bromite/issues/1005)
 * fix missing flag for AImageReader
 * fix missing flag for AImageReader

+ 1 - 1
build/RELEASE

@@ -1 +1 @@
-89.0.4389.100
+89.0.4389.117

+ 28 - 1
build/patches/AImageReader-CFI-crash-mitigations.patch

@@ -22,6 +22,7 @@ See discussions at:
  base/android/android_image_reader_compat.cc |  8 +++++++-
  base/android/android_image_reader_compat.cc |  8 +++++++-
  base/android/android_image_reader_compat.h  |  4 ++++
  base/android/android_image_reader_compat.h  |  4 ++++
  chrome/browser/flag-metadata.json           |  2 +-
  chrome/browser/flag-metadata.json           |  2 +-
+ gpu/config/gpu_driver_bug_list.json         | 16 ++++++++++++++++
  gpu/config/gpu_finch_features.cc            |  5 +++++
  gpu/config/gpu_finch_features.cc            |  5 +++++
  gpu/config/gpu_finch_features.h             |  1 +
  gpu/config/gpu_finch_features.h             |  1 +
  gpu/config/gpu_util.cc                      |  8 ++++++++
  gpu/config/gpu_util.cc                      |  8 ++++++++
@@ -30,7 +31,7 @@ See discussions at:
  gpu/ipc/service/stream_texture_android.cc   | 11 ++++++++++-
  gpu/ipc/service/stream_texture_android.cc   | 11 ++++++++++-
  media/base/media_switches.cc                |  4 ++++
  media/base/media_switches.cc                |  4 ++++
  media/base/media_switches.h                 |  1 +
  media/base/media_switches.h                 |  1 +
- 11 files changed, 47 insertions(+), 3 deletions(-)
+ 12 files changed, 63 insertions(+), 3 deletions(-)
 
 
 diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
 diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
 --- a/base/android/android_image_reader_compat.cc
 --- a/base/android/android_image_reader_compat.cc
@@ -91,6 +92,32 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
    },
    },
    {
    {
      "name": "enable-immersive-fullscreen-toolbar",
      "name": "enable-immersive-fullscreen-toolbar",
+diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
+--- a/gpu/config/gpu_driver_bug_list.json
++++ b/gpu/config/gpu_driver_bug_list.json
+@@ -3254,6 +3254,22 @@
+         "dont_delete_source_texture_for_egl_image"
+       ]
+     },
++    {
++      "id":335,
++      "cr_bugs": [1051705],
++      "description": "Disable AImageReader on ARM GPUs",
++      "os": {
++        "type": "android",
++        "version": {
++          "op": "<",
++          "value": "10"
++        }
++      },
++      "gl_vendor": "ARM.*",
++      "features": [
++        "disable_aimagereader"
++      ]
++    },
+     {
+       "id": 336,
+       "cr_bugs": [625785],
 diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
 diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
 --- a/gpu/config/gpu_finch_features.cc
 --- a/gpu/config/gpu_finch_features.cc
 +++ b/gpu/config/gpu_finch_features.cc
 +++ b/gpu/config/gpu_finch_features.cc

+ 23 - 21
build/patches/Automated-domain-substitution.patch

@@ -10231,7 +10231,7 @@ diff --git a/chrome/credential_provider/gaiacp/associated_user_validator.cc b/ch
 diff --git a/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc b/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc b/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
 --- a/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
 --- a/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/associated_user_validator_unittests.cc
-@@ -99,7 +99,7 @@ TEST_F(AssociatedUserValidatorTest, CleanupStaleUsers) {
+@@ -117,7 +117,7 @@ TEST_F(AssociatedUserValidatorTest, CleanupStaleUsers) {
    CComBSTR sid_good;
    CComBSTR sid_good;
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                        L"username", L"password", L"Full Name", L"Comment",
                        L"username", L"password", L"Full Name", L"Comment",
@@ -10240,7 +10240,7 @@ diff --git a/chrome/credential_provider/gaiacp/associated_user_validator_unittes
    ASSERT_EQ(S_OK,
    ASSERT_EQ(S_OK,
              SetUserProperty(OLE2W(sid_good), kUserTokenHandle, L"good-th"));
              SetUserProperty(OLE2W(sid_good), kUserTokenHandle, L"good-th"));
  
  
-@@ -118,7 +118,7 @@ TEST_F(AssociatedUserValidatorTest, CleanupStaleUsers) {
+@@ -136,7 +136,7 @@ TEST_F(AssociatedUserValidatorTest, CleanupStaleUsers) {
    CComBSTR sid_no_token_handle;
    CComBSTR sid_no_token_handle;
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                        L"username3", L"password", L"Full Name", L"Comment",
                        L"username3", L"password", L"Full Name", L"Comment",
@@ -10285,7 +10285,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
-@@ -1224,7 +1224,7 @@ TEST_F(GcpGaiaCredentialBaseTest, StripEmailTLD_Gmail) {
+@@ -1237,7 +1237,7 @@ TEST_F(GcpGaiaCredentialBaseTest, StripEmailTLD_Gmail) {
    Microsoft::WRL::ComPtr<ITestCredential> test;
    Microsoft::WRL::ComPtr<ITestCredential> test;
    ASSERT_EQ(S_OK, cred.As(&test));
    ASSERT_EQ(S_OK, cred.As(&test));
  
  
@@ -10294,7 +10294,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
  
  
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
  
  
-@@ -1245,7 +1245,7 @@ TEST_F(GcpGaiaCredentialBaseTest, StripEmailTLD_Googlemail) {
+@@ -1258,7 +1258,7 @@ TEST_F(GcpGaiaCredentialBaseTest, StripEmailTLD_Googlemail) {
    Microsoft::WRL::ComPtr<ITestCredential> test;
    Microsoft::WRL::ComPtr<ITestCredential> test;
    ASSERT_EQ(S_OK, cred.As(&test));
    ASSERT_EQ(S_OK, cred.As(&test));
  
  
@@ -10303,7 +10303,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
  
  
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
  
  
-@@ -1265,7 +1265,7 @@ TEST_F(GcpGaiaCredentialBaseTest, InvalidUsernameCharacters) {
+@@ -1278,7 +1278,7 @@ TEST_F(GcpGaiaCredentialBaseTest, InvalidUsernameCharacters) {
    Microsoft::WRL::ComPtr<ITestCredential> test;
    Microsoft::WRL::ComPtr<ITestCredential> test;
    ASSERT_EQ(S_OK, cred.As(&test));
    ASSERT_EQ(S_OK, cred.As(&test));
  
  
@@ -10312,7 +10312,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
  
  
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
  
  
-@@ -1286,7 +1286,7 @@ TEST_F(GcpGaiaCredentialBaseTest, EmailTooLong) {
+@@ -1299,7 +1299,7 @@ TEST_F(GcpGaiaCredentialBaseTest, EmailTooLong) {
    Microsoft::WRL::ComPtr<ITestCredential> test;
    Microsoft::WRL::ComPtr<ITestCredential> test;
    ASSERT_EQ(S_OK, cred.As(&test));
    ASSERT_EQ(S_OK, cred.As(&test));
  
  
@@ -10321,7 +10321,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
  
  
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
    ASSERT_EQ(S_OK, test->SetGlsEmailAddress(email));
  
  
-@@ -1390,7 +1390,7 @@ class GcpGaiaCredentialBaseCloudMappingTest
+@@ -1403,7 +1403,7 @@ class GcpGaiaCredentialBaseCloudMappingTest
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    // The admin sdk users directory get URL.
    // The admin sdk users directory get URL.
    std::string get_cd_user_url_ = base::StringPrintf(
    std::string get_cd_user_url_ = base::StringPrintf(
@@ -10330,7 +10330,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
        "%s?projection=full&viewType=domain_public",
        "%s?projection=full&viewType=domain_public",
        net::EscapeUrlEncodedData(kDefaultEmail, true).c_str());
        net::EscapeUrlEncodedData(kDefaultEmail, true).c_str());
    GaiaUrls* gaia_urls_ = GaiaUrls::GetInstance();
    GaiaUrls* gaia_urls_ = GaiaUrls::GetInstance();
-@@ -1556,7 +1556,7 @@ class GcpGaiaCredentialBaseAdScenariosTest : public GcpGaiaCredentialBaseTest {
+@@ -1569,7 +1569,7 @@ class GcpGaiaCredentialBaseAdScenariosTest : public GcpGaiaCredentialBaseTest {
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    // The admin sdk users directory get URL.
    // The admin sdk users directory get URL.
    std::string get_cd_user_url_ = base::StringPrintf(
    std::string get_cd_user_url_ = base::StringPrintf(
@@ -10339,7 +10339,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
        "%s?projection=full&viewType=domain_public",
        "%s?projection=full&viewType=domain_public",
        net::EscapeUrlEncodedData(kDefaultEmail, true).c_str());
        net::EscapeUrlEncodedData(kDefaultEmail, true).c_str());
    GaiaUrls* gaia_urls_ = GaiaUrls::GetInstance();
    GaiaUrls* gaia_urls_ = GaiaUrls::GetInstance();
-@@ -1771,7 +1771,7 @@ class GcpGaiaCredentialBaseCloudLocalAccountTest
+@@ -1784,7 +1784,7 @@ class GcpGaiaCredentialBaseCloudLocalAccountTest
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred_;
    // The admin sdk users directory get URL.
    // The admin sdk users directory get URL.
    std::string get_cd_user_url_ = base::StringPrintf(
    std::string get_cd_user_url_ = base::StringPrintf(
@@ -10351,21 +10351,22 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_provider_unittests.cc
-@@ -288,7 +288,7 @@ TEST_F(GcpCredentialProviderTest, AddPersonAfterUserRemove) {
+@@ -320,7 +320,7 @@ TEST_F(GcpCredentialProviderTest, AddPersonAfterUserRemove) {
    CComBSTR sid;
    CComBSTR sid;
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                        kDummyUsername, kDummyPassword, L"full name", L"comment",
                        kDummyUsername, kDummyPassword, L"full name", L"comment",
 -                      L"gaia-id", L"foo@gmail.com", &sid));
 -                      L"gaia-id", L"foo@gmail.com", &sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &sid));
  
  
-   {
-     Microsoft::WRL::ComPtr<ICredentialProviderCredential> cred;
-@@ -379,13 +379,13 @@ TEST_P(GcpCredentialProviderSetSerializationTest, CheckAutoLogon) {
+   CreateDefaultCloudPoliciesForUser((BSTR)sid);
+ 
+@@ -413,14 +413,14 @@ TEST_P(GcpCredentialProviderSetSerializationTest, CheckAutoLogon) {
    constexpr wchar_t first_username[] = L"username";
    constexpr wchar_t first_username[] = L"username";
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                        first_username, L"password", L"full name", L"comment",
                        first_username, L"password", L"full name", L"comment",
 -                      L"gaia-id", L"foo@gmail.com", &first_sid));
 -                      L"gaia-id", L"foo@gmail.com", &first_sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &first_sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &first_sid));
+   CreateDefaultCloudPoliciesForUser((BSTR)first_sid);
  
  
    CComBSTR second_sid;
    CComBSTR second_sid;
    constexpr wchar_t second_username[] = L"username2";
    constexpr wchar_t second_username[] = L"username2";
@@ -10373,10 +10374,10 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittest
                        second_username, L"password", L"Full Name", L"Comment",
                        second_username, L"password", L"Full Name", L"Comment",
 -                      L"gaia-id2", L"foo2@gmail.com", &second_sid));
 -                      L"gaia-id2", L"foo2@gmail.com", &second_sid));
 +                      L"gaia-id2", L"foo2@9ma1l.qjz9zk", &second_sid));
 +                      L"gaia-id2", L"foo2@9ma1l.qjz9zk", &second_sid));
+   CreateDefaultCloudPoliciesForUser((BSTR)second_sid);
  
  
    // Build a dummy authentication buffer that can be passed to SetSerialization.
    // Build a dummy authentication buffer that can be passed to SetSerialization.
-   CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION cpcs;
-@@ -484,13 +484,13 @@ TEST_P(GcpCredentialProviderWithGaiaUsersTest, ReauthCredentialTest) {
+@@ -520,13 +520,13 @@ TEST_P(GcpCredentialProviderWithGaiaUsersTest, ReauthCredentialTest) {
      // enable_cloud_association is set to false.
      // enable_cloud_association is set to false.
      ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
      ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                          L"username", L"password", L"full name", L"comment",
                          L"username", L"password", L"full name", L"comment",
@@ -10392,12 +10393,13 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittest
    }
    }
  
  
    if (user_property_status & 1) {
    if (user_property_status & 1) {
-@@ -721,13 +721,13 @@ TEST_P(GcpCredentialProviderAvailableCredentialsTest, AvailableCredentials) {
+@@ -764,14 +764,14 @@ TEST_P(GcpCredentialProviderAvailableCredentialsTest, AvailableCredentials) {
    constexpr wchar_t first_username[] = L"username";
    constexpr wchar_t first_username[] = L"username";
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
    ASSERT_EQ(S_OK, fake_os_user_manager()->CreateTestOSUser(
                        first_username, L"password", L"full name", L"comment",
                        first_username, L"password", L"full name", L"comment",
 -                      L"gaia-id", L"foo@gmail.com", &first_sid));
 -                      L"gaia-id", L"foo@gmail.com", &first_sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &first_sid));
 +                      L"gaia-id", L"foo@9ma1l.qjz9zk", &first_sid));
+   CreateDefaultCloudPoliciesForUser((BSTR)first_sid);
  
  
    CComBSTR second_sid;
    CComBSTR second_sid;
    constexpr wchar_t second_username[] = L"username2";
    constexpr wchar_t second_username[] = L"username2";
@@ -10405,9 +10407,9 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_provider_unittest
                        second_username, L"password", L"Full Name", L"Comment",
                        second_username, L"password", L"Full Name", L"Comment",
 -                      L"gaia-id2", L"foo2@gmail.com", &second_sid));
 -                      L"gaia-id2", L"foo2@gmail.com", &second_sid));
 +                      L"gaia-id2", L"foo2@9ma1l.qjz9zk", &second_sid));
 +                      L"gaia-id2", L"foo2@9ma1l.qjz9zk", &second_sid));
+   CreateDefaultCloudPoliciesForUser((BSTR)second_sid);
  
  
    // Set the user locking the system.
    // Set the user locking the system.
-   SetSidLockingWorkstation(second_user_locking_system ? OLE2CW(second_sid)
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc
@@ -10423,7 +10425,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_unittests.cc b/ch
 diff --git a/chrome/credential_provider/gaiacp/gcp_utils.cc b/chrome/credential_provider/gaiacp/gcp_utils.cc
 diff --git a/chrome/credential_provider/gaiacp/gcp_utils.cc b/chrome/credential_provider/gaiacp/gcp_utils.cc
 --- a/chrome/credential_provider/gaiacp/gcp_utils.cc
 --- a/chrome/credential_provider/gaiacp/gcp_utils.cc
 +++ b/chrome/credential_provider/gaiacp/gcp_utils.cc
 +++ b/chrome/credential_provider/gaiacp/gcp_utils.cc
-@@ -87,7 +87,7 @@ const wchar_t kKernelLibFile[] = L"kernel32.dll";
+@@ -90,7 +90,7 @@ const wchar_t kOsBuildName[] = L"CurrentBuildNumber";
  const int kVersionStringSize = 128;
  const int kVersionStringSize = 128;
  
  
  constexpr wchar_t kDefaultMdmUrl[] =
  constexpr wchar_t kDefaultMdmUrl[] =
@@ -10432,7 +10434,7 @@ diff --git a/chrome/credential_provider/gaiacp/gcp_utils.cc b/chrome/credential_
  
  
  constexpr int kMaxNumConsecutiveUploadDeviceFailures = 3;
  constexpr int kMaxNumConsecutiveUploadDeviceFailures = 3;
  const base::TimeDelta kMaxTimeDeltaSinceLastUserPolicyRefresh =
  const base::TimeDelta kMaxTimeDeltaSinceLastUserPolicyRefresh =
-@@ -1270,7 +1270,7 @@ base::string16 GetDevelopmentUrl(const base::string16& url,
+@@ -1304,7 +1304,7 @@ base::string16 GetDevelopmentUrl(const base::string16& url,
    std::string project;
    std::string project;
    std::string final_part;
    std::string final_part;
    if (re2::RE2::FullMatch(base::UTF16ToUTF8(url),
    if (re2::RE2::FullMatch(base::UTF16ToUTF8(url),
@@ -10444,7 +10446,7 @@ diff --git a/chrome/credential_provider/gaiacp/gcp_utils.cc b/chrome/credential_
 diff --git a/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc b/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
 diff --git a/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc b/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
 --- a/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
 +++ b/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc
-@@ -533,7 +533,7 @@ TEST_P(GcpEnrollmentArgsTest, EnrollToGoogleMdmIfNeeded_MissingArgs) {
+@@ -555,7 +555,7 @@ TEST_P(GcpEnrollmentArgsTest, EnrollToGoogleMdmIfNeeded_MissingArgs) {
  INSTANTIATE_TEST_SUITE_P(
  INSTANTIATE_TEST_SUITE_P(
      GcpRegistrationData,
      GcpRegistrationData,
      GcpEnrollmentArgsTest,
      GcpEnrollmentArgsTest,
@@ -10453,7 +10455,7 @@ diff --git a/chrome/credential_provider/gaiacp/gcp_utils_unittests.cc b/chrome/c
                         ::testing::Values("id_token", "", nullptr),
                         ::testing::Values("id_token", "", nullptr),
                         ::testing::Values("access_token", "", nullptr),
                         ::testing::Values("access_token", "", nullptr),
                         ::testing::Values("sid", "", nullptr),
                         ::testing::Values("sid", "", nullptr),
-@@ -547,7 +547,7 @@ INSTANTIATE_TEST_SUITE_P(
+@@ -569,7 +569,7 @@ INSTANTIATE_TEST_SUITE_P(
  INSTANTIATE_TEST_SUITE_P(
  INSTANTIATE_TEST_SUITE_P(
      GcpRegistrationHardwareIds,
      GcpRegistrationHardwareIds,
      GcpEnrollmentArgsTest,
      GcpEnrollmentArgsTest,

+ 25 - 1
build/patches/Bromite-AdBlockUpdaterService.patch

@@ -45,8 +45,9 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
  .../browser/verified_ruleset_dealer.cc        |   3 +
  .../browser/verified_ruleset_dealer.cc        |   3 +
  .../browser/subresource_filter_features.cc    | 113 +-------
  .../browser/subresource_filter_features.cc    | 113 +-------
  .../core/common/common_features.cc            |   2 +-
  .../core/common/common_features.cc            |   2 +-
+ .../core/common/indexed_ruleset.cc            |   5 +-
  .../navigation_throttle_runner.cc             |   5 -
  .../navigation_throttle_runner.cc             |   5 -
- 37 files changed, 1141 insertions(+), 139 deletions(-)
+ 38 files changed, 1145 insertions(+), 140 deletions(-)
  create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
  create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
  create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
  create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
  create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
  create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@@ -1827,6 +1828,29 @@ diff --git a/components/subresource_filter/core/common/common_features.cc b/comp
 +const base::Feature kAdTagging{"AdTagging", base::FEATURE_DISABLED_BY_DEFAULT};
 +const base::Feature kAdTagging{"AdTagging", base::FEATURE_DISABLED_BY_DEFAULT};
  
  
  }  // namespace subresource_filter
  }  // namespace subresource_filter
+diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/components/subresource_filter/core/common/indexed_ruleset.cc
+--- a/components/subresource_filter/core/common/indexed_ruleset.cc
++++ b/components/subresource_filter/core/common/indexed_ruleset.cc
+@@ -5,6 +5,7 @@
+ #include "components/subresource_filter/core/common/indexed_ruleset.h"
+ 
+ #include "base/check.h"
++#include "base/logging.h"
+ #include "base/metrics/histogram_macros.h"
+ #include "base/trace_event/trace_event.h"
+ #include "components/subresource_filter/core/common/first_party_origin.h"
+@@ -34,8 +35,10 @@ VerifyStatus GetVerifyStatus(const uint8_t* buffer,
+   // least once.  The verifier detects a subset of the errors detected by the
+   // checksum, and is unneeded once expected_checksum is consistently nonzero.
+   flatbuffers::Verifier verifier(buffer, size);
++  int local_checksum = LocalGetChecksum(buffer, size);
++  LOG(INFO) << "GetVerifyStatus: expected checksum = 0x" << std::hex << expected_checksum << ", local checksum = 0x" << std::hex << local_checksum;
+   if (expected_checksum != 0 &&
+-      expected_checksum != LocalGetChecksum(buffer, size)) {
++      expected_checksum != local_checksum) {
+     return flat::VerifyIndexedRulesetBuffer(verifier)
+                ? VerifyStatus::kChecksumFailVerifierPass
+                : VerifyStatus::kChecksumFailVerifierFail;
 diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
 diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
 --- a/content/browser/renderer_host/navigation_throttle_runner.cc
 --- a/content/browser/renderer_host/navigation_throttle_runner.cc
 +++ b/content/browser/renderer_host/navigation_throttle_runner.cc
 +++ b/content/browser/renderer_host/navigation_throttle_runner.cc

+ 19 - 7
build/patches/Disable-seed-based-field-trials.patch

@@ -3,23 +3,35 @@ Date: Tue, 25 Dec 2018 16:19:51 -0500
 Subject: Disable seed-based field trials
 Subject: Disable seed-based field trials
 
 
 ---
 ---
- components/variations/service/variations_field_trial_creator.cc | 2 ++
- 1 file changed, 2 insertions(+)
+ .../variations/service/variations_field_trial_creator.cc      | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
 
 
 diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
 diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
 --- a/components/variations/service/variations_field_trial_creator.cc
 --- a/components/variations/service/variations_field_trial_creator.cc
 +++ b/components/variations/service/variations_field_trial_creator.cc
 +++ b/components/variations/service/variations_field_trial_creator.cc
-@@ -524,8 +524,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
+@@ -508,8 +508,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
+   // instance is set.
+   feature_list->RegisterExtraFeatureOverrides(extra_overrides);
+ 
+-  bool used_testing_config = false;
+ #if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
++  bool used_testing_config = false;
+   if (!command_line->HasSwitch(switches::kDisableFieldTrialTestingConfig) &&
+       !command_line->HasSwitch(::switches::kForceFieldTrials) &&
+       !command_line->HasSwitch(switches::kVariationsServerURL)) {
+@@ -523,10 +523,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
+   }
  #endif  // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
  #endif  // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
    bool used_seed = false;
    bool used_seed = false;
-   if (!used_testing_config) {
 +#if defined(FIELDTRIAL_SEED_ENABLED)
 +#if defined(FIELDTRIAL_SEED_ENABLED)
-     used_seed = CreateTrialsFromSeed(*low_entropy_provider, feature_list.get(),
-                                      safe_seed_manager);
-+#endif
+   if (!used_testing_config) {
+     used_seed = CreateTrialsFromSeed(low_entropy_provider.get(),
+                                      feature_list.get(), safe_seed_manager);
    }
    }
++#endif  // BUILDFLAG(FIELDTRIAL_SEED_ENABLED)
  
  
    platform_field_trials->SetupFeatureControllingFieldTrials(
    platform_field_trials->SetupFeatureControllingFieldTrials(
+       used_seed, low_entropy_provider.get(), feature_list.get());
 -- 
 -- 
 2.17.1
 2.17.1
 
 

+ 1 - 1
build/patches/Multiple-fingerprinting-mitigations.patch

@@ -356,7 +356,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
 diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
 +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
-@@ -974,9 +974,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
+@@ -965,9 +965,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
    else
    else
      direction = ToTextDirection(GetState().GetDirection(), canvas());
      direction = ToTextDirection(GetState().GetDirection(), canvas());