Chromium change: https://source.chromium.org/chromium/chromium/src/+/4dfe0238c9391e5b9a4284072e7d07926171215b [Tab Groups] add Token-based ID support behind flag Add and manage Token-based TabGroupIds for Tabs in TabGroupModelFilter. RootId must be the TabId of one of the tabs in the group. This is unstable because if the Tab with the TabId corresponding to the RootId of the group is removed from the group the group must elect a new TabId from among its tabs to be the new RootId. This leads to issues with managing the state of a tab group over time. Under the RootId paradigm every tab was associated with a TabGroup object and only tab groups with > 1 tab were considered "real" tab groups. In an effort to support tab groups with a single tab it is necessary to come up with a new approach. This CL introduces TabGroupId. This ID is stable in that it is tied to the group the tabs are in and can only be destroyed if all tabs are removed from the tab group OR two groups with TabGroupIds are merged resulting in one of the two TabGroupIds going away. Tabs only have a TabGroupId if they are associated with a "real" tab group of size 1 or larger. Otherwise this field will be null. This means that TabGroup objects will only contain tabs with a TabGroupId if the group is > size 1 OR that single tab is to be treated as a real tab group. If the flag AndroidTabGroupStableIds is enabled then after tab state initialization all tabs that are part of "real" tab groups under the old definition will be allocated TabGroupIds in a 1:1 manner with old RootIds. When the flag is disabled the TabGroupIds will all be reset instead. Logic for maintaining TabGroupIds is as follows: * A Tab Group Id is allocated when: * A single tab is turned into a single tab group. * A single tab is merged with another single tab to form a group. * A list of tabs is merged to a single tab to form a group. If a group is merged to a single tab its Tab Group Id is preserved. * Tab Group Ids are removed from tabs when: * Ungrouping a tab from a group. * Tab Group Ids are lost entirely when: * Merging two tab groups both with tab group ids (only one ID will continue to exist). * Removing the last tab from a group. * Deleting an entire tab group. Bug: b/41496693
59 lines
1.7 KiB
Plaintext
59 lines
1.7 KiB
Plaintext
-keep class com.google.android.material.bottomsheet.BottomSheetBehavior { *; }
|
|
|
|
-keep class com.google.android.material.behavior.HideBottomViewOnScrollBehavior { *; }
|
|
|
|
-keep class org.chromium.chrome.browser.BraveSyncWorker { *; }
|
|
|
|
# Add methods for invocation below
|
|
-keep class org.chromium.chrome.browser.ChromeTabbedActivity {
|
|
*** mLayoutManager;
|
|
*** hideOverview(...);
|
|
*** maybeHandleUrlIntent(...);
|
|
}
|
|
|
|
-keep class org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator {
|
|
*** createViewProvider(...);
|
|
}
|
|
|
|
-keep class org.chromium.chrome.browser.omnibox.suggestions.AutocompleteMediator {
|
|
*** mContext;
|
|
*** mDataProvider;
|
|
*** loadUrlForOmniboxMatch(...);
|
|
}
|
|
|
|
-keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources {
|
|
*** getResourceItem(...);
|
|
}
|
|
|
|
-keep class org.chromium.components.browser_ui.site_settings.SingleCategorySettings {
|
|
*** mCategory;
|
|
*** getAddExceptionDialogMessage(...);
|
|
*** resetList(...);
|
|
}
|
|
|
|
-keep class org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings {
|
|
*** mSite;
|
|
*** getPreferenceKey(...);
|
|
*** setupContentSettingsPreferences(...);
|
|
*** setupContentSettingsPreference(...);
|
|
}
|
|
|
|
-keep class org.chromium.components.browser_ui.site_settings.Website {
|
|
*** getPermissionInfo(...);
|
|
*** getContentSettingException(...);
|
|
*** getAddress(...);
|
|
*** setContentSettingException(...);
|
|
*** setContentSetting(...);
|
|
}
|
|
|
|
-keep class org.chromium.chrome.browser.tab.TabHelpers {
|
|
*** initTabHelpers(...);
|
|
}
|
|
|
|
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
|
|
|
|
-keep class org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter {
|
|
*** getParentIds(...);
|
|
*** getOrCreateTabGroupId(...);
|
|
}
|