Commit 2ff4948f authored by Jinsuk Kim's avatar Jinsuk Kim Committed by Commit Bot

Android: Delete Tab.getApplicationContext()

The public API returns the underlying application context of
|mThemedApplicationContext| which you can also get with
|ContextUtils.getApplicationContext| directly. This CL deletes the
API and has the call sites use ContextUtils instead.

Bug: 925242, 995903
Change-Id: Ie323a815225f67a3876a9a1559eaee8b3dd01687
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1884402Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710610}
parent c6a7fc3c
......@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.tab;
import org.chromium.base.ContextUtils;
import org.chromium.base.UserData;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.NativeMethods;
......@@ -330,8 +331,8 @@ public class InterceptNavigationDelegateImpl implements InterceptNavigationDeleg
int resId = mExternalNavHandler.canExternalAppHandleUrl(url)
? R.string.blocked_navigation_warning
: R.string.unreachable_navigation_warning;
mTab.getWebContents().addMessageToDevToolsConsole(
ConsoleMessageLevel.WARNING, mTab.getApplicationContext().getString(resId, url));
mTab.getWebContents().addMessageToDevToolsConsole(ConsoleMessageLevel.WARNING,
ContextUtils.getApplicationContext().getString(resId, url));
}
@VisibleForTesting
......
......@@ -507,13 +507,6 @@ public class Tab {
return view != null ? view.getHeight() : 0;
}
/**
* @return The application {@link Context} associated with this tab.
*/
public Context getApplicationContext() {
return mThemedApplicationContext.getApplicationContext();
}
/**
* @return {@link ChromeActivity} that currently contains this {@link Tab} in its
* {@link TabModel}.
......@@ -1543,8 +1536,9 @@ public class Tab {
? new Rect(0, 0, mContentView.getWidth(), mContentView.getHeight())
: new Rect();
if (hasWebContents) mWebContents.onHide();
Context appContext = ContextUtils.getApplicationContext();
Rect bounds = original.isEmpty()
? ExternalPrerenderHandler.estimateContentSize(getApplicationContext(), false)
? ExternalPrerenderHandler.estimateContentSize(appContext, false)
: null;
if (bounds != null) original.set(bounds);
......
......@@ -277,11 +277,11 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
public void onOpenInNewChromeTabFromCCT(String linkUrl, boolean isIncognito) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(mTab.getApplicationContext(), ChromeLauncherActivity.class);
intent.setClass(ContextUtils.getApplicationContext(), ChromeLauncherActivity.class);
if (isIncognito) {
intent.putExtra(IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, true);
intent.putExtra(
Browser.EXTRA_APPLICATION_ID, mTab.getApplicationContext().getPackageName());
intent.putExtra(Browser.EXTRA_APPLICATION_ID,
ContextUtils.getApplicationContext().getPackageName());
IntentHandler.addTrustedIntentExtras(intent);
IntentHandler.setTabLaunchType(intent, TabLaunchType.FROM_EXTERNAL_APP);
}
......
......@@ -11,6 +11,7 @@ import android.os.Handler;
import androidx.annotation.CallSuper;
import org.chromium.base.BuildInfo;
import org.chromium.base.ContextUtils;
import org.chromium.base.ObserverList.RewindableIterator;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
......@@ -128,7 +129,7 @@ public abstract class TabWebContentsDelegateAndroid extends WebContentsDelegateA
public void navigationStateChanged(int flags) {
if ((flags & InvalidateTypes.TAB) != 0) {
MediaCaptureNotificationService.updateMediaNotificationForTab(
mTab.getApplicationContext(), mTab.getId(), mTab.getWebContents(),
ContextUtils.getApplicationContext(), mTab.getId(), mTab.getWebContents(),
mTab.getUrl());
}
if ((flags & InvalidateTypes.TITLE) != 0) {
......@@ -148,7 +149,7 @@ public abstract class TabWebContentsDelegateAndroid extends WebContentsDelegateA
PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
auditor.notifyCertificateFailure(
PolicyAuditorJni.get().getCertificateFailure(mTab.getWebContents()),
mTab.getApplicationContext());
ContextUtils.getApplicationContext());
RewindableIterator<TabObserver> observers = mTab.getTabObservers();
while (observers.hasNext()) {
observers.next().onSSLStateUpdated(mTab);
......
......@@ -11,6 +11,7 @@ import androidx.annotation.IntDef;
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ObserverList.RewindableIterator;
import org.chromium.base.VisibleForTesting;
......@@ -181,8 +182,8 @@ public class TabWebContentsObserver extends TabWebContentsUserData {
}
if (isMainFrame) mTab.didFinishPageLoad(validatedUrl);
PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
auditor.notifyAuditEvent(
mTab.getApplicationContext(), AuditEvent.OPEN_URL_SUCCESS, validatedUrl, "");
auditor.notifyAuditEvent(ContextUtils.getApplicationContext(),
AuditEvent.OPEN_URL_SUCCESS, validatedUrl, "");
}
@Override
......@@ -204,11 +205,11 @@ public class TabWebContentsObserver extends TabWebContentsUserData {
assert description != null;
PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
auditor.notifyAuditEvent(mTab.getApplicationContext(), AuditEvent.OPEN_URL_FAILURE,
failingUrl, description);
auditor.notifyAuditEvent(ContextUtils.getApplicationContext(),
AuditEvent.OPEN_URL_FAILURE, failingUrl, description);
if (errorCode == BLOCKED_BY_ADMINISTRATOR) {
auditor.notifyAuditEvent(
mTab.getApplicationContext(), AuditEvent.OPEN_URL_BLOCKED, failingUrl, "");
auditor.notifyAuditEvent(ContextUtils.getApplicationContext(),
AuditEvent.OPEN_URL_BLOCKED, failingUrl, "");
}
}
......@@ -307,7 +308,7 @@ public class TabWebContentsObserver extends TabWebContentsUserData {
PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
auditor.notifyCertificateFailure(
PolicyAuditorJni.get().getCertificateFailure(mTab.getWebContents()),
mTab.getApplicationContext());
ContextUtils.getApplicationContext());
}
@Override
......@@ -343,7 +344,7 @@ public class TabWebContentsObserver extends TabWebContentsUserData {
@Override
public void destroy() {
MediaCaptureNotificationService.updateMediaNotificationForTab(
mTab.getApplicationContext(), mTab.getId(), null, mTab.getUrl());
ContextUtils.getApplicationContext(), mTab.getId(), null, mTab.getUrl());
super.destroy();
}
}
......
......@@ -19,6 +19,7 @@ import androidx.annotation.Nullable;
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
......@@ -163,8 +164,8 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
}
} else if (disposition == WindowOpenDisposition.NEW_POPUP) {
PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
auditor.notifyAuditEvent(
mTab.getApplicationContext(), AuditEvent.OPEN_POPUP_URL_SUCCESS, url, "");
auditor.notifyAuditEvent(ContextUtils.getApplicationContext(),
AuditEvent.OPEN_POPUP_URL_SUCCESS, url, "");
}
}
......@@ -219,7 +220,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
Intent newIntent = ChromeIntentUtil.createBringTabToFrontIntent(mTab.getId());
if (newIntent != null) {
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mTab.getApplicationContext().startActivity(newIntent);
ContextUtils.getApplicationContext().startActivity(newIntent);
}
}
......@@ -281,7 +282,8 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
case KeyEvent.KEYCODE_MEDIA_CLOSE:
case KeyEvent.KEYCODE_MEDIA_EJECT:
case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
AudioManager am = (AudioManager) mTab.getApplicationContext().getSystemService(
AudioManager am =
(AudioManager) ContextUtils.getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
am.dispatchMediaKeyEvent(e);
break;
......
......@@ -77,7 +77,7 @@ public class ReparentingTask implements UserData {
Runnable finalizeCallback) {
if (intent == null) intent = new Intent();
if (intent.getComponent() == null) {
intent.setClass(mTab.getApplicationContext(), ChromeLauncherActivity.class);
intent.setClass(ContextUtils.getApplicationContext(), ChromeLauncherActivity.class);
}
intent.setAction(Intent.ACTION_VIEW);
if (TextUtils.isEmpty(intent.getDataString())) intent.setData(Uri.parse(mTab.getUrl()));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment