Commit 729e13d1 authored by Mohamed Heikal's avatar Mohamed Heikal Committed by Commit Bot

Remove CmdLine handling from BaseChromiumApplication

Removes static and member functions that initialize CmdLine from
BaseChromiumApplication. Functionality is moved to ChromeApplication as
well as other "Application"s

Bug: 560466
Change-Id: Ia5115dc5ce6009e645e01432c0013af5491e15e4
Reviewed-on: https://chromium-review.googlesource.com/794031
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avataragrieve <agrieve@chromium.org>
Reviewed-by: default avatarStephen Lanham <slan@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526711}
parent 86a9d725
...@@ -36,7 +36,6 @@ import org.chromium.base.CommandLine; ...@@ -36,7 +36,6 @@ import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.TraceEvent; import org.chromium.base.TraceEvent;
import org.chromium.content.app.ContentApplication;
import org.chromium.content_public.browser.NavigationController; import org.chromium.content_public.browser.NavigationController;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentUrlConstants; import org.chromium.content_public.common.ContentUrlConstants;
...@@ -66,7 +65,7 @@ public class AwShellActivity extends Activity { ...@@ -66,7 +65,7 @@ public class AwShellActivity extends Activity {
AwShellResourceProvider.registerResources(this); AwShellResourceProvider.registerResources(this);
ContentApplication.initCommandLine(this); ((AwShellApplication) getApplication()).initCommandLine();
ContextUtils.initApplicationContext(getApplicationContext()); ContextUtils.initApplicationContext(getApplicationContext());
AwBrowserProcess.loadLibrary(null); AwBrowserProcess.loadLibrary(null);
......
...@@ -12,7 +12,6 @@ import org.chromium.content.app.ContentApplication; ...@@ -12,7 +12,6 @@ import org.chromium.content.app.ContentApplication;
*/ */
public class AwShellApplication extends ContentApplication { public class AwShellApplication extends ContentApplication {
@Override
public void initCommandLine() { public void initCommandLine() {
if (!CommandLine.isInitialized()) { if (!CommandLine.isInitialized()) {
CommandLine.initFromFile("/data/local/tmp/android-webview-command-line"); CommandLine.initFromFile("/data/local/tmp/android-webview-command-line");
......
...@@ -25,18 +25,6 @@ public class BaseChromiumApplication extends Application { ...@@ -25,18 +25,6 @@ public class BaseChromiumApplication extends Application {
} }
} }
/** Initializes the {@link CommandLine}. */
public void initCommandLine() {}
/**
* This must only be called for contexts whose application is a subclass of
* {@link BaseChromiumApplication}.
*/
@VisibleForTesting
public static void initCommandLine(Context context) {
((BaseChromiumApplication) context.getApplicationContext()).initCommandLine();
}
/** Ensure this application object is not out-of-date. */ /** Ensure this application object is not out-of-date. */
private void checkAppBeingReplaced() { private void checkAppBeingReplaced() {
// During app update the old apk can still be triggered by broadcasts and spin up an // During app update the old apk can still be triggered by broadcasts and spin up an
......
...@@ -13,6 +13,7 @@ import org.junit.Before; ...@@ -13,6 +13,7 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
/** /**
...@@ -24,7 +25,7 @@ public class CommandLineInitUtilTest { ...@@ -24,7 +25,7 @@ public class CommandLineInitUtilTest {
public void setUp() throws Exception { public void setUp() throws Exception {
CommandLineInitUtil.initCommandLine( CommandLineInitUtil.initCommandLine(
InstrumentationRegistry.getInstrumentation().getTargetContext(), InstrumentationRegistry.getInstrumentation().getTargetContext(),
"content-shell-command-line"); CommandLineFlags.getTestCmdLineFile());
} }
/** /**
......
...@@ -10,8 +10,8 @@ import android.text.TextUtils; ...@@ -10,8 +10,8 @@ import android.text.TextUtils;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Rule; import org.junit.Rule;
import org.chromium.base.BaseChromiumApplication;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.base.CommandLineInitUtil;
import org.chromium.base.test.BaseTestResult.PreTestHook; import org.chromium.base.test.BaseTestResult.PreTestHook;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
...@@ -91,7 +91,7 @@ public final class CommandLineFlags { ...@@ -91,7 +91,7 @@ public final class CommandLineFlags {
public static void setUp(Context targetContext, AnnotatedElement element) { public static void setUp(Context targetContext, AnnotatedElement element) {
Assert.assertNotNull("Unable to get a non-null target context.", targetContext); Assert.assertNotNull("Unable to get a non-null target context.", targetContext);
CommandLine.reset(); CommandLine.reset();
BaseChromiumApplication.initCommandLine(targetContext); CommandLineInitUtil.initCommandLine(targetContext, getTestCmdLineFile());
Set<String> enableFeatures = new HashSet<String>(); Set<String> enableFeatures = new HashSet<String>();
Set<String> disableFeatures = new HashSet<String>(); Set<String> disableFeatures = new HashSet<String>();
Set<String> flags = getFlags(element); Set<String> flags = getFlags(element);
...@@ -189,4 +189,8 @@ public final class CommandLineFlags { ...@@ -189,4 +189,8 @@ public final class CommandLineFlags {
}; };
} }
public static String getTestCmdLineFile() {
return "test-cmdline-file";
}
} }
...@@ -241,15 +241,10 @@ class LocalDeviceInstrumentationTestRun( ...@@ -241,15 +241,10 @@ class LocalDeviceInstrumentationTestRun(
@trace_event.traced @trace_event.traced
def create_flag_changer(dev): def create_flag_changer(dev):
if self._test_instance.flags: if self._test_instance.flags:
if not self._test_instance.package_info: self._CreateFlagChangerIfNeeded(dev)
logging.error("Couldn't set flags: no package info") logging.debug('Attempting to set flags: %r',
elif not self._test_instance.package_info.cmdline_file: self._test_instance.flags)
logging.error("Couldn't set flags: no cmdline_file") self._flag_changers[str(dev)].AddFlags(self._test_instance.flags)
else:
self._CreateFlagChangerIfNeeded(dev)
logging.debug('Attempting to set flags: %r',
self._test_instance.flags)
self._flag_changers[str(dev)].AddFlags(self._test_instance.flags)
valgrind_tools.SetChromeTimeoutScale( valgrind_tools.SetChromeTimeoutScale(
dev, self._test_instance.timeout_scale) dev, self._test_instance.timeout_scale)
...@@ -328,7 +323,7 @@ class LocalDeviceInstrumentationTestRun( ...@@ -328,7 +323,7 @@ class LocalDeviceInstrumentationTestRun(
def _CreateFlagChangerIfNeeded(self, device): def _CreateFlagChangerIfNeeded(self, device):
if not str(device) in self._flag_changers: if not str(device) in self._flag_changers:
self._flag_changers[str(device)] = flag_changer.FlagChanger( self._flag_changers[str(device)] = flag_changer.FlagChanger(
device, self._test_instance.package_info.cmdline_file) device, "test-cmdline-file")
#override #override
def _CreateShards(self, tests): def _CreateShards(self, tests):
......
...@@ -10,7 +10,6 @@ import android.util.TypedValue; ...@@ -10,7 +10,6 @@ import android.util.TypedValue;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.common.ContentSwitches; import org.chromium.content.common.ContentSwitches;
...@@ -29,7 +28,7 @@ public final class ApplicationInitialization { ...@@ -29,7 +28,7 @@ public final class ApplicationInitialization {
*/ */
public static void enableFullscreenFlags( public static void enableFullscreenFlags(
Resources resources, Context context, int resControlContainerHeight) { Resources resources, Context context, int resControlContainerHeight) {
ContentApplication.initCommandLine(context); ((ChromeApplication) context.getApplicationContext()).initCommandLine();
CommandLine commandLine = CommandLine.getInstance(); CommandLine commandLine = CommandLine.getInstance();
if (commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN)) return; if (commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN)) return;
......
...@@ -98,7 +98,6 @@ public class ChromeApplication extends ContentApplication { ...@@ -98,7 +98,6 @@ public class ChromeApplication extends ContentApplication {
InvalidStartupDialog.show(activity, e.getErrorCode()); InvalidStartupDialog.show(activity, e.getErrorCode());
} }
@Override
public void initCommandLine() { public void initCommandLine() {
CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE); CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE);
} }
......
...@@ -29,7 +29,6 @@ import android.widget.RemoteViews; ...@@ -29,7 +29,6 @@ import android.widget.RemoteViews;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import org.chromium.base.BaseChromiumApplication;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.Log; import org.chromium.base.Log;
...@@ -219,7 +218,7 @@ public class CustomTabsConnection { ...@@ -219,7 +218,7 @@ public class CustomTabsConnection {
super(); super();
mContext = ContextUtils.getApplicationContext(); mContext = ContextUtils.getApplicationContext();
// Command line switch values are used below. // Command line switch values are used below.
BaseChromiumApplication.initCommandLine(mContext); ((ChromeApplication) mContext).initCommandLine();
mClientManager = new ClientManager(mContext); mClientManager = new ClientManager(mContext);
mLogRequests = CommandLine.getInstance().hasSwitch(LOG_SERVICE_REQUESTS); mLogRequests = CommandLine.getInstance().hasSwitch(LOG_SERVICE_REQUESTS);
} }
......
...@@ -43,7 +43,6 @@ import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelImpl; ...@@ -43,7 +43,6 @@ import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelImpl;
import org.chromium.chrome.browser.webapps.ActivityAssigner; import org.chromium.chrome.browser.webapps.ActivityAssigner;
import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
import org.chromium.components.crash.browser.CrashDumpManager; import org.chromium.components.crash.browser.CrashDumpManager;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.browser.BrowserStartupController; import org.chromium.content.browser.BrowserStartupController;
import org.chromium.content.browser.DeviceUtils; import org.chromium.content.browser.DeviceUtils;
import org.chromium.content.browser.SpeechRecognition; import org.chromium.content.browser.SpeechRecognition;
...@@ -211,7 +210,7 @@ public class ChromeBrowserInitializer { ...@@ -211,7 +210,7 @@ public class ChromeBrowserInitializer {
// Ensure critical files are available, so they aren't blocked on the file-system // Ensure critical files are available, so they aren't blocked on the file-system
// behind long-running accesses in next phase. // behind long-running accesses in next phase.
// Don't do any large file access here! // Don't do any large file access here!
ContentApplication.initCommandLine(mApplication); mApplication.initCommandLine();
ChromeStrictMode.configureStrictMode(); ChromeStrictMode.configureStrictMode();
ChromeWebApkHost.init(); ChromeWebApkHost.init();
......
...@@ -34,11 +34,11 @@ import org.chromium.base.VisibleForTesting; ...@@ -34,11 +34,11 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.library_loader.LibraryProcessType; import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException; import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.UrlConstants; import org.chromium.chrome.browser.UrlConstants;
import org.chromium.chrome.browser.database.SQLiteCursor; import org.chromium.chrome.browser.database.SQLiteCursor;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils; import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.browser.BrowserStartupController; import org.chromium.content.browser.BrowserStartupController;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -249,7 +249,7 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -249,7 +249,7 @@ public class ChromeBrowserProvider extends ContentProvider {
ThreadUtils.runOnUiThreadBlocking(new Runnable() { ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override @Override
public void run() { public void run() {
ContentApplication.initCommandLine(getContext()); ((ChromeApplication) getContext().getApplicationContext()).initCommandLine();
BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER) BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
.addStartupCompletedObserver( .addStartupCompletedObserver(
......
...@@ -8,8 +8,8 @@ import android.support.test.InstrumentationRegistry; ...@@ -8,8 +8,8 @@ import android.support.test.InstrumentationRegistry;
import org.junit.runners.model.InitializationError; import org.junit.runners.model.InitializationError;
import org.chromium.base.BaseChromiumApplication;
import org.chromium.base.CollectionUtil; import org.chromium.base.CollectionUtil;
import org.chromium.base.CommandLineInitUtil;
import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.BaseTestResult.PreTestHook; import org.chromium.base.test.BaseTestResult.PreTestHook;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
...@@ -49,6 +49,7 @@ public class ChromeJUnit4ClassRunner extends BaseJUnit4ClassRunner { ...@@ -49,6 +49,7 @@ public class ChromeJUnit4ClassRunner extends BaseJUnit4ClassRunner {
@Override @Override
protected void initCommandLineForTest() { protected void initCommandLineForTest() {
BaseChromiumApplication.initCommandLine(InstrumentationRegistry.getTargetContext()); CommandLineInitUtil.initCommandLine(
InstrumentationRegistry.getTargetContext(), CommandLineFlags.getTestCmdLineFile());
} }
} }
...@@ -39,7 +39,6 @@ public class CastApplication extends ContentApplication { ...@@ -39,7 +39,6 @@ public class CastApplication extends ContentApplication {
ApplicationStatus.initialize(this); ApplicationStatus.initialize(this);
} }
@Override
public void initCommandLine() { public void initCommandLine() {
CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE); CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE);
} }
......
...@@ -14,7 +14,6 @@ import org.chromium.base.library_loader.LibraryLoader; ...@@ -14,7 +14,6 @@ import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType; import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException; import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.chromecast.base.ChromecastConfigAndroid; import org.chromium.chromecast.base.ChromecastConfigAndroid;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.browser.BrowserStartupController; import org.chromium.content.browser.BrowserStartupController;
import org.chromium.content.browser.DeviceUtils; import org.chromium.content.browser.DeviceUtils;
import org.chromium.net.NetworkChangeNotifier; import org.chromium.net.NetworkChangeNotifier;
...@@ -45,7 +44,7 @@ public class CastBrowserHelper { ...@@ -45,7 +44,7 @@ public class CastBrowserHelper {
// Initializing the command line must occur before loading the library. // Initializing the command line must occur before loading the library.
if (!CommandLine.isInitialized()) { if (!CommandLine.isInitialized()) {
ContentApplication.initCommandLine(context); ((CastApplication) context.getApplicationContext()).initCommandLine();
if (context instanceof Activity) { if (context instanceof Activity) {
Intent launchingIntent = ((Activity) context).getIntent(); Intent launchingIntent = ((Activity) context).getIntent();
......
...@@ -8,9 +8,9 @@ import android.support.test.InstrumentationRegistry; ...@@ -8,9 +8,9 @@ import android.support.test.InstrumentationRegistry;
import org.junit.runners.model.InitializationError; import org.junit.runners.model.InitializationError;
import org.chromium.base.BaseChromiumApplication;
import org.chromium.base.CollectionUtil; import org.chromium.base.CollectionUtil;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.base.CommandLineInitUtil;
import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.BaseTestResult.PreTestHook; import org.chromium.base.test.BaseTestResult.PreTestHook;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
...@@ -51,6 +51,7 @@ public class ContentJUnit4ClassRunner extends BaseJUnit4ClassRunner { ...@@ -51,6 +51,7 @@ public class ContentJUnit4ClassRunner extends BaseJUnit4ClassRunner {
@Override @Override
protected void initCommandLineForTest() { protected void initCommandLineForTest() {
BaseChromiumApplication.initCommandLine(InstrumentationRegistry.getTargetContext()); CommandLineInitUtil.initCommandLine(
InstrumentationRegistry.getTargetContext(), CommandLineFlags.getTestCmdLineFile());
} }
} }
...@@ -17,7 +17,6 @@ import org.chromium.base.MemoryPressureListener; ...@@ -17,7 +17,6 @@ import org.chromium.base.MemoryPressureListener;
import org.chromium.base.library_loader.LibraryLoader; import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType; import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException; import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.content.app.ContentApplication;
import org.chromium.content.browser.BrowserStartupController; import org.chromium.content.browser.BrowserStartupController;
import org.chromium.content.browser.ContentViewCore; import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.DeviceUtils; import org.chromium.content.browser.DeviceUtils;
...@@ -50,7 +49,7 @@ public class ContentShellActivity extends Activity { ...@@ -50,7 +49,7 @@ public class ContentShellActivity extends Activity {
// Initializing the command line must occur before loading the library. // Initializing the command line must occur before loading the library.
if (!CommandLine.isInitialized()) { if (!CommandLine.isInitialized()) {
ContentApplication.initCommandLine(this); ((ContentShellApplication) getApplication()).initCommandLine();
String[] commandLineParams = getCommandLineParamsFromIntent(getIntent()); String[] commandLineParams = getCommandLineParamsFromIntent(getIntent());
if (commandLineParams != null) { if (commandLineParams != null) {
CommandLine.getInstance().appendSwitchesAndArguments(commandLineParams); CommandLine.getInstance().appendSwitchesAndArguments(commandLineParams);
......
...@@ -29,7 +29,6 @@ public class ContentShellApplication extends ContentApplication { ...@@ -29,7 +29,6 @@ public class ContentShellApplication extends ContentApplication {
ApplicationStatus.initialize(this); ApplicationStatus.initialize(this);
} }
@Override
public void initCommandLine() { public void initCommandLine() {
if (!CommandLine.isInitialized()) { if (!CommandLine.isInitialized()) {
CommandLine.initFromFile(COMMAND_LINE_FILE); CommandLine.initFromFile(COMMAND_LINE_FILE);
......
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