mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:30:27 +00:00
86eaa55e65
- Bug 1251999 - [css-grid] Update <fixed-size> parsing to the latest spec. r=dholbert (07f68007b7)
- Bug 1151243 part 5 - [css-grid] Reftests for abs. pos. static-position. (f9a3b24508)
- Bug 1242053 part 1 - [css-grid] Fix parsing / serialization of grid-template subgrid values. r=dholbert (39576c2f6d)
- Bug 1242053 part 2 - [css-grid] Enable subgrid support for tests. r=dholbert (6da4aeb35a)
- Bug 1240956 part 2 - [css-grid] Update tests due to the changed column/row value order for 'grid', 'grid-template' and 'grid-gap' properties. (16d2258d3a)
- Bug 1253529 part 1 - [css-grid] Replace uses of the 'grid-template' shorthand with 'grid'. (f847bfa554)
- Bug 1253529 part 2 - [css-grid] Remove the 'grid-template' shorthand. r=dholbert (d553c2f623)
- Bug 594933 - Part 1: Let calc() supports number. r=dbaron (e4bc39b5f0)
- Bug 594933 - Part 2: Add support for calc() to line-height. r=dbaron (901227bacb)
- Bug 1253189 part 5 - Import reftests of css-values. r=dbaron (4599431827)
- Bug 1253189 part 4 - Add skip.list for skipping imported tests. r=dbaron (014f7ca7de)
- Bug 1253189 part 1 - Make import-tests.py compatible with Windows. r=dbaron (a22c3e4f7f)
- Bug 1253189 part 2 - Update import-tests.py script to work on the current repo. r=dbaron (7535b38b71)
- Bug 1253189 part 3 - Update existing received w3c reftests. r=dbaron (0fa2d6e2de)
- Bug 1253189 followup - Update skip.list to match the directory name on CLOSED TREE (019b55c3c9)
- Bug 968761 - Treat nested calc() as plain parenthesis. r=dbaron (537506f4e5)
- Bug 1248371 - [css-grid] Require that each track has a definite min- or max-sizing function when the track list contains a repeat(auto-fill/fit) track. r=dholbert (330dd37427)
- Bug 1244638 - Part 1:implement AnimationEffectTiming iterationStart. r=birtles, r=smaug (d0217068ac)
- Bug 1244638 - Part 2: Throw TypeError if iterationStart is NaN, negative value or Infinity. r=birtles, r=smaug (f631e261a0)
- Bug 1238845 - Implement UUID helper - dom/bluetooth & dom/webidl & layout/build change. r=jocelyn, r=bz (3ddfa8cccf)
- Bug 1252790 - Remove RuleHashTableOps. r=dbaron. (b52d9e2613)
- Bug 1252375 - Fix up jemalloc stats reporting. r=erahm. (dbecb54598)
- Bug 1249503 - Make WindowsAddressSpaceReporter bloat memory reports less. r=erahm. (3bfb6932cb)
- Bug 1253085 - Remove the |PLDHashTable*| argument from PLDHash{HashKey,MatchEntry}. r=froydnj. (1331fd9ea0)
- Bug 1251127 - Gracefully handle multiple calls to nsMemoryReporterManager::Init(). r=erahm. (c51f57907e)
- Bug 1234540 - verify the validity of hashEntry, if it's null return with NS_ERROR_FAILURE. r=michal (f44bd269db)
- Bug 1112499 - Set up shutdown pipe before new thread starts. r=keeler (73b9a56196)
- Bug 1245059 - Disable NotifyIpInterfaceChange use for now. r=mcmanus (ab11fd8507)
- Bug 1251873 - Store the trimmed referrer URL on HTTP channel if a trimming referrer policy is in effect; r=mcmanus (3f43d5b351)
- more bits of bug 366559 - patch 7, content-encoding brotli for https (f127a97450)
- Bug 1250115 - initialized pollInterval with 0 in order to prevent garbage value if Poll(..) doesn't get called. r=dragana (af55e06789)
- Bug 1251493 - Remove remaining references to MOZILLA_XPCOMRT_API from netwerk. r=mcmanus (43d711d2d6)
- Bug 1242452 - only if PR_GetIdentitiesLayer return valid pointer continue and pass it's result to PR_GetIdentitiesLayer. r=mcmanus (61a2785337)
- Bug 1251595 - Check if mNetAddr is set before sending ipv4/6 telemetry. r=mcmanus (9d081bc0b9)
- Bug 1252755: increase maximum UDP packet size to 9216 bytes for jumbo frames. r=jesup (3d629473ea)
- Bug 1194259: warnings-as-errors bustage fix rs=bustagn a CLOSED TREE (5b8288ff6d)
- Bug 1227781 - Fix crash with bogus STUN parameters. r=bwc (7d132a37ff)
- Bug 1231196: Fix init of PeerConnectionImpl::mThread for unit-tests and similar. r+drno (60f11ed191)
- Bug 1230184 - plumb setParameters down to JsepTrack. r=bwc, r=mrbkap (fdeaafb737)
- Bug 1231507 - Part 1: selectSsrc chrome-only API for SSRC-based filtering of receive tracks. r=drno, r=smaug (c24ce1a76e)
- Bug 1221837 - Accept hard coded codec numbers without rtpmaps. r=bwc (89b81c861c)
- Bug 1231507 - Part 2: added mochitest SimulCast offer test case r=jib (05d838960f)
- Bug 1230184 - setParameters webidl. r=smaug (6319cdfca7)
- Bug 1230184 - add input parameter validation to setParameters. r=bwc (c0740c142a)
- Bug 1230184 - add media.peerconnection.simulcast pref. r=bwc (99b1a4978d)
- Bug 1247619 - add console warning about OAuth for STUN not yet supported. r=jesup,smaug (801eaa66e1)
- Bug 1241153: Stop blocking addTrack on GMP init, and update codecs on existing tracks when GMP init finishes. r=jesup (3473dfe0ce)
- Bug 1251737 - Remove remaining references to MOZILLA_XPCOMRT_API from media. r=jesup (7b32d9d191)
- Bug 1218326: Prevent datachannel operations on closed PeerConnections. r=jesup a=lizzard (5d20d7dd7f)
- Bug 1211091 - use upper boundary for streams per data channel. r=bwc (7f9462c434)
- Bug 1188391 - separate immediate ICE failures from failures after checking. r=bwc, r=vladan (9095c58656)
- Bug 1227708 - Differentiate ICE_SUCCESS_RATE telemetry for loop vs webrtc r=jesup (399406c872)
- Bug 1232082 - fix removal of remote tracks to update receivers. r=jesup (81998ed355)
- Bug 1244913 - Add test_peerConnection_scaleResolution.html r=bwc,jesup (8ac2d8a363)
- Bug 1249860 - Add simulcast test for resolution scaling. r=bwc (c7753bf02b)
- Bug 1247622 - Make RTCRtpSender.setParameters return a promise. r=jesup,smaug (4c2504adc8)
460 lines
10 KiB
C++
460 lines
10 KiB
C++
/* 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/. */
|
|
|
|
#include "base/basictypes.h"
|
|
|
|
#include "nsLayoutStatics.h"
|
|
#include "nscore.h"
|
|
|
|
#include "nsAttrValue.h"
|
|
#include "nsAutoCopyListener.h"
|
|
#include "nsColorNames.h"
|
|
#include "nsComputedDOMStyle.h"
|
|
#include "nsContentDLF.h"
|
|
#include "nsContentUtils.h"
|
|
#include "nsCSSAnonBoxes.h"
|
|
#include "mozilla/css/ErrorReporter.h"
|
|
#include "nsCSSKeywords.h"
|
|
#include "nsCSSParser.h"
|
|
#include "nsCSSProps.h"
|
|
#include "nsCSSPseudoClasses.h"
|
|
#include "nsCSSPseudoElements.h"
|
|
#include "nsCSSRendering.h"
|
|
#include "mozilla/dom/Attr.h"
|
|
#include "nsDOMClassInfo.h"
|
|
#include "nsEditorEventListener.h"
|
|
#include "mozilla/EventListenerManager.h"
|
|
#include "nsFrame.h"
|
|
#include "nsGlobalWindow.h"
|
|
#include "nsGkAtoms.h"
|
|
#include "nsImageFrame.h"
|
|
#include "nsLayoutStylesheetCache.h"
|
|
#include "mozilla/RuleProcessorCache.h"
|
|
#include "nsPrincipal.h"
|
|
#include "nsRange.h"
|
|
#include "nsRegion.h"
|
|
#include "nsRepeatService.h"
|
|
#include "nsFloatManager.h"
|
|
#include "nsSprocketLayout.h"
|
|
#include "nsStackLayout.h"
|
|
#include "nsStyleSet.h"
|
|
#include "nsTextControlFrame.h"
|
|
#include "nsXBLService.h"
|
|
#include "txMozillaXSLTProcessor.h"
|
|
#include "nsTreeSanitizer.h"
|
|
#include "nsCellMap.h"
|
|
#include "nsTextFrame.h"
|
|
#include "nsCCUncollectableMarker.h"
|
|
#include "nsTextFragment.h"
|
|
#include "nsCSSRuleProcessor.h"
|
|
#include "nsCORSListenerProxy.h"
|
|
#include "nsHTMLDNSPrefetch.h"
|
|
#include "nsHtml5Module.h"
|
|
#include "mozilla/dom/FallbackEncoding.h"
|
|
#include "nsFocusManager.h"
|
|
#include "nsListControlFrame.h"
|
|
#include "mozilla/dom/HTMLInputElement.h"
|
|
#include "SVGElementFactory.h"
|
|
#include "nsSVGUtils.h"
|
|
#include "nsMathMLAtoms.h"
|
|
#include "nsMathMLOperators.h"
|
|
#include "Navigator.h"
|
|
#include "DOMStorageObserver.h"
|
|
#include "CacheObserver.h"
|
|
#include "DisplayItemClip.h"
|
|
#include "ActiveLayerTracker.h"
|
|
#include "CounterStyleManager.h"
|
|
#include "FrameLayerBuilder.h"
|
|
#include "mozilla/dom/RequestSyncWifiService.h"
|
|
#include "AnimationCommon.h"
|
|
#include "LayerAnimationInfo.h"
|
|
|
|
#include "AudioChannelService.h"
|
|
#include "mozilla/dom/DataStoreService.h"
|
|
#include "mozilla/dom/PromiseDebugging.h"
|
|
#include "mozilla/dom/WebCryptoThreadPool.h"
|
|
|
|
#ifdef MOZ_XUL
|
|
#include "nsXULPopupManager.h"
|
|
#include "nsXULContentUtils.h"
|
|
#include "nsXULPrototypeCache.h"
|
|
#include "nsXULTooltipListener.h"
|
|
|
|
#include "inDOMView.h"
|
|
|
|
#include "nsMenuBarListener.h"
|
|
#endif
|
|
|
|
#include "nsHTMLEditor.h"
|
|
#include "nsTextServicesDocument.h"
|
|
|
|
#ifdef MOZ_WEBSPEECH
|
|
#include "nsSynthVoiceRegistry.h"
|
|
#endif
|
|
|
|
#ifdef MOZ_ANDROID_OMX
|
|
#include "AndroidMediaPluginHost.h"
|
|
#endif
|
|
|
|
#ifdef MOZ_FFMPEG
|
|
#include "FFmpegRuntimeLinker.h"
|
|
#endif
|
|
|
|
#include "CubebUtils.h"
|
|
#include "Latency.h"
|
|
#include "WebAudioUtils.h"
|
|
|
|
#ifdef MOZ_WIDGET_GONK
|
|
#include "nsVolumeService.h"
|
|
using namespace mozilla::system;
|
|
#endif
|
|
|
|
#include "nsError.h"
|
|
|
|
#include "nsJSEnvironment.h"
|
|
#include "nsContentSink.h"
|
|
#include "nsFrameMessageManager.h"
|
|
#include "nsRefreshDriver.h"
|
|
#include "nsDOMMutationObserver.h"
|
|
#include "nsHyphenationManager.h"
|
|
#include "nsEditorSpellCheck.h"
|
|
#include "nsWindowMemoryReporter.h"
|
|
#include "mozilla/dom/ContentParent.h"
|
|
#include "mozilla/ProcessPriorityManager.h"
|
|
#include "nsPermissionManager.h"
|
|
#include "nsCookieService.h"
|
|
#include "nsApplicationCacheService.h"
|
|
#include "mozilla/dom/time/DateCacheCleaner.h"
|
|
#include "mozilla/EventDispatcher.h"
|
|
#include "mozilla/IMEStateManager.h"
|
|
#include "nsDocument.h"
|
|
#include "mozilla/dom/HTMLVideoElement.h"
|
|
#include "CameraPreferences.h"
|
|
#include "TouchManager.h"
|
|
#include "MediaDecoder.h"
|
|
#include "mozilla/layers/CompositorLRU.h"
|
|
#include "mozilla/dom/devicestorage/DeviceStorageStatics.h"
|
|
|
|
#ifdef MOZ_B2G_BT
|
|
#include "mozilla/dom/BluetoothUUID.h"
|
|
#endif
|
|
|
|
using namespace mozilla;
|
|
using namespace mozilla::net;
|
|
using namespace mozilla::dom;
|
|
using namespace mozilla::dom::ipc;
|
|
|
|
nsrefcnt nsLayoutStatics::sLayoutStaticRefcnt = 0;
|
|
|
|
nsresult
|
|
nsLayoutStatics::Initialize()
|
|
{
|
|
NS_ASSERTION(sLayoutStaticRefcnt == 0,
|
|
"nsLayoutStatics isn't zero!");
|
|
|
|
sLayoutStaticRefcnt = 1;
|
|
NS_LOG_ADDREF(&sLayoutStaticRefcnt, sLayoutStaticRefcnt,
|
|
"nsLayoutStatics", 1);
|
|
|
|
nsresult rv;
|
|
|
|
ContentParent::StartUp();
|
|
|
|
// Register all of our atoms once
|
|
nsCSSAnonBoxes::AddRefAtoms();
|
|
nsCSSPseudoClasses::AddRefAtoms();
|
|
nsCSSPseudoElements::AddRefAtoms();
|
|
nsCSSKeywords::AddRefTable();
|
|
nsCSSProps::AddRefTable();
|
|
nsColorNames::AddRefTable();
|
|
nsGkAtoms::AddRefAtoms();
|
|
|
|
StartupJSEnvironment();
|
|
rv = nsRegion::InitStatic();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsRegion");
|
|
return rv;
|
|
}
|
|
|
|
nsGlobalWindow::Init();
|
|
Navigator::Init();
|
|
nsXBLService::Init();
|
|
|
|
rv = nsContentUtils::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsContentUtils");
|
|
return rv;
|
|
}
|
|
|
|
rv = nsAttrValue::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsAttrValue");
|
|
return rv;
|
|
}
|
|
|
|
rv = nsTextFragment::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsTextFragment");
|
|
return rv;
|
|
}
|
|
|
|
nsCellMap::Init();
|
|
|
|
nsCSSRendering::Init();
|
|
|
|
nsTextFrameTextRunCache::Init();
|
|
|
|
rv = nsHTMLDNSPrefetch::Initialize();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize HTML DNS prefetch");
|
|
return rv;
|
|
}
|
|
|
|
#ifdef MOZ_XUL
|
|
rv = nsXULContentUtils::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsXULContentUtils");
|
|
return rv;
|
|
}
|
|
|
|
#endif
|
|
|
|
nsMathMLOperators::AddRefTable();
|
|
|
|
nsTextServicesDocument::RegisterAtoms();
|
|
|
|
#ifdef DEBUG
|
|
nsFrame::DisplayReflowStartup();
|
|
#endif
|
|
Attr::Initialize();
|
|
|
|
rv = txMozillaXSLTProcessor::Startup();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize txMozillaXSLTProcessor");
|
|
return rv;
|
|
}
|
|
|
|
rv = DOMStorageObserver::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize DOMStorageObserver");
|
|
return rv;
|
|
}
|
|
|
|
rv = nsCCUncollectableMarker::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsCCUncollectableMarker");
|
|
return rv;
|
|
}
|
|
|
|
nsCSSParser::Startup();
|
|
nsCSSRuleProcessor::Startup();
|
|
|
|
#ifdef MOZ_XUL
|
|
rv = nsXULPopupManager::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsXULPopupManager");
|
|
return rv;
|
|
}
|
|
#endif
|
|
|
|
rv = nsFocusManager::Init();
|
|
if (NS_FAILED(rv)) {
|
|
NS_ERROR("Could not initialize nsFocusManager");
|
|
return rv;
|
|
}
|
|
|
|
AsyncLatencyLogger::InitializeStatics();
|
|
MediaManager::StartupInit();
|
|
CubebUtils::InitLibrary();
|
|
|
|
nsContentSink::InitializeStatics();
|
|
nsHtml5Module::InitializeStatics();
|
|
mozilla::dom::FallbackEncoding::Initialize();
|
|
nsLayoutUtils::Initialize();
|
|
nsIPresShell::InitializeStatics();
|
|
TouchManager::InitializeStatics();
|
|
nsRefreshDriver::InitializeStatics();
|
|
nsPrincipal::InitializeStatics();
|
|
|
|
nsCORSListenerProxy::Startup();
|
|
|
|
NS_SealStaticAtomTable();
|
|
|
|
nsWindowMemoryReporter::Init();
|
|
|
|
SVGElementFactory::Init();
|
|
nsSVGUtils::Init();
|
|
|
|
ProcessPriorityManager::Init();
|
|
|
|
nsPermissionManager::AppClearDataObserverInit();
|
|
nsCookieService::AppClearDataObserverInit();
|
|
nsApplicationCacheService::AppClearDataObserverInit();
|
|
|
|
HTMLVideoElement::Init();
|
|
|
|
#ifdef MOZ_XUL
|
|
nsMenuBarListener::InitializeStatics();
|
|
#endif
|
|
|
|
CacheObserver::Init();
|
|
|
|
CounterStyleManager::InitializeBuiltinCounterStyles();
|
|
|
|
CameraPreferences::Initialize();
|
|
|
|
IMEStateManager::Init();
|
|
|
|
ServiceWorkerRegistrar::Initialize();
|
|
|
|
#ifdef MOZ_B2G
|
|
RequestSyncWifiService::Init();
|
|
#endif
|
|
|
|
#ifdef DEBUG
|
|
nsStyleContext::Initialize();
|
|
mozilla::LayerAnimationInfo::Initialize();
|
|
#endif
|
|
|
|
MediaDecoder::InitStatics();
|
|
|
|
PromiseDebugging::Init();
|
|
|
|
layers::CompositorLRU::Init();
|
|
|
|
mozilla::dom::devicestorage::DeviceStorageStatics::Initialize();
|
|
|
|
mozilla::dom::WebCryptoThreadPool::Initialize();
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
void
|
|
nsLayoutStatics::Shutdown()
|
|
{
|
|
// Don't need to shutdown nsWindowMemoryReporter, that will be done by the
|
|
// memory reporter manager.
|
|
|
|
nsMessageManagerScriptExecutor::Shutdown();
|
|
nsFocusManager::Shutdown();
|
|
#ifdef MOZ_XUL
|
|
nsXULPopupManager::Shutdown();
|
|
#endif
|
|
DOMStorageObserver::Shutdown();
|
|
txMozillaXSLTProcessor::Shutdown();
|
|
Attr::Shutdown();
|
|
EventListenerManager::Shutdown();
|
|
IMEStateManager::Shutdown();
|
|
nsCSSParser::Shutdown();
|
|
nsCSSRuleProcessor::Shutdown();
|
|
nsTextFrameTextRunCache::Shutdown();
|
|
nsHTMLDNSPrefetch::Shutdown();
|
|
nsCSSRendering::Shutdown();
|
|
#ifdef DEBUG
|
|
nsFrame::DisplayReflowShutdown();
|
|
#endif
|
|
nsCellMap::Shutdown();
|
|
ActiveLayerTracker::Shutdown();
|
|
|
|
// Release all of our atoms
|
|
nsColorNames::ReleaseTable();
|
|
nsCSSProps::ReleaseTable();
|
|
nsCSSKeywords::ReleaseTable();
|
|
nsRepeatService::Shutdown();
|
|
nsStackLayout::Shutdown();
|
|
nsBox::Shutdown();
|
|
|
|
#ifdef MOZ_XUL
|
|
nsXULContentUtils::Finish();
|
|
nsXULPrototypeCache::ReleaseGlobals();
|
|
nsSprocketLayout::Shutdown();
|
|
#endif
|
|
|
|
SVGElementFactory::Shutdown();
|
|
nsMathMLOperators::ReleaseTable();
|
|
|
|
nsFloatManager::Shutdown();
|
|
nsImageFrame::ReleaseGlobals();
|
|
|
|
mozilla::css::ErrorReporter::ReleaseGlobals();
|
|
|
|
nsTextFragment::Shutdown();
|
|
|
|
nsAttrValue::Shutdown();
|
|
nsContentUtils::Shutdown();
|
|
nsLayoutStylesheetCache::Shutdown();
|
|
RuleProcessorCache::Shutdown();
|
|
|
|
ShutdownJSEnvironment();
|
|
nsGlobalWindow::ShutDown();
|
|
nsDOMClassInfo::ShutDown();
|
|
nsListControlFrame::Shutdown();
|
|
nsXBLService::Shutdown();
|
|
nsAutoCopyListener::Shutdown();
|
|
FrameLayerBuilder::Shutdown();
|
|
|
|
#ifdef MOZ_ANDROID_OMX
|
|
AndroidMediaPluginHost::Shutdown();
|
|
#endif
|
|
|
|
#ifdef MOZ_FFMPEG
|
|
FFmpegRuntimeLinker::Unlink();
|
|
#endif
|
|
|
|
CubebUtils::ShutdownLibrary();
|
|
AsyncLatencyLogger::ShutdownLogger();
|
|
WebAudioUtils::Shutdown();
|
|
|
|
#ifdef MOZ_WIDGET_GONK
|
|
nsVolumeService::Shutdown();
|
|
#endif
|
|
|
|
#ifdef MOZ_WEBSPEECH
|
|
nsSynthVoiceRegistry::Shutdown();
|
|
#endif
|
|
|
|
nsCORSListenerProxy::Shutdown();
|
|
|
|
nsIPresShell::ReleaseStatics();
|
|
|
|
TouchManager::ReleaseStatics();
|
|
|
|
nsTreeSanitizer::ReleaseStatics();
|
|
|
|
nsHtml5Module::ReleaseStatics();
|
|
|
|
mozilla::dom::FallbackEncoding::Shutdown();
|
|
|
|
nsRegion::ShutdownStatic();
|
|
|
|
mozilla::EventDispatcher::Shutdown();
|
|
|
|
HTMLInputElement::DestroyUploadLastDir();
|
|
|
|
nsLayoutUtils::Shutdown();
|
|
|
|
nsHyphenationManager::Shutdown();
|
|
nsDOMMutationObserver::Shutdown();
|
|
|
|
DataStoreService::Shutdown();
|
|
|
|
ContentParent::ShutDown();
|
|
|
|
nsRefreshDriver::Shutdown();
|
|
|
|
DisplayItemClip::Shutdown();
|
|
|
|
nsDocument::XPCOMShutdown();
|
|
|
|
CacheObserver::Shutdown();
|
|
|
|
CameraPreferences::Shutdown();
|
|
|
|
PromiseDebugging::Shutdown();
|
|
|
|
#ifdef MOZ_B2G_BT
|
|
BluetoothUUID::HandleShutdown();
|
|
#endif
|
|
}
|