author | Bobby Holley <bobbyholley@gmail.com> |
Sun, 08 Jan 2017 11:12:55 -0800 | |
changeset 328498 | f99d55d2dc137b3b8f63192d2d65c20bf7c83bd9 |
parent 328497 | 4864d0c2b1bc50d688db5703b9ae7dabb55d2679 |
child 328499 | c9fc4ad67f3ddcd876962cb9fa8f4f950b5abeec |
push id | 31175 |
push user | cbook@mozilla.com |
push date | Mon, 09 Jan 2017 09:33:22 +0000 |
treeherder | mozilla-central@701868bfddcb [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | heycam |
bugs | 1328651 |
milestone | 53.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
|
layout/build/nsLayoutStatics.cpp | file | annotate | diff | comparison | revisions | |
toolkit/xre/nsAppRunner.cpp | file | annotate | diff | comparison | revisions |
--- a/layout/build/nsLayoutStatics.cpp +++ b/layout/build/nsLayoutStatics.cpp @@ -302,34 +302,38 @@ nsLayoutStatics::Initialize() MediaDecoder::InitStatics(); PromiseDebugging::Init(); mozilla::dom::devicestorage::DeviceStorageStatics::Initialize(); mozilla::dom::WebCryptoThreadPool::Initialize(); - // NB: We initialize servo in nsAppRunner.cpp, because we need to do it after - // creating the hidden DOM window to support some current stylo hacks. We - // should move initialization back here once those go away. +#ifdef MOZ_STYLO + Servo_Initialize(); +#endif #ifndef MOZ_WIDGET_ANDROID // On Android, we instantiate it when constructing AndroidBridge. MediaPrefs::GetSingleton(); #endif return NS_OK; } void nsLayoutStatics::Shutdown() { // Don't need to shutdown nsWindowMemoryReporter, that will be done by the // memory reporter manager. +#ifdef MOZ_STYLO + Servo_Shutdown(); +#endif + nsMessageManagerScriptExecutor::Shutdown(); nsFocusManager::Shutdown(); #ifdef MOZ_XUL nsXULPopupManager::Shutdown(); #endif StorageObserver::Shutdown(); txMozillaXSLTProcessor::Shutdown(); Attr::Shutdown();
--- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -12,17 +12,16 @@ #include "mozilla/ChaosMode.h" #include "mozilla/IOInterposer.h" #include "mozilla/Likely.h" #include "mozilla/MemoryChecking.h" #include "mozilla/Poison.h" #include "mozilla/Preferences.h" #include "mozilla/ScopeExit.h" #include "mozilla/Services.h" -#include "mozilla/ServoBindings.h" #include "mozilla/Telemetry.h" #include "nsAppRunner.h" #include "mozilla/XREAppData.h" #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) #include "nsUpdateDriver.h" #endif #include "ProfileReset.h" @@ -4376,25 +4375,16 @@ XREMain::XRE_mainRun() SaveToEnv("NO_EM_RESTART="); SaveToEnv("XUL_APP_FILE="); SaveToEnv("XRE_BINARY_PATH="); if (!mShuttingDown) { rv = appStartup->CreateHiddenWindow(); NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE); -#ifdef MOZ_STYLO - // We initialize Servo here so that the hidden DOM window is available, - // since initializing Servo calls style struct constructors, and the - // HackilyFindDeviceContext stuff we have right now depends on the hidden - // DOM window. When we fix that, this should move back to - // nsLayoutStatics.cpp - Servo_Initialize(); -#endif - #if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK) nsGTKToolkit* toolkit = nsGTKToolkit::GetToolkit(); if (toolkit && !mDesktopStartupID.IsEmpty()) { toolkit->SetDesktopStartupID(mDesktopStartupID); } // Clear the environment variable so it won't be inherited by // child processes and confuse things. g_unsetenv ("DESKTOP_STARTUP_ID"); @@ -4493,22 +4483,16 @@ XREMain::XRE_mainRun() { rv = appStartup->Run(); if (NS_FAILED(rv)) { NS_ERROR("failed to run appstartup"); gLogConsoleErrors = true; } } -#ifdef MOZ_STYLO - // This, along with the call to Servo_Initialize, should eventually move back - // to nsLayoutStatics.cpp. - Servo_Shutdown(); -#endif - return rv; } #if MOZ_WIDGET_GTK == 2 void XRE_GlibInit() { static bool ran_once = false;