Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#include "SapiService.h"
|
#include "SapiService.h"
|
||||||
#include "nsServiceManagerUtils.h"
|
#include "nsServiceManagerUtils.h"
|
||||||
#include "nsWin32Locale.h"
|
#include "nsWin32Locale.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
#include "mozilla/dom/nsSynthVoiceRegistry.h"
|
#include "mozilla/dom/nsSynthVoiceRegistry.h"
|
||||||
#include "mozilla/dom/nsSpeechTask.h"
|
#include "mozilla/dom/nsSpeechTask.h"
|
||||||
@@ -196,6 +197,8 @@ SapiService::~SapiService()
|
|||||||
bool
|
bool
|
||||||
SapiService::Init()
|
SapiService::Init()
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
MOZ_ASSERT(!mInitialized);
|
MOZ_ASSERT(!mInitialized);
|
||||||
|
|
||||||
if (Preferences::GetBool("media.webspeech.synth.test") ||
|
if (Preferences::GetBool("media.webspeech.synth.test") ||
|
||||||
|
|||||||
@@ -1646,6 +1646,8 @@ NPObjWrapper_Resolve(JSContext *cx, JS::Handle<JSObject*> obj, JS::Handle<jsid>
|
|||||||
if (JSID_IS_SYMBOL(id))
|
if (JSID_IS_SYMBOL(id))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS);
|
||||||
|
|
||||||
NPObject *npobj = GetNPObject(cx, obj);
|
NPObject *npobj = GetNPObject(cx, obj);
|
||||||
|
|
||||||
if (!npobj || !npobj->_class || !npobj->_class->hasProperty ||
|
if (!npobj || !npobj->_class || !npobj->_class->hasProperty ||
|
||||||
@@ -2110,6 +2112,8 @@ static bool
|
|||||||
NPObjectMember_GetProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
|
NPObjectMember_GetProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
|
||||||
JS::MutableHandleValue vp)
|
JS::MutableHandleValue vp)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
if (JSID_IS_SYMBOL(id)) {
|
if (JSID_IS_SYMBOL(id)) {
|
||||||
JS::RootedSymbol sym(cx, JSID_TO_SYMBOL(id));
|
JS::RootedSymbol sym(cx, JSID_TO_SYMBOL(id));
|
||||||
if (JS::GetSymbolCode(sym) == JS::SymbolCode::toPrimitive) {
|
if (JS::GetSymbolCode(sym) == JS::SymbolCode::toPrimitive) {
|
||||||
|
|||||||
@@ -265,6 +265,8 @@ nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
|
|||||||
inline PluginLibrary*
|
inline PluginLibrary*
|
||||||
GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
if (!aPluginTag) {
|
if (!aPluginTag) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
@@ -283,6 +285,7 @@ GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
|||||||
nsresult
|
nsresult
|
||||||
nsNPAPIPlugin::CreatePlugin(nsPluginTag *aPluginTag, nsNPAPIPlugin** aResult)
|
nsNPAPIPlugin::CreatePlugin(nsPluginTag *aPluginTag, nsNPAPIPlugin** aResult)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
*aResult = nullptr;
|
*aResult = nullptr;
|
||||||
|
|
||||||
if (!aPluginTag) {
|
if (!aPluginTag) {
|
||||||
|
|||||||
@@ -280,6 +280,7 @@ nsNPAPIPluginInstance::StopTime()
|
|||||||
|
|
||||||
nsresult nsNPAPIPluginInstance::Initialize(nsNPAPIPlugin *aPlugin, nsPluginInstanceOwner* aOwner, const nsACString& aMIMEType)
|
nsresult nsNPAPIPluginInstance::Initialize(nsNPAPIPlugin *aPlugin, nsPluginInstanceOwner* aOwner, const nsACString& aMIMEType)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
PLUGIN_LOG(PLUGIN_LOG_NORMAL, ("nsNPAPIPluginInstance::Initialize this=%p\n",this));
|
PLUGIN_LOG(PLUGIN_LOG_NORMAL, ("nsNPAPIPluginInstance::Initialize this=%p\n",this));
|
||||||
|
|
||||||
NS_ENSURE_ARG_POINTER(aPlugin);
|
NS_ENSURE_ARG_POINTER(aPlugin);
|
||||||
@@ -655,6 +656,8 @@ nsresult nsNPAPIPluginInstance::HandleEvent(void* event, int16_t* result,
|
|||||||
if (RUNNING != mRunning)
|
if (RUNNING != mRunning)
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
if (!event)
|
if (!event)
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
|||||||
@@ -286,6 +286,7 @@ nsNPAPIPluginStreamListener::CallURLNotify(NPReason reason)
|
|||||||
nsresult
|
nsresult
|
||||||
nsNPAPIPluginStreamListener::OnStartBinding(nsPluginStreamListenerPeer* streamPeer)
|
nsNPAPIPluginStreamListener::OnStartBinding(nsPluginStreamListenerPeer* streamPeer)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
if (!mInst || !mInst->CanFireNotifications() || mStreamCleanedUp)
|
if (!mInst || !mInst->CanFireNotifications() || mStreamCleanedUp)
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
|||||||
@@ -3522,6 +3522,7 @@ nsPluginHost::AddHeadersToChannel(const char *aHeadersData,
|
|||||||
nsresult
|
nsresult
|
||||||
nsPluginHost::StopPluginInstance(nsNPAPIPluginInstance* aInstance)
|
nsPluginHost::StopPluginInstance(nsNPAPIPluginInstance* aInstance)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
if (PluginDestructionGuard::DelayDestroy(aInstance)) {
|
if (PluginDestructionGuard::DelayDestroy(aInstance)) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3600,6 +3600,8 @@ nsPluginInstanceOwner::UpdateWindowVisibility(bool aVisible)
|
|||||||
void
|
void
|
||||||
nsPluginInstanceOwner::UpdateDocumentActiveState(bool aIsActive)
|
nsPluginInstanceOwner::UpdateDocumentActiveState(bool aIsActive)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
mPluginDocumentActiveState = aIsActive;
|
mPluginDocumentActiveState = aIsActive;
|
||||||
#ifndef XP_MACOSX
|
#ifndef XP_MACOSX
|
||||||
UpdateWindowPositionAndClipRect(true);
|
UpdateWindowPositionAndClipRect(true);
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ DOMStorageDBThread::Shutdown()
|
|||||||
void
|
void
|
||||||
DOMStorageDBThread::SyncPreload(DOMStorageCacheBridge* aCache, bool aForceSync)
|
DOMStorageDBThread::SyncPreload(DOMStorageCacheBridge* aCache, bool aForceSync)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::STORAGE);
|
||||||
if (!aForceSync && aCache->LoadedCount()) {
|
if (!aForceSync && aCache->LoadedCount()) {
|
||||||
// Preload already started for this cache, just wait for it to finish.
|
// Preload already started for this cache, just wait for it to finish.
|
||||||
// LoadWait will exit after LoadDone on the cache has been called.
|
// LoadWait will exit after LoadDone on the cache has been called.
|
||||||
|
|||||||
@@ -524,6 +524,8 @@ gfxDWriteFontEntry::GetFontTable(uint32_t aTag)
|
|||||||
nsresult
|
nsresult
|
||||||
gfxDWriteFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
gfxDWriteFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||||
|
|
||||||
// attempt this once, if errors occur leave a blank cmap
|
// attempt this once, if errors occur leave a blank cmap
|
||||||
if (mCharacterMap) {
|
if (mCharacterMap) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include "nsISimpleEnumerator.h"
|
#include "nsISimpleEnumerator.h"
|
||||||
#include "nsIWindowsRegKey.h"
|
#include "nsIWindowsRegKey.h"
|
||||||
#include "gfxFontConstants.h"
|
#include "gfxFontConstants.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
#include "mozilla/MemoryReporting.h"
|
#include "mozilla/MemoryReporting.h"
|
||||||
#include "mozilla/Telemetry.h"
|
#include "mozilla/Telemetry.h"
|
||||||
@@ -143,6 +144,8 @@ GDIFontEntry::GDIFontEntry(const nsAString& aFaceName,
|
|||||||
nsresult
|
nsresult
|
||||||
GDIFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
GDIFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
// attempt this once, if errors occur leave a blank cmap
|
// attempt this once, if errors occur leave a blank cmap
|
||||||
if (mCharacterMap) {
|
if (mCharacterMap) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include "nsServiceManagerUtils.h"
|
#include "nsServiceManagerUtils.h"
|
||||||
#include "nsTArray.h"
|
#include "nsTArray.h"
|
||||||
#include "mozilla/Telemetry.h"
|
#include "mozilla/Telemetry.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
#include "nsIWindowsRegKey.h"
|
#include "nsIWindowsRegKey.h"
|
||||||
#include "nsIFile.h"
|
#include "nsIFile.h"
|
||||||
@@ -1205,6 +1206,8 @@ InvalidateWindowForDeviceReset(HWND aWnd, LPARAM aMsg)
|
|||||||
bool
|
bool
|
||||||
gfxWindowsPlatform::UpdateForDeviceReset()
|
gfxWindowsPlatform::UpdateForDeviceReset()
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||||
|
|
||||||
if (!DidRenderingDeviceReset()) {
|
if (!DidRenderingDeviceReset()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ FrameAnimator::AdvanceFrame(TimeStamp aTime)
|
|||||||
{
|
{
|
||||||
NS_ASSERTION(aTime <= TimeStamp::Now(),
|
NS_ASSERTION(aTime <= TimeStamp::Now(),
|
||||||
"Given time appears to be in the future");
|
"Given time appears to be in the future");
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||||
|
|
||||||
uint32_t currentFrameIndex = mCurrentAnimationFrameIndex;
|
uint32_t currentFrameIndex = mCurrentAnimationFrameIndex;
|
||||||
uint32_t nextFrameIndex = currentFrameIndex + 1;
|
uint32_t nextFrameIndex = currentFrameIndex + 1;
|
||||||
|
|||||||
@@ -381,6 +381,8 @@ GeckoChildProcessHost::AsyncLaunch(std::vector<std::string> aExtraOpts,
|
|||||||
bool
|
bool
|
||||||
GeckoChildProcessHost::WaitUntilConnected(int32_t aTimeoutMs)
|
GeckoChildProcessHost::WaitUntilConnected(int32_t aTimeoutMs)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
// NB: this uses a different mechanism than the chromium parent
|
// NB: this uses a different mechanism than the chromium parent
|
||||||
// class.
|
// class.
|
||||||
PRIntervalTime timeoutTicks = (aTimeoutMs > 0) ?
|
PRIntervalTime timeoutTicks = (aTimeoutMs > 0) ?
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ const char CPOWProxyHandler::family = 0;
|
|||||||
const CPOWProxyHandler CPOWProxyHandler::singleton;
|
const CPOWProxyHandler CPOWProxyHandler::singleton;
|
||||||
|
|
||||||
#define FORWARD(call, args) \
|
#define FORWARD(call, args) \
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS); \
|
||||||
WrapperOwner* owner = OwnerOf(proxy); \
|
WrapperOwner* owner = OwnerOf(proxy); \
|
||||||
if (!owner->active()) { \
|
if (!owner->active()) { \
|
||||||
JS_ReportError(cx, "cannot use a CPOW whose process is gone"); \
|
JS_ReportError(cx, "cannot use a CPOW whose process is gone"); \
|
||||||
|
|||||||
@@ -3010,6 +3010,7 @@ nsXPCComponents_Utils::SetGCZeal(int32_t aValue, JSContext* cx)
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsXPCComponents_Utils::NukeSandbox(HandleValue obj, JSContext* cx)
|
nsXPCComponents_Utils::NukeSandbox(HandleValue obj, JSContext* cx)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS);
|
||||||
NS_ENSURE_TRUE(obj.isObject(), NS_ERROR_INVALID_ARG);
|
NS_ENSURE_TRUE(obj.isObject(), NS_ERROR_INVALID_ARG);
|
||||||
JSObject* wrapper = &obj.toObject();
|
JSObject* wrapper = &obj.toObject();
|
||||||
NS_ENSURE_TRUE(IsWrapper(wrapper), NS_ERROR_INVALID_ARG);
|
NS_ENSURE_TRUE(IsWrapper(wrapper), NS_ERROR_INVALID_ARG);
|
||||||
|
|||||||
@@ -305,7 +305,10 @@ GetBufferFromZipArchive(nsZipArchive *zip, bool doCRC, const char* id,
|
|||||||
nsresult
|
nsresult
|
||||||
StartupCache::GetBuffer(const char* id, char** outbuf, uint32_t* length)
|
StartupCache::GetBuffer(const char* id, char** outbuf, uint32_t* length)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
NS_ASSERTION(NS_IsMainThread(), "Startup cache only available on main thread");
|
NS_ASSERTION(NS_IsMainThread(), "Startup cache only available on main thread");
|
||||||
|
|
||||||
WaitOnWriteThread();
|
WaitOnWriteThread();
|
||||||
if (!mStartupWriteInitiated) {
|
if (!mStartupWriteInitiated) {
|
||||||
CacheEntry* entry;
|
CacheEntry* entry;
|
||||||
|
|||||||
@@ -1310,6 +1310,7 @@ nsUrlClassifierDBService::ClassifyLocalWithTables(nsIURI *aURI,
|
|||||||
const nsACString & aTables,
|
const nsACString & aTables,
|
||||||
nsACString & aTableResults)
|
nsACString & aTableResults)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
MOZ_ASSERT(NS_IsMainThread(), "ClassifyLocalWithTables must be on main thread");
|
MOZ_ASSERT(NS_IsMainThread(), "ClassifyLocalWithTables must be on main thread");
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> uri = NS_GetInnermostURI(aURI);
|
nsCOMPtr<nsIURI> uri = NS_GetInnermostURI(aURI);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include "nsNetCID.h"
|
#include "nsNetCID.h"
|
||||||
#include "nsISupportsPrimitives.h"
|
#include "nsISupportsPrimitives.h"
|
||||||
#include "nsIURI.h"
|
#include "nsIURI.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
class nsWindowsSystemProxySettings final : public nsISystemProxySettings
|
class nsWindowsSystemProxySettings final : public nsISystemProxySettings
|
||||||
{
|
{
|
||||||
@@ -203,6 +204,7 @@ nsWindowsSystemProxySettings::PatternMatch(const nsACString& aHost,
|
|||||||
nsresult
|
nsresult
|
||||||
nsWindowsSystemProxySettings::GetPACURI(nsACString& aResult)
|
nsWindowsSystemProxySettings::GetPACURI(nsACString& aResult)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::STORAGE);
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
uint32_t flags = 0;
|
uint32_t flags = 0;
|
||||||
nsAutoString buf;
|
nsAutoString buf;
|
||||||
|
|||||||
@@ -910,6 +910,8 @@ nsXREDirProvider::DoStartup()
|
|||||||
void
|
void
|
||||||
nsXREDirProvider::DoShutdown()
|
nsXREDirProvider::DoShutdown()
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
if (mProfileNotified) {
|
if (mProfileNotified) {
|
||||||
nsCOMPtr<nsIObserverService> obsSvc =
|
nsCOMPtr<nsIObserverService> obsSvc =
|
||||||
mozilla::services::GetObserverService();
|
mozilla::services::GetObserverService();
|
||||||
|
|||||||
@@ -211,6 +211,8 @@ nsBaseDragService::InvokeDragSession(nsIDOMNode *aDOMNode,
|
|||||||
nsIScriptableRegion* aDragRgn,
|
nsIScriptableRegion* aDragRgn,
|
||||||
uint32_t aActionType)
|
uint32_t aActionType)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
NS_ENSURE_TRUE(aDOMNode, NS_ERROR_INVALID_ARG);
|
NS_ENSURE_TRUE(aDOMNode, NS_ERROR_INVALID_ARG);
|
||||||
NS_ENSURE_TRUE(mSuppressLevel == 0, NS_ERROR_FAILURE);
|
NS_ENSURE_TRUE(mSuppressLevel == 0, NS_ERROR_FAILURE);
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include "nsToolkit.h"
|
#include "nsToolkit.h"
|
||||||
#include "WinUtils.h"
|
#include "WinUtils.h"
|
||||||
#include "nsPIDOMWindow.h"
|
#include "nsPIDOMWindow.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
using mozilla::IsVistaOrLater;
|
using mozilla::IsVistaOrLater;
|
||||||
using mozilla::MakeUnique;
|
using mozilla::MakeUnique;
|
||||||
@@ -868,6 +869,7 @@ nsFilePicker::ShowXPFilePicker(const nsString& aInitialDir)
|
|||||||
bool
|
bool
|
||||||
nsFilePicker::ShowFilePicker(const nsString& aInitialDir, bool &aWasInitError)
|
nsFilePicker::ShowFilePicker(const nsString& aInitialDir, bool &aWasInitError)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
RefPtr<IFileDialog> dialog;
|
RefPtr<IFileDialog> dialog;
|
||||||
if (mMode != modeSave) {
|
if (mMode != modeSave) {
|
||||||
if (FAILED(CoCreateInstance(CLSID_FileOpenDialog, nullptr, CLSCTX_INPROC,
|
if (FAILED(CoCreateInstance(CLSID_FileOpenDialog, nullptr, CLSCTX_INPROC,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include <psapi.h>
|
#include <psapi.h>
|
||||||
|
|
||||||
#include "nsWindowsHelpers.h"
|
#include "nsWindowsHelpers.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@@ -36,6 +37,8 @@ bool
|
|||||||
HandleToFilename(HANDLE aHandle, const LARGE_INTEGER& aOffset,
|
HandleToFilename(HANDLE aHandle, const LARGE_INTEGER& aOffset,
|
||||||
nsAString& aFilename)
|
nsAString& aFilename)
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::NETWORK);
|
||||||
|
|
||||||
aFilename.Truncate();
|
aFilename.Truncate();
|
||||||
// This implementation is nice because it uses fully documented APIs that
|
// This implementation is nice because it uses fully documented APIs that
|
||||||
// are available on all Windows versions that we support.
|
// are available on all Windows versions that we support.
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include "nsCOMPtr.h"
|
#include "nsCOMPtr.h"
|
||||||
#include "nsAutoPtr.h"
|
#include "nsAutoPtr.h"
|
||||||
#include "nsMemory.h"
|
#include "nsMemory.h"
|
||||||
|
#include "GeckoProfiler.h"
|
||||||
|
|
||||||
#include "nsLocalFile.h"
|
#include "nsLocalFile.h"
|
||||||
#include "nsIDirectoryEnumerator.h"
|
#include "nsIDirectoryEnumerator.h"
|
||||||
@@ -1070,6 +1071,7 @@ nsLocalFile::ResolveAndStat()
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
// we can't resolve/stat anything that isn't a valid NSPR addressable path
|
// we can't resolve/stat anything that isn't a valid NSPR addressable path
|
||||||
if (mWorkingPath.IsEmpty()) {
|
if (mWorkingPath.IsEmpty()) {
|
||||||
return NS_ERROR_FILE_INVALID_PATH;
|
return NS_ERROR_FILE_INVALID_PATH;
|
||||||
|
|||||||
@@ -383,6 +383,8 @@ NS_IMETHODIMP nsXULWindow::RemoveChildWindow(nsIXULWindow *aChild)
|
|||||||
|
|
||||||
NS_IMETHODIMP nsXULWindow::ShowModal()
|
NS_IMETHODIMP nsXULWindow::ShowModal()
|
||||||
{
|
{
|
||||||
|
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||||
|
|
||||||
// Store locally so it doesn't die on us
|
// Store locally so it doesn't die on us
|
||||||
nsCOMPtr<nsIWidget> window = mWindow;
|
nsCOMPtr<nsIWidget> window = mWindow;
|
||||||
nsCOMPtr<nsIXULWindow> tempRef = this;
|
nsCOMPtr<nsIXULWindow> tempRef = this;
|
||||||
|
|||||||
Reference in New Issue
Block a user