Skip to content

Commit

Permalink
Patch Chromium files to fix PIP behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
simoarpe committed Feb 28, 2025
1 parent 8355412 commit 8ff8f83
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandlerBase.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandlerBase.java
index 65490bf6514e2ab2e8aa28b9c28d6310b82d1341..42fc2883b01ba6871d96c603a29b9b91466fa9c3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandlerBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandlerBase.java
@@ -113,6 +113,7 @@ public abstract class FullscreenHtmlApiHandlerBase
@Nullable private Tab mTab;

private boolean mNotifyOnNextExit;
+ private boolean mTabHiddenByChangedTabs;

// Current ContentView. Updates when active tab is switched or WebContents is swapped
// in the current Tab.
@@ -275,6 +276,7 @@ public abstract class FullscreenHtmlApiHandlerBase

@Override
public void onHidden(Tab tab, @TabHidingType int reason) {
+ mTabHiddenByChangedTabs = reason == TabHidingType.CHANGED_TABS;
// Clean up any fullscreen state that might impact other tabs.
exitPersistentFullscreenMode();
}
@@ -443,6 +445,7 @@ public abstract class FullscreenHtmlApiHandlerBase

@Override
public void exitPersistentFullscreenMode() {
+ if (mActivity.isInPictureInPictureMode() && !mTabHiddenByChangedTabs) return;
if (getPersistentFullscreenMode()) {
getToast().onExitPersistentFullscreen();
mPersistentModeSupplier.set(false);
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/FullscreenVideoPictureInPictureController.java b/chrome/android/java/src/org/chromium/chrome/browser/media/FullscreenVideoPictureInPictureController.java
index 2c3e387f09b7b4cb47de76fb479c2bdc696a7107..fad6ca49cb62231b9879e8af5dff3f3ef8916ca5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/FullscreenVideoPictureInPictureController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/FullscreenVideoPictureInPictureController.java
@@ -560,6 +560,7 @@ public class FullscreenVideoPictureInPictureController {
Log.i(TAG, "Dismiss activity with reason " + reason);
updateAutoPictureInPictureStatusIfNeeded();
mDismissPending = false;
+ if (reason == MetricsEndReason.START || reason == MetricsEndReason.RESUME) return;

if (!isPipSessionActive()) {
return;

0 comments on commit 8ff8f83

Please sign in to comment.