Skip to content

Commit 95ff05d

Browse files
authored
Merge pull request #8138 from brave/androis_tab_groups_crash
[Android] Fixes crash on closing tabs with Tab Groups
2 parents acc3f3c + 0e49519 commit 95ff05d

File tree

4 files changed

+9
-6
lines changed

4 files changed

+9
-6
lines changed

android/java/apk_for_test.flags

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
*** mTabModelSelector;
104104
*** mIncognitoStateProvider;
105105
*** mTabCountProvider;
106+
*** mTabGroupUi;
106107
*** onOrientationChange(...);
107108
*** updateButtonStatus(...);
108109
*** updateBookmarkButtonStatus(...);

android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
import java.util.List;
7474

7575
public class BraveToolbarManager extends ToolbarManager {
76+
// To delete in bytecode, members from parent class will be used instead.
7677
private ObservableSupplierImpl<BottomControlsCoordinator> mBottomControlsCoordinatorSupplier;
7778
private CallbackController mCallbackController;
7879
private BrowserControlsSizer mBrowserControlsSizer;
@@ -94,15 +95,16 @@ public class BraveToolbarManager extends ToolbarManager {
9495
private TabModelSelector mTabModelSelector;
9596
private IncognitoStateProvider mIncognitoStateProvider;
9697
private TabCountProvider mTabCountProvider;
98+
private TabGroupUi mTabGroupUi;
9799

100+
// Own members.
98101
private boolean mIsBottomToolbarVisible;
99102
private ObservableSupplier<Boolean> mOmniboxFocusStateSupplier;
100103
private OneshotSupplier<LayoutStateProvider> mLayoutStateProviderSupplier;
101104
private HomepageManager.HomepageStateListener mBraveHomepageStateListener;
102105
private AppCompatActivity mActivity;
103106
private WindowAndroid mWindowAndroid;
104107
private CompositorViewHolder mCompositorViewHolder;
105-
private TabGroupUi mTabGroupUi;
106108

107109
public BraveToolbarManager(AppCompatActivity activity, BrowserControlsSizer controlsSizer,
108110
FullscreenManager fullscreenManager, ToolbarControlContainer controlContainer,
@@ -191,11 +193,6 @@ public void enableBottomControls() {
191193
updateBottomToolbarVisibility();
192194
}
193195

194-
@Override
195-
public TabGroupUi getTabGroupUi() {
196-
return mTabGroupUi;
197-
}
198-
199196
@Override
200197
public void initializeWithNative(LayoutManagerImpl layoutManager,
201198
OnClickListener tabSwitcherClickHandler, OnClickListener newTabClickHandler,

android/javatests/org/chromium/chrome/browser/BytecodeTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,8 @@ public void testFieldsExist() throws Exception {
326326
"org/chromium/chrome/browser/toolbar/ToolbarManager", "mIncognitoStateProvider"));
327327
Assert.assertTrue(fieldExists(
328328
"org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabCountProvider"));
329+
Assert.assertTrue(
330+
fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabGroupUi"));
329331
Assert.assertTrue(
330332
fieldExists("org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator",
331333
"mTabSwitcherModeCoordinatorPhone"));

build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java

+3
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ public BraveToolbarManagerClassAdapter(ClassVisitor visitor) {
8080
deleteField(sBraveToolbarManagerClassName, "mTabCountProvider");
8181
makeProtectedField(sToolbarManagerClassName, "mTabCountProvider");
8282

83+
deleteField(sBraveToolbarManagerClassName, "mTabGroupUi");
84+
makeProtectedField(sToolbarManagerClassName, "mTabGroupUi");
85+
8386
makePublicMethod(sToolbarManagerClassName, "onOrientationChange");
8487
addMethodAnnotation(
8588
sBraveToolbarManagerClassName, "onOrientationChange", "Ljava/lang/Override;");

0 commit comments

Comments
 (0)