Loading build/bromite_patches_list.txt +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading build/patches/Add-a-proxy-configuration-page.patch +4 −3 Original line number Diff line number Diff line Loading @@ -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 + Loading @@ -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 Loading Loading @@ -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 @@ +<!doctype html> +<html> +<head> Loading @@ -205,6 +205,7 @@ new file mode 100644 +<script src="chrome://resources/js/ios/web_ui.js"></script> +</if> + +<script src="chrome://resources/js/assert.js"></script> +<script src="chrome://resources/js/util.js"></script> +<script src="chrome://resources/js/cr.js"></script> +<script src="chrome://proxy/proxy_config.js"></script> Loading build/patches/Add-bookmark-import-export-actions.patch +42 −13 Original line number Diff line number Diff line Loading @@ -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 +- Loading @@ -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 Loading Loading @@ -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; Loading @@ -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; Loading @@ -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()); Loading @@ -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); Loading Loading @@ -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; Loading @@ -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<BookmarkUIObserver> mUIObservers = new ObserverList<>(); private BasicNativePage mNativePage; @@ -322,6 +324,13 @@ public class BookmarkManager @@ -327,6 +329,13 @@ public class BookmarkManager mNativePage = nativePage; } Loading @@ -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 } } Loading @@ -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; /** * 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(activity, false, activity.getSnackbarManager()); 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 Loading build/patches/Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patchdeleted 100644 → 0 +0 −291 Original line number Diff line number Diff line 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<BookmarkId>() { @@ -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<BookmarkId> 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 Loading
build/bromite_patches_list.txt +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
build/patches/Add-a-proxy-configuration-page.patch +4 −3 Original line number Diff line number Diff line Loading @@ -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 + Loading @@ -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 Loading Loading @@ -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 @@ +<!doctype html> +<html> +<head> Loading @@ -205,6 +205,7 @@ new file mode 100644 +<script src="chrome://resources/js/ios/web_ui.js"></script> +</if> + +<script src="chrome://resources/js/assert.js"></script> +<script src="chrome://resources/js/util.js"></script> +<script src="chrome://resources/js/cr.js"></script> +<script src="chrome://proxy/proxy_config.js"></script> Loading
build/patches/Add-bookmark-import-export-actions.patch +42 −13 Original line number Diff line number Diff line Loading @@ -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 +- Loading @@ -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 Loading Loading @@ -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; Loading @@ -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; Loading @@ -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()); Loading @@ -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); Loading Loading @@ -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; Loading @@ -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<BookmarkUIObserver> mUIObservers = new ObserverList<>(); private BasicNativePage mNativePage; @@ -322,6 +324,13 @@ public class BookmarkManager @@ -327,6 +329,13 @@ public class BookmarkManager mNativePage = nativePage; } Loading @@ -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 } } Loading @@ -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; /** * 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(activity, false, activity.getSnackbarManager()); 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 Loading
build/patches/Revert-Remove-ChromeActivity-reference-from-BookmarkPage.patchdeleted 100644 → 0 +0 −291 Original line number Diff line number Diff line 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<BookmarkId>() { @@ -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<BookmarkId> 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