Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit 45f818a

Browse files
committed
Ensure suspended sessions are not readded to a-c SessionStore (#3668)
Fixes #3620
1 parent 5a794b6 commit 45f818a

File tree

1 file changed

+10
-4
lines changed
  • app/src/common/shared/org/mozilla/vrbrowser/browser/engine

1 file changed

+10
-4
lines changed

app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java

+10-4
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public class Session implements ContentBlocking.Delegate, GeckoSession.Navigatio
9191
private transient byte[] mPrivatePage;
9292
private transient boolean mFirstContentfulPaint;
9393
private transient long mKeepAlive;
94+
private transient boolean mSessionRemoved;
9495

9596
public interface BitmapChangedListener {
9697
void onBitmapChanged(Session aSession, Bitmap aBitmap);
@@ -159,9 +160,6 @@ private void initialize() {
159160
protected void shutdown() {
160161
if (mState.mSession != null) {
161162
closeSession(mState);
162-
mSessionChangeListeners.forEach(listener -> {
163-
listener.onSessionRemoved(mState.mId);
164-
});
165163
mState.mSession = null;
166164
}
167165

@@ -172,6 +170,13 @@ protected void shutdown() {
172170
}
173171
}
174172

173+
if (!mSessionRemoved) {
174+
mSessionChangeListeners.forEach(listener -> {
175+
listener.onSessionRemoved(mState.mId);
176+
});
177+
mSessionRemoved = true;
178+
}
179+
175180
mQueuedCalls.clear();
176181
mNavigationListeners.clear();
177182
mProgressListeners.clear();
@@ -467,8 +472,9 @@ private void restore() {
467472

468473
// We call restore when a session is first activated and when it's recreated.
469474
// We only need to notify of the session creation if it's not a recreation.
470-
if (mState.mSessionState == null) {
475+
if (mSessionRemoved) {
471476
mSessionChangeListeners.forEach(listener -> listener.onSessionAdded(this));
477+
mSessionRemoved = false;
472478
}
473479

474480
openSession();

0 commit comments

Comments
 (0)