author | Michael Henretty <mhenretty@mozilla.com> |
Thu, 30 Jan 2014 15:06:34 -0800 | |
changeset 166439 | c427ea289e1b2e3c6a7b7665e6210901e1d4861f |
parent 166438 | 340f43a32a7aaa80a89d9818b0e9500e42d0e533 |
child 166440 | e5bff4d6249aaa39cd5d057f4599408d7e652985 |
push id | 26125 |
push user | ryanvm@gmail.com |
push date | Sat, 01 Feb 2014 22:22:25 +0000 |
treeherder | mozilla-central@f66e1ff54609 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | fabrice, bz |
bugs | 959800 |
milestone | 29.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/browser/base/content/test/chrome/test_aboutCrashed.xul +++ b/browser/base/content/test/chrome/test_aboutCrashed.xul @@ -60,26 +60,26 @@ let errorPageReady = waitForErrorPage(frame1); frame1.docShell.chromeEventHandler.setAttribute("crashedPageTitle", "pageTitle"); frame1.docShell.displayLoadError(Components.results.NS_ERROR_CONTENT_CRASHED, uri1, null); yield errorPageReady; frame1.docShell.chromeEventHandler.removeAttribute("crashedPageTitle"); SimpleTest.is(frame1.contentDocument.documentURI, - "about:tabcrashed?e=tabcrashed&u=http%3A//www.example.com/1&c=UTF-8&d=pageTitle", + "about:tabcrashed?e=tabcrashed&u=http%3A//www.example.com/1&c=UTF-8&d=pageTitle&f=regular", "Correct about:tabcrashed displayed for page with title."); errorPageReady = waitForErrorPage(frame2); frame2.docShell.displayLoadError(Components.results.NS_ERROR_CONTENT_CRASHED, uri2, null); yield errorPageReady; SimpleTest.is(frame2.contentDocument.documentURI, - "about:tabcrashed?e=tabcrashed&u=http%3A//www.example.com/2&c=UTF-8&d=%20", + "about:tabcrashed?e=tabcrashed&u=http%3A//www.example.com/2&c=UTF-8&d=%20&f=regular", "Correct about:tabcrashed displayed for page with no title."); SimpleTest.finish(); }); } ]]></script> <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;" />
--- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -4786,16 +4786,20 @@ nsDocShell::LoadErrorPage(nsIURI *aURI, nsCString manifestParam; SAFE_ESCAPE(manifestParam, NS_ConvertUTF16toUTF8(manifestURL).get(), url_Path); errorPageUrl.AppendLiteral("&m="); errorPageUrl.AppendASCII(manifestParam.get()); } + nsAutoCString frameType(FrameTypeToString(mFrameType)); + errorPageUrl.AppendLiteral("&f="); + errorPageUrl.AppendASCII(frameType.get()); + nsCOMPtr<nsIURI> errorPageURI; rv = NS_NewURI(getter_AddRefs(errorPageURI), errorPageUrl); NS_ENSURE_SUCCESS(rv, rv); return InternalLoad(errorPageURI, nullptr, nullptr, INTERNAL_LOAD_FLAGS_INHERIT_OWNER, nullptr, nullptr, NullString(), nullptr, nullptr, LOAD_ERROR_PAGE, nullptr, true, NullString(), this, nullptr, nullptr);
--- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -662,16 +662,31 @@ protected: bool JustStartedNetworkLoad(); enum FrameType { eFrameTypeRegular, eFrameTypeBrowser, eFrameTypeApp }; + static const nsCString FrameTypeToString(FrameType aFrameType) + { + switch (aFrameType) { + case FrameType::eFrameTypeApp: + return NS_LITERAL_CSTRING("app"); + case FrameType::eFrameTypeBrowser: + return NS_LITERAL_CSTRING("browser"); + case FrameType::eFrameTypeRegular: + return NS_LITERAL_CSTRING("regular"); + default: + NS_ERROR("Unknown frame type"); + return EmptyCString(); + } + } + FrameType GetInheritedFrameType(); bool HasUnloadedParent(); // Dimensions of the docshell nsIntRect mBounds; nsString mName; nsString mTitle;