diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt
index 68827153..0f40c4c4 100644
--- a/build/bromite_patches_list.txt
+++ b/build/bromite_patches_list.txt
@@ -55,7 +55,6 @@ Add-flags-to-disable-device-motion-orientation-APIs.patch
Disable-metrics-on-all-I-O-threads.patch
Always-respect-async-dns-flag-regardless-of-SDK-version.patch
Add-flag-to-configure-maximum-connections-per-host.patch
-Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patch
Add-bookmark-import-export-actions.patch
Disable-promos-displayed-in-bookmarks-manager.patch
Add-an-always-incognito-mode.patch
diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch
index 8a313ab3..14101efd 100644
--- a/build/patches/Add-a-proxy-configuration-page.patch
+++ b/build/patches/Add-a-proxy-configuration-page.patch
@@ -14,7 +14,7 @@ Offer auto-complete for the proxy page URL.
chrome/browser/browser_resources.grd | 6 +
.../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 +++
- chrome/browser/resources/proxy_config.html | 79 ++++
+ chrome/browser/resources/proxy_config.html | 80 ++++
chrome/browser/resources/proxy_config.js | 262 +++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
@@ -27,7 +27,7 @@ Offer auto-complete for the proxy page URL.
.../proxy_config/proxy_config_dictionary.h | 6 +-
net/proxy_resolution/proxy_config.cc | 52 ++-
net/proxy_resolution/proxy_config.h | 3 +
- 20 files changed, 952 insertions(+), 14 deletions(-)
+ 20 files changed, 953 insertions(+), 14 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/resources/proxy_config.html b/chrome/browser/resourc
new file mode 100644
--- /dev/null
+++ b/chrome/browser/resources/proxy_config.html
-@@ -0,0 +1,79 @@
+@@ -0,0 +1,80 @@
+
+
+
@@ -205,6 +205,7 @@ new file mode 100644
+
+
+
++
+
+
+
diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch
index 34650dd7..b53ba2a3 100644
--- a/build/patches/Add-bookmark-import-export-actions.patch
+++ b/build/patches/Add-bookmark-import-export-actions.patch
@@ -13,7 +13,8 @@ Completely remove contacts picker permission from the file dialog
.../browser/bookmarks/BookmarkBridge.java | 47 ++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 19 ++
- .../browser/bookmarks/BookmarkPage.java | 1 +
+ .../browser/bookmarks/BookmarkPage.java | 5 +-
+ .../native_page/NativePageFactory.java | 3 +-
chrome/browser/BUILD.gn | 6 +-
.../android/bookmarks/bookmark_bridge.cc | 217 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 20 +-
@@ -28,7 +29,7 @@ Completely remove contacts picker permission from the file dialog
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
- 22 files changed, 447 insertions(+), 12 deletions(-)
+ 23 files changed, 452 insertions(+), 14 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@@ -111,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
-@@ -13,6 +13,7 @@ import androidx.annotation.VisibleForTesting;
+@@ -15,6 +15,7 @@ import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.SnackbarActivity;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants;
@@ -119,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
-@@ -22,6 +23,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
+@@ -24,6 +25,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
public class BookmarkActivity extends SnackbarActivity {
private BookmarkManager mBookmarkManager;
@@ -127,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
-@@ -33,6 +35,18 @@ public class BookmarkActivity extends SnackbarActivity {
+@@ -38,6 +40,18 @@ public class BookmarkActivity extends SnackbarActivity {
if (TextUtils.isEmpty(url)) url = UrlConstants.BOOKMARKS_URL;
mBookmarkManager.updateForUrl(url);
setContentView(mBookmarkManager.getView());
@@ -146,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
@Override
-@@ -49,6 +63,7 @@ public class BookmarkActivity extends SnackbarActivity {
+@@ -54,6 +68,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -263,7 +264,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
-@@ -31,6 +31,7 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
+@@ -32,6 +32,7 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
@@ -271,15 +272,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.url.GURL;
-@@ -52,6 +53,7 @@ public class BookmarkManager
- private Activity mActivity;
+@@ -54,6 +55,7 @@ public class BookmarkManager
+ private ComponentName mOpenBookmarkComponentName;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
+ private ActivityWindowAndroid mWindowAndroid;
private BookmarkUndoController mUndoController;
private final ObserverList mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage;
-@@ -322,6 +324,13 @@ public class BookmarkManager
+@@ -327,6 +329,13 @@ public class BookmarkManager
mNativePage = nativePage;
}
@@ -293,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
* yet in this session, on phone return last used state stored in preference; on tablet
-@@ -494,6 +503,16 @@ public class BookmarkManager
+@@ -500,6 +509,16 @@ public class BookmarkManager
}
}
@@ -313,14 +314,42 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
-@@ -29,6 +29,7 @@ public class BookmarkPage extends BasicNativePage {
+@@ -13,6 +13,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
+ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
+ import org.chromium.components.embedder_support.util.UrlConstants;
++import org.chromium.chrome.browser.app.ChromeActivity;
- mManager = new BookmarkManager(activity, false, activity.getSnackbarManager());
+ /**
+ * A native page holding a {@link BookmarkManager} on _tablet_.
+@@ -29,11 +30,13 @@ public class BookmarkPage extends BasicNativePage {
+ * @param host A NativePageHost to load urls.
+ */
+ public BookmarkPage(
+- ComponentName componentName, SnackbarManager snackbarManager, NativePageHost host) {
++ ComponentName componentName, SnackbarManager snackbarManager, NativePageHost host,
++ ChromeActivity activity) {
+ super(host);
+
+ mManager = new BookmarkManager(host.getContext(), componentName, false, snackbarManager);
mManager.setBasicNativePage(this);
+ mManager.setWindow(activity.getWindowAndroid());
mTitle = host.getContext().getResources().getString(R.string.bookmarks);
initWithView(mManager.getView());
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+@@ -95,7 +95,8 @@ public class NativePageFactory {
+
+ protected NativePage buildBookmarksPage(Tab tab) {
+ return new BookmarkPage(mActivity.getComponentName(), mActivity.getSnackbarManager(),
+- new TabShim(tab, mActivity));
++ new TabShim(tab, mActivity),
++ mActivity);
+ }
+
+ protected NativePage buildDownloadsPage(Tab tab) {
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
diff --git a/build/patches/Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patch b/build/patches/Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patch
deleted file mode 100644
index 8b69970d..00000000
--- a/build/patches/Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-From: csagan5 <32685696+csagan5@users.noreply.github.com>
-Date: Sun, 24 Jan 2021 14:47:49 +0100
-Subject: Revert "Remove ChromeActivity reference from BookmarkPage"
-
-This reverts commit 1858b3af2a7d28e4e8b396a230a486fdc8cb0f0c.
----
- .../java/src/org/chromium/chrome/browser/DEPS | 3 ++
- .../browser/bookmarks/BookmarkActivity.java | 7 +----
- .../browser/bookmarks/BookmarkManager.java | 28 +++++++----------
- .../browser/bookmarks/BookmarkPage.java | 11 ++-----
- .../bookmarks/BookmarkUndoController.java | 3 +-
- .../browser/bookmarks/BookmarkUtils.java | 30 ++++++++++---------
- .../native_page/NativePageFactory.java | 3 +-
- 7 files changed, 37 insertions(+), 48 deletions(-)
-
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DEPS b/chrome/android/java/src/org/chromium/chrome/browser/DEPS
---- a/chrome/android/java/src/org/chromium/chrome/browser/DEPS
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/DEPS
-@@ -68,6 +68,9 @@ specific_include_rules = {
- "CardUnmaskPrompt\.java": [
- "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
- ],
-+ "BookmarkPage\.java": [
-+ "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
-+ ],
- "QualityEnforcer\.java": [
- "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
- ],
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
-@@ -10,8 +10,6 @@ import android.text.TextUtils;
-
- import androidx.annotation.VisibleForTesting;
-
--import org.chromium.base.IntentUtils;
--import org.chromium.chrome.browser.IntentHandler;
- import org.chromium.chrome.browser.SnackbarActivity;
- import org.chromium.components.bookmarks.BookmarkId;
- import org.chromium.components.embedder_support.util.UrlConstants;
-@@ -30,10 +28,7 @@ public class BookmarkActivity extends SnackbarActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-- mBookmarkManager = new BookmarkManager(this,
-- IntentUtils.safeGetParcelableExtra(
-- getIntent(), IntentHandler.EXTRA_PARENT_COMPONENT),
-- true, getSnackbarManager());
-+ mBookmarkManager = new BookmarkManager(this, true, getSnackbarManager());
- String url = getIntent().getDataString();
- if (TextUtils.isEmpty(url)) url = UrlConstants.BOOKMARKS_URL;
- mBookmarkManager.updateForUrl(url);
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
-@@ -4,11 +4,10 @@
-
- package org.chromium.chrome.browser.bookmarks;
-
-+import android.app.Activity;
- import android.app.ActivityManager;
--import android.content.ComponentName;
- import android.content.Context;
- import android.text.TextUtils;
--import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.accessibility.AccessibilityManager;
-@@ -50,8 +49,7 @@ public class BookmarkManager
-
- private static boolean sPreventLoadingForTesting;
-
-- private Context mContext;
-- private ComponentName mOpenBookmarkComponentName;
-+ private Activity mActivity;
- private ViewGroup mMainView;
- private BookmarkModel mBookmarkModel;
- private BookmarkUndoController mUndoController;
-@@ -160,15 +158,12 @@ public class BookmarkManager
- /**
- * Creates an instance of {@link BookmarkManager}. It also initializes resources,
- * bookmark models and jni bridges.
-- * @param context The current {@link Context} used to obtain resources or inflate views.
-- * @param openBookmarkComponentName The component to use when opening a bookmark.
-+ * @param activity The activity context to use.
- * @param isDialogUi Whether the main bookmarks UI will be shown in a dialog, not a NativePage.
- * @param snackbarManager The {@link SnackbarManager} used to display snackbars.
- */
-- public BookmarkManager(Context context, ComponentName openBookmarkComponentName,
-- boolean isDialogUi, SnackbarManager snackbarManager) {
-- mContext = context;
-- mOpenBookmarkComponentName = openBookmarkComponentName;
-+ public BookmarkManager(Activity activity, boolean isDialogUi, SnackbarManager snackbarManager) {
-+ mActivity = activity;
- mIsDialogUi = isDialogUi;
-
- mSelectionDelegate = new SelectionDelegate() {
-@@ -185,7 +180,7 @@ public class BookmarkManager
- mDragStateDelegate = new BookmarkDragStateDelegate();
-
- mBookmarkModel = new BookmarkModel();
-- mMainView = (ViewGroup) LayoutInflater.from(mContext).inflate(R.layout.bookmark_main, null);
-+ mMainView = (ViewGroup) mActivity.getLayoutInflater().inflate(R.layout.bookmark_main, null);
-
- @SuppressWarnings("unchecked")
- SelectableListLayout selectableList =
-@@ -194,7 +189,7 @@ public class BookmarkManager
- mSelectableListLayout.initializeEmptyView(
- R.string.bookmarks_folder_empty, R.string.bookmark_no_result);
-
-- mAdapter = new BookmarkItemsAdapter(mContext);
-+ mAdapter = new BookmarkItemsAdapter(activity);
-
- mAdapterDataObserver = new AdapterDataObserver() {
- @Override
-@@ -219,7 +214,7 @@ public class BookmarkManager
-
- mSelectableListLayout.configureWideDisplayStyle();
-
-- mUndoController = new BookmarkUndoController(mContext, mBookmarkModel, snackbarManager);
-+ mUndoController = new BookmarkUndoController(activity, mBookmarkModel, snackbarManager);
- mBookmarkModel.addObserver(mBookmarkModelObserver);
- initializeToLoadingState();
- if (!sPreventLoadingForTesting) {
-@@ -405,7 +400,7 @@ public class BookmarkManager
- if (state.mState == BookmarkUIState.STATE_FOLDER) {
- // Loading and searching states may be pushed to the stack but should never be stored in
- // preferences.
-- BookmarkUtils.setLastUsedUrl(mContext, state.mUrl);
-+ BookmarkUtils.setLastUsedUrl(mActivity, state.mUrl);
- // If a loading state is replaced by another loading state, do not notify this change.
- if (mNativePage != null) {
- mNativePage.onStateChange(state.mUrl, false);
-@@ -494,9 +489,8 @@ public class BookmarkManager
-
- @Override
- public void openBookmark(BookmarkId bookmark) {
-- if (BookmarkUtils.openBookmark(
-- mContext, mOpenBookmarkComponentName, mBookmarkModel, bookmark)) {
-- BookmarkUtils.finishActivityOnPhone(mContext);
-+ if (BookmarkUtils.openBookmark(mBookmarkModel, mActivity, bookmark)) {
-+ BookmarkUtils.finishActivityOnPhone(mActivity);
- }
- }
-
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
-@@ -4,12 +4,10 @@
-
- package org.chromium.chrome.browser.bookmarks;
-
--import android.content.ComponentName;
--
- import androidx.annotation.VisibleForTesting;
-
- import org.chromium.chrome.R;
--import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
-+import org.chromium.chrome.browser.app.ChromeActivity;
- import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
- import org.chromium.chrome.browser.ui.native_page.NativePageHost;
- import org.chromium.components.embedder_support.util.UrlConstants;
-@@ -23,16 +21,13 @@ public class BookmarkPage extends BasicNativePage {
-
- /**
- * Create a new instance of the bookmarks page.
-- * @param componentName The current activity component, used to open bookmarks.
-- * @param snackbarManager Allows control over the app snackbar.
- * @param activity The activity to get context and manage fragments.
- * @param host A NativePageHost to load urls.
- */
-- public BookmarkPage(
-- ComponentName componentName, SnackbarManager snackbarManager, NativePageHost host) {
-+ public BookmarkPage(ChromeActivity activity, NativePageHost host) {
- super(host);
-
-- mManager = new BookmarkManager(host.getContext(), componentName, false, snackbarManager);
-+ mManager = new BookmarkManager(activity, false, activity.getSnackbarManager());
- mManager.setBasicNativePage(this);
- mTitle = host.getContext().getResources().getString(R.string.bookmarks);
-
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java
-@@ -16,7 +16,8 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
- import java.util.Locale;
-
- /**
-- * Shows an undo bar when the user modifies bookmarks, allowing them to undo their changes.
-+ * Shows an undo bar when the user modifies bookmarks,
-+ * allowing them to undo their changes.
- */
- public class BookmarkUndoController extends BookmarkModelObserver implements
- SnackbarManager.SnackbarController, BookmarkDeleteObserver {
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
-@@ -336,16 +336,17 @@ public class BookmarkUtils {
-
- /**
- * Opens a bookmark and reports UMA.
-- * @param context The current context used to launch the intent.
-- * @param openBookmarkComponentName The component to use when opening a bookmark.
- * @param model Bookmarks model to manage the bookmark.
-+ * @param activity Activity requesting to open the bookmark.
- * @param bookmarkId ID of the bookmark to be opened.
- * @return Whether the bookmark was successfully opened.
- */
-- public static boolean openBookmark(Context context, ComponentName openBookmarkComponentName,
-- BookmarkModel model, BookmarkId bookmarkId) {
-+ public static boolean openBookmark(
-+ BookmarkModel model, Activity activity, BookmarkId bookmarkId) {
- if (model.getBookmarkById(bookmarkId) == null) return false;
-
-+ String url = model.getBookmarkById(bookmarkId).getUrl();
-+
- RecordUserAction.record("MobileBookmarkManagerEntryOpened");
- RecordHistogram.recordEnumeratedHistogram(
- "Bookmarks.OpenBookmarkType", bookmarkId.getType(), BookmarkType.LAST + 1);
-@@ -353,9 +354,9 @@ public class BookmarkUtils {
- BookmarkItem bookmarkItem = model.getBookmarkById(bookmarkId);
- if (bookmarkItem.getId().getType() == BookmarkType.READING_LIST) {
- model.setReadStatusForReadingList(bookmarkItem.getUrl(), true);
-- openUrlInCustomTab(context, bookmarkItem.getUrl());
-+ openUrlInCustomTab(activity, bookmarkItem.getUrl());
- } else {
-- openUrl(context, bookmarkItem.getUrl(), openBookmarkComponentName);
-+ openUrl(activity, bookmarkItem.getUrl(), activity.getComponentName());
- }
- return true;
- }
-@@ -383,10 +384,10 @@ public class BookmarkUtils {
- : R.color.default_icon_color_tint_list;
- }
-
-- private static void openUrl(Context context, String url, ComponentName componentName) {
-+ private static void openUrl(Activity activity, String url, ComponentName componentName) {
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-- intent.putExtra(
-- Browser.EXTRA_APPLICATION_ID, context.getApplicationContext().getPackageName());
-+ intent.putExtra(Browser.EXTRA_APPLICATION_ID,
-+ activity.getApplicationContext().getPackageName());
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.putExtra(IntentHandler.EXTRA_PAGE_TRANSITION_TYPE, PageTransition.AUTO_BOOKMARK);
-
-@@ -396,13 +397,13 @@ public class BookmarkUtils {
- // If the bookmark manager is shown in a tab on a phone (rather than in a separate
- // activity) the component name may be null. Send the intent through
- // ChromeLauncherActivity instead to avoid crashing. See crbug.com/615012.
-- intent.setClass(context.getApplicationContext(), ChromeLauncherActivity.class);
-+ intent.setClass(activity, ChromeLauncherActivity.class);
- }
-
- IntentHandler.startActivityForTrustedIntent(intent);
- }
-
-- private static void openUrlInCustomTab(Context context, String url) {
-+ private static void openUrlInCustomTab(Activity activity, String url) {
- CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
- builder.setShowTitle(true);
- builder.setShareState(CustomTabsIntent.SHARE_STATE_ON);
-@@ -410,9 +411,10 @@ public class BookmarkUtils {
- customTabIntent.intent.setData(Uri.parse(url));
-
- Intent intent = LaunchIntentDispatcher.createCustomTabActivityIntent(
-- context, customTabIntent.intent);
-- intent.setPackage(context.getPackageName());
-- intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
-+ activity.getApplicationContext(), customTabIntent.intent);
-+ intent.setPackage(activity.getApplicationContext().getPackageName());
-+ intent.putExtra(Browser.EXTRA_APPLICATION_ID,
-+ activity.getApplicationContext().getPackageName());
- intent.putExtra(CustomTabIntentDataProvider.EXTRA_UI_TYPE, CustomTabsUiType.READ_LATER);
- intent.putExtra(IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB,
- Profile.getLastUsedRegularProfile().isOffTheRecord());
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
-@@ -94,8 +94,7 @@ public class NativePageFactory {
- }
-
- protected NativePage buildBookmarksPage(Tab tab) {
-- return new BookmarkPage(mActivity.getComponentName(), mActivity.getSnackbarManager(),
-- new TabShim(tab, mActivity));
-+ return new BookmarkPage(mActivity, new TabShim(tab, mActivity));
- }
-
- protected NativePage buildDownloadsPage(Tab tab) {
---
-2.17.1
-