Merge mozilla-central to autoland. a=merge CLOSED TREE

This commit is contained in:
Brindusan Cristian 2018-08-13 00:53:06 +03:00
Родитель 0d42280111 8d06786539
Коммит ba708c34ec
99 изменённых файлов: 4196 добавлений и 237 удалений

Просмотреть файл

@ -949,8 +949,12 @@ pref("app.productInfo.baseURL", "https://www.mozilla.org/firefox/features/");
// Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
pref("security.alternate_certificate_error_page", "certerror");
// Indicates if new certificate error page (enabled) or not
// Enable the new certificate error page only for Nightly
#if defined(NIGHTLY_BUILD)
pref("browser.security.newcerterrorpage.enabled", true);
#else
pref("browser.security.newcerterrorpage.enabled", false);
#endif
// Whether to start the private browsing mode at application startup
pref("browser.privatebrowsing.autostart", false);

Просмотреть файл

@ -153,6 +153,15 @@ add_task(async function checkBadStsCert() {
advancedButton.click();
return doc.getElementById("badCertTechnicalInfo").textContent;
});
if (Services.prefs.getBoolPref("browser.security.newcerterrorpage.enabled", false)) {
ok(message.includes("SSL_ERROR_BAD_CERT_DOMAIN"), "Didn't find SSL_ERROR_BAD_CERT_DOMAIN.");
ok(message.includes("The certificate is only valid for"), "Didn't find error message.");
ok(message.includes("a security certificate that is not valid for"), "Didn't find error message.");
ok(message.includes("badchain.include-subdomains.pinning.example.com"), "Didn't find domain in error message.");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
return;
}
ok(message.includes("SSL_ERROR_BAD_CERT_DOMAIN"), "Didn't find SSL_ERROR_BAD_CERT_DOMAIN.");
ok(message.includes("The certificate is only valid for"), "Didn't find error message.");
ok(message.includes("uses an invalid security certificate"), "Didn't find error message.");

Просмотреть файл

@ -107,13 +107,13 @@ def GeckoCppUnitTests(names, **kwargs):
@template
def GeckoSharedLibrary(name, output_category=None, **kwargs):
def GeckoSharedLibrary(name, **kwargs):
'''Template for shared libraries related to Gecko.
`name` identifies the library base name.
See the documentation for `GeckoBinary` for other possible arguments.
'''
SharedLibrary(name, output_category)
SharedLibrary(name)
kwargs.setdefault('mozglue', 'library')
@ -121,13 +121,13 @@ def GeckoSharedLibrary(name, output_category=None, **kwargs):
@template
def GeckoFramework(name, output_category=None, **kwargs):
def GeckoFramework(name, **kwargs):
'''Template for OSX frameworks related to Gecko.
`name` identifies the library base name.
See the documentation for `GeckoBinary` for other possible arguments.
'''
Framework(name, output_category)
Framework(name)
kwargs.setdefault('mozglue', 'library')

Просмотреть файл

@ -58,7 +58,7 @@ def AllowCompilerWarnings():
COMPILE_FLAGS['WARNINGS_AS_ERRORS'] = []
@template
def RustLibrary(name, features=None, target_dir=None, output_category=None):
def RustLibrary(name, features=None, target_dir=None):
'''Template for Rust libraries.'''
Library(name)
@ -72,27 +72,21 @@ def RustLibrary(name, features=None, target_dir=None, output_category=None):
if target_dir:
RUST_LIBRARY_TARGET_DIR = target_dir
if output_category:
RUST_LIBRARY_OUTPUT_CATEGORY = output_category
@template
def SharedLibrary(name, output_category=None):
def SharedLibrary(name):
'''Template for shared libraries.'''
Library(name)
FORCE_SHARED_LIB = True
if output_category:
SHARED_LIBRARY_OUTPUT_CATEGORY = output_category
Binary()
@template
def Framework(name, output_category=None):
def Framework(name):
'''Template for OSX Frameworks.'''
SharedLibrary(name, output_category)
SharedLibrary(name)
IS_FRAMEWORK = True

Просмотреть файл

@ -18,9 +18,7 @@ endif
ifdef SHARED_LIBRARY
SHARED_LIBRARY_FILES = $(SHARED_LIBRARY)
SHARED_LIBRARY_DEST ?= $(FINAL_TARGET)
ifndef SHARED_LIBRARY_TARGET
SHARED_LIBRARY_TARGET = target
endif
INSTALL_TARGETS += SHARED_LIBRARY
endif # SHARED_LIBRARY

Просмотреть файл

@ -41,7 +41,7 @@ binaries::
# Carefully avoid $(eval) type of rule generation, which makes pymake slower
# than necessary.
# Get current tier and corresponding subtiers from the data in root.mk.
CURRENT_TIER := $(filter $(foreach tier,$(TIERS) $(non_default_tiers),recurse_$(tier) $(tier)-deps),$(MAKECMDGOALS))
CURRENT_TIER := $(filter $(foreach tier,$(TIERS),recurse_$(tier) $(tier)-deps),$(MAKECMDGOALS))
ifneq (,$(filter-out 0 1,$(words $(CURRENT_TIER))))
$(error $(CURRENT_TIER) not supported on the same make command line)
endif

Просмотреть файл

@ -446,7 +446,7 @@ compile:: host target
host:: $(HOST_LIBRARY) $(HOST_PROGRAM) $(HOST_SIMPLE_PROGRAMS) $(HOST_RUST_PROGRAMS) $(HOST_RUST_LIBRARY_FILE) $(HOST_SHARED_LIBRARY)
target:: $(filter-out $(MOZBUILD_NON_DEFAULT_TARGETS),$(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM) $(SIMPLE_PROGRAMS) $(RUST_LIBRARY_FILE) $(RUST_PROGRAMS))
target:: $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM) $(SIMPLE_PROGRAMS) $(RUST_LIBRARY_FILE) $(RUST_PROGRAMS)
ifndef LIBRARY
ifdef OBJS

Просмотреть файл

