Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dea0d46f authored by Nishith  Khanna's avatar Nishith Khanna
Browse files

Merge branch '3286-master-v137' into 'master'

Update Browser to v138

See merge request !87
parents e448e362 49bffacf
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ build-docker:
  rules:
  rules:
    - if: $CI_PIPELINE_SOURCE != "schedule"
    - if: $CI_PIPELINE_SOURCE != "schedule"
  when: manual
  when: manual
  allow_failure: false
  tags:
  tags:
    - generic_privileged
    - generic_privileged
  variables:
  variables:
@@ -34,7 +35,7 @@ build-docker:
  image: $CONTAINER_IMAGE
  image: $CONTAINER_IMAGE
  rules:
  rules:
    - if: $CI_PIPELINE_SOURCE != "schedule"
    - if: $CI_PIPELINE_SOURCE != "schedule"
  when: manual
  needs: ["build-docker"]
  tags:
  tags:
    - build-browser
    - build-browser
  artifacts:
  artifacts:
+5 −8
Original line number Original line Diff line number Diff line
FROM ubuntu:20.04
FROM ubuntu:22.04


ENV CHROMIUM_DIR "/srv/chromium"
ENV CHROMIUM_DIR "/srv/chromium"
ENV CHROMIUM_VER "135.0.7049.100"
ENV CHROMIUM_VER "138.0.7204.50"
ENV DEBIAN_FRONTEND=noninteractive


RUN apt-get update && \
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive \
    apt-get install -y software-properties-common
    apt-get install -y software-properties-common && \
    add-apt-repository ppa:deadsnakes/ppa && \
    add-apt-repository ppa:git-core/ppa


RUN dpkg --add-architecture i386
RUN dpkg --add-architecture i386


RUN apt-get update && \
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive \
    apt-get -f -y install sudo lsb-release cl-base64 bash wget apt-utils ccache jq file \
    apt-get -f -y install sudo lsb-release cl-base64 bash wget apt-utils ccache jq python3.10 \
    python-is-python3 sed tzdata build-essential lib32gcc-9-dev g++-multilib dos2unix wiggle git curl
    python-is-python3 sed tzdata build-essential lib32gcc-9-dev g++-multilib dos2unix wiggle git curl


RUN mkdir ${CHROMIUM_DIR}
RUN mkdir ${CHROMIUM_DIR}
+12 −1
Original line number Original line Diff line number Diff line
@@ -103,18 +103,29 @@ setup_ccache() {


patch() {
patch() {
    cd $chromium_dir/src
    cd $chromium_dir/src
    echo ">> [$(date)] Applying cromite and /e/ patches"
    echo ">> [$(date)] Applying cromite patches"


    cromite_patches_list=$(cat "${root_dir}/build/cromite_patches_list.txt")
    cromite_patches_list=$(cat "${root_dir}/build/cromite_patches_list.txt")
    for file in $cromite_patches_list; do
    for file in $cromite_patches_list; do
        git am -C0 -3 --ignore-whitespace "${root_dir}/build/cromite_patches/$file"
        git am -C0 -3 --ignore-whitespace "${root_dir}/build/cromite_patches/$file"
    done
    done


    echo ">> [$(date)] Applying /e/ patches"

    e_patches_list=$(cat "${root_dir}/build/e_patches_list.txt")
    e_patches_list=$(cat "${root_dir}/build/e_patches_list.txt")
    for file in $e_patches_list; do
    for file in $e_patches_list; do
        git am -C0 -3 --ignore-whitespace "${root_dir}/build/e_patches/$file"
        git am -C0 -3 --ignore-whitespace "${root_dir}/build/e_patches/$file"
    done
    done


    echo ">> [$(date)] Applying third party patches"

    while read dir patch; do
        [ -z "$dir" ] && continue  # skip empty lines
        cd $chromium_dir/src/third_party/$dir
        git am -C0 -3 --ignore-whitespace "${root_dir}/build/third_party/$patch"
        cd $chromium_dir/src
    done < "${root_dir}/build/third_party_patches_list.txt"

    # Rename Chrome to Browser
    # Rename Chrome to Browser
    rename
    rename


+25 −28
Original line number Original line Diff line number Diff line
@@ -31,8 +31,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 gpu/config/gpu_util.cc                           |  8 ++++++++
 gpu/config/gpu_util.cc                           |  8 ++++++++
 gpu/config/gpu_workaround_list.txt               |  1 +
 gpu/config/gpu_workaround_list.txt               |  1 +
 gpu/ipc/service/gpu_init.cc                      |  8 ++++++++
 gpu/ipc/service/gpu_init.cc                      |  8 ++++++++
 gpu/ipc/service/stream_texture_android.cc        | 10 +++++++++-
 media/gpu/android/video_frame_factory_impl.cc    |  4 +++-
 12 files changed, 87 insertions(+), 1 deletion(-)
 12 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
 create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
 create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
 create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc


@@ -90,10 +90,10 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3268,6 +3268,10 @@
@@ -3509,6 +3509,10 @@
     "name": "enable-identity-in-auth-error",
       "chrome-signin-team@google.com"
     "owners": [ "jlebel@chromium.org", "chrome-signin-team@google.com" ],
     ],
     "expiry_milestone": 135
     "expiry_milestone": 138
+  },{
+  },{
+    "name": "enable-image-reader",          // Bromite: do not expire
+    "name": "enable-image-reader",          // Bromite: do not expire
+    "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ],  // flag
+    "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ],  // flag
@@ -119,7 +119,7 @@ new file mode 100644
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
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
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -2593,6 +2593,22 @@
@@ -2613,6 +2613,22 @@
         "no_downscaled_overlay_promotion"
         "no_downscaled_overlay_promotion"
       ]
       ]
     },
     },
