Bug 1099092 - Navigation Timing has incorrect values when page is load via link with target=_blank attribute r=bz
This commit is contained in:
@@ -195,6 +195,7 @@
|
||||
#include "mozilla/dom/EncodingUtils.h"
|
||||
#include "mozilla/dom/ScriptSettings.h"
|
||||
#include "mozilla/dom/URLSearchParams.h"
|
||||
#include "nsPerformance.h"
|
||||
|
||||
#ifdef MOZ_TOOLKIT_SEARCH
|
||||
#include "nsIBrowserSearchService.h"
|
||||
@@ -859,6 +860,7 @@ nsDocShell::nsDocShell():
|
||||
mInvisible(false),
|
||||
mHasLoadedNonBlankURI(false),
|
||||
mDefaultLoadFlags(nsIRequest::LOAD_NORMAL),
|
||||
mBlankTiming(false),
|
||||
mFrameType(eFrameTypeRegular),
|
||||
mOwnOrContainingAppId(nsIScriptSecurityManager::UNKNOWN_APP_ID),
|
||||
mParentCharsetSource(0),
|
||||
@@ -1770,11 +1772,22 @@ nsDocShell::FirePageHideNotification(bool aIsUnload)
|
||||
void
|
||||
nsDocShell::MaybeInitTiming()
|
||||
{
|
||||
if (mTiming) {
|
||||
if (mTiming && !mBlankTiming) {
|
||||
return;
|
||||
}
|
||||
|
||||
mTiming = new nsDOMNavigationTiming();
|
||||
if (mScriptGlobal && mBlankTiming) {
|
||||
nsPIDOMWindow* innerWin = mScriptGlobal->GetCurrentInnerWindow();
|
||||
if (innerWin && innerWin->GetPerformance()) {
|
||||
mTiming = innerWin->GetPerformance()->GetDOMTiming();
|
||||
mBlankTiming = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!mTiming) {
|
||||
mTiming = new nsDOMNavigationTiming();
|
||||
}
|
||||
|
||||
mTiming->NotifyNavigationStart();
|
||||
}
|
||||
|
||||
@@ -7869,6 +7882,7 @@ nsDocShell::CreateAboutBlankContentViewer(nsIPrincipal* aPrincipal,
|
||||
// have one before entering this function.
|
||||
if (!hadTiming) {
|
||||
mTiming = nullptr;
|
||||
mBlankTiming = true;
|
||||
}
|
||||
|
||||
return rv;
|
||||
|
||||
Reference in New Issue
Block a user