mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge backout of bug 595337 and bug 556487.
This commit is contained in:
commit
79b91c860d
@ -83,5 +83,5 @@ function test() {
|
|||||||
|
|
||||||
let button = document.getElementById("tabview-button");
|
let button = document.getElementById("tabview-button");
|
||||||
ok(button, "Tab View button exists");
|
ok(button, "Tab View button exists");
|
||||||
EventUtils.synthesizeMouse(button, 1, 1, {});
|
button.doCommand();
|
||||||
}
|
}
|
||||||
|
@ -11,13 +11,7 @@ function test() {
|
|||||||
|
|
||||||
ctx.tab1 = gBrowser.addTab(testPath + "bug592641_img.jpg");
|
ctx.tab1 = gBrowser.addTab(testPath + "bug592641_img.jpg");
|
||||||
ctx.tab1Browser = gBrowser.getBrowserForTab(ctx.tab1);
|
ctx.tab1Browser = gBrowser.getBrowserForTab(ctx.tab1);
|
||||||
ctx.tab1Browser.addEventListener("load",
|
ctx.tab1Browser.addEventListener("load", load1Soon, true);
|
||||||
// onload is fired in OnStopDecode, so let's
|
|
||||||
// use executeSoon() to make sure that any
|
|
||||||
// other OnStopDecode event handlers get the
|
|
||||||
// chance to fire first.
|
|
||||||
function() {executeSoon(load1Done);},
|
|
||||||
true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkTitle(title) {
|
function checkTitle(title) {
|
||||||
@ -27,9 +21,14 @@ function checkTitle(title) {
|
|||||||
"Title should be correct on load #" + ctx.loadsDone);
|
"Title should be correct on load #" + ctx.loadsDone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function load1Soon() {
|
||||||
|
ctx.tab1Browser.removeEventListener("load", load1Soon, true);
|
||||||
|
// onload is fired in OnStopDecode, so let's use executeSoon() to make sure
|
||||||
|
// that any other OnStopDecode event handlers get the chance to fire first.
|
||||||
|
executeSoon(load1Done);
|
||||||
|
}
|
||||||
|
|
||||||
function load1Done() {
|
function load1Done() {
|
||||||
|
|
||||||
// Check the title
|
// Check the title
|
||||||
var title = ctx.tab1Browser.contentWindow.document.title;
|
var title = ctx.tab1Browser.contentWindow.document.title;
|
||||||
checkTitle(title);
|
checkTitle(title);
|
||||||
@ -38,19 +37,17 @@ function load1Done() {
|
|||||||
// the cached case.
|
// the cached case.
|
||||||
ctx.tab2 = gBrowser.addTab(testPath + "bug592641_img.jpg");
|
ctx.tab2 = gBrowser.addTab(testPath + "bug592641_img.jpg");
|
||||||
ctx.tab2Browser = gBrowser.getBrowserForTab(ctx.tab2);
|
ctx.tab2Browser = gBrowser.getBrowserForTab(ctx.tab2);
|
||||||
ctx.tab2Browser.addEventListener("load",
|
ctx.tab2Browser.addEventListener("load", load2Soon, true);
|
||||||
// onload is fired in OnStopDecode, so let's
|
}
|
||||||
// use executeSoon() to make sure that any
|
|
||||||
// other OnStopDecode event handlers get the
|
|
||||||
// chance to fire first.
|
|
||||||
function() {executeSoon(load2Done);},
|
|
||||||
true);
|
|
||||||
|
|
||||||
|
|
||||||
|
function load2Soon() {
|
||||||
|
ctx.tab2Browser.removeEventListener("load", load2Soon, true);
|
||||||
|
// onload is fired in OnStopDecode, so let's use executeSoon() to make sure
|
||||||
|
// that any other OnStopDecode event handlers get the chance to fire first.
|
||||||
|
executeSoon(load2Done);
|
||||||
}
|
}
|
||||||
|
|
||||||
function load2Done() {
|
function load2Done() {
|
||||||
|
|
||||||
// Check the title
|
// Check the title
|
||||||
var title = ctx.tab2Browser.contentWindow.document.title;
|
var title = ctx.tab2Browser.contentWindow.document.title;
|
||||||
checkTitle(title);
|
checkTitle(title);
|
||||||
|
@ -78,7 +78,6 @@ EXPORTS = \
|
|||||||
nsPIWindowRoot.h \
|
nsPIWindowRoot.h \
|
||||||
nsFocusManager.h \
|
nsFocusManager.h \
|
||||||
nsWrapperCache.h \
|
nsWrapperCache.h \
|
||||||
nsContentPermissionHelper.h \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
CPPSRCS = \
|
CPPSRCS = \
|
||||||
@ -102,9 +101,17 @@ CPPSRCS = \
|
|||||||
nsScriptNameSpaceManager.cpp \
|
nsScriptNameSpaceManager.cpp \
|
||||||
nsDOMScriptObjectFactory.cpp \
|
nsDOMScriptObjectFactory.cpp \
|
||||||
nsQueryContentEventResult.cpp \
|
nsQueryContentEventResult.cpp \
|
||||||
nsContentPermissionHelper.cpp \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
ifdef MOZ_IPC
|
||||||
|
EXPORTS += \
|
||||||
|
nsContentPermissionHelper.h \
|
||||||
|
$(NULL)
|
||||||
|
CPPSRCS += \
|
||||||
|
nsContentPermissionHelper.cpp \
|
||||||
|
$(NULL)
|
||||||
|
endif
|
||||||
|
|
||||||
include $(topsrcdir)/dom/dom-config.mk
|
include $(topsrcdir)/dom/dom-config.mk
|
||||||
|
|
||||||
ifdef MOZ_JSDEBUGGER
|
ifdef MOZ_JSDEBUGGER
|
||||||
|
@ -43,8 +43,6 @@
|
|||||||
|
|
||||||
#include "mozilla/unused.h"
|
#include "mozilla/unused.h"
|
||||||
|
|
||||||
#ifdef MOZ_IPC
|
|
||||||
|
|
||||||
using mozilla::unused; // <snicker>
|
using mozilla::unused; // <snicker>
|
||||||
|
|
||||||
nsContentPermissionRequestProxy::nsContentPermissionRequestProxy()
|
nsContentPermissionRequestProxy::nsContentPermissionRequestProxy()
|
||||||
@ -164,4 +162,3 @@ ContentPermissionRequestParent::Recvprompt()
|
|||||||
|
|
||||||
} // namespace dom
|
} // namespace dom
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
#endif
|
|
||||||
|
1
layout/generic/crashtests/590404.html
Normal file
1
layout/generic/crashtests/590404.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<iframe src="data:text/html,%3Cdiv%20style%3D%22background%3A%20-moz-element(%23e)%22%3Ez"></iframe>
|
@ -333,4 +333,5 @@ load 586806-1.html
|
|||||||
load 586806-2.html
|
load 586806-2.html
|
||||||
load 586806-3.html
|
load 586806-3.html
|
||||||
load 586973-1.html
|
load 586973-1.html
|
||||||
|
load 590404.html
|
||||||
load 591141.html
|
load 591141.html
|
||||||
|
@ -775,6 +775,12 @@ nsImageFrame::GetPrefWidth(nsIRenderingContext *aRenderingContext)
|
|||||||
mIntrinsicSize.width.GetCoordValue() : 0;
|
mIntrinsicSize.width.GetCoordValue() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* virtual */ nsIFrame::IntrinsicSize
|
||||||
|
nsImageFrame::GetIntrinsicSize()
|
||||||
|
{
|
||||||
|
return mIntrinsicSize;
|
||||||
|
}
|
||||||
|
|
||||||
/* virtual */ nsSize
|
/* virtual */ nsSize
|
||||||
nsImageFrame::GetIntrinsicRatio()
|
nsImageFrame::GetIntrinsicRatio()
|
||||||
{
|
{
|
||||||
|
@ -109,6 +109,7 @@ public:
|
|||||||
const nsDisplayListSet& aLists);
|
const nsDisplayListSet& aLists);
|
||||||
virtual nscoord GetMinWidth(nsIRenderingContext *aRenderingContext);
|
virtual nscoord GetMinWidth(nsIRenderingContext *aRenderingContext);
|
||||||
virtual nscoord GetPrefWidth(nsIRenderingContext *aRenderingContext);
|
virtual nscoord GetPrefWidth(nsIRenderingContext *aRenderingContext);
|
||||||
|
virtual IntrinsicSize GetIntrinsicSize();
|
||||||
virtual nsSize GetIntrinsicRatio();
|
virtual nsSize GetIntrinsicRatio();
|
||||||
NS_IMETHOD Reflow(nsPresContext* aPresContext,
|
NS_IMETHOD Reflow(nsPresContext* aPresContext,
|
||||||
nsHTMLReflowMetrics& aDesiredSize,
|
nsHTMLReflowMetrics& aDesiredSize,
|
||||||
|
@ -707,6 +707,7 @@ IsPercentageAware(const nsIFrame* aFrame)
|
|||||||
if ((
|
if ((
|
||||||
#ifdef MOZ_SVG
|
#ifdef MOZ_SVG
|
||||||
fType == nsGkAtoms::svgOuterSVGFrame ||
|
fType == nsGkAtoms::svgOuterSVGFrame ||
|
||||||
|
fType == nsGkAtoms::imageFrame ||
|
||||||
#endif
|
#endif
|
||||||
fType == nsGkAtoms::subDocumentFrame) &&
|
fType == nsGkAtoms::subDocumentFrame) &&
|
||||||
const_cast<nsIFrame*>(aFrame)->GetIntrinsicSize().width.GetUnit() ==
|
const_cast<nsIFrame*>(aFrame)->GetIntrinsicSize().width.GetUnit() ==
|
||||||
|
7
layout/reftests/svg/image/img-dyn-1-ref.html
Normal file
7
layout/reftests/svg/image/img-dyn-1-ref.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div style="width: 200px; height: 200px; border: 2px dashed green">
|
||||||
|
<img src="squaredCircle-viewBox-noSize.svg">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
18
layout/reftests/svg/image/img-dyn-1.html
Normal file
18
layout/reftests/svg/image/img-dyn-1.html
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<!-- This test makes sure that we resize SVG content correctly after the
|
||||||
|
container width is dynamically modified. -->
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<head>
|
||||||
|
<script>
|
||||||
|
function go() {
|
||||||
|
document.getElementById("wrapper").style.width = "200px";
|
||||||
|
document.documentElement.removeAttribute("class");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body onload="go()">
|
||||||
|
<div id="wrapper"
|
||||||
|
style="width: 100px; height: 200px; border: 2px dashed green">
|
||||||
|
<img src="squaredCircle-viewBox-noSize.svg">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -28,7 +28,9 @@ include zoom/reftest.list
|
|||||||
== img-simple-6.html lime100x100-ref.html
|
== img-simple-6.html lime100x100-ref.html
|
||||||
== img-simple-7.html lime100x100-ref.html
|
== img-simple-7.html lime100x100-ref.html
|
||||||
|
|
||||||
|
# More complex <img> tests
|
||||||
== img-content-outside-viewBox-1.html img-content-outside-viewBox-1-ref.html
|
== img-content-outside-viewBox-1.html img-content-outside-viewBox-1-ref.html
|
||||||
|
== img-dyn-1.html img-dyn-1-ref.html
|
||||||
|
|
||||||
# XXXdholbert Some of the tests below fail on Windows 7 right now. Marking them
|
# XXXdholbert Some of the tests below fail on Windows 7 right now. Marking them
|
||||||
# random-on-windows right now while I investigate.
|
# random-on-windows right now while I investigate.
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<rect x="2" y="2" height="96" width="96"
|
||||||
|
stroke-width="4" stroke="black" fill="yellow"/>
|
||||||
|
<circle cx="50" cy="50" r="46" style="fill: blue"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 223 B |
@ -392,6 +392,9 @@ GetEffectPropertyForURI(nsIURI *aURI, nsIFrame *aFrame,
|
|||||||
const FramePropertyDescriptor *aProperty,
|
const FramePropertyDescriptor *aProperty,
|
||||||
nsSVGRenderingObserver * (* aCreate)(nsIURI *, nsIFrame *, PRBool))
|
nsSVGRenderingObserver * (* aCreate)(nsIURI *, nsIFrame *, PRBool))
|
||||||
{
|
{
|
||||||
|
if (!aURI)
|
||||||
|
return nsnull;
|
||||||
|
|
||||||
FrameProperties props = aFrame->Properties();
|
FrameProperties props = aFrame->Properties();
|
||||||
nsSVGEffects::URIObserverHashtable *hashtable =
|
nsSVGEffects::URIObserverHashtable *hashtable =
|
||||||
static_cast<nsSVGEffects::URIObserverHashtable*>(props.Get(aProperty));
|
static_cast<nsSVGEffects::URIObserverHashtable*>(props.Get(aProperty));
|
||||||
|
@ -152,8 +152,7 @@ NS_IMETHODIMP nsZipDataStream::OnStopRequest(nsIRequest *aRequest,
|
|||||||
|
|
||||||
inline nsresult nsZipDataStream::CompleteEntry()
|
inline nsresult nsZipDataStream::CompleteEntry()
|
||||||
{
|
{
|
||||||
nsresult rv = mStream->Flush();
|
nsresult rv;
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
nsCOMPtr<nsISeekableStream> seekable = do_QueryInterface(mStream, &rv);
|
nsCOMPtr<nsISeekableStream> seekable = do_QueryInterface(mStream, &rv);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
PRInt64 pos;
|
PRInt64 pos;
|
||||||
@ -161,17 +160,7 @@ inline nsresult nsZipDataStream::CompleteEntry()
|
|||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
mHeader->mCSize = pos - mHeader->mOffset - mHeader->GetFileHeaderLength();
|
mHeader->mCSize = pos - mHeader->mOffset - mHeader->GetFileHeaderLength();
|
||||||
|
mHeader->mWriteOnClose = PR_TRUE;
|
||||||
// Go back and rewrite the file header
|
|
||||||
rv = seekable->Seek(nsISeekableStream::NS_SEEK_SET, mHeader->mOffset);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
rv = mHeader->WriteFileHeader(mStream);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
rv = mStream->Flush();
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
rv = seekable->Seek(nsISeekableStream::NS_SEEK_SET, pos);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,6 +78,7 @@ public:
|
|||||||
mDisk(0),
|
mDisk(0),
|
||||||
mIAttr(0),
|
mIAttr(0),
|
||||||
mInited(PR_FALSE),
|
mInited(PR_FALSE),
|
||||||
|
mWriteOnClose(PR_FALSE),
|
||||||
mExtraField(NULL),
|
mExtraField(NULL),
|
||||||
mLocalExtraField(NULL)
|
mLocalExtraField(NULL)
|
||||||
{
|
{
|
||||||
@ -105,6 +106,7 @@ public:
|
|||||||
PRUint16 mDisk;
|
PRUint16 mDisk;
|
||||||
PRUint16 mIAttr;
|
PRUint16 mIAttr;
|
||||||
PRPackedBool mInited;
|
PRPackedBool mInited;
|
||||||
|
PRPackedBool mWriteOnClose;
|
||||||
nsCString mName;
|
nsCString mName;
|
||||||
nsCString mComment;
|
nsCString mComment;
|
||||||
nsAutoArrayPtr<PRUint8> mExtraField;
|
nsAutoArrayPtr<PRUint8> mExtraField;
|
||||||
|
@ -301,7 +301,7 @@ NS_IMETHODIMP nsZipWriter::Open(nsIFile *aFile, PRInt32 aIoFlags)
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
rv = NS_NewBufferedOutputStream(getter_AddRefs(mStream), stream, 0x800);
|
rv = NS_NewBufferedOutputStream(getter_AddRefs(mStream), stream, 3 * 1024 * 1024);
|
||||||
if (NS_FAILED(rv)) {
|
if (NS_FAILED(rv)) {
|
||||||
stream->Close();
|
stream->Close();
|
||||||
mHeaders.Clear();
|
mHeaders.Clear();
|
||||||
@ -711,6 +711,24 @@ NS_IMETHODIMP nsZipWriter::Close()
|
|||||||
Cleanup();
|
Cleanup();
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Go back and rewrite the file headers
|
||||||
|
for (PRInt32 i = 0; i < mHeaders.Count(); i++) {
|
||||||
|
nsZipHeader *header = mHeaders[i];
|
||||||
|
if (!header->mWriteOnClose)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
rv = seekable->Seek(nsISeekableStream::NS_SEEK_SET, header->mOffset);
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
Cleanup();
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
rv = header->WriteFileHeader(mStream);
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
Cleanup();
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult rv = mStream->Close();
|
nsresult rv = mStream->Close();
|
||||||
|
@ -49,10 +49,10 @@ XPIDLSRCS = nsIUpdateTimerManager.idl
|
|||||||
EXTRA_PP_COMPONENTS = nsUpdateTimerManager.js nsUpdateTimerManager.manifest
|
EXTRA_PP_COMPONENTS = nsUpdateTimerManager.js nsUpdateTimerManager.manifest
|
||||||
|
|
||||||
ifdef MOZ_UPDATER
|
ifdef MOZ_UPDATER
|
||||||
|
DIRS = ../readstrings
|
||||||
|
|
||||||
ifneq ($(OS_TARGET),Android)
|
ifneq ($(OS_TARGET),Android)
|
||||||
DIRS = ../readstrings \
|
DIRS += updater
|
||||||
updater \
|
|
||||||
$(NULL)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
XPIDLSRCS += nsIUpdateService.idl
|
XPIDLSRCS += nsIUpdateService.idl
|
||||||
|
Loading…
Reference in New Issue
Block a user