author | Jim Chen <nchen@mozilla.com> |
Wed, 15 Feb 2017 17:12:59 -0500 | |
changeset 343201 | 8620e18b5878bdf7f9169364503aff9a910afa47 |
parent 343200 | 26359cfd0d245637ff7efc288098d07f1652d417 |
child 343202 | 427fd576729151744a2bdd7f433cdf78c0ba3015 |
push id | 31372 |
push user | cbook@mozilla.com |
push date | Thu, 16 Feb 2017 12:16:10 +0000 |
treeherder | mozilla-central@2737f66ad6ac [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | snorp |
bugs | 1339160 |
milestone | 54.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoService.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoService.java @@ -228,35 +228,9 @@ public class GeckoService extends Servic return Service.START_NOT_STICKY; } } @Override // Service public IBinder onBind(final Intent intent) { return null; } - - public static void startGecko(final GeckoProfile profile, final String args, final Context context) { - if (GeckoThread.isLaunched()) { - if (DEBUG) { - Log.v(LOGTAG, "already launched"); - } - return; - } - - Handler handler = new Handler(Looper.getMainLooper()); - handler.post(new Runnable() { - @Override - public void run() { - GeckoAppShell.ensureCrashHandling(); - GeckoAppShell.setApplicationContext(context); - GeckoThread.onResume(); - - GeckoThread.init(profile, args, null, false); - GeckoThread.launch(); - - if (DEBUG) { - Log.v(LOGTAG, "warmed up (launched)"); - } - } - }); - } }
--- a/mobile/android/base/java/org/mozilla/gecko/customtabs/GeckoCustomTabsService.java +++ b/mobile/android/base/java/org/mozilla/gecko/customtabs/GeckoCustomTabsService.java @@ -1,15 +1,16 @@ /* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*- * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mozilla.gecko.customtabs; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.customtabs.CustomTabsService; import android.support.customtabs.CustomTabsSessionToken; import android.util.Log; import org.mozilla.gecko.GeckoProfile; import org.mozilla.gecko.GeckoService; @@ -33,18 +34,25 @@ public class GeckoCustomTabsService exte } @Override protected boolean warmup(long flags) { if (DEBUG) { Log.v(LOGTAG, "warming up..."); } - GeckoService.startGecko(GeckoProfile.initFromArgs(this, null), null, getApplicationContext()); + if (GeckoThread.isRunning()) { + return true; + } + final Intent intent = GeckoService.getIntentToStartGecko(this); + // Use a default profile for warming up Gecko. + final GeckoProfile profile = GeckoProfile.get(this); + GeckoService.setIntentProfile(intent, profile.getName(), profile.getDir().getAbsolutePath()); + startService(intent); return true; } @Override protected boolean newSession(CustomTabsSessionToken sessionToken) { Log.v(LOGTAG, "newSession()"); // Pretend session has been started