@@ -171,7 +171,7 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@@ -126,6 +126,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
@@ -127,6 +127,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
 #if !BUILDFLAG(IS_ANDROID)
 #if !BUILDFLAG(IS_ANDROID)
   return kGpuFeatureStatusDisabled;
   return kGpuFeatureStatusDisabled;
 #else
 #else
@@ -215,7 +215,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
 #endif
 #endif
 
 
 #if BUILDFLAG(ENABLE_VULKAN)
 #if BUILDFLAG(ENABLE_VULKAN)
@@ -692,6 +693,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -687,6 +688,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
   }
   }
 #endif  // BUILDFLAG(IS_WIN)
 #endif  // BUILDFLAG(IS_WIN)
 
 
@@ -229,24 +229,21 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
   if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
   if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
           kGpuFeatureStatusEnabled ||
           kGpuFeatureStatusEnabled ||
       !InitializeVulkan()) {
       !InitializeVulkan()) {
diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_texture_android.cc
diff --git a/media/gpu/android/video_frame_factory_impl.cc b/media/gpu/android/video_frame_factory_impl.cc
--- a/gpu/ipc/service/stream_texture_android.cc
--- a/media/gpu/android/video_frame_factory_impl.cc
+++ b/gpu/ipc/service/stream_texture_android.cc
+++ b/media/gpu/android/video_frame_factory_impl.cc
@@ -50,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
@@ -35,10 +35,12 @@ namespace {
 }
 
 
 gpu::TextureOwner::Mode GetTextureOwnerMode(
 TextureOwner::Mode GetTextureOwnerMode() {
     VideoFrameFactory::OverlayMode overlay_mode) {
+  const bool enabled = base::android::EnableAndroidImageReader() &&
+             base::FeatureList::IsEnabled(features::kAImageReaderMediaPlayer);
   switch (overlay_mode) {
     case VideoFrameFactory::OverlayMode::kDontRequestPromotionHints:
     case VideoFrameFactory::OverlayMode::kRequestPromotionHints:
-      return base::android::EnableAndroidImageReader()
-      return base::android::EnableAndroidImageReader()
+  const bool a_image_reader_supported =
+      return enabled
+      base::android::AndroidImageReader::GetInstance().IsSupported();
                  ? gpu::TextureOwner::Mode::kAImageReaderInsecure
+
                  : gpu::TextureOwner::Mode::kSurfaceTextureInsecure;
+  // TODO(vikassoni) : Currently we have 2 different flags to enable/disable
     case VideoFrameFactory::OverlayMode::kSurfaceControlSecure:
+  // AImageReader - one for MCVD and other for MediaPlayer here. Merge those 2
+  // flags into a single flag. Keeping the 2 flags separate for now since finch
+  // experiment using this flag is in progress.
+  return a_image_reader_supported && base::android::EnableAndroidImageReader() &&
+             base::FeatureList::IsEnabled(features::kAImageReaderMediaPlayer)
              ? TextureOwner::Mode::kAImageReaderInsecure
              : TextureOwner::Mode::kSurfaceTextureInsecure;
 }
--
--
+17 −17
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -233,6 +233,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.SelectionPopupController;
 import org.chromium.content_public.browser.SelectionPopupController;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.content_public.common.ContentSwitches;
 import org.chromium.content_public.common.ContentSwitches;
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
 import org.chromium.printing.PrintManagerDelegateImpl;
 import org.chromium.printing.PrintManagerDelegateImpl;
 import org.chromium.printing.PrintingController;
 import org.chromium.printing.PrintingController;
 import org.chromium.printing.PrintingControllerImpl;
 import org.chromium.printing.PrintingControllerImpl;
@@ -969,6 +970,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -981,6 +982,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
         super.onStartWithNative();
         super.onStartWithNative();
 
 
         ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
         ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
@@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -160,6 +160,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -169,6 +169,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
     &feed::kFeedPerformanceStudy,
     &feed::kFeedPerformanceStudy,
     &feed::kFeedShowSignInCommand,
     &feed::kFeedShowSignInCommand,
     &feed::kFeedSignedOutViewDemotion,
     &feed::kFeedSignedOutViewDemotion,
@@ -51,31 +51,31 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -158,6 +158,7 @@ public abstract class ChromeFeatureList {
@@ -162,6 +162,7 @@ public abstract class ChromeFeatureList {
     // Feature names.
             "AccountForSuppressedKeyboardInsets";
     /* Alphabetical: */
     public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
     public static final String ACT_USER_BYPASS_UX = "ActUserBypassUx";
             "AdaptiveButtonInTopToolbarCustomizationV2";
+    public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
+    public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
     public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
     public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
             "AdaptiveButtonInTopToolbarPageSummary";
             "AdaptiveButtonInTopToolbarPageSummary";
     public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
     public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION =
@@ -643,6 +644,8 @@ public abstract class ChromeFeatureList {
@@ -679,6 +680,8 @@ public abstract class ChromeFeatureList {
     public static final CachedFlag sAndroidMinimalUiLargeScreen =
     public static final CachedFlag sAndroidWindowPopupLargeScreen =
             newCachedFlag(ANDROID_MINIMAL_UI_LARGE_SCREEN, false);
             newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false);
     public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
     public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
+    public static final CachedFlag sAllowUserCertificates =
+    public static final CachedFlag sAllowUserCertificates =
+            newCachedFlag(ALLOW_USER_CERTIFICATES, false);
+            newCachedFlag(ALLOW_USER_CERTIFICATES, false);
     public static final CachedFlag sAsyncNotificationManager =
     public static final CachedFlag sAsyncNotificationManager =
             newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true);
             newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true);
     public static final CachedFlag sAsyncNotificationManagerForDownload =
     public static final CachedFlag sAsyncNotificationManagerForDownload =
@@ -878,6 +881,7 @@ public abstract class ChromeFeatureList {
@@ -940,6 +943,7 @@ public abstract class ChromeFeatureList {
     public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
                     sAccountForSuppressedKeyboardInsets,
             List.of(
                     sAllowTabClosingUponMinimization,
                     sAndroidAppIntegration,
                     sAndroidAppIntegration,
+                    sAllowUserCertificates,
+                    sAllowUserCertificates,
                     sAndroidAppIntegrationModule,
                     sAndroidAppIntegrationModule,
                     sAndroidAppIntegrationMultiDataSource,
                     sAndroidAppIntegrationV2,
                     sAndroidAppIntegrationV2,
                     sAndroidAppIntegrationWithFavicon,
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
new file mode 100644
new file mode 100644
--- /dev/null
--- /dev/null
@@ -111,7 +111,7 @@ new file mode 100644
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
--- a/net/android/java/src/org/chromium/net/X509Util.java
--- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -542,6 +542,8 @@ public class X509Util {
@@ -537,6 +537,8 @@ public class X509Util {
         return userRootBytes.toArray(new byte[0][]);
         return userRootBytes.toArray(new byte[0][]);
     }
     }
 
 
@@ -120,7 +120,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
     public static AndroidCertVerifyResult verifyServerCertificates(
     public static AndroidCertVerifyResult verifyServerCertificates(
             byte[][] certChain,
             byte[][] certChain,
             String authType,
             String authType,
@@ -642,6 +644,9 @@ public class X509Util {
@@ -637,6 +639,9 @@ public class X509Util {
                 X509Certificate root = verifiedChain.get(verifiedChain.size() - 1);
                 X509Certificate root = verifiedChain.get(verifiedChain.size() - 1);
                 isIssuedByKnownRoot = isKnownRoot(root);
                 isIssuedByKnownRoot = isKnownRoot(root);
             }
             }
Loading