mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge inbound to central, a=merge
This commit is contained in:
commit
f2da1c1ae6
@ -115,12 +115,28 @@ function* test_swapped_browser(oldTab, newBrowser, isPlaying) {
|
||||
return (event.detail.changed.indexOf("soundplaying") >= 0 || !isPlaying) &&
|
||||
event.detail.changed.indexOf("muted") >= 0;
|
||||
});
|
||||
let AudioPlaybackPromise = new Promise(resolve => {
|
||||
let observer = (subject, topic, data) => {
|
||||
ok(false, "Should not see an audio-playback notification");
|
||||
};
|
||||
Services.obs.addObserver(observer, "audio-playback", false);
|
||||
setTimeout(() => {
|
||||
Services.obs.removeObserver(observer, "audio-playback");
|
||||
resolve();
|
||||
}, 100);
|
||||
});
|
||||
|
||||
gBrowser.swapBrowsersAndCloseOther(newTab, oldTab);
|
||||
yield AttrChangePromise;
|
||||
|
||||
ok(newTab.hasAttribute("muted"), "Expected the correct muted attribute on the new tab");
|
||||
is(newTab.hasAttribute("soundplaying"), isPlaying, "Expected the correct soundplaying attribute on the new tab");
|
||||
|
||||
// Wait to see if an audio-playback event is dispatched. This should not happen!
|
||||
yield AudioPlaybackPromise;
|
||||
|
||||
ok(newTab.hasAttribute("muted"), "Expected the correct muted attribute on the new tab");
|
||||
is(newTab.hasAttribute("soundplaying"), isPlaying, "Expected the correct soundplaying attribute on the new tab");
|
||||
}
|
||||
|
||||
function* test_browser_swapping(tab, browser) {
|
||||
|
@ -171,6 +171,8 @@ http://malware.example.com:80
|
||||
http://tracking.example.com:80
|
||||
http://not-tracking.example.com:80
|
||||
http://tracking.example.org:80
|
||||
http://itisatracker.org:80
|
||||
http://trackertest.org:80
|
||||
|
||||
https://malware.example.com:443
|
||||
https://tracking.example.com:443
|
||||
|
@ -900,6 +900,7 @@ nsDocShell::nsDocShell()
|
||||
, mUseRemoteTabs(false)
|
||||
, mDeviceSizeIsPageSize(false)
|
||||
, mWindowDraggingAllowed(false)
|
||||
, mInFrameSwap(false)
|
||||
, mCanExecuteScripts(false)
|
||||
, mFiredUnloadEvent(false)
|
||||
, mEODForCurrentDocument(false)
|
||||
@ -14074,3 +14075,16 @@ nsDocShell::GetPaymentRequestId(nsAString& aPaymentRequestId)
|
||||
aPaymentRequestId = GetInheritedPaymentRequestId();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool
|
||||
nsDocShell::InFrameSwap()
|
||||
{
|
||||
nsRefPtr<nsDocShell> shell = this;
|
||||
do {
|
||||
if (shell->mInFrameSwap) {
|
||||
return true;
|
||||
}
|
||||
shell = shell->GetParentDocshell();
|
||||
} while (shell);
|
||||
return false;
|
||||
}
|
||||
|
@ -258,6 +258,12 @@ public:
|
||||
// is no longer applied
|
||||
void NotifyAsyncPanZoomStopped();
|
||||
|
||||
void SetInFrameSwap(bool aInSwap)
|
||||
{
|
||||
mInFrameSwap = aInSwap;
|
||||
}
|
||||
bool InFrameSwap();
|
||||
|
||||
private:
|
||||
// An observed docshell wrapper is created when recording markers is enabled.
|
||||
mozilla::UniquePtr<mozilla::ObservedDocShell> mObserved;
|
||||
@ -900,6 +906,7 @@ protected:
|
||||
bool mUseRemoteTabs;
|
||||
bool mDeviceSizeIsPageSize;
|
||||
bool mWindowDraggingAllowed;
|
||||
bool mInFrameSwap;
|
||||
|
||||
// Because scriptability depends on the mAllowJavascript values of our
|
||||
// ancestors, we cache the effective scriptability and recompute it when
|
||||
|
@ -951,6 +951,60 @@ nsFrameLoader::SwapWithOtherRemoteLoader(nsFrameLoader* aOther,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
class MOZ_STACK_CLASS AutoResetInFrameSwap final
|
||||
{
|
||||
public:
|
||||
AutoResetInFrameSwap(nsFrameLoader* aThisFrameLoader,
|
||||
nsFrameLoader* aOtherFrameLoader,
|
||||
nsDocShell* aThisDocShell,
|
||||
nsDocShell* aOtherDocShell,
|
||||
EventTarget* aThisEventTarget,
|
||||
EventTarget* aOtherEventTarget
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mThisFrameLoader(aThisFrameLoader)
|
||||
, mOtherFrameLoader(aOtherFrameLoader)
|
||||
, mThisDocShell(aThisDocShell)
|
||||
, mOtherDocShell(aOtherDocShell)
|
||||
, mThisEventTarget(aThisEventTarget)
|
||||
, mOtherEventTarget(aOtherEventTarget)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
|
||||
mThisFrameLoader->mInSwap = true;
|
||||
mOtherFrameLoader->mInSwap = true;
|
||||
mThisDocShell->SetInFrameSwap(true);
|
||||
mOtherDocShell->SetInFrameSwap(true);
|
||||
|
||||
// Fire pageshow events on still-loading pages, and then fire pagehide
|
||||
// events. Note that we do NOT fire these in the normal way, but just fire
|
||||
// them on the chrome event handlers.
|
||||
nsContentUtils::FirePageShowEvent(mThisDocShell, mThisEventTarget, false);
|
||||
nsContentUtils::FirePageShowEvent(mOtherDocShell, mOtherEventTarget, false);
|
||||
nsContentUtils::FirePageHideEvent(mThisDocShell, mThisEventTarget);
|
||||
nsContentUtils::FirePageHideEvent(mOtherDocShell, mOtherEventTarget);
|
||||
}
|
||||
|
||||
~AutoResetInFrameSwap()
|
||||
{
|
||||
nsContentUtils::FirePageShowEvent(mThisDocShell, mThisEventTarget, true);
|
||||
nsContentUtils::FirePageShowEvent(mOtherDocShell, mOtherEventTarget, true);
|
||||
|
||||
mThisFrameLoader->mInSwap = false;
|
||||
mOtherFrameLoader->mInSwap = false;
|
||||
mThisDocShell->SetInFrameSwap(false);
|
||||
mOtherDocShell->SetInFrameSwap(false);
|
||||
}
|
||||
|
||||
private:
|
||||
nsRefPtr<nsFrameLoader> mThisFrameLoader;
|
||||
nsRefPtr<nsFrameLoader> mOtherFrameLoader;
|
||||
nsRefPtr<nsDocShell> mThisDocShell;
|
||||
nsRefPtr<nsDocShell> mOtherDocShell;
|
||||
nsCOMPtr<EventTarget> mThisEventTarget;
|
||||
nsCOMPtr<EventTarget> mOtherEventTarget;
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
};
|
||||
|
||||
nsresult
|
||||
nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther,
|
||||
nsRefPtr<nsFrameLoader>& aFirstToSwap,
|
||||
@ -987,8 +1041,8 @@ nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther,
|
||||
return NS_ERROR_DOM_SECURITY_ERR;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIDocShell> ourDocshell = GetExistingDocShell();
|
||||
nsCOMPtr<nsIDocShell> otherDocshell = aOther->GetExistingDocShell();
|
||||
nsRefPtr<nsDocShell> ourDocshell = static_cast<nsDocShell*>(GetExistingDocShell());
|
||||
nsRefPtr<nsDocShell> otherDocshell = static_cast<nsDocShell*>(aOther->GetExistingDocShell());
|
||||
if (!ourDocshell || !otherDocshell) {
|
||||
// How odd
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
@ -1119,39 +1173,23 @@ nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther,
|
||||
if (mInSwap || aOther->mInSwap) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
mInSwap = aOther->mInSwap = true;
|
||||
AutoResetInFrameSwap autoFrameSwap(this, aOther, ourDocshell, otherDocshell,
|
||||
ourEventTarget, otherEventTarget);
|
||||
|
||||
// Fire pageshow events on still-loading pages, and then fire pagehide
|
||||
// events. Note that we do NOT fire these in the normal way, but just fire
|
||||
// them on the chrome event handlers.
|
||||
nsContentUtils::FirePageShowEvent(ourDocshell, ourEventTarget, false);
|
||||
nsContentUtils::FirePageShowEvent(otherDocshell, otherEventTarget, false);
|
||||
nsContentUtils::FirePageHideEvent(ourDocshell, ourEventTarget);
|
||||
nsContentUtils::FirePageHideEvent(otherDocshell, otherEventTarget);
|
||||
|
||||
nsIFrame* ourFrame = ourContent->GetPrimaryFrame();
|
||||
nsIFrame* otherFrame = otherContent->GetPrimaryFrame();
|
||||
if (!ourFrame || !otherFrame) {
|
||||
mInSwap = aOther->mInSwap = false;
|
||||
nsContentUtils::FirePageShowEvent(ourDocshell, ourEventTarget, true);
|
||||
nsContentUtils::FirePageShowEvent(otherDocshell, otherEventTarget, true);
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsSubDocumentFrame* ourFrameFrame = do_QueryFrame(ourFrame);
|
||||
if (!ourFrameFrame) {
|
||||
mInSwap = aOther->mInSwap = false;
|
||||
nsContentUtils::FirePageShowEvent(ourDocshell, ourEventTarget, true);
|
||||
nsContentUtils::FirePageShowEvent(otherDocshell, otherEventTarget, true);
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
// OK. First begin to swap the docshells in the two nsIFrames
|
||||
rv = ourFrameFrame->BeginSwapDocShells(otherFrame);
|
||||
if (NS_FAILED(rv)) {
|
||||
mInSwap = aOther->mInSwap = false;
|
||||
nsContentUtils::FirePageShowEvent(ourDocshell, ourEventTarget, true);
|
||||
nsContentUtils::FirePageShowEvent(otherDocshell, otherEventTarget, true);
|
||||
return rv;
|
||||
}
|
||||
|
||||
@ -1254,10 +1292,6 @@ nsFrameLoader::SwapWithOtherLoader(nsFrameLoader* aOther,
|
||||
ourParentDocument->FlushPendingNotifications(Flush_Layout);
|
||||
otherParentDocument->FlushPendingNotifications(Flush_Layout);
|
||||
|
||||
nsContentUtils::FirePageShowEvent(ourDocshell, ourEventTarget, true);
|
||||
nsContentUtils::FirePageShowEvent(otherDocshell, otherEventTarget, true);
|
||||
|
||||
mInSwap = aOther->mInSwap = false;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,7 @@ class nsSubDocumentFrame;
|
||||
class nsView;
|
||||
class nsIInProcessContentFrameMessageManager;
|
||||
class AutoResetInShow;
|
||||
class AutoResetInFrameSwap;
|
||||
class nsITabParent;
|
||||
class nsIDocShellTreeItem;
|
||||
class nsIDocShellTreeOwner;
|
||||
@ -59,6 +60,7 @@ class nsFrameLoader final : public nsIFrameLoader,
|
||||
public mozilla::dom::ipc::MessageManagerCallback
|
||||
{
|
||||
friend class AutoResetInShow;
|
||||
friend class AutoResetInFrameSwap;
|
||||
typedef mozilla::dom::PBrowserParent PBrowserParent;
|
||||
typedef mozilla::dom::TabParent TabParent;
|
||||
typedef mozilla::layout::RenderFrameParent RenderFrameParent;
|
||||
|
@ -103,6 +103,7 @@ static PRLogModuleInfo* gMediaElementEventsLog;
|
||||
|
||||
#include "nsIPermissionManager.h"
|
||||
#include "nsContentTypeParser.h"
|
||||
#include "nsDocShell.h"
|
||||
|
||||
#include "mozilla/EventStateManager.h"
|
||||
|
||||
@ -4013,7 +4014,14 @@ void HTMLMediaElement::NotifyOwnerDocumentActivityChanged()
|
||||
if (pauseElement && mAudioChannelAgent) {
|
||||
// If the element is being paused since we are navigating away from the
|
||||
// document, notify the audio channel agent.
|
||||
NotifyAudioChannelAgent(false);
|
||||
// Be careful to ignore this event during a docshell frame swap.
|
||||
auto docShell = static_cast<nsDocShell*>(OwnerDoc()->GetDocShell());
|
||||
if (!docShell) {
|
||||
return;
|
||||
}
|
||||
if (!docShell->InFrameSwap()) {
|
||||
NotifyAudioChannelAgent(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2392,11 +2392,18 @@ TabChild::RecvSwappedWithOtherRemoteLoader()
|
||||
return true;
|
||||
}
|
||||
|
||||
nsRefPtr<nsDocShell> docShell = static_cast<nsDocShell*>(ourDocShell.get());
|
||||
|
||||
nsCOMPtr<EventTarget> ourEventTarget = ourWindow->GetParentTarget();
|
||||
|
||||
docShell->SetInFrameSwap(true);
|
||||
|
||||
nsContentUtils::FirePageShowEvent(ourDocShell, ourEventTarget, false);
|
||||
nsContentUtils::FirePageHideEvent(ourDocShell, ourEventTarget);
|
||||
nsContentUtils::FirePageShowEvent(ourDocShell, ourEventTarget, true);
|
||||
|
||||
docShell->SetInFrameSwap(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -278,7 +278,7 @@ GLBlitHelper::InitTexQuadProgram(BlitType target)
|
||||
*/
|
||||
const char kTexYUVPlanarBlit_FragShaderSource[] = "\
|
||||
#ifdef GL_ES \n\
|
||||
precision mediump float \n\
|
||||
precision mediump float; \n\
|
||||
#endif \n\
|
||||
varying vec2 vTexCoord; \n\
|
||||
uniform sampler2D uYTexture; \n\
|
||||
@ -288,9 +288,9 @@ GLBlitHelper::InitTexQuadProgram(BlitType target)
|
||||
uniform vec2 uCbCrTexScale; \n\
|
||||
void main() \n\
|
||||
{ \n\
|
||||
float y = texture2D(uYTexture, vTexCoord * uYTexScale).r; \n\
|
||||
float cb = texture2D(uCbTexture, vTexCoord * uCbCrTexScale).r; \n\
|
||||
float cr = texture2D(uCrTexture, vTexCoord * uCbCrTexScale).r; \n\
|
||||
float y = texture2D(uYTexture, vTexCoord * uYTexScale).a; \n\
|
||||
float cb = texture2D(uCbTexture, vTexCoord * uCbCrTexScale).a; \n\
|
||||
float cr = texture2D(uCrTexture, vTexCoord * uCbCrTexScale).a; \n\
|
||||
y = (y - 0.06275) * 1.16438; \n\
|
||||
cb = cb - 0.50196; \n\
|
||||
cr = cr - 0.50196; \n\
|
||||
@ -641,7 +641,7 @@ GLBlitHelper::BindAndUploadYUVTexture(Channel which,
|
||||
GLuint& tex = *srcTexArr[which];
|
||||
if (!tex) {
|
||||
MOZ_ASSERT(needsAllocation);
|
||||
tex = CreateTexture(mGL, LOCAL_GL_LUMINANCE, LOCAL_GL_LUMINANCE, LOCAL_GL_UNSIGNED_BYTE,
|
||||
tex = CreateTexture(mGL, LOCAL_GL_ALPHA, LOCAL_GL_ALPHA, LOCAL_GL_UNSIGNED_BYTE,
|
||||
gfx::IntSize(width, height), false);
|
||||
}
|
||||
mGL->fActiveTexture(LOCAL_GL_TEXTURE0 + which);
|
||||
@ -654,17 +654,17 @@ GLBlitHelper::BindAndUploadYUVTexture(Channel which,
|
||||
0,
|
||||
width,
|
||||
height,
|
||||
LOCAL_GL_LUMINANCE,
|
||||
LOCAL_GL_ALPHA,
|
||||
LOCAL_GL_UNSIGNED_BYTE,
|
||||
data);
|
||||
} else {
|
||||
mGL->fTexImage2D(LOCAL_GL_TEXTURE_2D,
|
||||
0,
|
||||
LOCAL_GL_LUMINANCE,
|
||||
LOCAL_GL_ALPHA,
|
||||
width,
|
||||
height,
|
||||
0,
|
||||
LOCAL_GL_LUMINANCE,
|
||||
LOCAL_GL_ALPHA,
|
||||
LOCAL_GL_UNSIGNED_BYTE,
|
||||
data);
|
||||
}
|
||||
|
@ -453,6 +453,9 @@ LayerManagerComposite::RenderDebugOverlay(const Rect& aBounds)
|
||||
mUnusedApzTransformWarning = false;
|
||||
SetDebugOverlayWantsNextFrame(true);
|
||||
}
|
||||
|
||||
// Each frame is invalidate by the previous frame for simplicity
|
||||
AddInvalidRegion(nsIntRect(0, 0, 256, 256));
|
||||
} else {
|
||||
mFPS = nullptr;
|
||||
}
|
||||
@ -467,6 +470,9 @@ LayerManagerComposite::RenderDebugOverlay(const Rect& aBounds)
|
||||
effects,
|
||||
1.0,
|
||||
gfx::Matrix4x4());
|
||||
|
||||
// Each frame is invalidate by the previous frame for simplicity
|
||||
AddInvalidRegion(nsIntRect(0, 0, sideRect.width, sideRect.height));
|
||||
}
|
||||
|
||||
#ifdef MOZ_PROFILING
|
||||
@ -509,6 +515,9 @@ LayerManagerComposite::RenderDebugOverlay(const Rect& aBounds)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Each frame is invalidate by the previous frame for simplicity
|
||||
AddInvalidRegion(nsIntRect(0, 0, 256, 256));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -97,10 +97,13 @@ JITTEST_VALGRIND_FLAG = --valgrind
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_ASAN
|
||||
ifneq ($(LLVM_SYMBOLIZER),)
|
||||
# Use the LLVM symbolizer when running jit-tests under ASan, if available
|
||||
JITTEST_ASAN_ENV=ASAN_SYMBOLIZER_PATH='$(LLVM_SYMBOLIZER)'
|
||||
# Use the LLVM symbolizer when running jit-tests under ASan and TSan, if available
|
||||
ifdef MOZ_ASAN
|
||||
JITTEST_SANITIZER_ENV=ASAN_SYMBOLIZER_PATH='$(LLVM_SYMBOLIZER)'
|
||||
endif
|
||||
ifdef MOZ_TSAN
|
||||
JITTEST_SANITIZER_ENV=TSAN_OPTIONS='external_symbolizer_path=$(LLVM_SYMBOLIZER)'
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -111,11 +114,11 @@ check-masm::
|
||||
(cd $(srcdir) && $(PYTHON) $(topsrcdir)/config/check_macroassembler_style.py);
|
||||
|
||||
check-jit-test::
|
||||
$(JITTEST_ASAN_ENV) $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON) -u $(srcdir)/jit-test/jit_test.py \
|
||||
$(JITTEST_SANITIZER_ENV) $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON) -u $(srcdir)/jit-test/jit_test.py \
|
||||
--no-slow --no-progress --format=automation --jitflags=all \
|
||||
$(JITTEST_VALGRIND_FLAG) \
|
||||
$(JITTEST_EXTRA_ARGS) \
|
||||
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
|
||||
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX) $(JITTEST_TEST_ARGS)
|
||||
|
||||
check:: check-style check-masm
|
||||
|
||||
|
@ -267,10 +267,9 @@ InitClass(JSContext* cx, Handle<GlobalObject*> global, const Class* clasp, JSPro
|
||||
const JSPropertySpec* properties, const JSFunctionSpec* methods,
|
||||
const JSPropertySpec* staticProperties)
|
||||
{
|
||||
RootedNativeObject proto(cx, global->createBlankPrototype(cx, clasp));
|
||||
RootedPlainObject proto(cx, NewBuiltinClassInstance<PlainObject>(cx));
|
||||
if (!proto)
|
||||
return nullptr;
|
||||
proto->setPrivate(nullptr);
|
||||
|
||||
Rooted<JSFunction*> ctor(cx, global->createConstructor(cx, construct, ClassName(key, cx), 0));
|
||||
if (!ctor ||
|
||||
|
@ -13,7 +13,11 @@ assertEq(Map.length, 0);
|
||||
assertEq(Map.name, "Map");
|
||||
|
||||
assertEq(Object.getPrototypeOf(Map.prototype), Object.prototype);
|
||||
assertEq(Object.prototype.toString.call(Map.prototype), "[object Map]");
|
||||
assertEq("toStringTag" in Symbol, false,
|
||||
"if this fails, congratulations! implement " +
|
||||
"Map.prototype[Symbol.toStringTag] = 'Map' in SpiderMonkey and make " +
|
||||
"the next test check for '[object Map]' again");
|
||||
assertEq(Object.prototype.toString.call(Map.prototype), "[object Object]");
|
||||
assertEq(Object.prototype.toString.call(new Map()), "[object Map]");
|
||||
assertEq(Object.keys(Map.prototype).join(), "");
|
||||
assertEq(Map.prototype.constructor, Map);
|
||||
|
@ -13,7 +13,11 @@ assertEq(Set.length, 0);
|
||||
assertEq(Set.name, "Set");
|
||||
|
||||
assertEq(Object.getPrototypeOf(Set.prototype), Object.prototype);
|
||||
assertEq(Object.prototype.toString.call(Set.prototype), "[object Set]");
|
||||
assertEq("toStringTag" in Symbol, false,
|
||||
"if this fails, congratulations! implement " +
|
||||
"Set.prototype[Symbol.toStringTag] = 'Set' in SpiderMonkey and make " +
|
||||
"the next test check for '[object Set]' again");
|
||||
assertEq(Object.prototype.toString.call(Set.prototype), "[object Object]");
|
||||
assertEq(Object.prototype.toString.call(new Set()), "[object Set]");
|
||||
assertEq(Object.keys(Set.prototype).join(), "");
|
||||
assertEq(Set.prototype.constructor, Set);
|
||||
|
@ -190,11 +190,14 @@ MobileViewportManager::UpdateSPCSPS(const ScreenIntSize& aDisplaySize,
|
||||
{
|
||||
ScreenSize compositionSize(aDisplaySize);
|
||||
ScreenMargin scrollbars =
|
||||
CSSMargin::FromAppUnits(
|
||||
LayoutDeviceMargin::FromAppUnits(
|
||||
nsLayoutUtils::ScrollbarAreaToExcludeFromCompositionBoundsFor(
|
||||
mPresShell->GetRootScrollFrame()))
|
||||
* CSSToScreenScale(1.0f); // Scrollbars are not subject to scaling, so
|
||||
// CSS pixels = layer pixels for them (modulo bug 1168487).
|
||||
mPresShell->GetRootScrollFrame()),
|
||||
mPresShell->GetPresContext()->AppUnitsPerDevPixel())
|
||||
// Scrollbars are not subject to resolution scaling, so LD pixels =
|
||||
// Screen pixels for them.
|
||||
* LayoutDeviceToScreenScale(1.0f);
|
||||
|
||||
compositionSize.width -= scrollbars.LeftRight();
|
||||
compositionSize.height -= scrollbars.TopBottom();
|
||||
CSSSize compSize = compositionSize / aZoom;
|
||||
|
@ -1077,6 +1077,10 @@ nsLayoutUtils::SetDisplayPortMargins(nsIContent* aContent,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (currentData && currentData->mMargins == aMargins) {
|
||||
return true;
|
||||
}
|
||||
|
||||
aContent->SetProperty(nsGkAtoms::DisplayPortMargins,
|
||||
new DisplayPortMarginsPropertyData(
|
||||
aMargins, aPriority),
|
||||
|
@ -2226,7 +2226,7 @@ void ScrollFrameHelper::MarkRecentlyScrolled()
|
||||
}
|
||||
}
|
||||
|
||||
void ScrollFrameHelper::ScrollVisual(nsPoint aOldScrolledFramePos)
|
||||
void ScrollFrameHelper::ScrollVisual()
|
||||
{
|
||||
// Mark this frame as having been scrolled. If this is the root
|
||||
// scroll frame of a content document, then IsAlwaysActive()
|
||||
@ -2245,7 +2245,6 @@ void ScrollFrameHelper::ScrollVisual(nsPoint aOldScrolledFramePos)
|
||||
MarkRecentlyScrolled();
|
||||
}
|
||||
|
||||
mOuter->SchedulePaint();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2419,15 +2418,35 @@ ScrollFrameHelper::ScrollToImpl(nsPoint aPt, const nsRect& aRange, nsIAtom* aOri
|
||||
mListeners[i]->ScrollPositionWillChange(pt.x, pt.y);
|
||||
}
|
||||
|
||||
nsPoint oldScrollFramePos = mScrolledFrame->GetPosition();
|
||||
nsRect oldDisplayPort;
|
||||
nsLayoutUtils::GetDisplayPort(mOuter->GetContent(), &oldDisplayPort);
|
||||
oldDisplayPort.MoveBy(-mScrolledFrame->GetPosition());
|
||||
|
||||
// Update frame position for scrolling
|
||||
mScrolledFrame->SetPosition(mScrollPort.TopLeft() - pt);
|
||||
mLastScrollOrigin = aOrigin;
|
||||
mLastSmoothScrollOrigin = nullptr;
|
||||
mScrollGeneration = ++sScrollGenerationCounter;
|
||||
|
||||
// We pass in the amount to move visually
|
||||
ScrollVisual(oldScrollFramePos);
|
||||
ScrollVisual();
|
||||
|
||||
if (LastScrollOrigin() == nsGkAtoms::apz) {
|
||||
// If this was an apz scroll and the displayport (relative to the
|
||||
// scrolled frame) hasn't changed, then this won't trigger
|
||||
// any painting, so no need to schedule one.
|
||||
nsRect displayPort;
|
||||
DebugOnly<bool> usingDisplayPort =
|
||||
nsLayoutUtils::GetDisplayPort(mOuter->GetContent(), &displayPort);
|
||||
NS_ASSERTION(usingDisplayPort, "Must have a displayport for apz scrolls!");
|
||||
|
||||
displayPort.MoveBy(-mScrolledFrame->GetPosition());
|
||||
|
||||
if (!displayPort.IsEqualEdges(oldDisplayPort)) {
|
||||
mOuter->SchedulePaint();
|
||||
}
|
||||
} else {
|
||||
mOuter->SchedulePaint();
|
||||
}
|
||||
|
||||
if (mOuter->ChildrenHavePerspective()) {
|
||||
// The overflow areas of descendants may depend on the scroll position,
|
||||
|
@ -222,7 +222,7 @@ public:
|
||||
* @note This method might destroy the frame, pres shell and other objects.
|
||||
*/
|
||||
void ScrollToImpl(nsPoint aScrollPosition, const nsRect& aRange, nsIAtom* aOrigin = nullptr);
|
||||
void ScrollVisual(nsPoint aOldScrolledFramePosition);
|
||||
void ScrollVisual();
|
||||
/**
|
||||
* @note This method might destroy the frame, pres shell and other objects.
|
||||
*/
|
||||
|
27
layout/reftests/w3c-css/submitted/check-for-references.sh
Executable file
27
layout/reftests/w3c-css/submitted/check-for-references.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
find . -name reftest.list | sed 's,/reftest.list$,,' | while read DIRNAME
|
||||
do
|
||||
cat "$DIRNAME/reftest.list" | grep -v "^\(include\|default-preferences\)" | sed 's/ #.*//;s/^#.*//;s/.* == /== /;s/.* != /!= /' | grep -v "^ *$" | while read TYPE TEST REF
|
||||
do
|
||||
REFTYPE=""
|
||||
if [ "$TYPE" == "==" ]
|
||||
then
|
||||
REFTYPE="match"
|
||||
elif [ "$TYPE" == "!=" ]
|
||||
then
|
||||
REFTYPE="mismatch"
|
||||
else
|
||||
echo "Unexpected type $TYPE for $DIRNAME/$TEST"
|
||||
fi
|
||||
if grep "rel=\"$REFTYPE\"" "$DIRNAME/$TEST" | head -1 | grep -q "href=\"$REF\""
|
||||
then
|
||||
#echo "Good link for $DIRNAME/$TEST"
|
||||
echo -n
|
||||
else
|
||||
echo "Missing link for $DIRNAME/$TEST"
|
||||
#echo "<link rel=\"$REFTYPE\" href=\"$REF\">" >> "$DIRNAME/$TEST"
|
||||
fi
|
||||
done
|
||||
done
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-8-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-14-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-15-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-8-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-2-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-block-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-6-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-7-ref.html">
|
||||
<meta name="flags" content="paged"><style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
html,body {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-8-ref.html">
|
||||
<meta name="flags" content="paged"><style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
html,body {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-float-page-break-inside-avoid-9-ref.html">
|
||||
<meta name="flags" content="paged"><style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
html,body {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-inline-page-break-inside-avoid-1-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-4-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-7-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-rowgroup-page-break-inside-avoid-8-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-2-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-3-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-4-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-5-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-6-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-7-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: CSS 2.1 page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-css21-table-page-break-inside-avoid-6-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
|
@ -3,6 +3,7 @@
|
||||
<title>CSS Test: Balancing Overflow, page-break-inside:avoid</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#propdef-page-break-inside">
|
||||
<link rel="match" href="moz-multicol3-column-balancing-break-inside-avoid-1-ref.html">
|
||||
<meta name="flags" content="paged">
|
||||
<meta charset="utf-8">
|
||||
<style type="text/css">
|
||||
|
@ -7,7 +7,7 @@
|
||||
<meta name="flags" content="{{ see http://wiki.csswg.org/test/format#requirement-flags }}" />
|
||||
<meta name="assert" content="{{ explain precisely what is asserted when the test passes;
|
||||
optional but helps coordination and review }}" />
|
||||
<link rel="match" href="test-template-001-ref.xht" />
|
||||
<link rel="match" href="references/test-template-001.xht" />
|
||||
<style type="text/css"><![CDATA[
|
||||
{{ css for the test }}
|
||||
]]></style>
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Border-Box with specified width</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-border-box-001-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: border-box should make the element's (percentage) width be the distance from the left border edge to the right border edge." />
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Border-Box with specified width</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-border-box-002-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: border-box should make the element's (percentage) width be the distance from the left border edge to the right border edge." />
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Border-Box with specified width/height</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-border-box-003-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: border-box should make the element's (percentage) width be the distance from the left border edge to the right border edge and the height be the distance from the top border edge to the bottom border edge." />
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Border-Box with min/max width/height</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-border-box-004-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: border-box should make the element's (length) width be the distance from the left border edge to the right border edge and the height be the distance from the top border edge to the bottom border edge." />
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Content-Box with specified width/height</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-content-box-001-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: content-box should make the element's (percentage) width be the distance from the left content edge to the right content edge and the height be the distance from the top content edge to the bottom content edge."/>
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Content-Box with specified width/height</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-content-box-002-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: content-box should make the element's (calc) width be the distance from the left content edge to the right content edge and the height be the distance from the top content edge to the bottom content edge."/>
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Box Sizing - Content-Box with min/max width/height</title>
|
||||
<link rel="author" title="Scott Johnson" href="mailto:sjohnson@mozilla.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-content-box-003-ref.xht" />
|
||||
<meta name="assert" content="box-sizing: content-box should make the element's (percentage) width be the distance from the left content edge to the right content edge and the height be the distance from the top content edge to the bottom content edge."/>
|
||||
<style type="text/css"><![CDATA[
|
||||
.container {
|
||||
|
@ -5,6 +5,7 @@
|
||||
<link href="http://fantasai.inkedblade.net/contact" title="Elika J. Etemad" rel="author"></link>
|
||||
<link href="mailto:sjohnson@mozilla.com" title="Scott Johnson" rel="author"></link>
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-replaced-001-ref.xht" />
|
||||
<meta content="image" name="flags"></meta>
|
||||
<meta name="assert" content="All images should be sized at 75px x 75px, with 5px of padding around each." />
|
||||
<!--
|
||||
|
@ -5,6 +5,7 @@
|
||||
<link href="http://fantasai.inkedblade.net/contact" title="Elika J. Etemad" rel="author"></link>
|
||||
<link href="mailto:sjohnson@mozilla.com" title="Scott Johnson" rel="author"></link>
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-replaced-002-ref.xht" />
|
||||
<meta content="image" name="flags"></meta>
|
||||
<meta name="assert" content="All images should be sized at 75px x 75px, with 5px of padding and 5px of blue border around each." />
|
||||
<!--
|
||||
|
@ -5,6 +5,7 @@
|
||||
<link href="http://fantasai.inkedblade.net/contact" title="Elika J. Etemad" rel="author"></link>
|
||||
<link href="mailto:sjohnson@mozilla.com" title="Scott Johnson" rel="author"></link>
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#box-sizing" />
|
||||
<link rel="match" href="box-sizing-replaced-003-ref.xht" />
|
||||
<meta content="image" name="flags"></meta>
|
||||
<meta name="assert" content="All images should be sized at 75px x 75px." />
|
||||
<!--
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for calc() on background-image gradients</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-background-image-gradient-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
<title>CSS Test: Support calc() on gradient stop positions</title>
|
||||
<link rel="author" title="Yu-Sian (Thomasy) Liu" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594935">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-background-linear-gradient-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
div {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for calc() on background-position</title>
|
||||
<link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-background-position-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for calc() on background-size</title>
|
||||
<link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-background-size-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: test for border-radius: calc()</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-border-radius-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for height:calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-height-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test that height:calc() with no percentages has an effect on inner table elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-height-table-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
tbody, tr, td {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test of margin-*: calc()</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-margin-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for max-height:calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-max-height-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: max-width: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-width-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: intrinsic width of max-width: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-max-width-block-intrinsic-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for min-height:calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-height-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: min-width: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-width-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: intrinsic width of min-width: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-min-width-block-intrinsic-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for bottom:calc() on absolutely positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-absolute-top-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for left:calc() on absolutely positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-left-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 100px; width: 200px }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for right:calc() on absolutely positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-left-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0; width: 200px }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for top:calc() on absolutely positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-absolute-top-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for bottom:calc() on relatively positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-top-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for left:calc() on relatively positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-left-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 100px; width: 100px }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for right:calc() on relatively positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-left-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 100px; width: 100px }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for top:calc() on relatively positioned elements</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-offsets-relative-top-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
body { margin: 0 }
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test of padding-*: calc()</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-padding-block-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: text-indent: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-text-indent-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: intrinsic width of text-indent: calc() on blocks</title>
|
||||
<link rel="author" title="L. David Baron" href="http://dbaron.org/">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-text-indent-intrinsic-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<title>CSS Test: Test for calc() on transform-origin</title>
|
||||
<link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
|
||||
<link rel="match" href="calc-transform-origin-1-ref.html">
|
||||
<meta name="flags" content="">
|
||||
<style type="text/css">
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user