@ -589,6 +589,13 @@ public:
// is the font loading or loaded, or did it fail?
UserFontLoadState LoadState() const { return mUserFontLoadState; }
void LoadCanceled()
{
mUserFontLoadState = STATUS_NOT_LOADED;
mFontDataLoadingState = NOT_LOADING;
mLoader = nullptr;
}
// whether to wait before using fallback font or not
bool WaitForUserFont() const {
return (mUserFontLoadState == STATUS_LOAD_PENDING ||

Просмотреть файл

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<style>
@font-face {
font-family: test;
src: url(../fonts/markA.ttf);
}
</style>
<div style="font-family: test, serif">ABC</div>
<div style="font-family: serif">ABC</div>

Просмотреть файл

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<style id="A">
@font-face {
font-family: test;
src: url("bug-1481905-cancel-load.sjs");
}
</style>
<style>
@font-face {
font-family: test;
src: url("bug-1481905-cancel-load.sjs");
}
</style>
<div style="font-family: test, serif">ABC</div>
<div style="font-family: serif">ABC</div>
<script>
document.body.offsetTop;
document.getElementById("A").remove();
document.documentElement.className = "";
</script>

Просмотреть файл

@ -0,0 +1,218 @@
// Hex dump of the markA font data:
const markA_data = [
0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x80,
0x00, 0x03, 0x00, 0x50, 0x46, 0x46, 0x54, 0x4D,
0x4E, 0xAE, 0xE8, 0xC9, 0x00, 0x00, 0x05, 0xDC,
0x00, 0x00, 0x00, 0x1C, 0x4F, 0x53, 0x2F, 0x32,
0x56, 0x61, 0x64, 0x0A, 0x00, 0x00, 0x01, 0x58,
0x00, 0x00, 0x00, 0x56, 0x63, 0x6D, 0x61, 0x70,
0x00, 0x0F, 0x03, 0xEF, 0x00, 0x00, 0x01, 0xC0,
0x00, 0x00, 0x01, 0x42, 0x63, 0x76, 0x74, 0x20,
0x00, 0x21, 0x02, 0x79, 0x00, 0x00, 0x03, 0x04,
0x00, 0x00, 0x00, 0x04, 0x67, 0x61, 0x73, 0x70,
0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x05, 0xD4,
0x00, 0x00, 0x00, 0x08, 0x67, 0x6C, 0x79, 0x66,
0x08, 0x2E, 0x9A, 0x4F, 0x00, 0x00, 0x03, 0x14,
0x00, 0x00, 0x00, 0x8C, 0x68, 0x65, 0x61, 0x64,
0xEF, 0x28, 0xA0, 0x17, 0x00, 0x00, 0x00, 0xDC,
0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61,
0x08, 0x90, 0x05, 0x7D, 0x00, 0x00, 0x01, 0x14,
0x00, 0x00, 0x00, 0x24, 0x68, 0x6D, 0x74, 0x78,
0x11, 0x94, 0x00, 0x85, 0x00, 0x00, 0x01, 0xB0,
0x00, 0x00, 0x00, 0x10, 0x6C, 0x6F, 0x63, 0x61,
0x00, 0x70, 0x00, 0x54, 0x00, 0x00, 0x03, 0x08,
0x00, 0x00, 0x00, 0x0A, 0x6D, 0x61, 0x78, 0x70,
0x00, 0x49, 0x00, 0x3D, 0x00, 0x00, 0x01, 0x38,
0x00, 0x00, 0x00, 0x20, 0x6E, 0x61, 0x6D, 0x65,
0x7A, 0x10, 0x15, 0x3A, 0x00, 0x00, 0x03, 0xA0,
0x00, 0x00, 0x02, 0x07, 0x70, 0x6F, 0x73, 0x74,
0xFF, 0xAE, 0x00, 0x35, 0x00, 0x00, 0x05, 0xA8,
0x00, 0x00, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x32, 0x13, 0xF2, 0xB9,
0x5F, 0x0F, 0x3C, 0xF5, 0x00, 0x0B, 0x03, 0xE8,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x38, 0x2E, 0x6D,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x38, 0x2E, 0x6D,
0x00, 0x21, 0xFF, 0x9C, 0x05, 0x78, 0x02, 0xBC,
0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x02, 0xBC, 0xFF, 0x9C, 0x00, 0x5A, 0x05, 0xDC,
0x00, 0x00, 0x00, 0x00, 0x05, 0x78, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x40, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x05, 0xDC, 0x01, 0xF4, 0x00, 0x05,
0x00, 0x00, 0x02, 0x8A, 0x02, 0xBC, 0x00, 0x00,
0x00, 0x8C, 0x02, 0x8A, 0x02, 0xBC, 0x00, 0x00,
0x01, 0xE0, 0x00, 0x31, 0x01, 0x02, 0x00, 0x00,
0x02, 0x00, 0x06, 0x09, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x50, 0x66, 0x45, 0x64, 0x00, 0x40,
0x00, 0x41, 0x00, 0x41, 0x03, 0x20, 0xFF, 0x38,
0x00, 0x5A, 0x02, 0xBC, 0x00, 0x64, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x05, 0xDC, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00,
0x05, 0xDC, 0x00, 0x00, 0x05, 0xDC, 0x00, 0x64,
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
0x00, 0x00, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x00, 0x03, 0x00, 0x01,
0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x20,
0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01,
0x00, 0x00, 0x00, 0x41, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x41, 0xFF, 0xFF, 0xFF, 0xC2, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0x79,
0x00, 0x00, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x2A,
0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x21,
0x00, 0x00, 0x01, 0x2A, 0x02, 0x9A, 0x00, 0x03,
0x00, 0x07, 0x00, 0x2E, 0xB1, 0x01, 0x00, 0x2F,
0x3C, 0xB2, 0x07, 0x04, 0x00, 0xED, 0x32, 0xB1,
0x06, 0x05, 0xDC, 0x3C, 0xB2, 0x03, 0x02, 0x00,
0xED, 0x32, 0x00, 0xB1, 0x03, 0x00, 0x2F, 0x3C,
0xB2, 0x05, 0x04, 0x00, 0xED, 0x32, 0xB2, 0x07,
0x06, 0x01, 0xFC, 0x3C, 0xB2, 0x01, 0x02, 0x00,
0xED, 0x32, 0x33, 0x11, 0x21, 0x11, 0x27, 0x33,
0x11, 0x23, 0x21, 0x01, 0x09, 0xE8, 0xC7, 0xC7,
0x02, 0x9A, 0xFD, 0x66, 0x21, 0x02, 0x58, 0x00,
0x00, 0x03, 0x00, 0x64, 0xFF, 0x9C, 0x05, 0x78,
0x02, 0xBC, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0B,
0x00, 0x00, 0x01, 0x35, 0x21, 0x15, 0x01, 0x35,
0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x01, 0xF4,
0x01, 0xF4, 0xFD, 0x44, 0x03, 0x84, 0xFB, 0xB4,
0x05, 0x14, 0x01, 0xF4, 0xC8, 0xC8, 0xFE, 0xD4,
0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0E, 0x00, 0xAE, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26,
0x00, 0x4E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x05, 0x00, 0x81, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06,
0x00, 0x95, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x21, 0x00, 0xE0, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05,
0x01, 0x0E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x05, 0x00, 0x10, 0x01, 0x36, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05,
0x01, 0x53, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x03,
0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x0A,
0x00, 0x75, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
0x00, 0x02, 0x00, 0x0C, 0x00, 0x87, 0x00, 0x03,
0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x42,
0x00, 0x9C, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
0x00, 0x04, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x03,
0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x20,
0x01, 0x14, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
0x00, 0x06, 0x00, 0x0A, 0x01, 0x47, 0x00, 0x43,
0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72,
0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74,
0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29,
0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x30,
0x00, 0x38, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x6F,
0x00, 0x7A, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C,
0x00, 0x61, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6F,
0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72,
0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F,
0x00, 0x6E, 0x00, 0x00, 0x43, 0x6F, 0x70, 0x79,
0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63,
0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x4D,
0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x20, 0x43,
0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69,
0x6F, 0x6E, 0x00, 0x00, 0x4D, 0x00, 0x61, 0x00,
0x72, 0x00, 0x6B, 0x00, 0x41, 0x00, 0x00, 0x4D,
0x61, 0x72, 0x6B, 0x41, 0x00, 0x00, 0x4D, 0x00,
0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00,
0x6D, 0x00, 0x00, 0x4D, 0x65, 0x64, 0x69, 0x75,
0x6D, 0x00, 0x00, 0x46, 0x00, 0x6F, 0x00, 0x6E,
0x00, 0x74, 0x00, 0x46, 0x00, 0x6F, 0x00, 0x72,
0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x32,
0x00, 0x2E, 0x00, 0x30, 0x00, 0x20, 0x00, 0x3A,
0x00, 0x20, 0x00, 0x4D, 0x00, 0x61, 0x00, 0x72,
0x00, 0x6B, 0x00, 0x41, 0x00, 0x20, 0x00, 0x3A,
0x00, 0x20, 0x00, 0x35, 0x00, 0x2D, 0x00, 0x31,
0x00, 0x31, 0x00, 0x2D, 0x00, 0x32, 0x00, 0x30,
0x00, 0x30, 0x00, 0x38, 0x00, 0x00, 0x46, 0x6F,
0x6E, 0x74, 0x46, 0x6F, 0x72, 0x67, 0x65, 0x20,
0x32, 0x2E, 0x30, 0x20, 0x3A, 0x20, 0x4D, 0x61,
0x72, 0x6B, 0x41, 0x20, 0x3A, 0x20, 0x35, 0x2D,
0x31, 0x31, 0x2D, 0x32, 0x30, 0x30, 0x38, 0x00,
0x00, 0x4D, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6B,
0x00, 0x41, 0x00, 0x00, 0x4D, 0x61, 0x72, 0x6B,
0x41, 0x00, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72,
0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E,
0x00, 0x20, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31,
0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
0x00, 0x20, 0x00, 0x00, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6F, 0x6E, 0x20, 0x30, 0x30, 0x31, 0x2E,
0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x4D, 0x00,
0x61, 0x00, 0x72, 0x00, 0x6B, 0x00, 0x41, 0x00,
0x00, 0x4D, 0x61, 0x72, 0x6B, 0x41, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x83, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xFF, 0xFF, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0xC4, 0x3E, 0x8B, 0xEE,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x38, 0x2E, 0x6D,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x38, 0x2E, 0x6D
];
const BinaryOutputStream =
Components.Constructor("@mozilla.org/binaryoutputstream;1",
"nsIBinaryOutputStream", "setOutputStream");
var timer;
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");
response.setHeader("Content-Type", "font/opentype", false);
response.processAsync();
function fontWrite(data) {
var stream = new BinaryOutputStream(response.bodyOutputStream);
stream.writeByteArray(data, data.length);
}
const nsITimer = Components.interfaces.nsITimer;
timer = Components.classes["@mozilla.org/timer;1"].createInstance(nsITimer);
timer.initWithCallback(function() {
fontWrite(markA_data);
response.finish();
}, 100, nsITimer.TYPE_ONE_SHOT);
}

Просмотреть файл

@ -176,6 +176,8 @@ HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html
HTTP(..) == bug-1481905-cancel-load.html bug-1481905-cancel-load-ref.html
# font-display
skip-if(/^Linux\x20i686/.test(http.oscpu)) HTTP(..) == font-display-1.html font-display-1-ref.html # normal font load (~500ms)
# ^ disabled due to intermittents due to timing issues -- Bug 1238222
@ -206,4 +208,5 @@ fails-if(winWidget||gtkWidget||(cocoaWidget&&OSX<1012)) == variation-format-hint
fails-if(winWidget||gtkWidget||(cocoaWidget&&OSX<1012)) == variation-format-hint-1b.html variation-format-hint-1B-otf-ref.html
fails-if(winWidget||gtkWidget||(cocoaWidget&&OSX<1012)) == variation-format-hint-1c.html variation-format-hint-1B-woff-ref.html
fails-if(winWidget||gtkWidget||(cocoaWidget&&OSX<1012)) == variation-format-hint-1d.html variation-format-hint-1B-woff2-ref.html
default-preferences

Просмотреть файл

@ -325,8 +325,7 @@ nsFontFaceLoader::OnStopRequest(nsIRequest* aRequest,
void
nsFontFaceLoader::Cancel()
{
mUserFontEntry->mFontDataLoadingState = gfxUserFontEntry::NOT_LOADING;
mUserFontEntry->mLoader = nullptr;
mUserFontEntry->LoadCanceled();
mFontFaceSet = nullptr;
if (mLoadTimer) {
mLoadTimer->Cancel();

Просмотреть файл

@ -810,39 +810,12 @@ class RecursiveMakeBackend(CommonBackend):
compile_roots = [t for t, deps in self._compile_graph.iteritems()
if not deps or t not in all_compile_deps]
def add_category_rules(category, roots, graph):
rule = root_deps_mk.create_rule(['recurse_%s' % category])
rule.add_dependencies(roots)
for target, deps in sorted(graph.items()):
if deps:
rule = root_deps_mk.create_rule([target])
rule.add_dependencies(deps)
non_default_roots = defaultdict(list)
non_default_graphs = defaultdict(lambda: OrderedDefaultDict(set))
default_root_dirs = set()
for root in compile_roots:
# If this is a non-default target, separate the root from the
# rest of the compile graph.
target_name = mozpath.basename(root)
if target_name not in ('target', 'host'):
non_default_roots[target_name].append(root)
compile_roots.remove(root)
non_default_graphs[target_name][root] = self._compile_graph[root]
del self._compile_graph[root]
else:
dir_name = mozpath.dirname(root)
default_root_dirs.add(dir_name)
# If a directory only contains non-default compile targets, we don't
# attempt to dump symbols there.
self._no_skip['syms'] &= default_root_dirs
add_category_rules('compile', compile_roots, self._compile_graph)
for category, graph in non_default_graphs.iteritems():
add_category_rules(category, non_default_roots[category], graph)
rule = root_deps_mk.create_rule(['recurse_compile'])
rule.add_dependencies(compile_roots)
for target, deps in sorted(self._compile_graph.items()):
if deps:
rule = root_deps_mk.create_rule([target])
rule.add_dependencies(deps)
root_mk = Makefile()
@ -858,15 +831,6 @@ class RecursiveMakeBackend(CommonBackend):
root_mk.add_statement('syms_targets := %s' % ' '.join(sorted(
set('%s/syms' % d for d in self._no_skip['syms']))))
root_mk.add_statement('non_default_tiers := %s' % ' '.join(sorted(
non_default_roots.keys())))
for category, graphs in non_default_graphs.iteritems():
category_dirs = [mozpath.dirname(target)
for target in graphs.keys()]
root_mk.add_statement('%s_dirs := %s' % (category,
' '.join(category_dirs)))
root_mk.add_statement('include root-deps.mk')
with self._write_file(
@ -1288,10 +1252,6 @@ class RecursiveMakeBackend(CommonBackend):
backend_file.write('COMPUTED_%s += %s\n' % (var,
' '.join(make_quote(shell_quote(f)) for f in flags)))
def _process_non_default_target(self, libdef, target_name, backend_file):
backend_file.write("%s:: %s\n" % (libdef.output_category, target_name))
backend_file.write('MOZBUILD_NON_DEFAULT_TARGETS += %s\n' % target_name)
def _process_shared_library(self, libdef, backend_file):
backend_file.write_once('LIBRARY_NAME := %s\n' % libdef.basename)
backend_file.write('FORCE_SHARED_LIB := 1\n')
@ -1303,14 +1263,6 @@ class RecursiveMakeBackend(CommonBackend):
backend_file.write('SYMBOLS_FILE := %s\n' % libdef.symbols_file)
if not libdef.cxx_link:
backend_file.write('LIB_IS_C_ONLY := 1\n')
if libdef.output_category:
self._process_non_default_target(libdef, libdef.lib_name,
backend_file)
# Override the install rule target for this library. This is hacky,
# but can go away as soon as we start building libraries in their
# final location (bug 1459764).
backend_file.write('SHARED_LIBRARY_TARGET := %s\n' %
libdef.output_category)
def _process_static_library(self, libdef, backend_file):
backend_file.write_once('LIBRARY_NAME := %s\n' % libdef.basename)
@ -1331,8 +1283,6 @@ class RecursiveMakeBackend(CommonBackend):
backend_file.write('CARGO_TARGET_DIR := %s\n' % target_dir)
if libdef.features:
backend_file.write('%s := %s\n' % (libdef.FEATURES_VAR, ' '.join(libdef.features)))
if libdef.output_category:
self._process_non_default_target(libdef, libdef.import_name, backend_file)
def _process_host_library(self, libdef, backend_file):
backend_file.write('HOST_LIBRARY_NAME = %s\n' % libdef.basename)
@ -1341,11 +1291,8 @@ class RecursiveMakeBackend(CommonBackend):
backend_file.write('HOST_SHARED_LIBRARY = %s\n' % libdef.lib_name)
def _build_target_for_obj(self, obj):
target_name = obj.KIND
if hasattr(obj, 'output_category') and obj.output_category:
target_name = obj.output_category
return '%s/%s' % (mozpath.relpath(obj.objdir,
self.environment.topobjdir), target_name)
self.environment.topobjdir), obj.KIND)
def _process_linked_libraries(self, obj, backend_file):
def pretty_relpath(lib, name):

Просмотреть файл

@ -256,29 +256,23 @@ class TupBackend(CommonBackend):
# These are 'group' dependencies - All rules that list these as an output
# will be built before any rules that list this as an input.
self._installed_idls = self._output_group('installed-idls')
self._installed_files = self._output_group('installed-files')
self._rust_libs = self._output_group('rust-libs')
self._installed_idls = '$(MOZ_OBJ_ROOT)/<installed-idls>'
self._installed_files = '$(MOZ_OBJ_ROOT)/<installed-files>'
self._rust_libs = '$(MOZ_OBJ_ROOT)/<rust-libs>'
# The preprocessor including source-repo.h and buildid.h creates
# dependencies that aren't specified by moz.build and cause errors
# in Tup. Express these as a group dependency.
self._early_generated_files = self._output_group('early-generated-files')
self._early_generated_files = '$(MOZ_OBJ_ROOT)/<early-generated-files>'
self._shlibs = self._output_group('shlibs')
self._default_group = self._output_group('default')
self._shlibs = '$(MOZ_OBJ_ROOT)/<shlibs>'
self._gtests = '$(MOZ_OBJ_ROOT)/<gtest>'
self._default_group = '$(MOZ_OBJ_ROOT)/<default>'
self._rust_cmds = set()
self._built_in_addons = set()
self._built_in_addons_file = 'dist/bin/browser/chrome/browser/content/browser/built_in_addons.json'
def _output_group(self, label):
if label:
return '$(MOZ_OBJ_ROOT)/<%s>' % label
def _rust_output_group(self, label):
if label:
return self._output_group('rust-' + label)
def _get_mozconfig_env(self, config):
env = {}
@ -349,8 +343,8 @@ class TupBackend(CommonBackend):
shlib = backend_file.shared_lib
output_group = self._shlibs
if shlib.output_category:
output_group = self._output_group(shlib.output_category)
if 'toolkit/library/gtest' in backend_file.objdir:
output_group = self._gtests
if shlib.cxx_link:
mkshlib = (
@ -377,16 +371,16 @@ class TupBackend(CommonBackend):
list_file_name = '%s.list' % shlib.name.replace('.', '_')
list_file = self._make_list_file(backend_file.objdir, objs, list_file_name)
rust_linked = [l for l in backend_file.shared_lib.linked_libraries
if isinstance(l, RustLibrary)]
rust_linked = self._lib_paths(backend_file.objdir,
(l for l in backend_file.shared_lib.linked_libraries
if isinstance(l, RustLibrary)))
inputs = objs + static_libs + shared_libs
extra_inputs = []
if rust_linked:
extra_inputs = [self._rust_output_group(rust_linked[0].output_category) or
self._rust_libs]
static_libs += self._lib_paths(backend_file.objdir, rust_linked)
extra_inputs = [self._rust_libs]
static_libs += rust_linked
symbols_file = []
if (shlib.symbols_file and
@ -745,7 +739,7 @@ class TupBackend(CommonBackend):
return env
def _gen_cargo_rules(self, backend_file, build_plan, cargo_env, output_group):
def _gen_cargo_rules(self, backend_file, build_plan, cargo_env):
invocations = build_plan['invocations']
processed = set()
@ -837,14 +831,14 @@ class TupBackend(CommonBackend):
command,
inputs=sorted(inputs),
outputs=outputs,
output_group=output_group,
output_group=self._rust_libs,
extra_inputs=[self._installed_files],
display='%s %s' % (header, display_name(invocation)),
check_unchanged=check_unchanged,
)
for dst, link in invocation['links'].iteritems():
rust_backend_file.symlink_rule(link, dst, output_group)
rust_backend_file.symlink_rule(link, dst, self._rust_libs)
for val in enumerate(invocations):
_process(*val)
@ -868,10 +862,7 @@ class TupBackend(CommonBackend):
'\n'.join(output_lines))
cargo_plan = json.loads(''.join(output_lines))
self._gen_cargo_rules(backend_file, cargo_plan, cargo_env,
self._rust_output_group(obj.output_category) or
self._rust_libs)
self._gen_cargo_rules(backend_file, cargo_plan, cargo_env)
self.backend_input_files |= set(cargo_plan['inputs'])

Просмотреть файл

@ -1552,18 +1552,6 @@ VARIABLES = {
Implies FORCE_SHARED_LIB.
"""),
'SHARED_LIBRARY_OUTPUT_CATEGORY': (unicode, unicode,
"""The output category for this context's shared library. If set this will
correspond to the build command that will build this shared library, and
the library will not be built as part of the default build.
"""),
'RUST_LIBRARY_OUTPUT_CATEGORY': (unicode, unicode,
"""The output category for this context's rust library. If set this will
correspond to the build command that will build this rust library, and
the library will not be built as part of the default build.
"""),
'IS_FRAMEWORK': (bool, bool,
"""Whether the library to build should be built as a framework on OSX.

Просмотреть файл

@ -673,7 +673,6 @@ class RustLibrary(StaticLibrary):
'deps_path',
'features',
'target_dir',
'output_category',
)
TARGET_SUBST_VAR = 'RUST_TARGET'
FEATURES_VAR = 'RUST_LIBRARY_FEATURES'
@ -695,7 +694,6 @@ class RustLibrary(StaticLibrary):
self.dependencies = dependencies
self.features = features
self.target_dir = target_dir
self.output_category = context.get('RUST_LIBRARY_OUTPUT_CATEGORY')
# Skip setting properties below which depend on cargo
# when we don't have a compile environment. The required
# config keys won't be available, but the instance variables
@ -715,7 +713,6 @@ class SharedLibrary(Library):
'soname',
'variant',
'symbols_file',
'output_category',
)
DICT_ATTRS = {
@ -736,7 +733,6 @@ class SharedLibrary(Library):
Library.__init__(self, context, basename, real_name)
self.variant = variant
self.lib_name = real_name or basename
self.output_category = context.get('SHARED_LIBRARY_OUTPUT_CATEGORY')
assert self.lib_name
if variant == self.FRAMEWORK:

Просмотреть файл

@ -601,12 +601,19 @@ class GTestCommands(MachCommandBase):
active_backend = config.substs.get('BUILD_BACKENDS', [None])[0]
if 'Tup' in active_backend:
gtest_build_target = mozpath.join(self.topobjdir, '<gtest>')
gtest_build_path = mozpath.join(self.topobjdir, '<gtest>')
else:
gtest_build_target = 'recurse_gtest'
# This path happens build the necessary parts of the tree in the
# Make backend due to the odd nature of partial tree builds.
gtest_build_path = mozpath.relpath(mozpath.join(self.topobjdir,
'toolkit', 'library',
'gtest', 'rust'),
self.topsrcdir)
os.environ[b'LINK_GTEST_DURING_COMPILE'] = b'1'
res = self._mach_context.commands.dispatch('build', self._mach_context,
what=[gtest_build_target])
what=[gtest_build_path])
del os.environ[b'LINK_GTEST_DURING_COMPILE']
if res:
print("Could not build xul-gtest")
return res

Просмотреть файл

@ -132775,6 +132775,18 @@
{}
]
],
"css/css-sizing/orthogonal-writing-mode-float-in-inline.html": [
[
"/css/css-sizing/orthogonal-writing-mode-float-in-inline.html",
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"css/css-sizing/whitespace-and-break.html": [
[
"/css/css-sizing/whitespace-and-break.html",
@ -185711,6 +185723,18 @@
{}
]
],
"svg/painting/reftests/markers-orient-001.svg": [
[
"/svg/painting/reftests/markers-orient-001.svg",
[
[
"/svg/painting/reftests/markers-orient-001-ref.svg",
"=="
]
],
{}
]
],
"svg/painting/reftests/paint-context-001.svg": [
[
"/svg/painting/reftests/paint-context-001.svg",
@ -186131,6 +186155,138 @@
{}
]
],
"svg/text/reftests/text-inline-size-001.svg": [
[
"/svg/text/reftests/text-inline-size-001.svg",
[
[
"/svg/text/reftests/text-inline-size-001-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-002.svg": [
[
"/svg/text/reftests/text-inline-size-002.svg",
[
[
"/svg/text/reftests/text-inline-size-002-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-003.svg": [
[
"/svg/text/reftests/text-inline-size-003.svg",
[
[
"/svg/text/reftests/text-inline-size-003-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-005.svg": [
[
"/svg/text/reftests/text-inline-size-005.svg",
[
[
"/svg/text/reftests/text-inline-size-005-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-006.svg": [
[
"/svg/text/reftests/text-inline-size-006.svg",
[
[
"/svg/text/reftests/text-inline-size-006-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-007.svg": [
[
"/svg/text/reftests/text-inline-size-007.svg",
[
[
"/svg/text/reftests/text-inline-size-007-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-101.svg": [
[
"/svg/text/reftests/text-inline-size-101.svg",
[
[
"/svg/text/reftests/text-inline-size-101-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-inline-size-201.svg": [
[
"/svg/text/reftests/text-inline-size-201.svg",
[
[
"/svg/text/reftests/text-inline-size-201-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-multiline-001.svg": [
[
"/svg/text/reftests/text-multiline-001.svg",
[
[
"/svg/text/reftests/text-multiline-001-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-multiline-002.svg": [
[
"/svg/text/reftests/text-multiline-002.svg",
[
[
"/svg/text/reftests/text-multiline-002-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/text-multiline-003.svg": [
[
"/svg/text/reftests/text-multiline-003.svg",
[
[
"/svg/text/reftests/text-multiline-003-ref.svg",
"=="
]
],
{}
]
],
"svg/text/reftests/textpath-shape-001.svg": [
[
"/svg/text/reftests/textpath-shape-001.svg",
@ -289232,6 +289388,11 @@
{}
]
],
"interfaces/screen-capture.idl": [
[
{}
]
],
"interfaces/screen-orientation.idl": [
[
{}
@ -296802,6 +296963,11 @@
{}
]
],
"screen-capture/META.yml": [
[
{}
]
],
"screen-orientation/META.yml": [
[
{}
@ -300422,6 +300588,11 @@
{}
]
],
"svg/linking/scripted/resources/a-download-click.svg": [
[
{}
]
],
"svg/linking/scripted/testScripts/dummyScript.js": [
[
{}
@ -300462,6 +300633,11 @@
{}
]
],
"svg/painting/reftests/markers-orient-001-ref.svg": [
[
{}
]
],
"svg/painting/reftests/paint-context-001-ref.svg": [
[
{}
@ -300622,6 +300798,61 @@
{}
]
],
"svg/text/reftests/text-inline-size-001-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-002-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-003-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-005-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-006-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-007-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-101-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-inline-size-201-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-multiline-001-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-multiline-002-ref.svg": [
[
{}
]
],
"svg/text/reftests/text-multiline-003-ref.svg": [
[
{}
]
],
"svg/text/reftests/textpath-shape-001-ref.svg": [
[
{}
@ -329071,6 +329302,12 @@
{}
]
],
"css/css-grid/alignment/grid-content-alignment-second-pass-002.html": [
[
"/css/css-grid/alignment/grid-content-alignment-second-pass-002.html",
{}
]
],
"css/css-grid/alignment/grid-fit-content-tracks-dont-stretch-001.html": [
[
"/css/css-grid/alignment/grid-fit-content-tracks-dont-stretch-001.html",
@ -329731,6 +329968,18 @@
{}
]
],
"css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html": [
[
"/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html",
{}
]
],
"css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002.html": [
[
"/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002.html",
{}
]
],
"css/css-grid/grid-definition/grid-shorthand-001.html": [
[
"/css/css-grid/grid-definition/grid-shorthand-001.html",
@ -386921,6 +387170,12 @@
{}
]
],
"screen-capture/idlharness.window.js": [
[
"/screen-capture/idlharness.window.html",
{}
]
],
"screen-orientation/idlharness.window.js": [
[
"/screen-orientation/idlharness.window.html",
@ -390931,6 +391186,36 @@
{}
]
],
"svg/linking/scripted/a-download-click.svg": [
[
"/svg/linking/scripted/a-download-click.svg",
{}
]
],
"svg/linking/scripted/a.rel-getter-01.svg": [
[
"/svg/linking/scripted/a.rel-getter-01.svg",
{}
]
],
"svg/linking/scripted/a.rel-setter-01.svg": [
[
"/svg/linking/scripted/a.rel-setter-01.svg",
{}
]
],
"svg/linking/scripted/a.text-getter-01.svg": [
[
"/svg/linking/scripted/a.text-getter-01.svg",
{}
]
],
"svg/linking/scripted/a.text-setter-01.svg": [
[
"/svg/linking/scripted/a.text-setter-01.svg",
{}
]
],
"svg/linking/scripted/href-animate-element.html": [
[
"/svg/linking/scripted/href-animate-element.html",
@ -390955,6 +391240,12 @@
{}
]
],
"svg/linking/scripted/rellist-feature-detection.svg": [
[
"/svg/linking/scripted/rellist-feature-detection.svg",
{}
]
],
"svg/path/error-handling/bounding.svg": [
[
"/svg/path/error-handling/bounding.svg",
@ -391279,6 +391570,12 @@
{}
]
],
"svg/types/scripted/event-handler-all-document-element-events.svg": [
[
"/svg/types/scripted/event-handler-all-document-element-events.svg",
{}
]
],
"touch-events/historical.html": [
[
"/touch-events/historical.html",
@ -398495,9 +398792,9 @@
{}
]
],
"workers/WorkerGlobalScope_requestAnimationFrame.htm": [
"workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js": [
[
"/workers/WorkerGlobalScope_requestAnimationFrame.htm",
"/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.html",
{}
]
],
@ -420602,6 +420899,54 @@
"/css/selectors/selection-image-001-noref.html",
{}
]
],
"svg/text/visualtests/text-inline-size-001-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-001-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-002-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-002-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-003-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-003-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-005-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-005-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-006-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-006-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-007-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-007-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-101-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-101-visual.svg",
{}
]
],
"svg/text/visualtests/text-inline-size-201-visual.svg": [
[
"/svg/text/visualtests/text-inline-size-201-visual.svg",
{}
]
]
},
"wdspec": {
@ -513849,7 +514194,7 @@
"reftest"
],
"css/css-backgrounds/background-attachment-local/reftest.list": [
"6984fafc5d9a883b1f2e284e589ff525f643e6b7",
"b1d23371e3e5ef66de8d2bf3ef78fa4d3ce83803",
"support"
],
"css/css-backgrounds/background-clip-001.html": [
@ -532548,6 +532893,10 @@
"5b4bbabbb160079796aa4eb6786ea15383f6dd75",
"testharness"
],
"css/css-grid/alignment/grid-content-alignment-second-pass-002.html": [
"a6837e3debba198fc6c9fb8fff1a649e3408314a",
"testharness"
],
"css/css-grid/alignment/grid-content-distribution-001.html": [
"7b53a2897b83d20ff7cd12db85f576830953b56e",
"reftest"
@ -533308,6 +533657,14 @@
"ac0273f83aae54e0a565fee073c6943747b9b40f",
"reftest"
],
"css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html": [
"cdae02a8debf3d0f87508675774cc7e48a5566e3",
"testharness"
],
"css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002.html": [
"8285a91d8ba57f9a6167afc28b95e9dee0aef2b7",
"testharness"
],
"css/css-grid/grid-definition/grid-shorthand-001.html": [
"476415e8dfe679340b53b8a3400191d8c8210916",
"testharness"
@ -542328,6 +542685,10 @@
"f105d942043c44efa0b9e1ec58798db8f9b64a8c",
"reftest"
],
"css/css-sizing/orthogonal-writing-mode-float-in-inline.html": [
"fa95069dbf0083b0dc7095d2bb3acf20a6ccf898",
"reftest"
],
"css/css-sizing/whitespace-and-break.html": [
"f3ea3764478488b949433daccddf710cd0a91006",
"reftest"
@ -565485,7 +565846,7 @@
"testharness"
],
"css/cssom/overflow-serialization.html": [
"136b8aba117eb64403700d8c4348db085cede9c8",
"2911c8da3e3ae47af4fd764170fd7439cda56685",
"testharness"
],
"css/cssom/preferred-stylesheet-order.html": [
@ -604696,6 +605057,10 @@
"2668f912301c15a5893309f2c49e3c185a2f50df",
"support"
],
"interfaces/screen-capture.idl": [
"ae96a3c2ba525b88560b386b4b4f1d7eef1f6b27",
"support"
],
"interfaces/screen-orientation.idl": [
"742024845614ad07ddecb6062bc007d0ab9f9cd3",
"support"
@ -625289,7 +625654,7 @@
"support"
],
"resources/testharness.js": [
"fdd9820b2a367b5ee05d70a2b797bc8648f6f9be",
"0ea7a2a7f48424708ef661e2dbcecdb8b916c81a",
"support"
],
"resources/testharness.js.headers": [
@ -626700,6 +627065,14 @@
"e84076b4f28ce38cbb41e47681ac97843df0e427",
"support"
],
"screen-capture/META.yml": [
"6e5b23cd9672274d43c8d8bebe9bed66f7e651ee",
"support"
],
"screen-capture/idlharness.window.js": [
"076e89f275c9e5c583780e83bd96f1f79ed80fdd",
"testharness"
],
"screen-orientation/META.yml": [
"dc3f290196fabe6e4594a498282fc0091134bdad",
"support"
@ -634600,6 +634973,26 @@
"dae3fc1173b9280de8959edff3d5991a8b4c7593",
"support"
],
"svg/linking/scripted/a-download-click.svg": [
"406d0e6ba56681ea3026c74614fe79a83f3aa61e",
"testharness"
],
"svg/linking/scripted/a.rel-getter-01.svg": [
"f4f1fdb4f3af9233b7121f828e47d2ccaae7a975",
"testharness"
],
"svg/linking/scripted/a.rel-setter-01.svg": [
"55470a81b56973667cf5aae33ef4b4a78e686bab",
"testharness"
],
"svg/linking/scripted/a.text-getter-01.svg": [
"d0b26f2042e4cfdc12ef9211b0408db6b22d91af",
"testharness"
],
"svg/linking/scripted/a.text-setter-01.svg": [
"53ad8fce9a6979ae7c81566958b6732ebe975b87",
"testharness"
],
"svg/linking/scripted/href-animate-element.html": [
"f0b99209a80193db0ffe994d18fc2c42e6485ea5",
"testharness"
@ -634616,6 +635009,14 @@
"48f49085080de3747edbadacae7ee50ffcc65e39",
"testharness"
],
"svg/linking/scripted/rellist-feature-detection.svg": [
"c600d64c38696e43fd4970d12ccbf3848fe78d17",
"testharness"
],
"svg/linking/scripted/resources/a-download-click.svg": [
"5d18c3088ad9a62b117f9cfb0aa013e72209699f",
"support"
],
"svg/linking/scripted/testScripts/dummyScript.js": [
"fbf3c34d61360c49b52b04c8bb31f1d276110751",
"support"
@ -634660,6 +635061,14 @@
"bff502c22bab402ca2ef2fbd2ced5c06f1de9dcd",
"reftest"
],
"svg/painting/reftests/markers-orient-001-ref.svg": [
"871003f3a2303404696d467a7cfaad729b811206",
"support"
],
"svg/painting/reftests/markers-orient-001.svg": [
"55c2394075ee59449d7160f6a6c71110d3a02d9a",
"reftest"
],
"svg/painting/reftests/paint-context-001-ref.svg": [
"99bd8c44cb78a4b0340ad6456c7e58e4ca397257",
"support"
@ -635000,6 +635409,94 @@
"51303171f09d28e3958ab74ecdce7f9cf120bd12",
"testharness"
],
"svg/text/reftests/text-inline-size-001-ref.svg": [
"6abd211584ea3b500e409c0f0fa956182fe131e6",
"support"
],
"svg/text/reftests/text-inline-size-001.svg": [
"ae1a10d190ac0f04a2a3168ff8096aaa4fa60066",
"reftest"
],
"svg/text/reftests/text-inline-size-002-ref.svg": [
"66f771e310d4de86ba8ed1aa982054c3247a2b59",
"support"
],
"svg/text/reftests/text-inline-size-002.svg": [
"141909c3e57335f7bbfda0cb04aaef1f5c76c492",
"reftest"
],
"svg/text/reftests/text-inline-size-003-ref.svg": [
"289b92a02ae5c8627cbde0d983a08cb2a096eb7c",
"support"
],
"svg/text/reftests/text-inline-size-003.svg": [
"9fcab5ba0adb13d30a0721cd83da84648b36db9b",
"reftest"
],
"svg/text/reftests/text-inline-size-005-ref.svg": [
"af756b69645d323f084f77287d58e96c8dbc6de6",
"support"
],
"svg/text/reftests/text-inline-size-005.svg": [
"e6a1d75c0502611e7648abfe83deda021731ebcb",
"reftest"
],
"svg/text/reftests/text-inline-size-006-ref.svg": [
"9c32e841a61432edaf9486caab9eb21e7c5b5922",
"support"
],
"svg/text/reftests/text-inline-size-006.svg": [
"b84e3d5302fe5b811988fb7a7d6b5261653536fc",
"reftest"
],
"svg/text/reftests/text-inline-size-007-ref.svg": [
"181785117fb4a434748870ff69518473925b5090",
"support"
],
"svg/text/reftests/text-inline-size-007.svg": [
"9d18b52d2ee957c68fb2ab0b049841bd67e052ee",
"reftest"
],
"svg/text/reftests/text-inline-size-101-ref.svg": [
"ab41dea8da5c9e7df7e7d179ed63a5f8ff2fb67f",
"support"
],
"svg/text/reftests/text-inline-size-101.svg": [
"fa8bf5ef5cfecc3c2e5793a75477dc7db9c2ac8a",
"reftest"
],
"svg/text/reftests/text-inline-size-201-ref.svg": [
"b1eb7c747354b5e6fe8b5bd251199f1ce8a4a91d",
"support"
],
"svg/text/reftests/text-inline-size-201.svg": [
"5ab3213a69be9982709b46566f42668e4f623be5",
"reftest"
],
"svg/text/reftests/text-multiline-001-ref.svg": [
"9238a88da59bb53f8c3eac1fb77d11024f850e38",
"support"
],
"svg/text/reftests/text-multiline-001.svg": [
"1272f56b0b6cbb7cc0b7335c35e55af44cefe0d8",
"reftest"
],
"svg/text/reftests/text-multiline-002-ref.svg": [
"5ba04b7dc225000a279fcae5aa09135d24185fbb",
"support"
],
"svg/text/reftests/text-multiline-002.svg": [
"e1093512583fe65e8731a6e2bc4759fd42279f05",
"reftest"
],
"svg/text/reftests/text-multiline-003-ref.svg": [
"cbfce51b88e8be12f4a29945444b819066d5f74d",
"support"
],
"svg/text/reftests/text-multiline-003.svg": [
"e52bb770521c1b60a6b3998324882a36153ef243",
"reftest"
],
"svg/text/reftests/textpath-shape-001-ref.svg": [
"10827c85810cdf9dc7e70a665c289814d35ed219",
"support"
@ -635016,6 +635513,38 @@
"a4b6bf52bd2c6bd7492d18f32ded4b7590b302f9",
"reftest"
],
"svg/text/visualtests/text-inline-size-001-visual.svg": [
"086bab33b0030bb1d40dc17f960b7e3cbb098ae6",
"visual"
],
"svg/text/visualtests/text-inline-size-002-visual.svg": [
"7f58973ce359b79113247ca28a155216687e0d13",
"visual"
],
"svg/text/visualtests/text-inline-size-003-visual.svg": [
"19bf0dc9d53d81c7a65a0c2a200ec5b3c1d7e771",
"visual"
],
"svg/text/visualtests/text-inline-size-005-visual.svg": [
"dab467e1221be1da26d5194414cb54c766074a5c",
"visual"
],
"svg/text/visualtests/text-inline-size-006-visual.svg": [
"427ff09501b75b4e58429d42ad2339e43c596d7d",
"visual"
],
"svg/text/visualtests/text-inline-size-007-visual.svg": [
"8bb078f95b0743452caf08d2367260902dc1059e",
"visual"
],
"svg/text/visualtests/text-inline-size-101-visual.svg": [
"e1c5c416931ad35437bb1f480ed896e18dce50ba",
"visual"
],
"svg/text/visualtests/text-inline-size-201-visual.svg": [
"f2649eaad28fe66a6534f2e2c0f26e291c5ee38d",
"visual"
],
"svg/types/elements/SVGGeometryElement-rect.svg": [
"d4b278f2836f75fd3f6cbe8460d20147116e4bfe",
"testharness"
@ -635160,6 +635689,10 @@
"c81a23394468f2e4d586d4e6ece5be713470d485",
"testharness"
],
"svg/types/scripted/event-handler-all-document-element-events.svg": [
"fa813dd1dd31987d2792aaa14a5f7ea996a8054d",
"testharness"
],
"svg/types/scripted/resources/SVGLengthList-helper.js": [
"3cf888b7dbaeb370ef1b34409540337dee2c8e33",
"support"
@ -650932,8 +651465,8 @@
"d99cecdc6a5109a7e664035726985235ba1248c3",
"testharness"
],
"workers/WorkerGlobalScope_requestAnimationFrame.htm": [
"c5efd53c210a72b7e188b74794ebfd044ca9a701",
"workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js": [
"e1b0b9f15a696237a135696b0f010067a77d4bea",
"testharness"
],
"workers/WorkerGlobalScope_setInterval.htm": [

Просмотреть файл

@ -0,0 +1,25 @@
[grid-content-alignment-second-pass-002.html]
[.grid 1]
expected: FAIL
[.grid 3]
expected: FAIL
[.grid 2]
expected: FAIL
[.grid 5]
expected: FAIL
[.grid 4]
expected: FAIL
[.grid 7]
expected: FAIL
[.grid 6]
expected: FAIL
[.grid 8]
expected: FAIL

Просмотреть файл

@ -0,0 +1,313 @@
[grid-percentage-rows-indefinite-height-001.html]
[.grid 2]
expected: FAIL
[.grid 3]
expected: FAIL
[.grid 5]
expected: FAIL
[.grid 6]
expected: FAIL
[.grid 8]
expected: FAIL
[.grid 9]
expected: FAIL
[.grid 11]
expected: FAIL
[.grid 12]
expected: FAIL
[.grid 14]
expected: FAIL
[.grid 15]
expected: FAIL
[.grid 17]
expected: FAIL
[.grid 18]
expected: FAIL
[.grid 20]
expected: FAIL
[.grid 21]
expected: FAIL
[.grid 23]
expected: FAIL
[.grid 24]
expected: FAIL
[.grid 25]
expected: FAIL
[.grid 26]
expected: FAIL
[.grid 27]
expected: FAIL
[.grid 28]
expected: FAIL
[.grid 29]
expected: FAIL
[.grid 30]
expected: FAIL
[.grid 31]
expected: FAIL
[.grid 32]
expected: FAIL
[.grid 33]
expected: FAIL
[.grid 34]
expected: FAIL
[.grid 35]
expected: FAIL
[.grid 36]
expected: FAIL
[.grid 37]
expected: FAIL
[.grid 38]
expected: FAIL
[.grid 39]
expected: FAIL
[.grid 40]
expected: FAIL
[.grid 41]
expected: FAIL
[.grid 42]
expected: FAIL
[.grid 43]
expected: FAIL
[.grid 44]
expected: FAIL
[.grid 45]
expected: FAIL
[.grid 46]
expected: FAIL
[.grid 47]
expected: FAIL
[.grid 48]
expected: FAIL
[.grid 49]
expected: FAIL
[.grid 50]
expected: FAIL
[.grid 51]
expected: FAIL
[.grid 52]
expected: FAIL
[.grid 53]
expected: FAIL
[.grid 54]
expected: FAIL
[.grid 55]
expected: FAIL
[.grid 56]
expected: FAIL
[.grid 57]
expected: FAIL
[.grid 58]
expected: FAIL
[.grid 59]
expected: FAIL
[.grid 60]
expected: FAIL
[.grid 61]
expected: FAIL
[.grid 62]
expected: FAIL
[.grid 63]
expected: FAIL
[.grid 64]
expected: FAIL
[.grid 65]
expected: FAIL
[.grid 66]
expected: FAIL
[.grid 67]
expected: FAIL
[.grid 68]
expected: FAIL
[.grid 69]
expected: FAIL
[.grid 70]
expected: FAIL
[.grid 71]
expected: FAIL
[.grid 72]
expected: FAIL
[.grid 74]
expected: FAIL
[.grid 75]
expected: FAIL
[.grid 76]
expected: FAIL
[.grid 77]
expected: FAIL
[.grid 78]
expected: FAIL
[.grid 80]
expected: FAIL
[.grid 81]
expected: FAIL
[.grid 82]
expected: FAIL
[.grid 83]
expected: FAIL
[.grid 84]
expected: FAIL
[.grid 86]
expected: FAIL
[.grid 87]
expected: FAIL
[.grid 88]
expected: FAIL
[.grid 89]
expected: FAIL
[.grid 90]
expected: FAIL
[.grid 92]
expected: FAIL
[.grid 93]
expected: FAIL
[.grid 94]
expected: FAIL
[.grid 95]
expected: FAIL
[.grid 96]
expected: FAIL
[.grid 98]
expected: FAIL
[.grid 99]
expected: FAIL
[.grid 100]
expected: FAIL
[.grid 101]
expected: FAIL
[.grid 102]
expected: FAIL
[.grid 104]
expected: FAIL
[.grid 105]
expected: FAIL
[.grid 106]
expected: FAIL
[.grid 107]
expected: FAIL
[.grid 108]
expected: FAIL
[.grid 110]
expected: FAIL
[.grid 111]
expected: FAIL
[.grid 112]
expected: FAIL
[.grid 113]
expected: FAIL
[.grid 114]
expected: FAIL
[.grid 116]
expected: FAIL
[.grid 117]
expected: FAIL
[.grid 118]
expected: FAIL
[.grid 119]
expected: FAIL
[.grid 120]
expected: FAIL

Просмотреть файл

@ -0,0 +1,13 @@
[grid-percentage-rows-indefinite-height-002.html]
[.grid 1]
expected: FAIL
[.grid 2]
expected: FAIL
[.grid 3]
expected: FAIL
[.grid 4]
expected: FAIL

Просмотреть файл

@ -1,5 +1,5 @@
[304-update.html]
disabled:
if (os == "linux") :https://bugzilla.mozilla.org/show_bug.cgi?id=1477342
if (os == "mac") :https://bugzilla.mozilla.org/show_bug.cgi?id=1477342
if (os == "win") and (version == "10.0.15603") :https://bugzilla.mozilla.org/show_bug.cgi?id=1477342
if os == "linux": https://bugzilla.mozilla.org/show_bug.cgi?id=1477342
if os == "mac": https://bugzilla.mozilla.org/show_bug.cgi?id=1477342
if (os == "win") and (version == "10.0.15603"): https://bugzilla.mozilla.org/show_bug.cgi?id=1477342

Просмотреть файл

@ -1,2 +1,2 @@
local: d3e0beb88df24f7f1d676f17d3feab171d9cea32
upstream: 9d6cc1e097031d1a2eda42b61a94e660be3ed5b0
local: 85e000b4b42461f2d8a8fdfedf2256cbea2b345d
upstream: d309efd6d5a63376db72494c21d403624c14d7af

Просмотреть файл

@ -0,0 +1,13 @@
[idlharness.window.html]
[Partial interface NavigatorUserMedia: original interface defined]
expected: FAIL
[Navigator interface: navigator must inherit property "getDisplayMedia(MediaStreamConstraints)" with the proper type]
expected: FAIL
[Navigator interface: calling getDisplayMedia(MediaStreamConstraints) on navigator with too few arguments must throw TypeError]
expected: FAIL
[Navigator interface: operation getDisplayMedia(MediaStreamConstraints)]
expected: FAIL

Просмотреть файл

@ -0,0 +1,4 @@
[a-download-click.svg]
[Clicking on an <a> element with a download attribute must not throw an exception]
expected: FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[markers-orient-001.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-001.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-002.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-003.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-005.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-006.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-007.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-101.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-inline-size-201.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-multiline-001.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-multiline-002.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,7 @@
[text-multiline-003.svg]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
FAIL

Просмотреть файл

@ -0,0 +1,19 @@
[event-handler-all-document-element-events.svg]
[oncut: the content attribute must be compiled into a function as the corresponding property]
expected: FAIL
[oncut: the content attribute must execute when an event is dispatched]
expected: FAIL
[oncopy: the content attribute must be compiled into a function as the corresponding property]
expected: FAIL
[oncopy: the content attribute must execute when an event is dispatched]
expected: FAIL
[onpaste: the content attribute must be compiled into a function as the corresponding property]
expected: FAIL
[onpaste: the content attribute must execute when an event is dispatched]
expected: FAIL

Просмотреть файл

@ -0,0 +1,4 @@
[WorkerGlobalScope_requestAnimationFrame.tentative.worker.html]
[WorkerGlobalScope_requestAnimationFrame]
expected: FAIL

Просмотреть файл

@ -0,0 +1,65 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Grid Layout Test: Content alignment second pass</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-align">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#algo-overview">
<meta name="flags" content="ahem dom">
<meta name="assert" content="This test checks that content alignment is properly applied when the size of the tracks changes in the second pass of the track sizing algorithm.">
<link rel="stylesheet" href="../../support/grid.css">
<link rel="stylesheet" href="../../support/alignment.css">
<style>
.grid {
position: relative;
font: 20px/1 Ahem;
margin: 10px;
display: inline-grid;
grid: 50% / 70%;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onLoad="checkLayout('.grid');">
<div id="log"></div>
<div class="grid" data-expected-width="100" data-expected-height="40">
<div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="70" data-expected-height="20">XXX X</div>
</div>
<div class="grid contentStretch" data-expected-width="100" data-expected-height="40">
<div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="70" data-expected-height="20">XXX X</div>
</div>
<div class="grid contentStart" data-expected-width="100" data-expected-height="40">
<div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="70" data-expected-height="20">XXX X</div>
</div>
<div class="grid contentCenter" data-expected-width="100" data-expected-height="40">
<div class="firstRowFirstColumn" data-offset-x="15" data-offset-y="10" data-expected-width="70" data-expected-height="20">XXX X</div>
</div>
<div class="grid contentEnd" data-expected-width="100" data-expected-height="40">
<div class="firstRowFirstColumn" data-offset-x="30" data-offset-y="20" data-expected-width="70" data-expected-height="20">XXX X</div>
</div>
<div class="grid contentSpaceBetween" data-expected-width="100" data-expected-height="60">
<div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="70" data-expected-height="30">XXX X</div>
<div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="40" data-expected-width="70" data-expected-height="20">X</div>
</div>
<div class="grid contentSpaceEvenly" style="grid-template-rows: 30%;" data-expected-width="100" data-expected-height="80">
<div class="firstRowFirstColumn" data-offset-x="15" data-offset-y="5" data-expected-width="70" data-expected-height="24">XXX X</div>
<div class="secondRowFirstColumn" data-offset-x="15" data-offset-y="35" data-expected-width="70" data-expected-height="40">X<br>X</div>
</div>
<div class="grid contentSpaceAround" style="grid-template-rows: 25%;" data-expected-width="100" data-expected-height="80">
<div class="firstRowFirstColumn" data-offset-x="15" data-offset-y="5" data-expected-width="70" data-expected-height="20">XXX X</div>
<div class="secondRowFirstColumn" data-offset-x="15" data-offset-y="35" data-expected-width="70" data-expected-height="40">X<br>X</div>
</div>
</body>

Просмотреть файл

@ -0,0 +1,572 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>CSS Grid Layout Test: Percentage rows indefinite height</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizing">
<meta name="assert" content="This test checks that percentage rows on grid containers with indefinite height are treated as 'auto' to compute the intrinsic height, but are later resolved against the intrinsic height during layout.">
<meta name="flags" content="ahem">
<link rel="stylesheet" href="support/grid.css">
<style>
.grid {
position: relative;
font: 25px/1 Ahem;
margin: 50px 0;
}
.border {
border: 10px solid;
}
.padding {
padding: 5px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.grid');">
<div id="log"></div>
<p>grid-template-rows: 60%;</p>
<div class="grid" style="grid-template-rows: 60%;" data-expected-height="0">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid" style="grid-template-rows: 60%;" data-expected-height="25">
<div class="firstRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid" style="grid-template-rows: 60%;" data-expected-height="50">
<div class="firstRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 60%;" data-expected-height="20">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border" style="grid-template-rows: 60%;" data-expected-height="45">
<div class="firstRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid border" style="grid-template-rows: 60%;" data-expected-height="70">
<div class="firstRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 60%;" data-expected-height="10">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid padding" style="grid-template-rows: 60%;" data-expected-height="35">
<div class="firstRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 60%;" data-expected-height="60">
<div class="firstRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 60%;" data-expected-height="30">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 60%;" data-expected-height="55">
<div class="firstRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 60%;" data-expected-height="80">
<div class="firstRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<p>grid-template-rows: 140%;</p>
<div class="grid" style="grid-template-rows: 140%;" data-expected-height="0">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid" style="grid-template-rows: 140%;" data-expected-height="25">
<div class="firstRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid" style="grid-template-rows: 140%;" data-expected-height="50">
<div class="firstRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 140%;" data-expected-height="20">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border" style="grid-template-rows: 140%;" data-expected-height="45">
<div class="firstRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid border" style="grid-template-rows: 140%;" data-expected-height="70">
<div class="firstRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 140%;" data-expected-height="10">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid padding" style="grid-template-rows: 140%;" data-expected-height="35">
<div class="firstRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 140%;" data-expected-height="60">
<div class="firstRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 140%;" data-expected-height="30">
<div class="firstRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 140%;" data-expected-height="55">
<div class="firstRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 140%;" data-expected-height="80">
<div class="firstRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<p>grid-template-rows: 100px 60%;</p>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="100">
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="125">
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="150">
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="100">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="125">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 60%;" data-expected-height="150">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="120">
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="145">
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="170">
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="120">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="145">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 60%;" data-expected-height="170">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="110">
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="135">
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="160">
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="110">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="135">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 60%;" data-expected-height="160">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="130">
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="155">
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="180">
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="130">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="60"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="155">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="75">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 60%;" data-expected-height="180">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="90">X<br>X</div>
</div>
<p>grid-template-rows: 100px 140%;</p>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="100">
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="125">
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="150">
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="100">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="125">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid" style="grid-template-rows: 100px 140%;" data-expected-height="150">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="120">
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="145">
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="170">
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="120">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="145">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid border" style="grid-template-rows: 100px 140%;" data-expected-height="170">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="110">
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="135">
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="160">
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="110">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="135">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid padding" style="grid-template-rows: 100px 140%;" data-expected-height="160">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="130">
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="155">
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="180">
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="130">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="140"></div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="155">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="175">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: 100px 140%;" data-expected-height="180">
<div class="firstRowFirstColumn" data-expected-height="100">X</div>
<div class="secondRowFirstColumn" data-expected-height="210">X<br>X</div>
</div>
<p>grid-template-rows: auto 60%;</p>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="0">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="25">
<div class="secondRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="50">
<div class="secondRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="25">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="15"></div>
</div>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="50">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="30">X</div>
</div>
<div class="grid" style="grid-template-rows: auto 60%;" data-expected-height="75">
<div class="firstRowFirstColumn" data-expected-height="30">X</div>
<div class="secondRowFirstColumn" data-expected-height="45">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="20">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="45">
<div class="secondRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="70">
<div class="secondRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="45">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="15"></div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="70">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="30">X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 60%;" data-expected-height="95">
<div class="firstRowFirstColumn" data-expected-height="30">X</div>
<div class="secondRowFirstColumn" data-expected-height="45">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="10">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="35">
<div class="secondRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="60">
<div class="secondRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="35">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="15"></div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="60">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="30">X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 60%;" data-expected-height="85">
<div class="firstRowFirstColumn" data-expected-height="30">X</div>
<div class="secondRowFirstColumn" data-expected-height="45">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="30">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="55">
<div class="secondRowFirstColumn" data-expected-height="15">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="80">
<div class="secondRowFirstColumn" data-expected-height="30">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="55">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="15"></div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="80">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="30">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 60%;" data-expected-height="105">
<div class="firstRowFirstColumn" data-expected-height="30">X</div>
<div class="secondRowFirstColumn" data-expected-height="45">X<br>X</div>
</div>
<p>grid-template-rows: auto 140%;</p>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="0">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="25">
<div class="secondRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="50">
<div class="secondRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="25">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="35"></div>
</div>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="50">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="70">X</div>
</div>
<div class="grid" style="grid-template-rows: auto 140%;" data-expected-height="75">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="105">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="20">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="45">
<div class="secondRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="70">
<div class="secondRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="45">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="35"></div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="70">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="70">X</div>
</div>
<div class="grid border" style="grid-template-rows: auto 140%;" data-expected-height="95">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="105">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="10">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="35">
<div class="secondRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="60">
<div class="secondRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="35">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="35"></div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="60">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="70">X</div>
</div>
<div class="grid padding" style="grid-template-rows: auto 140%;" data-expected-height="85">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="105">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="30">
<div class="secondRowFirstColumn" data-expected-height="0"></div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="55">
<div class="secondRowFirstColumn" data-expected-height="35">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="80">
<div class="secondRowFirstColumn" data-expected-height="70">X<br>X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="55">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="35"></div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="80">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="70">X</div>
</div>
<div class="grid border padding" style="grid-template-rows: auto 140%;" data-expected-height="105">
<div class="firstRowFirstColumn" data-expected-height="25">X</div>
<div class="secondRowFirstColumn" data-expected-height="105">X<br>X</div>
</div>
</body>

Просмотреть файл

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>CSS Grid Layout Test: Percentage rows indefinite height 2nd pass</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizing">
<meta name="assert" content="This test checkds that when we have percentage rows in indefinite height grid containers, we need to do a second pass of the track sizing algorithm to get the expected results.">
<meta name="flags" content="ahem">
<style>
.grid {
display: grid;
border: solid 5px;
position: relative;
font: 25px/1 Ahem;
margin: 50px 0;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.grid');">
<div id="log"></div>
<div class="grid" style="grid-template-rows: auto 60% auto;" data-expected-height="35">
<div style="grid-row: 1; grid-column: 1; background: cyan;" data-expected-height="5" data-offset-top="0"></div>
<div style="grid-row: 1 / 4; grid-column: 2; background: magenta;" data-expected-height="25" data-offset-top="0">X</div>
<div style="grid-row: 3; grid-column: 3; background: lime;" data-expected-height="5" data-offset-top="20"></div>
</div>
<div class="grid" style="grid-template-rows: auto 20% auto;" data-expected-height="60">
<div style="grid-row: 1; grid-column: 1; background: cyan;" data-expected-height="25" data-offset-top="0">X</div>
<div style="grid-row: 1 / 4; grid-column: 2; background: magenta;" data-expected-height="60" data-offset-top="0">X</div>
<div style="grid-row: 3; grid-column: 3; background: lime;" data-expected-height="25" data-offset-top="35">X</div>
</div>
<div class="grid" style="grid-template-rows: auto 10% auto; grid-template-columns: repeat(3, 50px);" data-expected-height="110">
<div style="grid-row: 1; grid-column: 1; background: cyan;" data-expected-height="45"></div>
<div style="grid-row: 1 / 4; grid-column: 2; background: magenta;" data-expected-height="100">X X X X</div>
<div style="grid-row: 3; grid-column: 3; background: lime;" data-expected-height="45"></div>
</div>
<div class="grid" style="grid-template-rows: auto 10% auto; grid-template-columns: repeat(3, 50px);" data-expected-height="110">
<div style="grid-row: 1; grid-column: 1; background: cyan;" data-expected-height="45">X</div>
<div style="grid-row: 1 / 4; grid-column: 2; background: magenta;" data-expected-height="100">X X X X</div>
<div style="grid-row: 3; grid-column: 3; background: lime;" data-expected-height="45">X</div>
</div>
</body>

Просмотреть файл

@ -0,0 +1,14 @@
<!DOCTYPE html>
<title>Shrink-to-fit float inside inline inside a shrink-to-fit-container</title>
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
<meta name="assert" content="This tests that intrinsic size calculation realizes that the four words are going to fit on the same line in final layout">
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-sizes" title="4.1. Intrinsic Sizes">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="float:left; height:100px; background:red;">
<span>
<div style="float:left; writing-mode:vertical-rl; height:100%; line-height:100px; background:green;">
&nbsp; &nbsp; &nbsp; &nbsp;
</div>
</span>
</div>

Просмотреть файл

@ -0,0 +1,27 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the
// "Screen Capture" spec.
// See: https://w3c.github.io/mediacapture-screen-share/
partial interface Navigator {
Promise<MediaStream> getDisplayMedia(optional MediaStreamConstraints constraints);
};
partial dictionary MediaTrackConstraintSet {
ConstrainDOMString displaySurface;
ConstrainBoolean logicalSurface;
ConstrainDOMString cursor;
};
enum DisplayCaptureSurfaceType {
"monitor",
"window",
"application",
"browser"
};
enum CursorCaptureConstraint {
"never",
"always",
"motion"
};

Просмотреть файл

@ -650,7 +650,7 @@ policies and contribution forms [3].
/**
* Returns a Promise that will resolve after the specified event or
* series of events has occured.
* series of events has occurred.
*
* @param options An optional options object. If the 'record' property
* on this object has the value 'all', when the Promise
@ -1059,7 +1059,7 @@ policies and contribution forms [3].
function assert_array_approx_equals(actual, expected, epsilon, description)
{
/*
* Test if two primitive arrays are equal withing +/- epsilon
* Test if two primitive arrays are equal within +/- epsilon
*/
assert(actual.length === expected.length,
"assert_array_approx_equals", description,
@ -1087,7 +1087,7 @@ policies and contribution forms [3].
function assert_approx_equals(actual, expected, epsilon, description)
{
/*
* Test if two primitive numbers are equal withing +/- epsilon
* Test if two primitive numbers are equal within +/- epsilon
*/
assert(typeof actual === "number",
"assert_approx_equals", description,

Просмотреть файл

@ -0,0 +1,5 @@
spec: https://w3c.github.io/mediacapture-screen-share/
suggested_reviewers:
- alvestrand
- martinthomson
- uysalere

Просмотреть файл

@ -0,0 +1,16 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
'use strict';
// https://w3c.github.io/mediacapture-screen-share/
idl_test(
['screen-capture'],
['mediacapture-streams', 'html'],
idl_array => {
idl_array.add_objects({
Navigator: ['navigator'],
});
}
);

Просмотреть файл

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>Clicking on an &lt;a> element with a download attribute must not throw an exception</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
"use strict";
async_test(t => {
const frame = document.createElementNS("http://www.w3.org/1999/xhtml", "iframe");
const root = document.querySelector("svg");
frame.addEventListener("load", t.step_func(function () {
frame.contentWindow.addEventListener(
"beforeunload", t.unreached_func("Navigated instead of downloading"));
const string = "test";
const blob = new Blob([string], { type: "text/html" });
const link = frame.contentDocument.querySelector("#blob-url");
link.href.baseVal = URL.createObjectURL(blob);
link.click();
t.step_timeout(() => t.done(), 1000);
}));
frame.src = "resources/a-download-click.svg";
root.appendChild(frame);
}, "Clicking on an <a> element with a download attribute must not throw an exception");
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Просмотреть файл

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>SVGAElement.rel getter</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<a id="test" href="a" rel="noreferrer"></a>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
test(function() {
var a = document.getElementById("test");
test(function() {
assert_equals(a.rel, "noreferrer");
}, "Test anchor's rel getter");
});
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 656 B

Просмотреть файл

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>SVGAElement.rel setter</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<a id="test" href="a"></a>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
test(function() {
var a = document.getElementById("test");
test(function() {
a.rel = "noreferrer"
assert_equals(a.rel, "noreferrer");
}, "Test anchor's rel setter");
});
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 681 B

Просмотреть файл

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>SVGAElement.text getting</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<script>var b</script>
<g id="test">
<a href="a">a b c </a>
<a href="b">a <!--b-->b c </a>
<a href="c">a <b>b</b> c </a>
<a href="d">a <script>b</script> c </a>
<script><![CDATA[
var e = document.getElementById("test")
.appendChild(document.createElementNS("http://www.w3.org/2000/svg","a"));
e.href.baseVal = "d";
e.appendChild(document.createTextNode("a "));
e.appendChild(document.createTextNode("b "));
e.appendChild(document.createTextNode("c "));
]]></script>
</g>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
test(function() {
var list = document.getElementById("test")
.getElementsByTagName("a");
for (var i = 0, il = list.length; i < il; ++i) {
test(function() {
assert_equals(list[i].text, list[i].textContent);
assert_equals(list[i].text, "a b c ");
}, "Test for anchor " + i);
}
});
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>SVGAElement.text setting</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<g id="test">
<a href="a">a b c</a>
<a href="b">a <!--b--> c</a>
<a href="c">a <b>b</b> c</a>
<script><![CDATA[
var d = document.getElementById("test")
.appendChild(document.createElementNS("http://www.w3.org/2000/svg","a"));
d.href.baseVal = "d";
d.appendChild(document.createTextNode("a "));
d.appendChild(document.createTextNode("b "));
d.appendChild(document.createTextNode("c "));
]]></script>
</g>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
test(function() {
var list = document.getElementById("test")
.getElementsByTagName("a");
for (var i = 0, il = list.length; i < il; ++i) {
test(function() {
list[i].text = "x";
assert_equals(list[i].text, "x");
assert_equals(list[i].textContent, "x");
assert_equals(list[i].firstChild.data, "x");
assert_equals(list[i].childNodes.length, 1);
list[i].textContent = "y";
assert_equals(list[i].text, "y");
assert_equals(list[i].textContent, "y");
assert_equals(list[i].firstChild.data, "y");
assert_equals(list[i].childNodes.length, 1);
}, "Test for anchor " + i);
}
});
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>Test SVGAElement relList attribute</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
let link_support_table = {};
// https://html.spec.whatwg.org/multipage/links.html#linkTypes
link_support_table['a'] = {
supported : ['noreferrer', 'noopener'],
unsupported : ['author', 'bookmark', 'external', 'help', 'license',
'nofollow', 'pingback', 'prev', 'search', 'tag',
'modulepreload', 'preload', 'preconnect', 'dns-prefetch',
'stylesheet', 'import', 'icon', 'alternate', 'prefetch',
'prerender', 'next', 'manifest', 'apple-touch-icon',
'apple-touch-icon-precomposed', 'canonical']
};
function test_rellist(tag_name, rel_table) {
let element = document.createElementNS("http://www.w3.org/2000/svg", tag_name);
let tag = element.tagName;
// Test that setting rel is also setting relList, for both
// valid and invalid values.
element.rel = 'whatever';
assert_true(element.relList.contains('whatever'), 'tag = ' + tag + ', setting rel must work');
element.rel = 'prefetch';
assert_true(element.relList.contains('prefetch'), 'tag = ' + tag + ', setting rel must work');
// Test that add() works.
element.relList.add('preloadwhatever');
assert_equals(element.rel, 'prefetch preloadwhatever', 'tag = ' + tag + ', add must work');
assert_true(element.relList.contains('preloadwhatever'), 'tag = ' + tag + ', add must work');
// Test that remove() works.
element.relList.remove('preloadwhatever');
assert_equals(element.rel, 'prefetch', 'tag = ' + tag + ', remove must work');
assert_false(element.relList.contains('preloadwhatever'), 'tag = ' + tag + ', remove must work');
// Test that toggle() works.
element.relList.toggle('prefetch', false);
assert_equals(element.rel, '', 'tag = ' + tag + ', toggle must work');
element.relList.toggle('prefetch', true);
assert_equals(element.rel, 'prefetch', 'tag = ' + tag + ', toggle must work');
// Test that replace() works.
element.relList.replace('prefetch', 'first');
assert_equals(element.rel, 'first', 'tag = ' + tag + ', replace must work');
// Test that indexed item getter works.
element.relList.add('second');
assert_equals(element.relList.length, 2, 'tag = ' + tag + ', relList length must be correct');
assert_equals(element.relList[0], 'first', 'tag = ' + tag + ', relList indexed item must work');
assert_equals(element.relList[1], 'second', 'tag = ' + tag + ', relList indexed item must work');
// Test that relList is [SameObject].
let savedRelList = element.relList;
element.rel = 'something';
assert_equals(element.relList, savedRelList, 'tag = ' + tag + ', SameObject must work');
// Test that supports() is returning true for valid values
// and false for invalid ones.
let supported = rel_table['supported'];
for (let link_type in supported) {
assert_true(element.relList.supports(supported[link_type]), 'tag = ' + tag + ', link type = ' + supported[link_type] + ' must be supported');
}
let unsupported = rel_table['unsupported'];
for (let link_type in unsupported) {
assert_false(element.relList.supports(unsupported[link_type]), 'tag = ' + tag + ', link type = ' + unsupported[link_type] + ' must be unsupported');
}
}
test(function() {
test_rellist('a', link_support_table['a']);
}, 'Make sure that relList based feature detection is working');
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.8 KiB

Просмотреть файл

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" x="10" y="10">
<a id="blob-url" download="foo.html">Click me</a>
</svg>

После

Ширина:  |  Высота:  |  Размер: 182 B

Просмотреть файл

@ -0,0 +1,48 @@
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Marker: 'orient'</title>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("../fonts/FreeSans.woff") format("woff");
}
text {
font-family: FreeSans, sans-serif;
text-anchor: middle;
fill: black;
}
#title {
font-size: 24px;
}
.label {
font-size: 18px;
}
</style>
<defs>
<path id="triangle" d="m 0,0 0,-2.5 10,2.5 -10,2.5 z"/>
</defs>
<g id="test-body-reference" style="fill:black">
<path d="m 120,120 120,0 120,0" style="stroke:black;stroke-width:4px"/>
<path d="m 120,220 120,0 120,0" style="stroke:black;stroke-width:4px"/>
<path d="m 120,320 120,0 120,0" style="stroke:black;stroke-width:4px"/>
<use xlink:href="#triangle" transform="translate(120,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(240,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(360,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(120,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(240,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(360,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(120,320) scale(4,4) rotate(180)"/>
<use xlink:href="#triangle" transform="translate(240,320) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(360,320) scale(4,4)"/>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,65 @@
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Marker: 'orient'</title>
<html:link rel="author"
title="Tavmjong Bah"
href="http://tavmjong.free.fr"/>
<html:link rel="help"
href="https://www.w3.org/TR/SVG2/painting.html#OrientAttribute"/>
<html:link rel="match" href="markers-orient-001-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("../fonts/FreeSans.woff") format("woff");
}
text {
font-family: FreeSans, sans-serif;
text-anchor: middle;
fill: black;
}
#title {
font-size: 24px;
}
.label {
font-size: 18px;
}
</style>
<defs>
<path id="triangle" d="m 0,0 0,-2.5 10,2.5 -10,2.5 z"/>
<marker id="OrientAuto" style="overflow:visible" markerWidth="5" markerHeight="10">
<use xlink:href="#triangle"/>
</marker>
<marker id="OrientFixed" style="overflow:visible" markerWidth="5" markerHeight="10" orient="45">
<use xlink:href="#triangle"/>
</marker>
<marker id="OrientAutoReverse" style="overflow:visible" markerWidth="5" markerHeight="10" orient="auto-start-reverse">
<use xlink:href="#triangle"/>
</marker>
</defs>
<g id="reference" style="fill:red">
<use xlink:href="#triangle" transform="translate(120,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(240,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(360,120) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(120,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(240,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(360,220) scale(4,4) rotate(45)"/>
<use xlink:href="#triangle" transform="translate(120,320) scale(4,4) rotate(180)"/>
<use xlink:href="#triangle" transform="translate(240,320) scale(4,4)"/>
<use xlink:href="#triangle" transform="translate(360,320) scale(4,4)"/>
</g>
<g id="test-body-content" font-size="16">
<path d="m 120,120 120,0 120,0" style="stroke:black;stroke-width:4px;marker:url(#OrientAuto)"/>
<path d="m 120,220 120,0 120,0" style="stroke:black;stroke-width:4px;marker:url(#OrientFixed)"/>
<path d="m 120,320 120,0 120,0" style="stroke:black;stroke-width:4px;marker:url(#OrientAutoReverse)"/>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.6 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 001</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px;fill:black">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="240" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="400" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="400" y="134.8">adipisicing elit,</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 001</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-001-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="inline-size:320px;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,120)">
<text x="400" y="114.8" style="inline-size:320px;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 002</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text transform="translate(250,10) rotate(90)">
<tspan x="90" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="90" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(80,0)">
<text transform="translate(250,-40) rotate(90)" style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="240" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(160,0)">
<text transform="translate(250,-90) rotate(90)" style="text-anchor:end">
<tspan x="390" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="390" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 002</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-002-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;writing-mode:tb-rl">
<g transform="translate(0,0)">
<text x="140" y="100" style="inline-size:200px">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(80,0)">
<text x="140" y="200" style="inline-size:200px;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(160,0)">
<text x="140" y="300" style="inline-size:200px;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 003</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px;direction:rtl">
<g transform="translate(0,0)">
<text>
<tspan x="400" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="400" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="240" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="80" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="80" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 003</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-003-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;direction:rtl">
<g transform="translate(0,0)">
<text x="400" y="114.8" style="inline-size:320px">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="inline-size:320px;text-anchor:middle">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,120)">
<text x="80" y="114.8" style="inline-size:320px;text-anchor:end">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 005</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="149.6">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="174.8">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="209.6">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="234.8">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="254.8">commodo consequat.</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 005</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-005-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-height:1.25">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px" xml:space="preserve">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="154.8">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="174.8">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="194.8">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="214.8">commodo consequat.</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-006-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-height:1.25">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px;line-height:0">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em;line-height:0">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="139.6">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="159.6">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="184.4">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="204.4">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="226.8">commodo consequat.</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-007-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px;line-height:20px">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 101</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="240" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="400" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="400" y="134.8">adipisicing elit,</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 101</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-101-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:66.66667%">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="inline-size:66.66667%;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,120)">
<text x="400" y="114.8" style="inline-size:66.66667%;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 201</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text style="writing-mode:tb-rl">
<tspan x="140" y="100">漢字</tspan>
<tspan x="140" y="132">Lorem ipsum</tspan>
<tspan x="140" y="227.7">漢字</tspan>
</text>
</g>
<g transform="translate(80,0)">
<text transform="translate(250,-40) rotate(90)">
<tspan x="140" y="110">漢字Lorem ipsum!漢字</tspan>
</text>
</g>
<g transform="translate(160,0)">
<text transform="translate(250,-40) rotate(90)">
<tspan x="140" y="110">漢字!لكن لا بد أن漢字</tspan>
</text>
</g>
<g transform="translate(240,0)">
<text transform="translate(250,-40) rotate(90)" style="direction:rtl;text-anchor:end">
<tspan x="140" y="110">漢字!لكن لا بد أن漢字</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 201</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<html:link rel="match" href="text-inline-size-201-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<!-- Lorem ipsum dolor sit amet, consectetur adipisicing elit, -->
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;writing-mode:tb-rl">
<g transform="translate(0,0)">
<text x="140" y="100" style="inline-size:200px">漢字Lorem ipsum!漢字</text>
</g>
<g transform="translate(80,0)" style="text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字Lorem ipsum!漢字</text>
</g>
<g transform="translate(160,0)" style="text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字!لكن لا بد أن漢字</text>
</g>
<g transform="translate(240,0)" style="direction:rtl;text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字!لكن لا بد أن漢字</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 001</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px;fill:black">
<g transform="translate(0,0)">
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="240" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="400" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="400" y="134.8">adipisicing elit,</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 001</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#TextLayoutPreMultiline"/>
<html:link rel="match" href="text-multiline-001-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="white-space: pre-line">Lorem ipsum dolor sit amet, consectetur
adipisicing elit,</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="white-space: pre-line;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur
adipisicing elit,</text>
</g>
<g transform="translate(0,120)">
<text x="400" y="114.8" style="white-space: pre-line;text-anchor:end">Lorem ipsum dolor sit amet, consectetur
adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 002</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px">
<g transform="translate(0,0)">
<text transform="translate(250,10) rotate(90)">
<tspan x="90" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="90" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(80,0)">
<text transform="translate(250,-40) rotate(90)" style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="240" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(160,0)">
<text transform="translate(250,-90) rotate(90)" style="text-anchor:end">
<tspan x="390" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="390" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 002</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#TextLayoutPreMultiline"/>
<html:link rel="match" href="text-multiline-002-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;writing-mode:tb-rl">
<g transform="translate(0,0)">
<text x="140" y="100" style="white-space: pre-line">Lorem ipsum dolor sit amet,
consectetur adipisicing elit,</text>
</g>
<g transform="translate(80,0)">
<text x="140" y="200" style="white-space: pre-line;text-anchor:middle">Lorem ipsum dolor sit amet,
consectetur adipisicing elit,</text>
</g>
<g transform="translate(160,0)">
<text x="140" y="300" style="white-space: pre-line;text-anchor:end">Lorem ipsum dolor sit amet,
consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 003</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-reference" style="font-size:16px;direction:rtl">
<g transform="translate(0,0)">
<text>
<tspan x="400" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="400" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="240" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="80" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="80" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Просмотреть файл

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Multiline — 003</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#TextLayoutPreMultiline"/>
<html:link rel="match" href="text-multiline-003-ref.svg" />
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;direction:rtl">
<g transform="translate(0,0)">
<text x="400" y="114.8" style="white-space: pre-line">لكن لا بد أن أوضح لك أن كل هذه الأفكار
المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="white-space: pre-line;text-anchor:middle">لكن لا بد أن أوضح لك أن كل هذه الأفكار
المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,120)">
<text x="80" y="114.8" style="white-space: pre-line;text-anchor:end">لكن لا بد أن أوضح لك أن كل هذه الأفكار
المغلوطة حول استنكار</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Просмотреть файл

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 001</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,40 m 320,-40 0,40"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 001</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<circle cx="80" cy="114.8" r="1,0" style="fill:lightblue"/>
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,60)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<circle cx="240" cy="114.8" r="1,0" style="fill:lightblue"/>
<text style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="240" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,120)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<circle cx="400" cy="114.8" r="1,0" style="fill:lightblue"/>
<text style="text-anchor:end">
<tspan x="400" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="400" y="134.8">adipisicing elit,</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;fill:green">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="inline-size:320px;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,120)">
<text x="400" y="114.8" style="inline-size:320px;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Просмотреть файл

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 002</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 110,100 40,0 m -40,200 40,0"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 002</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<text transform="translate(250,10) rotate(90)">
<tspan x="90" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="90" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(80,0)">
<text transform="translate(250,-40) rotate(90)" style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="240" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(160,0)">
<text transform="translate(250,-90) rotate(90)" style="text-anchor:end">
<tspan x="390" y="114.8">Lorem ipsum dolor sit amet,</tspan>
<tspan x="390" y="134.8">consectetur adipisicing elit,</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;writing-mode:tb-rl;fill:green">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="140" y="100" style="inline-size:200px">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(80,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="140" y="200" style="inline-size:200px;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(160,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="140" y="300" style="inline-size:200px;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Просмотреть файл

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 003</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,40 m 320,-40 0,40"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 003</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;direction:rtl;fill:red">
<g transform="translate(0,0)">
<text>
<tspan x="400" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="400" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,60)">
<text style="text-anchor:middle">
<tspan x="240" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="240" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
<g transform="translate(0,120)">
<text style="text-anchor:end">
<tspan x="80" y="114.8">لكن لا بد أن أوضح لك أن كل هذه الأفكار</tspan>
<tspan x="80" y="134.8">المغلوطة حول استنكار</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;direction:rtl;fill:green">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="400" y="114.8" style="inline-size:320px">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,60)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="240" y="114.8" style="inline-size:320px;text-anchor:middle">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
<g transform="translate(0,120)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text x="80" y="114.8" style="inline-size:320px;text-anchor:end">لكن لا بد أن أوضح لك أن كل هذه الأفكار المغلوطة حول استنكار</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.4 KiB

Просмотреть файл

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 005</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,160 m 320,-160 0,160"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 005</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:#ffeeee">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="149.6">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="174.8">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="209.6">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="234.8">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="254.8">commodo consequat.</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-height:1.25;fill:green">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px" xml:space="preserve">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.9 KiB

Просмотреть файл

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,160 m 320,-160 0,160"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 006</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="154.8">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="174.8">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="194.8">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="214.8">commodo consequat.</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-height:1.25;fill:green">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px;line-height:0">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em;line-height:0">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.9 KiB

Просмотреть файл

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 006</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,160 m 320,-160 0,160"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 007</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="139.6">adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor</tspan>
<tspan x="80" y="159.6">incididunt ut labore et dolore magna aliqua. Ut</tspan>
<tspan x="80" y="184.4">enim ad minim veniam, <tspan style="font-size:32px">quis</tspan> nostrud</tspan>
<tspan x="80" y="204.4">exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea</tspan>
<tspan x="80" y="226.8">commodo consequat.</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;fill:green">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:320px;line-height:20px">Lorem ipsum dolor sit amet, consectetur adipiscing <tspan style="font-size:32px">elit</tspan>, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <tspan style="font-size:2em">quis</tspan> nostrud exercitation ullamco laboris <tspan style="font-size:8px">nisi</tspan> ut aliquip ex ea commodo consequat.</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.9 KiB

Просмотреть файл

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text: Inline Size — 101</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 80,100 0,40 m 320,-40 0,40"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 101</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text>
<tspan x="80" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="80" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,60)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text style="text-anchor:middle">
<tspan x="240" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="240" y="134.8">adipisicing elit,</tspan>
</text>
</g>
<g transform="translate(0,120)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text style="text-anchor:end">
<tspan x="400" y="114.8">Lorem ipsum dolor sit amet, consectetur</tspan>
<tspan x="400" y="134.8">adipisicing elit,</tspan>
</text>
</g>
</g>
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;fill:green">
<g transform="translate(0,0)">
<text x="80" y="114.8" style="inline-size:66.66667%">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,60)">
<text x="240" y="114.8" style="inline-size:66.66667%;text-anchor:middle">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
<g transform="translate(0,120)">
<text x="400" y="114.8" style="inline-size:66.66667%;text-anchor:end">Lorem ipsum dolor sit amet, consectetur adipisicing elit,</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Просмотреть файл

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>Text in Shape — 201</title>
<html:link rel="author"
title="Tavmjong Bah"
href="mailto:tavmjong@free.fr"/>
<html:link rel="reviewer"
title="NAME_OF_REVIEWER"
href="mailto:EMAIL OR http://CONTACT_PAGE" />
<!-- YYYY-MM-DD -->
<html:link rel="help"
href="https://svgwg.org/svg2-draft/text.html#InlineSize"/>
<metadata class="flags">TOKENS</metadata>
<desc class="assert">TEST ASSERTION</desc>
</g>
<style id="test-font" type="text/css">
/* Standard Font (if needed). */
@font-face {
font-family: FreeSans;
src: url("fonts/FreeSans.woff") format("woff"),
local("FreeSans");
}
text { font-family: FreeSans, sans-serif }
</style>
<style id="test-style" type="text/css">
/* Style that is being tested (if needed). */
text { font-family: FreeSans, sans-serif }
</style>
<defs>
<path id="TestPath" d="m 110,100 40,0 m -40,200 40,0"/>
</defs>
<text id="title" x="240" y="50" style="fill:black; font-size:24px; text-anchor:middle;">Text 'inline-size' — 201</text>
<a href="https://svgwg.org/svg2-draft/text.html#InlineSize">
<text id="source" x="240" y="70" style="fill:black; font-size:12px; text-anchor:middle;">https://svgwg.org/svg2-draft/text.html#InlineSize</text>
</a>
<g id="test-body-reference" style="font-size:16px;fill:red">
<g transform="translate(0,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text style="writing-mode:tb-rl">
<tspan x="140" y="100">漢字</tspan>
<tspan x="140" y="132">Lorem ipsum</tspan>
<tspan x="140" y="227.7">漢字</tspan>
</text>
</g>
<g transform="translate(80,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text transform="translate(250,-40) rotate(90)">
<tspan x="140" y="110">漢字Lorem ipsum!漢字</tspan>
</text>
</g>
<g transform="translate(160,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text transform="translate(250,-40) rotate(90)">
<tspan x="140" y="110">漢字!لكن لا بد أن漢字</tspan>
</text>
</g>
<g transform="translate(240,0)">
<use xlink:href="#TestPath" style="fill:none;stroke:lightblue"/>
<text transform="translate(250,-40) rotate(90)" style="direction:rtl;text-anchor:end">
<tspan x="140" y="110">漢字!لكن لا بد أن漢字</tspan>
</text>
</g>
</g>
<!-- Lorem ipsum dolor sit amet, consectetur adipisicing elit, -->
<g id="test-body-content" style="font-size:16px;line-spacing:1.25;writing-mode:tb-rl;fill:green">
<g transform="translate(0,0)">
<text x="140" y="100" style="inline-size:200px">漢字Lorem ipsum!漢字</text>
</g>
<g transform="translate(80,0)" style="text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字Lorem ipsum!漢字</text>
</g>
<g transform="translate(160,0)" style="text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字!لكن لا بد أن漢字</text>
</g>
<g transform="translate(240,0)" style="direction:rtl;text-orientation:sideways">
<text x="140" y="100" style="inline-size:200px">漢字!لكن لا بد أن漢字</text>
</g>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Просмотреть файл

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>DocumentAndElementEventHandlers</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement"/>
</metadata>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
"use strict";
setup({ explicit_done: true });
const names = ["oncut","oncopy","onpaste"];
for (const name of names) {
const withoutOn = name.substring(2);
test(() => {
assert_true(SVGElement.prototype.hasOwnProperty(name),
`${SVGElement.prototype.constructor.name} has an own property named "${name}"`);
assert_false(name in Element.prototype, `Element.prototype must not contain a "${name}" property`);
}, `${name}: DocumentAndElementEventHandlers must be on SVGElement not Element`);
test(() => {
const svgElement = document.createElementNS("http://www.w3.org/2000/svg", "g");
assert_equals(svgElement[name], null,
`The default value of the property is null for a ${svgElement.constructor.name} instance`);
}, `${name}: the default value must be null`);
test(() => {
const el = document.createElementNS("http://www.w3.org/2000/svg", "g");
el.setAttribute(name, `window.${name}Happened = true;`);
const compiledHandler = el[name];
assert_equals(typeof compiledHandler, "function", `The ${name} property must be a function`);
compiledHandler();
assert_true(window[name + "Happened"], "Calling the handler must run the code");
}, `${name}: the content attribute must be compiled into a function as the corresponding property`);
test(() => {
const el = document.createElementNS("http://www.w3.org/2000/svg", "g");
el.setAttribute(name, `window.${name}Happened2 = true;`);
el.dispatchEvent(new Event(withoutOn));
assert_true(window[name + "Happened2"], "Dispatching an event must run the code");
}, `${name}: the content attribute must execute when an event is dispatched`);
}
done();
]]></script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.4 KiB

Просмотреть файл

@ -1,32 +0,0 @@
<!DOCTYPE html>
<title> WorkerGlobalScope API: requestAnimationFrame()</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script id="worker" type="text/worker">
const res = [];
requestAnimationFrame((dt) => {
res.push(dt);
requestAnimationFrame((dt) => {
res.push(dt);
requestAnimationFrame((dt) => {
res.push(dt);
postMessage(res);
});
});
});
</script>
<script>
async_test(function(t) {
var blob = new Blob([document.getElementById('worker').textContent]);
var worker = new Worker(URL.createObjectURL(blob));
worker.addEventListener("error", t.unreached_func("No error should be reported"));
worker.addEventListener("message", t.step_func((ev) => {
const ret = ev.data;
assert_equals(ret.length, 3);
assert_true(ret[0] < ret[1]);
assert_true(ret[1] < ret[2]);
t.done();
}));
});
</script>

Просмотреть файл

@ -0,0 +1,19 @@
importScripts("/resources/testharness.js");
async_test(t => {
const res = [];
requestAnimationFrame(t.step_func(dt => {
res.push(dt);
requestAnimationFrame(t.step_func(dt => {
res.push(dt);
requestAnimationFrame(t.step_func_done(dt => {
res.push(dt);
assert_equals(res.length, 3);
assert_less_than(res[0], res[1]);
assert_less_than(res[1], res[2]);
}));
}));
}));
});
done();

Просмотреть файл

@ -2,6 +2,27 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
# Enforce that the clean/distclean rules removes everything that needs
# to be removed from this directory.
ifneq (,$(filter clean distclean,$(MAKECMDGOALS)))
LINK_GTEST_DURING_COMPILE = 1
endif
# Don't link the gtest xul during MOZ_PROFILE_GENERATE, it doesn't get
# used during profiling anyway.
ifdef MOZ_PROFILE_GENERATE
LINK_GTEST_DURING_COMPILE =
endif
ifndef LINK_GTEST_DURING_COMPILE
# Force to not include backend.mk unless LINK_GTEST_DURING_COMPILE is set.
# Not including backend.mk makes traversing this directory do nothing.
STANDALONE_MAKEFILE = 1
else
include $(topsrcdir)/toolkit/library/libxul.mk
include $(topsrcdir)/config/config.mk
endif

Просмотреть файл

@ -32,8 +32,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android':
# This needs to come after static:xul to avoid things like libfallible coming
# before StaticXULComponentStart.
Libxul('xul-gtest-real',
output_category=None if CONFIG['LINK_GTEST_DURING_COMPILE'] else 'gtest')
Libxul('xul-gtest-real')
DIRS += [
'static',

Просмотреть файл

@ -0,0 +1,29 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
# This file looks quite similar to toolkit/library/gtest/Makefile.in.
# We only want to build gkrust-gtest when we are building libxul-gtest.
# Enforce that the clean/distclean rules removes everything that needs
# to be removed from this directory.
ifneq (,$(filter clean distclean,$(MAKECMDGOALS)))
LINK_GTEST_DURING_COMPILE = 1
endif
# Don't build gkrust-gtest during MOZ_PROFILE_GENERATE, it doesn't get
# used during profiling anyway.
ifdef MOZ_PROFILE_GENERATE
LINK_GTEST_DURING_COMPILE =
endif
ifndef LINK_GTEST_DURING_COMPILE
# Force to not include backend.mk unless LINK_GTEST_DURING_COMPILE is set.
# Not including backend.mk makes traversing this directory do nothing.
STANDALONE_MAKEFILE = 1
else
include $(topsrcdir)/config/config.mk
endif

Просмотреть файл

@ -6,5 +6,4 @@
include('../../rust/gkrust-features.mozbuild')
RustLibrary('gkrust-gtest', gkrust_features, '../..',
output_category=None if CONFIG['LINK_GTEST_DURING_COMPILE'] else 'gtest')
RustLibrary('gkrust-gtest', gkrust_features, '../..')

Просмотреть файл

@ -12,14 +12,14 @@ def Libxul_defines():
LIBRARY_DEFINES['STATIC_EXPORTABLE_JS_API'] = True
@template
def Libxul(name, output_category=None):
def Libxul(name):
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
# This is going to be a framework named "XUL", not an ordinary library named
# "libxul.dylib"
GeckoFramework(name, output_category=output_category, linkage=None)
GeckoFramework(name, linkage=None)
SHARED_LIBRARY_NAME = 'XUL'
else:
GeckoSharedLibrary(name, output_category=output_category, linkage=None)
GeckoSharedLibrary(name, linkage=None)
SHARED_LIBRARY_NAME = 'xul'
DELAYLOAD_DLLS += [

Просмотреть файл

@ -38,8 +38,6 @@ public:
typedef typename nsTSubstring<T>::substring_type substring_type;
#endif
typedef typename substring_type::literalstring_type literalstring_type;
typedef typename substring_type::fallible_t fallible_t;
typedef typename substring_type::char_type char_type;
@ -123,15 +121,6 @@ public:
this->Assign(std::move(aReadable));
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
explicit
nsTString(const literalstring_type& aReadable)
: substring_type(ClassFlags::NULL_TERMINATED)
{
this->Assign(aReadable);
}
// |operator=| does not inherit, so we must define our own
self_type& operator=(char_type aChar)
{
@ -171,12 +160,6 @@ public:
this->Assign(std::move(aStr));
return *this;
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
self_type& operator=(const literalstring_type& aStr)
{
this->Assign(aStr);
return *this;
}
self_type& operator=(const substring_tuple_type& aTuple)
{
this->Assign(aTuple);
@ -570,7 +553,6 @@ public:
typedef typename base_string_type::substring_type substring_type;
typedef typename base_string_type::size_type size_type;
typedef typename base_string_type::substring_tuple_type substring_tuple_type;
typedef typename base_string_type::literalstring_type literalstring_type;
// These are only for internal use within the string classes:
typedef typename base_string_type::DataFlags DataFlags;
@ -640,14 +622,6 @@ public:
this->Assign(std::move(aStr));
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
explicit
nsTAutoStringN(const literalstring_type& aStr)
: self_type()
{
this->Assign(aStr);
}
MOZ_IMPLICIT nsTAutoStringN(const substring_tuple_type& aTuple)
: self_type()
{
@ -693,12 +667,6 @@ public:
this->Assign(std::move(aStr));
return *this;
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
self_type& operator=(const literalstring_type& aStr)
{
this->Assign(aStr);
return *this;
}
self_type& operator=(const substring_tuple_type& aTuple)
{
this->Assign(aTuple);

Просмотреть файл

@ -15,7 +15,6 @@
#include "nsCharTraits.h"
template <typename T> class nsTSubstringTuple;
template <typename T> class nsTLiteralString;
// The base for string comparators
template <typename T> class nsTStringComparator
@ -107,7 +106,6 @@ public:
typedef nsTSubstring<T> substring_type;
typedef nsTSubstringTuple<T> substring_tuple_type;
typedef nsTLiteralString<T> literalstring_type;
typedef nsReadingIterator<char_type> const_iterator;
typedef nsWritingIterator<char_type> iterator;

Просмотреть файл

@ -532,14 +532,6 @@ nsTSubstring<T>::Assign(self_type&& aStr, const fallible_t& aFallible)
return true;
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
template <typename T>
void
nsTSubstring<T>::Assign(const literalstring_type& aStr)
{
Assign(aStr.AsString());
}
template <typename T>
void
nsTSubstring<T>::Assign(const substring_tuple_type& aTuple)

Просмотреть файл

@ -46,7 +46,6 @@ public:
typedef typename mozilla::detail::nsTStringRepr<T> base_string_type;
typedef typename base_string_type::substring_type substring_type;
typedef typename base_string_type::literalstring_type literalstring_type;
typedef typename base_string_type::fallible_t fallible_t;
@ -188,13 +187,6 @@ public:
void NS_FASTCALL Assign(self_type&&);
MOZ_MUST_USE bool NS_FASTCALL Assign(self_type&&, const fallible_t&);
// XXX(nika): GCC 4.9 doesn't correctly resolve calls to Assign a
// nsLiteralCString into a nsTSubstring, due to a frontend bug. This explcit
// Assign overload (and the corresponding constructor and operator= overloads)
// are used to avoid this bug. Once we stop supporting GCC 4.9 we can remove
// them.
void NS_FASTCALL Assign(const literalstring_type&);
void NS_FASTCALL Assign(const substring_tuple_type&);
MOZ_MUST_USE bool NS_FASTCALL Assign(const substring_tuple_type&,
const fallible_t&);
@ -284,12 +276,6 @@ public:
Assign(std::move(aStr));
return *this;
}
// NOTE(nika): gcc 4.9 workaround. Remove when support is dropped.
self_type& operator=(const literalstring_type& aStr)
{
Assign(aStr);
return *this;
}
self_type& operator=(const substring_tuple_type& aTuple)
{
Assign(aTuple);