From 03fac7f849447c39c15731f786ecffdbcca47273 Mon Sep 17 00:00:00 2001 From: Andrew McCreight Date: Fri, 24 Oct 2014 15:06:55 -0700 Subject: [PATCH 01/37] Bug 1087799, part 1 - Loosen the invariant in nsCycleCollector::FinishAnyCurrentCollection(). r=smaug If an Unlink() method ends up running JS, it can cause a GC, which will make us reenter the CC, which will not do anything because we're already in a CC. Therefore, FinishAnyCurrentCollection() won't finish the CC. This is safe because the CC only touches things it actually holds alive via the Root() method. --- xpcom/base/nsCycleCollector.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xpcom/base/nsCycleCollector.cpp b/xpcom/base/nsCycleCollector.cpp index 399b719758e..33ae5298e42 100644 --- a/xpcom/base/nsCycleCollector.cpp +++ b/xpcom/base/nsCycleCollector.cpp @@ -3673,7 +3673,10 @@ nsCycleCollector::FinishAnyCurrentCollection() PrintPhase("FinishAnyCurrentCollection"); // Use SliceCC because we only want to finish the CC in progress. Collect(SliceCC, unlimitedBudget, nullptr); - MOZ_ASSERT(mIncrementalPhase == IdlePhase); + + MOZ_ASSERT(mIncrementalPhase == IdlePhase || + (mIncrementalPhase == ScanAndCollectWhitePhase && mActivelyCollecting), + "FinishAnyCurrentCollection should finish the collection, unless we've reentered the CC during unlinking"); } // Don't merge too many times in a row, and do at least a minimum From abde4a65b9e7c045dc345e85d1899de9986d4af0 Mon Sep 17 00:00:00 2001 From: Andrew McCreight Date: Fri, 24 Oct 2014 15:06:56 -0700 Subject: [PATCH 02/37] Bug 1087799, part 2 - Rename count to numWhiteNodes in nsCycleCollector::CollectWhite(). r=smaug --- xpcom/base/nsCycleCollector.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xpcom/base/nsCycleCollector.cpp b/xpcom/base/nsCycleCollector.cpp index 33ae5298e42..feddbfb43a3 100644 --- a/xpcom/base/nsCycleCollector.cpp +++ b/xpcom/base/nsCycleCollector.cpp @@ -3263,10 +3263,10 @@ nsCycleCollector::CollectWhite() } } - uint32_t count = whiteNodes.Length(); - MOZ_ASSERT(numWhiteGCed <= count, + uint32_t numWhiteNodes = whiteNodes.Length(); + MOZ_ASSERT(numWhiteGCed <= numWhiteNodes, "More freed GCed nodes than total freed nodes."); - mResults.mFreedRefCounted += count - numWhiteGCed; + mResults.mFreedRefCounted += numWhiteNodes - numWhiteGCed; mResults.mFreedGCed += numWhiteGCed; mResults.mFreedJSZones += numWhiteJSZones; @@ -3277,7 +3277,7 @@ nsCycleCollector::CollectWhite() timeLog.Checkpoint("CollectWhite::BeforeUnlinkCB"); } - for (uint32_t i = 0; i < count; ++i) { + for (uint32_t i = 0; i < numWhiteNodes; ++i) { PtrInfo* pinfo = whiteNodes.ElementAt(i); MOZ_ASSERT(pinfo->mParticipant, "Unlink shouldn't see objects removed from graph."); @@ -3290,7 +3290,7 @@ nsCycleCollector::CollectWhite() } timeLog.Checkpoint("CollectWhite::Unlink"); - for (uint32_t i = 0; i < count; ++i) { + for (uint32_t i = 0; i < numWhiteNodes; ++i) { PtrInfo* pinfo = whiteNodes.ElementAt(i); MOZ_ASSERT(pinfo->mParticipant, "Unroot shouldn't see objects removed from graph."); @@ -3303,7 +3303,7 @@ nsCycleCollector::CollectWhite() mIncrementalPhase = CleanupPhase; - return count > 0; + return numWhiteNodes > 0; } From 3a77f28374e6ca92fc066c3ba6a29d95c427fcd6 Mon Sep 17 00:00:00 2001 From: Andrew McCreight Date: Fri, 24 Oct 2014 15:06:56 -0700 Subject: [PATCH 03/37] Bug 1087799, part 3 - Do not include any JS things in the list of white nodes. r=smaug Root() does not actually root JS things, so if some other class's Unlink() method ends up calling the GC, whiteNodes will end up containing dead pointers. (This is safe right now because the Unlink and Unroot methods do not do anything to JS things.) It is less error prone to simply never store those pointers. Also, add some asserts to enforce that we never call any of the white-object methods for JS things. --- xpcom/base/CycleCollectedJSRuntime.h | 22 +++++++++++++++------- xpcom/base/nsCycleCollector.cpp | 14 ++++++++------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/xpcom/base/CycleCollectedJSRuntime.h b/xpcom/base/CycleCollectedJSRuntime.h index 4685bf5c742..3b2964aac14 100644 --- a/xpcom/base/CycleCollectedJSRuntime.h +++ b/xpcom/base/CycleCollectedJSRuntime.h @@ -28,20 +28,24 @@ namespace mozilla { class JSGCThingParticipant: public nsCycleCollectionParticipant { public: - NS_IMETHOD_(void) Root(void* aPtr) + NS_IMETHOD_(void) Root(void*) { + MOZ_ASSERT(false, "Don't call Root on GC things"); } - NS_IMETHOD_(void) Unlink(void* aPtr) + NS_IMETHOD_(void) Unlink(void*) { + MOZ_ASSERT(false, "Don't call Unlink on GC things, as they may be dead"); } - NS_IMETHOD_(void) Unroot(void* aPtr) + NS_IMETHOD_(void) Unroot(void*) { + MOZ_ASSERT(false, "Don't call Unroot on GC things, as they may be dead"); } NS_IMETHOD_(void) DeleteCycleCollectable(void* aPtr) { + MOZ_ASSERT(false, "Can't directly delete a cycle collectable GC thing"); } NS_IMETHOD Traverse(void* aPtr, nsCycleCollectionTraversalCallback& aCb); @@ -54,20 +58,24 @@ public: { } - NS_IMETHOD_(void) Root(void* aPtr) + NS_IMETHOD_(void) Root(void*) { + MOZ_ASSERT(false, "Don't call Root on GC things"); } - NS_IMETHOD_(void) Unlink(void* aPtr) + NS_IMETHOD_(void) Unlink(void*) { + MOZ_ASSERT(false, "Don't call Unlink on GC things, as they may be dead"); } - NS_IMETHOD_(void) Unroot(void* aPtr) + NS_IMETHOD_(void) Unroot(void*) { + MOZ_ASSERT(false, "Don't call Unroot on GC things, as they may be dead"); } - NS_IMETHOD_(void) DeleteCycleCollectable(void* aPtr) + NS_IMETHOD_(void) DeleteCycleCollectable(void*) { + MOZ_ASSERT(false, "Can't directly delete a cycle collectable GC thing"); } NS_IMETHOD Traverse(void* aPtr, nsCycleCollectionTraversalCallback& aCb); diff --git a/xpcom/base/nsCycleCollector.cpp b/xpcom/base/nsCycleCollector.cpp index feddbfb43a3..3373cbb1822 100644 --- a/xpcom/base/nsCycleCollector.cpp +++ b/xpcom/base/nsCycleCollector.cpp @@ -3252,21 +3252,20 @@ nsCycleCollector::CollectWhite() while (!etor.IsDone()) { PtrInfo* pinfo = etor.GetNext(); if (pinfo->mColor == white && pinfo->mParticipant) { - whiteNodes.AppendElement(pinfo); - pinfo->mParticipant->Root(pinfo->mPointer); if (pinfo->IsGrayJS()) { ++numWhiteGCed; if (MOZ_UNLIKELY(pinfo->mParticipant == zoneParticipant)) { ++numWhiteJSZones; } + } else { + whiteNodes.AppendElement(pinfo); + pinfo->mParticipant->Root(pinfo->mPointer); } } } uint32_t numWhiteNodes = whiteNodes.Length(); - MOZ_ASSERT(numWhiteGCed <= numWhiteNodes, - "More freed GCed nodes than total freed nodes."); - mResults.mFreedRefCounted += numWhiteNodes - numWhiteGCed; + mResults.mFreedRefCounted += numWhiteNodes; mResults.mFreedGCed += numWhiteGCed; mResults.mFreedJSZones += numWhiteJSZones; @@ -3277,6 +3276,9 @@ nsCycleCollector::CollectWhite() timeLog.Checkpoint("CollectWhite::BeforeUnlinkCB"); } + // Unlink() can trigger a GC, so do not touch any JS or anything + // else not in whiteNodes after here. + for (uint32_t i = 0; i < numWhiteNodes; ++i) { PtrInfo* pinfo = whiteNodes.ElementAt(i); MOZ_ASSERT(pinfo->mParticipant, @@ -3303,7 +3305,7 @@ nsCycleCollector::CollectWhite() mIncrementalPhase = CleanupPhase; - return numWhiteNodes > 0; + return numWhiteNodes > 0 || numWhiteGCed > 0 || numWhiteJSZones > 0; } From 125d3cbc298a6046beff6b7c16ba67a2303a2f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Ferr=C3=A9?= Date: Fri, 24 Oct 2014 15:27:40 -0700 Subject: [PATCH 04/37] Bug 1058845 - Decode raw_input() as UTF-8; r=gps DONTBUILD (NPOTB) --HG-- extra : amend_source : cf4f5e29de43f714ae62f247227b17e65debc710 --- tools/mercurial/hgsetup/wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mercurial/hgsetup/wizard.py b/tools/mercurial/hgsetup/wizard.py index cbb0161c07a..63533ab3682 100644 --- a/tools/mercurial/hgsetup/wizard.py +++ b/tools/mercurial/hgsetup/wizard.py @@ -425,7 +425,7 @@ class MercurialSetupWizard(object): print(msg) while True: - response = raw_input() + response = raw_input().decode('utf-8') if response: return response From b743cda265b7261bc2abf731acedce5321899e6b Mon Sep 17 00:00:00 2001 From: Kai Engert Date: Sat, 25 Oct 2014 00:34:34 +0200 Subject: [PATCH 05/37] Bug 1088969 - Upgrade Mozilla 36 to use NSS 3.18, landing beta 1, r=wtc --- security/nss/TAG-INFO | 2 +- security/nss/cmd/lib/secutil.c | 3 +++ security/nss/cmd/rsaperf/rsaperf.c | 10 ++-------- security/nss/cmd/ssltap/ssltap.c | 1 + security/nss/cmd/tstclnt/tstclnt.c | 16 ++++++++++++++-- security/nss/coreconf/coreconf.dep | 1 - security/nss/lib/crmf/respcli.c | 12 +++++++----- security/nss/lib/freebl/cts.c | 1 - security/nss/lib/nss/nss.def | 6 ++++++ security/nss/lib/nss/nss.h | 8 ++++---- security/nss/lib/pk11wrap/pk11cert.c | 12 +++++++++++- security/nss/lib/pk11wrap/pk11pub.h | 2 ++ security/nss/lib/pk11wrap/pk11util.c | 2 +- security/nss/lib/softoken/legacydb/pcertdb.c | 6 ++---- security/nss/lib/softoken/softkver.h | 8 ++++---- security/nss/lib/ssl/ssl3con.c | 1 - security/nss/lib/util/nssutil.h | 8 ++++---- 17 files changed, 62 insertions(+), 37 deletions(-) diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO index 5479ed9c66f..2b997095dc9 100644 --- a/security/nss/TAG-INFO +++ b/security/nss/TAG-INFO @@ -1 +1 @@ -NSS_3_17_2_RTM +NSS_3_18_BETA1 diff --git a/security/nss/cmd/lib/secutil.c b/security/nss/cmd/lib/secutil.c index 8a31cd0c100..9f69f7fb753 100644 --- a/security/nss/cmd/lib/secutil.c +++ b/security/nss/cmd/lib/secutil.c @@ -291,6 +291,9 @@ secu_InitSlotPassword(PK11SlotInfo *slot, PRBool retry, void *arg) output = fopen(consoleName, "w"); if (output == NULL) { PR_fprintf(PR_STDERR, "Error opening output terminal for write\n"); +#ifndef _WINDOWS + fclose(input); +#endif return NULL; } diff --git a/security/nss/cmd/rsaperf/rsaperf.c b/security/nss/cmd/rsaperf/rsaperf.c index c2f483c5978..55503768fea 100644 --- a/security/nss/cmd/rsaperf/rsaperf.c +++ b/security/nss/cmd/rsaperf/rsaperf.c @@ -401,8 +401,6 @@ main(int argc, char **argv) Usage(progName); } - if (!doPriv && !doPub) doPriv = PR_TRUE; - if (doIters && doTime) Usage(progName); if (!doTime) { @@ -430,9 +428,7 @@ main(int argc, char **argv) if (useTokenKey) { CK_OBJECT_HANDLE kh = CK_INVALID_HANDLE; - CERTCertDBHandle* certdb = NULL; - certdb = CERT_GetDefaultCertDB(); - + cert = PK11_FindCertFromNickname(nickname, &pwData); if (cert == NULL) { fprintf(stderr, @@ -490,9 +486,7 @@ main(int argc, char **argv) exit(1); } - doKeyGen = PR_TRUE; /* Always do a keygen for session keys. - Import of hardcoded key is not supported */ - /* do a temporary keygen in selected slot */ + /* do a temporary keygen in selected slot */ if (!keybits) { keybits = DEFAULT_KEY_BITS; } diff --git a/security/nss/cmd/ssltap/ssltap.c b/security/nss/cmd/ssltap/ssltap.c index 9614f05fe19..170420a6f89 100644 --- a/security/nss/cmd/ssltap/ssltap.c +++ b/security/nss/cmd/ssltap/ssltap.c @@ -403,6 +403,7 @@ const char * V2CipherString(int cs_int) case 0x00009E: cs_str = "TLS/DHE-RSA/AES128-GCM/SHA256"; break; case 0x0000FF: cs_str = "TLS_EMPTY_RENEGOTIATION_INFO_SCSV"; break; + case 0x005600: cs_str = "TLS_FALLBACK_SCSV"; break; case 0x00C001: cs_str = "TLS/ECDH-ECDSA/NULL/SHA"; break; case 0x00C002: cs_str = "TLS/ECDH-ECDSA/RC4-128/SHA"; break; diff --git a/security/nss/cmd/tstclnt/tstclnt.c b/security/nss/cmd/tstclnt/tstclnt.c index b92dcb1a198..664c54f7f72 100644 --- a/security/nss/cmd/tstclnt/tstclnt.c +++ b/security/nss/cmd/tstclnt/tstclnt.c @@ -180,7 +180,7 @@ static void PrintUsageHeader(const char *progName) fprintf(stderr, "Usage: %s -h host [-a 1st_hs_name ] [-a 2nd_hs_name ] [-p port]\n" "[-d certdir] [-n nickname] [-Bafosvx] [-c ciphers] [-Y]\n" - "[-V [min-version]:[max-version]] [-T]\n" + "[-V [min-version]:[max-version]] [-K] [-T]\n" "[-r N] [-w passwd] [-W pwfile] [-q [-t seconds]]\n", progName); } @@ -206,6 +206,7 @@ static void PrintParameterUsage(void) "%-20s Possible values for min/max: ssl2 ssl3 tls1.0 tls1.1 tls1.2\n" "%-20s Example: \"-V ssl3:\" enables SSL 3 and newer.\n", "-V [min]:[max]", "", "", ""); + fprintf(stderr, "%-20s Send TLS_FALLBACK_SCSV\n", "-K"); fprintf(stderr, "%-20s Prints only payload data. Skips HTTP header.\n", "-S"); fprintf(stderr, "%-20s Client speaks first. \n", "-f"); fprintf(stderr, "%-20s Use synchronous certificate validation " @@ -807,6 +808,7 @@ int main(int argc, char **argv) int enableCompression = 0; int enableFalseStart = 0; int enableCertStatus = 0; + int forceFallbackSCSV = 0; PRSocketOptionData opt; PRNetAddr addr; PRPollDesc pollset[2]; @@ -852,7 +854,7 @@ int main(int argc, char **argv) SSL_VersionRangeGetSupported(ssl_variant_stream, &enabledVersions); optstate = PL_CreateOptState(argc, argv, - "46BFM:OSTV:W:Ya:c:d:fgh:m:n:op:qr:st:uvw:xz"); + "46BFKM:OSTV:W:Ya:c:d:fgh:m:n:op:qr:st:uvw:xz"); while ((optstatus = PL_GetNextOpt(optstate)) == PL_OPT_OK) { switch (optstate->option) { case '?': @@ -874,6 +876,8 @@ int main(int argc, char **argv) case 'O': serverCertAuth.shouldPause = PR_FALSE; break; + case 'K': forceFallbackSCSV = PR_TRUE; break; + case 'M': switch (atoi(optstate->value)) { case 1: serverCertAuth.allowOCSPSideChannelData = PR_TRUE; @@ -1218,6 +1222,14 @@ int main(int argc, char **argv) return 1; } + if (forceFallbackSCSV) { + rv = SSL_OptionSet(s, SSL_ENABLE_FALLBACK_SCSV, PR_TRUE); + if (rv != SECSuccess) { + SECU_PrintError(progName, "error forcing fallback scsv"); + return 1; + } + } + /* enable cert status (OCSP stapling). */ rv = SSL_OptionSet(s, SSL_ENABLE_OCSP_STAPLING, enableCertStatus); if (rv != SECSuccess) { diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep index 590d1bfaeee..5182f75552c 100644 --- a/security/nss/coreconf/coreconf.dep +++ b/security/nss/coreconf/coreconf.dep @@ -10,4 +10,3 @@ */ #error "Do not include this header file." - diff --git a/security/nss/lib/crmf/respcli.c b/security/nss/lib/crmf/respcli.c index 653bd8a61c4..5525aaf262c 100644 --- a/security/nss/lib/crmf/respcli.c +++ b/security/nss/lib/crmf/respcli.c @@ -92,11 +92,13 @@ CMMF_CertRepContentGetResponseAtIndex(CMMFCertRepContent *inCertRepContent, return NULL; } certResponse = PORT_ZNew(CMMFCertResponse); - rv = cmmf_CopyCertResponse(NULL, certResponse, - inCertRepContent->response[inIndex]); - if (rv != SECSuccess) { - CMMF_DestroyCertResponse(certResponse); - certResponse = NULL; + if (certResponse){ + rv = cmmf_CopyCertResponse(NULL, certResponse, + inCertRepContent->response[inIndex]); + if (rv != SECSuccess) { + CMMF_DestroyCertResponse(certResponse); + certResponse = NULL; + } } return certResponse; } diff --git a/security/nss/lib/freebl/cts.c b/security/nss/lib/freebl/cts.c index 74cdc0beaf0..5d4ed18bc3e 100644 --- a/security/nss/lib/freebl/cts.c +++ b/security/nss/lib/freebl/cts.c @@ -239,7 +239,6 @@ CTS_DecryptUpdate(CTSContext *cts, unsigned char *outbuf, return SECSuccess; } outbuf += fullblocks; - maxout -= fullblocks; /* recover the stolen text */ PORT_Memset(lastBlock, 0, blocksize); diff --git a/security/nss/lib/nss/nss.def b/security/nss/lib/nss/nss.def index 6f6b6708117..48bb2f22c6b 100644 --- a/security/nss/lib/nss/nss.def +++ b/security/nss/lib/nss/nss.def @@ -1062,3 +1062,9 @@ PK11_PrivDecrypt; ;+ local: ;+ *; ;+}; +;+NSS_3.18 { # NSS 3.18 release +;+ global: +PK11_SetCertificateNickname; +;+ local: +;+ *; +;+}; diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h index d56d55e9d16..c5fd3252598 100644 --- a/security/nss/lib/nss/nss.h +++ b/security/nss/lib/nss/nss.h @@ -33,12 +33,12 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define NSS_VERSION "3.17.2" _NSS_ECC_STRING _NSS_CUSTOMIZED +#define NSS_VERSION "3.18" _NSS_ECC_STRING _NSS_CUSTOMIZED " Beta" #define NSS_VMAJOR 3 -#define NSS_VMINOR 17 -#define NSS_VPATCH 2 +#define NSS_VMINOR 18 +#define NSS_VPATCH 0 #define NSS_VBUILD 0 -#define NSS_BETA PR_FALSE +#define NSS_BETA PR_TRUE #ifndef RC_INVOKED diff --git a/security/nss/lib/pk11wrap/pk11cert.c b/security/nss/lib/pk11wrap/pk11cert.c index 5b074bf58fc..c4250c64d01 100644 --- a/security/nss/lib/pk11wrap/pk11cert.c +++ b/security/nss/lib/pk11wrap/pk11cert.c @@ -2153,7 +2153,6 @@ PK11_FindCertFromDERCertItem(PK11SlotInfo *slot, const SECItem *inDerCert, { NSSDER derCert; NSSToken *tok; - NSSTrustDomain *td = STAN_GetDefaultTrustDomain(); nssCryptokiObject *co = NULL; SECStatus rv; @@ -2687,3 +2686,14 @@ PK11_GetAllSlotsForCert(CERTCertificate *cert, void *arg) nssCryptokiObjectArray_Destroy(instances); return slotList; } + +SECStatus +PK11_SetCertificateNickname(CERTCertificate *cert, const char *nickname) +{ + /* Can't set nickname of temp cert. */ + if (!cert->slot || cert->pkcs11ID == CK_INVALID_HANDLE) { + return SEC_ERROR_INVALID_ARGS; + } + return PK11_SetObjectNickname(cert->slot, cert->pkcs11ID, nickname); +} + diff --git a/security/nss/lib/pk11wrap/pk11pub.h b/security/nss/lib/pk11wrap/pk11pub.h index f0bf2c882ad..709ce21e2bd 100644 --- a/security/nss/lib/pk11wrap/pk11pub.h +++ b/security/nss/lib/pk11wrap/pk11pub.h @@ -458,6 +458,8 @@ SECStatus PK11_SetPrivateKeyNickname(SECKEYPrivateKey *privKey, const char *nickname); SECStatus PK11_SetPublicKeyNickname(SECKEYPublicKey *pubKey, const char *nickname); +SECStatus PK11_SetCertificateNickname(CERTCertificate *cert, + const char *nickname); /* size to hold key in bytes */ unsigned int PK11_GetKeyLength(PK11SymKey *key); diff --git a/security/nss/lib/pk11wrap/pk11util.c b/security/nss/lib/pk11wrap/pk11util.c index 58ff5da9677..4a384ad5bc2 100644 --- a/security/nss/lib/pk11wrap/pk11util.c +++ b/security/nss/lib/pk11wrap/pk11util.c @@ -1185,7 +1185,7 @@ end_wait: SECStatus SECMOD_CancelWait(SECMODModule *mod) { - unsigned long controlMask = mod->evControlMask; + unsigned long controlMask; SECStatus rv = SECSuccess; CK_RV crv; diff --git a/security/nss/lib/softoken/legacydb/pcertdb.c b/security/nss/lib/softoken/legacydb/pcertdb.c index 58fe27af9c1..5f7670062ce 100644 --- a/security/nss/lib/softoken/legacydb/pcertdb.c +++ b/security/nss/lib/softoken/legacydb/pcertdb.c @@ -4733,7 +4733,6 @@ nsslowcert_FindCertByIssuerAndSN(NSSLOWCERTCertDBHandle *handle, NSSLOWCERTIssue SECItem *sn = &issuerAndSN->serialNumber; SECItem *issuer = &issuerAndSN->derIssuer; NSSLOWCERTCertificate *cert; - int data_left = sn->len-1; int data_len = sn->len; int index = 0; @@ -4743,7 +4742,7 @@ nsslowcert_FindCertByIssuerAndSN(NSSLOWCERTCertDBHandle *handle, NSSLOWCERTIssue if ((sn->len >= 3) && (sn->data[0] == 0x2)) { /* remove the der encoding of the serial number before generating the * key.. */ - data_left = sn->len-2; + int data_left = sn->len-2; data_len = sn->data[1]; index = 2; @@ -4818,7 +4817,6 @@ nsslowcert_FindTrustByIssuerAndSN(NSSLOWCERTCertDBHandle *handle, SECItem *issuer = &issuerAndSN->derIssuer; NSSLOWCERTTrust *trust; unsigned char keyBuf[512]; - int data_left = sn->len-1; int data_len = sn->len; int index = 0; int len; @@ -4829,7 +4827,7 @@ nsslowcert_FindTrustByIssuerAndSN(NSSLOWCERTCertDBHandle *handle, if ((sn->len >= 3) && (sn->data[0] == 0x2)) { /* remove the der encoding of the serial number before generating the * key.. */ - data_left = sn->len-2; + int data_left = sn->len-2; data_len = sn->data[1]; index = 2; diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h index 1a0db7808dd..c3f1a03920e 100644 --- a/security/nss/lib/softoken/softkver.h +++ b/security/nss/lib/softoken/softkver.h @@ -25,11 +25,11 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define SOFTOKEN_VERSION "3.17.2" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.18" SOFTOKEN_ECC_STRING " Beta" #define SOFTOKEN_VMAJOR 3 -#define SOFTOKEN_VMINOR 17 -#define SOFTOKEN_VPATCH 2 +#define SOFTOKEN_VMINOR 18 +#define SOFTOKEN_VPATCH 0 #define SOFTOKEN_VBUILD 0 -#define SOFTOKEN_BETA PR_FALSE +#define SOFTOKEN_BETA PR_TRUE #endif /* _SOFTKVER_H_ */ diff --git a/security/nss/lib/ssl/ssl3con.c b/security/nss/lib/ssl/ssl3con.c index 826bb11b673..c6d1e0e5f67 100644 --- a/security/nss/lib/ssl/ssl3con.c +++ b/security/nss/lib/ssl/ssl3con.c @@ -5116,7 +5116,6 @@ ssl3_SendClientHello(sslSocket *ss, PRBool resending) if (sid->u.ssl3.lock) { PR_RWLock_Unlock(sid->u.ssl3.lock); } return SECFailure; } - maxBytes -= extLen; total_exten_len += extLen; if (total_exten_len > 0) diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h index f606a235c90..03bd6da9026 100644 --- a/security/nss/lib/util/nssutil.h +++ b/security/nss/lib/util/nssutil.h @@ -19,12 +19,12 @@ * The format of the version string should be * ".[.[.]][ ]" */ -#define NSSUTIL_VERSION "3.17.2" +#define NSSUTIL_VERSION "3.18 Beta" #define NSSUTIL_VMAJOR 3 -#define NSSUTIL_VMINOR 17 -#define NSSUTIL_VPATCH 2 +#define NSSUTIL_VMINOR 18 +#define NSSUTIL_VPATCH 0 #define NSSUTIL_VBUILD 0 -#define NSSUTIL_BETA PR_FALSE +#define NSSUTIL_BETA PR_TRUE SEC_BEGIN_PROTOS From 05f31efcce0e53cee94e3aab9ecab0227efeafa2 Mon Sep 17 00:00:00 2001 From: Mike Shal Date: Fri, 24 Oct 2014 18:24:33 -0400 Subject: [PATCH 06/37] Bug 1087104 - Implement partial mar generation in make for 'mach build'; r=glandium --- build/gen_mach_buildprops.py | 17 ++++++++++++----- build/moz-automation.mk | 2 +- tools/update-packaging/Makefile.in | 28 +++++++++++++++++++++++++--- 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/build/gen_mach_buildprops.py b/build/gen_mach_buildprops.py index 0402cf11558..7ea2e8c8efb 100644 --- a/build/gen_mach_buildprops.py +++ b/build/gen_mach_buildprops.py @@ -29,14 +29,15 @@ def getFileHashAndSize(filename): return (sha512Hash, size) -def getMarProperties(filename): +def getMarProperties(filename, partial=False): if not os.path.exists(filename): return {} - (complete_mar_hash, complete_mar_size) = getFileHashAndSize(filename) + (mar_hash, mar_size) = getFileHashAndSize(filename) + martype = 'partial' if partial else 'complete' return { - 'completeMarFilename': os.path.basename(filename), - 'completeMarSize': complete_mar_size, - 'completeMarHash': complete_mar_hash, + '%sMarFilename' % martype: os.path.basename(filename), + '%sMarSize' % martype: mar_size, + '%sMarHash' % martype: mar_hash, } def getUrlProperties(filename): @@ -52,6 +53,7 @@ def getUrlProperties(filename): ('robocopApkUrl', lambda m: m.endswith('apk') and 'robocop' in m), ('jsshellUrl', lambda m: 'jsshell-' in m and m.endswith('.zip')), ('completeMarUrl', lambda m: m.endswith('.complete.mar')), + ('partialMarUrl', lambda m: m.endswith('.mar') and '.partial.' in m), # packageUrl must be last! ('packageUrl', lambda m: True), ] @@ -79,12 +81,17 @@ if __name__ == '__main__': parser.add_argument("--complete-mar-file", required=True, action="store", dest="complete_mar_file", help="Path to the complete MAR file, relative to the objdir.") + parser.add_argument("--partial-mar-file", required=False, + action="store", dest="partial_mar_file", + help="Path to the partial MAR file, relative to the objdir.") parser.add_argument("--upload-output", required=True, action="store", dest="upload_output", help="Path to the text output of 'make upload'") args = parser.parse_args() json_data = getMarProperties(args.complete_mar_file) + if args.partial_mar_file: + json_data.update(getMarProperties(args.partial_mar_file, partial=True)) json_data.update(getUrlProperties(args.upload_output)) with open('mach_build_properties.json', 'w') as outfile: diff --git a/build/moz-automation.mk b/build/moz-automation.mk index 9b044e2738e..d031effcb0d 100644 --- a/build/moz-automation.mk +++ b/build/moz-automation.mk @@ -86,7 +86,7 @@ automation/l10n-check: automation/pretty-l10n-check automation/update-packaging: automation/pretty-update-packaging automation/build: $(addprefix automation/,$(MOZ_AUTOMATION_TIERS)) - $(PYTHON) $(topsrcdir)/build/gen_mach_buildprops.py --complete-mar-file $(DIST)/$(COMPLETE_MAR) --upload-output $(AUTOMATION_UPLOAD_OUTPUT) + $(PYTHON) $(topsrcdir)/build/gen_mach_buildprops.py --complete-mar-file $(DIST)/$(COMPLETE_MAR) $(addprefix --partial-mar-file ,$(wildcard $(DIST)/$(PARTIAL_MAR))) --upload-output $(AUTOMATION_UPLOAD_OUTPUT) # We need the log from make upload to grep it for urls in order to set # properties. diff --git a/tools/update-packaging/Makefile.in b/tools/update-packaging/Makefile.in index 69dda373750..0013a48e66e 100644 --- a/tools/update-packaging/Makefile.in +++ b/tools/update-packaging/Makefile.in @@ -31,7 +31,7 @@ MAR_BIN = $(LIBXUL_DIST)/host/bin/mar$(HOST_BIN_SUFFIX) MBSDIFF_BIN = $(LIBXUL_DIST)/host/bin/mbsdiff$(HOST_BIN_SUFFIX) OVERRIDE_DEFAULT_GOAL := full-update -full-update:: complete-patch +full-update:: complete-patch $(if $(MOZ_AUTOMATION_UPDATE_PACKAGING),automation-partial-patch) ifeq ($(OS_TARGET), WINNT) MOZ_PKG_FORMAT := SFX7Z @@ -61,10 +61,10 @@ ifeq ($(OS_TARGET), WINNT) endif MAR=$(MAR_BIN) \ $(srcdir)/make_full_update.sh \ - '$(STAGE_DIR)/$(PKG_UPDATE_BASENAME).complete.mar' \ + '$(DIST)/$(COMPLETE_MAR)' \ '$(PACKAGE_DIR)' ifdef MOZ_SIGN_CMD - $(MOZ_SIGN_CMD) -f mar '$(STAGE_DIR)/$(PKG_UPDATE_BASENAME).complete.mar' + $(MOZ_SIGN_CMD) -f mar '$(DIST)/$(COMPLETE_MAR)' endif partial-patch:: $(dir-stage) @@ -77,3 +77,25 @@ partial-patch:: $(dir-stage) ifdef MOZ_SIGN_CMD $(MOZ_SIGN_CMD) -f mar '$(STAGE_DIR)/$(PKG_UPDATE_BASENAME).partial.$(SRC_BUILD_ID)-$(DST_BUILD_ID).mar' endif + +automation-partial-patch: complete-patch + rm -rf current current.work previous + mkdir current previous + latestmar=$$(ssh -l $(UPLOAD_USER) -i $(UPLOAD_SSH_KEY) $(UPLOAD_HOST) 'ls -1t $(LATEST_MAR_DIR) | grep $(MOZ_PKG_PLATFORM).complete.mar$$ | head -n 1'); \ + if test -n "$$latestmar"; then \ + wget -O $(STAGE_DIR)/previous.mar http://$(UPLOAD_HOST)/$(LATEST_MAR_DIR)/$$latestmar && \ + (cd previous; \ + MAR=$(MAR_BIN) perl $(topsrcdir)/tools/update-packaging/unwrap_full_update.pl '../$(STAGE_DIR)/previous.mar') && \ + (cd current; \ + MAR=$(MAR_BIN) perl $(topsrcdir)/tools/update-packaging/unwrap_full_update.pl '../$(DIST)/$(COMPLETE_MAR)') && \ + find current -name \*.pgc -print -delete && \ + find previous -name \*.pgc -print -delete && \ + rm -f $(STAGE_DIR)/*.partial.*.mar && \ + SRC_BUILD_ID=$$(python $(topsrcdir)/config/printconfigsetting.py $$(find previous -maxdepth 4 -type f -name application.ini) App BuildID) \ + DST_BUILD_ID=$$(cat $(DEPTH)/config/buildid) \ + SRC_BUILD=previous DST_BUILD=current \ + $(MAKE) partial-patch && \ + rm -f $(STAGE_DIR)/previous.mar; \ + else \ + echo "No previous MAR found; not creating a partial MAR"; \ + fi From 109a20e4e7434b871c9939c76c12c1ad93afe0c3 Mon Sep 17 00:00:00 2001 From: Patrick McManus Date: Tue, 21 Oct 2014 14:35:41 -0400 Subject: [PATCH 07/37] bug 1024730 - nsIHttpPushListener r=hurley co-author: ben brittain --- netwerk/base/public/moz.build | 1 + netwerk/base/public/nsIHttpPushListener.idl | 36 +++++++ netwerk/build/nsNetCID.h | 12 +++ netwerk/protocol/http/ASpdySession.cpp | 15 ++- netwerk/protocol/http/Http2Push.cpp | 99 ++++++++++++++++++- netwerk/protocol/http/Http2Push.h | 27 ++++- netwerk/protocol/http/Http2Session.cpp | 75 ++++++++------ netwerk/protocol/http/Http2Stream.cpp | 55 +++++++++-- netwerk/protocol/http/Http2Stream.h | 10 +- netwerk/protocol/http/nsHttp.h | 3 + netwerk/protocol/http/nsHttpChannel.cpp | 95 ++++++++++++++++++ netwerk/protocol/http/nsHttpChannel.h | 18 ++++ netwerk/protocol/http/nsHttpConnectionMgr.cpp | 11 ++- netwerk/protocol/http/nsHttpHeaderArray.cpp | 19 ++++ netwerk/protocol/http/nsHttpHeaderArray.h | 2 + netwerk/protocol/http/nsHttpRequestHead.h | 1 + netwerk/protocol/http/nsHttpTransaction.cpp | 9 +- netwerk/protocol/http/nsHttpTransaction.h | 15 ++- netwerk/test/unit/test_http2.js | 83 ++++++++++++++++ testing/xpcshell/moz-http2/moz-http2.js | 50 +++++++++- 20 files changed, 579 insertions(+), 57 deletions(-) create mode 100644 netwerk/base/public/nsIHttpPushListener.idl diff --git a/netwerk/base/public/moz.build b/netwerk/base/public/moz.build index 632c2f16035..6f37f583b10 100644 --- a/netwerk/base/public/moz.build +++ b/netwerk/base/public/moz.build @@ -43,6 +43,7 @@ XPIDL_SOURCES += [ 'nsIFileStreams.idl', 'nsIFileURL.idl', 'nsIForcePendingChannel.idl', + 'nsIHttpPushListener.idl', 'nsIIncrementalDownload.idl', 'nsIInputStreamChannel.idl', 'nsIInputStreamPump.idl', diff --git a/netwerk/base/public/nsIHttpPushListener.idl b/netwerk/base/public/nsIHttpPushListener.idl new file mode 100644 index 00000000000..f44605c0006 --- /dev/null +++ b/netwerk/base/public/nsIHttpPushListener.idl @@ -0,0 +1,36 @@ +/* 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/. */ + +#include "nsISupports.idl" +interface nsIHttpChannel; + +/** + * nsIHttpPushListener + * + * Used for triggering when a HTTP/2 push is received. + * + */ +[scriptable, uuid(0d6ce59c-ad5d-4520-b4d3-09664868f279)] +interface nsIHttpPushListener : nsISupports +{ + /** + * When provided as a notificationCallback to an httpChannel, this.onPush() + * will be invoked when there is a >= Http2 push to that + * channel. The push may be in progress. + * + * The consumer must start the new channel in the usual way by calling + * pushChannel.AsyncOpen with a nsIStreamListener object that + * will receive the normal sequence of OnStartRequest(), + * 0 to N OnDataAvailable(), and onStopRequest(). + * + * The new channel can be canceled after the AsyncOpen if it is not wanted. + * + * @param associatedChannel + * the monitor channel that was recieved on + * @param pushChannel + * a channel to the resource which is being pushed + */ + void onPush(in nsIHttpChannel associatedChannel, + in nsIHttpChannel pushChannel); +}; diff --git a/netwerk/build/nsNetCID.h b/netwerk/build/nsNetCID.h index 4117a99a356..ac39fb8e816 100644 --- a/netwerk/build/nsNetCID.h +++ b/netwerk/build/nsNetCID.h @@ -579,6 +579,18 @@ {0xb5, 0x27, 0x8a, 0x64, 0x30, 0x56, 0xab, 0xbd} \ } +// component implementing nsIHttpPushListener. +#define NS_HTTPPUSHLISTENER_CONTRACTID \ + "@mozilla.org/network/push-listener;1" +#define NS_HTTPPUSHLISTENER_CID \ +{ \ + 0x73cf4430, \ + 0x5877, \ + 0x4c6b, \ + {0xb8, 0x78, 0x3e, 0xde, 0x5b, 0xc8, 0xef, 0xf1} \ +} + + #define NS_HTTPACTIVITYDISTRIBUTOR_CONTRACTID \ "@mozilla.org/network/http-activity-distributor;1" #define NS_HTTPACTIVITYDISTRIBUTOR_CID \ diff --git a/netwerk/protocol/http/ASpdySession.cpp b/netwerk/protocol/http/ASpdySession.cpp index e6d3cf9e7d8..9997c5eb210 100644 --- a/netwerk/protocol/http/ASpdySession.cpp +++ b/netwerk/protocol/http/ASpdySession.cpp @@ -147,8 +147,11 @@ SpdyPushCache::RegisterPushedStreamSpdy3(nsCString key, { LOG3(("SpdyPushCache::RegisterPushedStreamSpdy3 %s 0x%X\n", key.get(), stream->StreamID())); - if(mHashSpdy3.Get(key)) + if(mHashSpdy3.Get(key)) { + LOG3(("SpdyPushCache::RegisterPushedStreamSpdy3 %s 0x%X duplicate key\n", + key.get(), stream->StreamID())); return false; + } mHashSpdy3.Put(key, stream); return true; } @@ -170,8 +173,11 @@ SpdyPushCache::RegisterPushedStreamSpdy31(nsCString key, { LOG3(("SpdyPushCache::RegisterPushedStreamSpdy31 %s 0x%X\n", key.get(), stream->StreamID())); - if(mHashSpdy31.Get(key)) + if(mHashSpdy31.Get(key)) { + LOG3(("SpdyPushCache::RegisterPushedStreamSpdy31 %s 0x%X duplicate key\n", + key.get(), stream->StreamID())); return false; + } mHashSpdy31.Put(key, stream); return true; } @@ -193,8 +199,11 @@ SpdyPushCache::RegisterPushedStreamHttp2(nsCString key, { LOG3(("SpdyPushCache::RegisterPushedStreamHttp2 %s 0x%X\n", key.get(), stream->StreamID())); - if(mHashHttp2.Get(key)) + if(mHashHttp2.Get(key)) { + LOG3(("SpdyPushCache::RegisterPushedStreamHttp2 %s 0x%X duplicate key\n", + key.get(), stream->StreamID())); return false; + } mHashHttp2.Put(key, stream); return true; } diff --git a/netwerk/protocol/http/Http2Push.cpp b/netwerk/protocol/http/Http2Push.cpp index 71100e7057c..864e89d165b 100644 --- a/netwerk/protocol/http/Http2Push.cpp +++ b/netwerk/protocol/http/Http2Push.cpp @@ -16,12 +16,45 @@ #include #include "Http2Push.h" - -#include "nsDependentString.h" +#include "nsHttpChannel.h" +#include "nsIHttpPushListener.h" +#include "nsString.h" namespace mozilla { namespace net { +class CallChannelOnPush MOZ_FINAL : public nsRunnable { + public: + CallChannelOnPush(nsIHttpChannelInternal *associatedChannel, + const nsACString &pushedURI, + Http2PushedStream *pushStream) + : mAssociatedChannel(associatedChannel) + , mPushedURI(pushedURI) + , mPushedStream(pushStream) + { + } + + NS_IMETHOD Run() + { + MOZ_ASSERT(NS_IsMainThread()); + nsRefPtr channel; + CallQueryInterface(mAssociatedChannel, channel.StartAssignment()); + MOZ_ASSERT(channel); + if (channel && NS_SUCCEEDED(channel->OnPush(mPushedURI, mPushedStream))) { + return NS_OK; + } + + LOG3(("Http2PushedStream Orphan %p failed OnPush\n", this)); + mPushedStream->OnPushFailed(); + return NS_OK; + } + +private: + nsCOMPtr mAssociatedChannel; + const nsCString mPushedURI; + Http2PushedStream *mPushedStream; +}; + ////////////////////////////////////////// // Http2PushedStream ////////////////////////////////////////// @@ -32,10 +65,13 @@ Http2PushedStream::Http2PushedStream(Http2PushTransactionBuffer *aTransaction, uint32_t aID) :Http2Stream(aTransaction, aSession, 0) , mConsumerStream(nullptr) + , mAssociatedTransaction(aAssociatedStream->Transaction()) , mBufferedPush(aTransaction) , mStatus(NS_OK) , mPushCompleted(false) , mDeferCleanupOnSuccess(true) + , mDeferCleanupOnPush(false) + , mOnPushFailed(false) { LOG3(("Http2PushedStream ctor this=%p 0x%X\n", this, aID)); mStreamID = aID; @@ -70,6 +106,51 @@ Http2PushedStream::WriteSegments(nsAHttpSegmentWriter *writer, return rv; } +bool +Http2PushedStream::DeferCleanup(nsresult status) +{ + LOG3(("Http2PushedStream::DeferCleanup Query %p %x\n", this, status)); + + if (NS_SUCCEEDED(status) && mDeferCleanupOnSuccess) { + LOG3(("Http2PushedStream::DeferCleanup %p %x defer on success\n", this, status)); + return true; + } + if (mDeferCleanupOnPush) { + LOG3(("Http2PushedStream::DeferCleanup %p %x defer onPush ref\n", this, status)); + return true; + } + if (mConsumerStream) { + LOG3(("Http2PushedStream::DeferCleanup %p %x defer active consumer\n", this, status)); + return true; + } + LOG3(("Http2PushedStream::DeferCleanup Query %p %x not deferred\n", this, status)); + return false; +} + +// return true if channel implements nsIHttpPushListener +bool +Http2PushedStream::TryOnPush() +{ + nsHttpTransaction *trans = mAssociatedTransaction->QueryHttpTransaction(); + if (!trans) { + return false; + } + + nsCOMPtr associatedChannel = do_QueryInterface(trans->HttpChannel()); + if (!associatedChannel) { + return false; + } + + if (!(trans->Caps() & NS_HTTP_ONPUSH_LISTENER)) { + return false; + } + + mDeferCleanupOnPush = true; + nsCString uri = Origin() + Path(); + NS_DispatchToMainThread(new CallChannelOnPush(associatedChannel, uri, this)); + return true; +} + nsresult Http2PushedStream::ReadSegments(nsAHttpSegmentReader *, uint32_t, uint32_t *count) @@ -91,6 +172,13 @@ Http2PushedStream::ReadSegments(nsAHttpSegmentReader *, return NS_OK; } +void +Http2PushedStream::SetConsumerStream(Http2Stream *consumer) +{ + mConsumerStream = consumer; + mDeferCleanupOnPush = false; +} + bool Http2PushedStream::GetHashKey(nsCString &key) { @@ -115,8 +203,13 @@ Http2PushedStream::IsOrphaned(TimeStamp now) // if session is not transmitting, and is also not connected to a consumer // stream, and its been like that for too long then it is oprhaned - if (mConsumerStream) + if (mConsumerStream || mDeferCleanupOnPush) { return false; + } + + if (mOnPushFailed) { + return true; + } bool rv = ((now - mLastRead).ToSeconds() > 30.0); if (rv) { diff --git a/netwerk/protocol/http/Http2Push.h b/netwerk/protocol/http/Http2Push.h index 787f8d1ee6c..42ddab72f43 100644 --- a/netwerk/protocol/http/Http2Push.h +++ b/netwerk/protocol/http/Http2Push.h @@ -31,8 +31,11 @@ public: virtual ~Http2PushedStream() {} bool GetPushComplete(); - Http2Stream *GetConsumerStream() { return mConsumerStream; }; - void SetConsumerStream(Http2Stream *aStream) { mConsumerStream = aStream; } + + // The consumer stream is the synthetic pull stream hooked up to this push + virtual Http2Stream *GetConsumerStream() MOZ_OVERRIDE { return mConsumerStream; }; + + void SetConsumerStream(Http2Stream *aStream); bool GetHashKey(nsCString &key); // override of Http2Stream @@ -42,16 +45,21 @@ public: nsILoadGroupConnectionInfo *LoadGroupConnectionInfo() { return mLoadGroupCI; }; void ConnectPushedStream(Http2Stream *consumer); - bool DeferCleanupOnSuccess() { return mDeferCleanupOnSuccess; } + bool TryOnPush(); + + virtual bool DeferCleanup(nsresult status) MOZ_OVERRIDE; void SetDeferCleanupOnSuccess(bool val) { mDeferCleanupOnSuccess = val; } bool IsOrphaned(TimeStamp now); + void OnPushFailed() { mDeferCleanupOnPush = false; mOnPushFailed = true; } nsresult GetBufferedData(char *buf, uint32_t count, uint32_t *countWritten); // overload of Http2Stream virtual bool HasSink() { return !!mConsumerStream; } + nsCString &GetRequestString() { return mRequestString; } + private: Http2Stream *mConsumerStream; // paired request stream that consumes from @@ -59,6 +67,8 @@ private: nsCOMPtr mLoadGroupCI; + nsAHttpTransaction *mAssociatedTransaction; + Http2PushTransactionBuffer *mBufferedPush; mozilla::TimeStamp mLastRead; @@ -66,6 +76,17 @@ private: nsresult mStatus; bool mPushCompleted; // server push FIN received bool mDeferCleanupOnSuccess; + + // mDeferCleanupOnPush prevents Http2Session::CleanupStream() from + // destroying the push stream on an error code during the period between + // when we need to do OnPush() on another thread and the time it takes + // for that event to create a synthetic pull stream attached to this + // object. That synthetic pull will become mConsuemerStream. + // Ths is essentially a delete protecting reference. + bool mDeferCleanupOnPush; + bool mOnPushFailed; + nsCString mRequestString; + }; class Http2PushTransactionBuffer MOZ_FINAL : public nsAHttpTransaction diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp index 1f9f60e595b..dbba57b12ce 100644 --- a/netwerk/protocol/http/Http2Session.cpp +++ b/netwerk/protocol/http/Http2Session.cpp @@ -833,7 +833,7 @@ Http2Session::SendHello() } // Advertise the Push RWIN for the session, and on each new pull stream - // send a window update with END_FLOW_CONTROL + // send a window update CopyAsNetwork16(packet + kFrameHeaderBytes + (6 * numberOfEntries), SETTINGS_TYPE_INITIAL_WINDOW); CopyAsNetwork32(packet + kFrameHeaderBytes + (6 * numberOfEntries) + 2, mPushAllowance); numberOfEntries++; @@ -942,9 +942,7 @@ Http2Session::CleanupStream(Http2Stream *aStream, nsresult aResult, return; } - Http2PushedStream *pushSource = nullptr; - - if (NS_SUCCEEDED(aResult) && aStream->DeferCleanupOnSuccess()) { + if (aStream->DeferCleanup(aResult)) { LOG3(("Http2Session::CleanupStream 0x%X deferred\n", aStream->StreamID())); return; } @@ -954,11 +952,17 @@ Http2Session::CleanupStream(Http2Stream *aStream, nsresult aResult, return; } - pushSource = aStream->PushSource(); + Http2PushedStream *pushSource = aStream->PushSource(); + if (pushSource) { + // aStream is a synthetic attached to an even push + MOZ_ASSERT(pushSource->GetConsumerStream() == aStream); + MOZ_ASSERT(!aStream->StreamID()); + MOZ_ASSERT(!(pushSource->StreamID() & 0x1)); + pushSource->SetConsumerStream(nullptr); + } if (!aStream->RecvdFin() && !aStream->RecvdReset() && aStream->StreamID()) { - LOG3(("Stream had not processed recv FIN, sending RST code %X\n", - aResetCode)); + LOG3(("Stream had not processed recv FIN, sending RST code %X\n", aResetCode)); GenerateRstStream(aResetCode, aStream->StreamID()); } @@ -1577,8 +1581,24 @@ Http2Session::RecvPushPromise(Http2Session *self) new Http2PushTransactionBuffer(); transactionBuffer->SetConnection(self); Http2PushedStream *pushedStream = - new Http2PushedStream(transactionBuffer, self, - associatedStream, promisedID); + new Http2PushedStream(transactionBuffer, self, associatedStream, promisedID); + + self->mDecompressBuffer.Append(self->mInputFrameBuffer + kFrameHeaderBytes + paddingControlBytes + promiseLen, + self->mInputFrameDataSize - paddingControlBytes - promiseLen - paddingLength); + + rv = pushedStream->ConvertPushHeaders(&self->mDecompressor, + self->mDecompressBuffer, + pushedStream->GetRequestString()); + + if (rv == NS_ERROR_NOT_IMPLEMENTED) { + LOG3(("Http2Session::PushPromise Semantics not Implemented\n")); + self->GenerateRstStream(REFUSED_STREAM_ERROR, promisedID); + delete pushedStream; + return NS_OK; + } + + if (NS_FAILED(rv)) + return rv; // Ownership of the pushed stream is by the transaction hash, just as it // is for a client initiated stream. Errors that aren't fatal to the @@ -1587,22 +1607,6 @@ Http2Session::RecvPushPromise(Http2Session *self) self->mStreamTransactionHash.Put(transactionBuffer, pushedStream); self->mPushedStreams.AppendElement(pushedStream); - self->mDecompressBuffer.Append(self->mInputFrameBuffer + kFrameHeaderBytes + paddingControlBytes + promiseLen, - self->mInputFrameDataSize - paddingControlBytes - promiseLen - paddingLength); - - nsAutoCString requestHeaders; - rv = pushedStream->ConvertPushHeaders(&self->mDecompressor, - self->mDecompressBuffer, requestHeaders); - - if (rv == NS_ERROR_NOT_IMPLEMENTED) { - LOG3(("Http2Session::PushPromise Semantics not Implemented\n")); - self->GenerateRstStream(REFUSED_STREAM_ERROR, promisedID); - return NS_OK; - } - - if (NS_FAILED(rv)) - return rv; - if (self->RegisterStreamID(pushedStream, promisedID) == kDeadStreamID) { LOG3(("Http2Session::RecvPushPromise registerstreamid failed\n")); self->mGoAwayReason = INTERNAL_ERROR; @@ -1626,19 +1630,28 @@ Http2Session::RecvPushPromise(Http2Session *self) } if (!associatedStream->Origin().Equals(pushedStream->Origin())) { - LOG3(("Http2Session::RecvPushPromise pushed stream mismatched origin\n")); + LOG3(("Http2Session::RecvPushPromise %p pushed stream mismatched origin " + "associated origin %s .. pushed origin %s\n", self, + associatedStream->Origin().get(), pushedStream->Origin().get())); self->CleanupStream(pushedStream, NS_ERROR_FAILURE, REFUSED_STREAM_ERROR); self->ResetDownstreamState(); return NS_OK; } - if (!cache->RegisterPushedStreamHttp2(key, pushedStream)) { - LOG3(("Http2Session::RecvPushPromise registerPushedStream Failed\n")); - self->CleanupStream(pushedStream, NS_ERROR_FAILURE, INTERNAL_ERROR); - self->ResetDownstreamState(); - return NS_OK; + if (pushedStream->TryOnPush()) { + LOG3(("Http2Session::RecvPushPromise %p channel implements nsIHttpPushListener " + "stream %p will not be placed into session cache.\n", self, pushedStream)); + } else { + LOG3(("Http2Session::RecvPushPromise %p place stream into session cache\n", self)); + if (!cache->RegisterPushedStreamHttp2(key, pushedStream)) { + LOG3(("Http2Session::RecvPushPromise registerPushedStream Failed\n")); + self->CleanupStream(pushedStream, NS_ERROR_FAILURE, INTERNAL_ERROR); + self->ResetDownstreamState(); + return NS_OK; + } } + pushedStream->SetHTTPState(Http2Stream::RESERVED_BY_REMOTE); static_assert(Http2Stream::kWorstPriority >= 0, "kWorstPriority out of range"); uint8_t priorityWeight = (nsISupportsPriority::PRIORITY_LOWEST + 1) - diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp index 76b1ccd3945..da846238952 100644 --- a/netwerk/protocol/http/Http2Stream.cpp +++ b/netwerk/protocol/http/Http2Stream.cpp @@ -312,15 +312,32 @@ Http2Stream::ParseHttpRequestHeaders(const char *buf, // from :scheme, :authority, :path nsILoadGroupConnectionInfo *loadGroupCI = mTransaction->LoadGroupConnectionInfo(); SpdyPushCache *cache = nullptr; - if (loadGroupCI) + if (loadGroupCI) { loadGroupCI->GetSpdyPushCache(&cache); + } Http2PushedStream *pushedStream = nullptr; + + // If a push stream is attached to the transaction via onPush, match only with that + // one. This occurs when a push was made with in conjunction with a nsIHttpPushListener + nsHttpTransaction *trans = mTransaction->QueryHttpTransaction(); + if (trans && (pushedStream = trans->TakePushedStream())) { + if (pushedStream->mSession == mSession) { + LOG3(("Pushed Stream match based on OnPush correlation %p", pushedStream)); + } else { + LOG3(("Pushed Stream match failed due to stream mismatch %p %d %d\n", pushedStream, + pushedStream->mSession->Serial(), mSession->Serial())); + pushedStream->OnPushFailed(); + pushedStream = nullptr; + } + } + // we remove the pushedstream from the push cache so that // it will not be used for another GET. This does not destroy the // stream itself - that is done when the transactionhash is done with it. - if (cache) - pushedStream = cache->RemovePushedStreamHttp2(hashkey); + if (cache && !pushedStream){ + pushedStream = cache->RemovePushedStreamHttp2(hashkey); + } LOG3(("Pushed Stream Lookup " "session=%p key=%s loadgroupci=%p cache=%p hit=%p\n", @@ -569,6 +586,17 @@ Http2Stream::AdjustInitialWindow() return; } + if (stream->mState == RESERVED_BY_REMOTE) { + // h2-14 prevents sending a window update in this state + return; + } + + MOZ_ASSERT(mClientReceiveWindow <= ASpdySession::kInitialRwin); + uint32_t bump = ASpdySession::kInitialRwin - mClientReceiveWindow; + if (!bump) { // nothing to do + return; + } + uint8_t *packet = mTxInlineFrame.get() + mTxInlineFrameUsed; EnsureBuffer(mTxInlineFrame, mTxInlineFrameUsed + Http2Session::kFrameHeaderBytes + 4, mTxInlineFrameUsed, mTxInlineFrameSize); @@ -578,8 +606,6 @@ Http2Stream::AdjustInitialWindow() Http2Session::FRAME_TYPE_WINDOW_UPDATE, 0, stream->mStreamID); - MOZ_ASSERT(mClientReceiveWindow <= ASpdySession::kInitialRwin); - uint32_t bump = ASpdySession::kInitialRwin - mClientReceiveWindow; mClientReceiveWindow += bump; bump = PR_htonl(bump); memcpy(packet + Http2Session::kFrameHeaderBytes, &bump, 4); @@ -835,7 +861,7 @@ Http2Stream::GenerateDataFrameHeader(uint32_t dataLength, bool lastFrame) mTxStreamFrameSize = dataLength; } -// ConvertHeaders is used to convert the response headers +// ConvertResponseHeaders is used to convert the response headers // into HTTP/1 format and report some telemetry nsresult Http2Stream::ConvertResponseHeaders(Http2Decompressor *decompressor, @@ -851,14 +877,14 @@ Http2Stream::ConvertResponseHeaders(Http2Decompressor *decompressor, aHeadersIn.Length(), aHeadersOut, false); if (NS_FAILED(rv)) { - LOG3(("Http2Stream::ConvertHeaders %p decode Error\n", this)); + LOG3(("Http2Stream::ConvertResponseHeaders %p decode Error\n", this)); return NS_ERROR_ILLEGAL_VALUE; } nsAutoCString statusString; decompressor->GetStatus(statusString); if (statusString.IsEmpty()) { - LOG3(("Http2Stream::ConvertHeaders %p Error - no status\n", this)); + LOG3(("Http2Stream::ConvertResponseHeaders %p Error - no status\n", this)); return NS_ERROR_ILLEGAL_VALUE; } @@ -873,7 +899,7 @@ Http2Stream::ConvertResponseHeaders(Http2Decompressor *decompressor, if (httpResponseCode == 101) { // 8.1.1 of h2 disallows 101.. throw PROTOCOL_ERROR on stream - LOG3(("Http2Stream::ConvertHeaders %p Error - status == 101\n", this)); + LOG3(("Http2Stream::ConvertResponseHeaders %p Error - status == 101\n", this)); return NS_ERROR_ILLEGAL_VALUE; } @@ -901,7 +927,7 @@ Http2Stream::ConvertResponseHeaders(Http2Decompressor *decompressor, return NS_OK; } -// ConvertHeaders is used to convert the response headers +// ConvertPushHeaders is used to convert the pushed request headers // into HTTP/1 format and report some telemetry nsresult Http2Stream::ConvertPushHeaders(Http2Decompressor *decompressor, @@ -909,6 +935,7 @@ Http2Stream::ConvertPushHeaders(Http2Decompressor *decompressor, nsACString &aHeadersOut) { aHeadersOut.Truncate(); + aHeadersOut.SetCapacity(aHeadersIn.Length() + 512); nsresult rv = decompressor->DecodeHeaderBlock(reinterpret_cast(aHeadersIn.BeginReading()), aHeadersIn.Length(), @@ -955,6 +982,14 @@ Http2Stream::SetAllHeadersReceived() return; } + if (mState == RESERVED_BY_REMOTE) { + // pushed streams needs to wait until headers have + // arrived to open up their window + LOG3(("Http2Stream::SetAllHeadersReceived %p state OPEN from reserved\n", this)); + mState = OPEN; + AdjustInitialWindow(); + } + mAllHeadersReceived = 1; if (mIsTunnel) { MapStreamToHttpConnection(); diff --git a/netwerk/protocol/http/Http2Stream.h b/netwerk/protocol/http/Http2Stream.h index 6e393075a20..f13ecb35b8d 100644 --- a/netwerk/protocol/http/Http2Stream.h +++ b/netwerk/protocol/http/Http2Stream.h @@ -47,9 +47,15 @@ public: virtual nsresult ReadSegments(nsAHttpSegmentReader *, uint32_t, uint32_t *); virtual nsresult WriteSegments(nsAHttpSegmentWriter *, uint32_t, uint32_t *); - virtual bool DeferCleanupOnSuccess() { return false; } + virtual bool DeferCleanup(nsresult status) { return false; } + + // The consumer stream is the synthetic pull stream hooked up to this stream + // http2PushedStream overrides it + virtual Http2Stream *GetConsumerStream() { return nullptr; }; const nsAFlatCString &Origin() const { return mOrigin; } + const nsAFlatCString &Host() const { return mHeaderHost; } + const nsAFlatCString &Path() const { return mHeaderPath; } bool RequestBlockedOnRead() { @@ -125,6 +131,8 @@ public: virtual ~Http2Stream(); + Http2Session *Session() { return mSession; } + protected: static void CreatePushHashKey(const nsCString &scheme, const nsCString &hostHeader, diff --git a/netwerk/protocol/http/nsHttp.h b/netwerk/protocol/http/nsHttp.h index c05c4a1c92d..352ab9df225 100644 --- a/netwerk/protocol/http/nsHttp.h +++ b/netwerk/protocol/http/nsHttp.h @@ -86,6 +86,9 @@ typedef uint8_t nsHttpVersion; // weaker security profiles based on past history #define NS_HTTP_ALLOW_RSA_FALSESTART (1<<9) +// This flag indicates the transaction should accept associated pushes +#define NS_HTTP_ONPUSH_LISTENER (1<<10) + //----------------------------------------------------------------------------- // some default values //----------------------------------------------------------------------------- diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index 608e7062785..27e15ed8f2d 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -54,6 +54,7 @@ #include "nsICacheEntryDescriptor.h" #include "nsICancelable.h" #include "nsIHttpChannelAuthProvider.h" +#include "nsIHttpChannelInternal.h" #include "nsIHttpEventSink.h" #include "nsIPrompt.h" #include "nsInputStreamPump.h" @@ -67,6 +68,7 @@ #include "mozilla/Telemetry.h" #include "AlternateServices.h" #include "InterceptedChannel.h" +#include "nsIHttpPushListener.h" namespace mozilla { namespace net { @@ -232,6 +234,7 @@ nsHttpChannel::nsHttpChannel() , mConcurentCacheAccess(0) , mIsPartialRequest(0) , mHasAutoRedirectVetoNotifier(0) + , mPushedStream(nullptr) , mDidReval(false) { LOG(("Creating nsHttpChannel [this=%p]\n", this)); @@ -813,6 +816,20 @@ nsHttpChannel::SetupTransaction() mCaps |= NS_HTTP_DISALLOW_SPDY; } + if (mPushedStream) { + mTransaction->SetPushedStream(mPushedStream); + mPushedStream = nullptr; + } + + nsCOMPtr pushListener; + NS_QueryNotificationCallbacks(mCallbacks, + mLoadGroup, + NS_GET_IID(nsIHttpPushListener), + getter_AddRefs(pushListener)); + if (pushListener) { + mCaps |= NS_HTTP_ONPUSH_LISTENER; + } + nsCOMPtr responseStream; rv = mTransaction->Init(mCaps, mConnectionInfo, &mRequestHead, mUploadStream, mUploadStreamHasHeaders, @@ -4593,6 +4610,12 @@ NS_INTERFACE_MAP_BEGIN(nsHttpChannel) NS_INTERFACE_MAP_ENTRY(nsIThreadRetargetableStreamListener) NS_INTERFACE_MAP_ENTRY(nsIDNSListener) NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference) + // we have no macro that covers this case. + if (aIID.Equals(NS_GET_IID(nsHttpChannel)) ) { + AddRef(); + *aInstancePtr = this; + return NS_OK; + } else NS_INTERFACE_MAP_END_INHERITING(HttpBaseChannel) //----------------------------------------------------------------------------- @@ -6484,4 +6507,76 @@ nsHttpChannel::AwaitingCacheCallbacks() return mCacheEntriesToWaitFor != 0; } +void +nsHttpChannel::SetPushedStream(Http2PushedStream *stream) +{ + MOZ_ASSERT(stream); + MOZ_ASSERT(!mPushedStream); + mPushedStream = stream; +} + +nsresult +nsHttpChannel::OnPush(const nsACString &url, Http2PushedStream *pushedStream) +{ + MOZ_ASSERT(NS_IsMainThread()); + LOG(("nsHttpChannel::OnPush [this=%p]\n", this)); + + MOZ_ASSERT(mCaps & NS_HTTP_ONPUSH_LISTENER); + nsCOMPtr pushListener; + NS_QueryNotificationCallbacks(mCallbacks, + mLoadGroup, + NS_GET_IID(nsIHttpPushListener), + getter_AddRefs(pushListener)); + + MOZ_ASSERT(pushListener); + if (!pushListener) { + LOG(("nsHttpChannel::OnPush [this=%p] notification callbacks do not " + "implement nsIHttpPushListener\n", this)); + return NS_ERROR_UNEXPECTED; + } + + nsCOMPtr pushResource; + nsresult rv; + + // Create a Channel for the Push Resource + rv = NS_NewURI(getter_AddRefs(pushResource), url); + if (NS_FAILED(rv)) { + return NS_ERROR_FAILURE; + } + + nsCOMPtr ioService; + rv = gHttpHandler->GetIOService(getter_AddRefs(ioService)); + NS_ENSURE_SUCCESS(rv, rv); + + nsCOMPtr pushChannel; + rv = ioService->NewChannelFromURI(pushResource, getter_AddRefs(pushChannel)); + NS_ENSURE_SUCCESS(rv, rv); + + nsCOMPtr pushHttpChannel = do_QueryInterface(pushChannel); + MOZ_ASSERT(pushHttpChannel); + if (!pushHttpChannel) { + return NS_ERROR_UNEXPECTED; + } + + nsRefPtr channel; + CallQueryInterface(pushHttpChannel, channel.StartAssignment()); + MOZ_ASSERT(channel); + if (!channel) { + return NS_ERROR_UNEXPECTED; + } + + // new channel needs mrqeuesthead and headers from pushedStream + channel->mRequestHead.ParseHeaderSet( + pushedStream->GetRequestString().BeginWriting()); + + channel->mLoadGroup = mLoadGroup; + channel->mLoadInfo = mLoadInfo; + channel->mCallbacks = mCallbacks; + + // Link the pushed stream with the new channel and call listener + channel->SetPushedStream(pushedStream); + rv = pushListener->OnPush(this, pushHttpChannel); + return rv; +} + } } // namespace mozilla::net diff --git a/netwerk/protocol/http/nsHttpChannel.h b/netwerk/protocol/http/nsHttpChannel.h index 33f915c35f2..6b8220eb53d 100644 --- a/netwerk/protocol/http/nsHttpChannel.h +++ b/netwerk/protocol/http/nsHttpChannel.h @@ -32,10 +32,20 @@ class nsISSLStatus; namespace mozilla { namespace net { +class Http2PushedStream; //----------------------------------------------------------------------------- // nsHttpChannel //----------------------------------------------------------------------------- +// Use to support QI nsIChannel to nsHttpChannel +#define NS_HTTPCHANNEL_IID \ +{ \ + 0x301bf95b, \ + 0x7bb3, \ + 0x4ae1, \ + {0xa9, 0x71, 0x40, 0xbc, 0xfa, 0x81, 0xde, 0x12} \ +} + class nsHttpChannel MOZ_FINAL : public HttpBaseChannel , public HttpAsyncAborter , public nsIStreamListener @@ -67,6 +77,7 @@ public: NS_DECL_NSIASYNCVERIFYREDIRECTCALLBACK NS_DECL_NSITHREADRETARGETABLEREQUEST NS_DECL_NSIDNSLISTENER + NS_DECLARE_STATIC_IID_ACCESSOR(NS_HTTPCHANNEL_IID) // nsIHttpAuthenticableChannel. We can't use // NS_DECL_NSIHTTPAUTHENTICABLECHANNEL because it duplicates cancel() and @@ -95,6 +106,8 @@ public: uint32_t aProxyResolveFlags, nsIURI *aProxyURI); + nsresult OnPush(const nsACString &uri, Http2PushedStream *pushedStream); + // Methods HttpBaseChannel didn't implement for us or that we override. // // nsIRequest @@ -345,6 +358,8 @@ private: nsresult OpenCacheInputStream(nsICacheEntry* cacheEntry, bool startBuffering, bool checkingAppCacheEntry); + void SetPushedStream(Http2PushedStream *stream); + private: nsCOMPtr mSecurityInfo; nsCOMPtr mProxyRequest; @@ -438,6 +453,8 @@ private: // Needed for accurate DNS timing nsRefPtr mDNSPrefetch; + Http2PushedStream *mPushedStream; + nsresult WaitForRedirectCallback(); void PushRedirectAsyncFunc(nsContinueRedirectionFunc func); void PopRedirectAsyncFunc(nsContinueRedirectionFunc func); @@ -451,6 +468,7 @@ private: // cache telemetry bool mDidReval; }; +NS_DEFINE_STATIC_IID_ACCESSOR(nsHttpChannel, NS_HTTPCHANNEL_IID) } } // namespace mozilla::net #endif // nsHttpChannel_h__ diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.cpp b/netwerk/protocol/http/nsHttpConnectionMgr.cpp index 97c7cf18cac..df668af851d 100644 --- a/netwerk/protocol/http/nsHttpConnectionMgr.cpp +++ b/netwerk/protocol/http/nsHttpConnectionMgr.cpp @@ -1882,8 +1882,8 @@ nsHttpConnectionMgr::DispatchTransaction(nsConnectionEntry *ent, nsresult rv; LOG(("nsHttpConnectionMgr::DispatchTransaction " - "[ent-ci=%s trans=%p caps=%x conn=%p priority=%d]\n", - ent->mConnInfo->HashKey().get(), trans, caps, conn, priority)); + "[ent-ci=%s %p trans=%p caps=%x conn=%p priority=%d]\n", + ent->mConnInfo->HashKey().get(), ent, trans, caps, conn, priority)); // It is possible for a rate-paced transaction to be dispatched independent // of the token bucket when the amount of parallelization has changed or @@ -2046,6 +2046,13 @@ nsHttpConnectionMgr::ProcessNewTransaction(nsHttpTransaction *trans) trans->SetPendingTime(); + Http2PushedStream *pushedStream = trans->GetPushedStream(); + if (pushedStream) { + return pushedStream->Session()-> + AddStream(trans, trans->Priority(), false, nullptr) ? + NS_OK : NS_ERROR_UNEXPECTED; + } + nsresult rv = NS_OK; nsHttpConnectionInfo *ci = trans->ConnectionInfo(); MOZ_ASSERT(ci); diff --git a/netwerk/protocol/http/nsHttpHeaderArray.cpp b/netwerk/protocol/http/nsHttpHeaderArray.cpp index f29d1ed920d..f51fc14b903 100644 --- a/netwerk/protocol/http/nsHttpHeaderArray.cpp +++ b/netwerk/protocol/http/nsHttpHeaderArray.cpp @@ -184,6 +184,25 @@ nsHttpHeaderArray::ParseHeaderLine(const char *line, return SetHeaderFromNet(atom, nsDependentCString(p, p2 - p)); } +void +nsHttpHeaderArray::ParseHeaderSet(char *buffer) +{ + nsHttpAtom hdr; + char *val; + while (buffer) { + char *eof = strchr(buffer, '\r'); + if (!eof) { + break; + } + *eof = '\0'; + ParseHeaderLine(buffer, &hdr, &val); + buffer = eof + 1; + if (*buffer == '\n') { + buffer++; + } + } +} + void nsHttpHeaderArray::Flatten(nsACString &buf, bool pruneProxyHeaders) { diff --git a/netwerk/protocol/http/nsHttpHeaderArray.h b/netwerk/protocol/http/nsHttpHeaderArray.h index 8b3ae29b3d9..0aefb8bb420 100644 --- a/netwerk/protocol/http/nsHttpHeaderArray.h +++ b/netwerk/protocol/http/nsHttpHeaderArray.h @@ -54,6 +54,8 @@ public: void Flatten(nsACString &, bool pruneProxyHeaders=false); + void ParseHeaderSet(char *buffer); + uint32_t Count() const { return mHeaders.Length(); } const char *PeekHeaderAt(uint32_t i, nsHttpAtom &header) const; diff --git a/netwerk/protocol/http/nsHttpRequestHead.h b/netwerk/protocol/http/nsHttpRequestHead.h index 5d9c0ce60ee..5be6f626cf9 100644 --- a/netwerk/protocol/http/nsHttpRequestHead.h +++ b/netwerk/protocol/http/nsHttpRequestHead.h @@ -93,6 +93,7 @@ public: bool IsHead() const { return EqualsMethod(kMethod_Head); } bool IsPut() const { return EqualsMethod(kMethod_Put); } bool IsTrace() const { return EqualsMethod(kMethod_Trace); } + void ParseHeaderSet(char *buffer) { mHeaders.ParseHeaderSet(buffer); } private: // All members must be copy-constructable and assignable diff --git a/netwerk/protocol/http/nsHttpTransaction.cpp b/netwerk/protocol/http/nsHttpTransaction.cpp index 6065b8f1560..98ee72584e5 100644 --- a/netwerk/protocol/http/nsHttpTransaction.cpp +++ b/netwerk/protocol/http/nsHttpTransaction.cpp @@ -96,6 +96,7 @@ nsHttpTransaction::nsHttpTransaction() , mContentLength(-1) , mContentRead(0) , mInvalidResponseBytesRead(0) + , mPushedStream(nullptr) , mChunkedDecoder(nullptr) , mStatus(NS_OK) , mPriority(0) @@ -143,6 +144,11 @@ nsHttpTransaction::~nsHttpTransaction() { LOG(("Destroying nsHttpTransaction @%p\n", this)); + if (mPushedStream) { + mPushedStream->OnPushFailed(); + mPushedStream = nullptr; + } + if (mTokenBucketCancel) { mTokenBucketCancel->Cancel(NS_ERROR_ABORT); mTokenBucketCancel = nullptr; @@ -225,7 +231,6 @@ nsHttpTransaction::Init(uint32_t caps, if (NS_SUCCEEDED(rv) && activityDistributorActive) { // there are some observers registered at activity distributor, gather // nsISupports for the channel that called Init() - mChannel = do_QueryInterface(eventsink); LOG(("nsHttpTransaction::Init() " \ "mActivityDistributor is active " \ "this=%p", this)); @@ -234,7 +239,7 @@ nsHttpTransaction::Init(uint32_t caps, activityDistributorActive = false; mActivityDistributor = nullptr; } - + mChannel = do_QueryInterface(eventsink); nsCOMPtr channel = do_QueryInterface(eventsink); if (channel) { bool isInBrowser; diff --git a/netwerk/protocol/http/nsHttpTransaction.h b/netwerk/protocol/http/nsHttpTransaction.h index 6cae916d4b3..83b0f5b38a6 100644 --- a/netwerk/protocol/http/nsHttpTransaction.h +++ b/netwerk/protocol/http/nsHttpTransaction.h @@ -15,6 +15,7 @@ #include "nsILoadGroup.h" #include "nsIInterfaceRequestor.h" #include "TimingStruct.h" +#include "Http2Push.h" #ifdef MOZ_WIDGET_GONK #include "nsINetworkManager.h" @@ -89,6 +90,7 @@ public: nsISupports *SecurityInfo() { return mSecurityInfo; } nsIEventTarget *ConsumerTarget() { return mConsumerTarget; } + nsISupports *HttpChannel() { return mChannel; } void SetSecurityCallbacks(nsIInterfaceRequestor* aCallbacks); @@ -137,6 +139,15 @@ public: nsHttpTransaction *QueryHttpTransaction() MOZ_OVERRIDE { return this; } + Http2PushedStream *GetPushedStream() { return mPushedStream; } + Http2PushedStream *TakePushedStream() + { + Http2PushedStream *r = mPushedStream; + mPushedStream = nullptr; + return r; + } + void SetPushedStream(Http2PushedStream *push) { mPushedStream = push; } + private: friend class DeleteHttpTransaction; virtual ~nsHttpTransaction(); @@ -222,7 +233,9 @@ private: // so far been skipped. uint32_t mInvalidResponseBytesRead; - nsHttpChunkedDecoder *mChunkedDecoder; + Http2PushedStream *mPushedStream; + + nsHttpChunkedDecoder *mChunkedDecoder; TimingStruct mTimings; diff --git a/netwerk/test/unit/test_http2.js b/netwerk/test/unit/test_http2.js index a7e1a154a30..5cdca6155f7 100644 --- a/netwerk/test/unit/test_http2.js +++ b/netwerk/test/unit/test_http2.js @@ -393,6 +393,86 @@ function test_http2_altsvc() { chan.asyncOpen(altsvcClientListener, null); } +var Http2PushApiListener = function() {}; + +Http2PushApiListener.prototype = { + checksPending: 9, // 4 onDataAvailable and 5 onStop + + getInterface: function(aIID) { + return this.QueryInterface(aIID); + }, + + QueryInterface: function(aIID) { + if (aIID.equals(Ci.nsIHttpPushListener) || + aIID.equals(Ci.nsIStreamListener)) + return this; + throw Components.results.NS_ERROR_NO_INTERFACE; + }, + + // nsIHttpPushListener + onPush: function onPush(associatedChannel, pushChannel) { + do_check_eq(associatedChannel.originalURI.spec, "https://localhost:6944/pushapi1"); + do_check_eq (pushChannel.getRequestHeader("x-pushed-request"), "true"); + + pushChannel.asyncOpen(this, pushChannel); + if (pushChannel.originalURI.spec == "https://localhost:6944/pushapi1/2") { + pushChannel.cancel(Components.results.NS_ERROR_ABORT); + } + }, + + // normal Channel listeners + onStartRequest: function pushAPIOnStart(request, ctx) { + }, + + onDataAvailable: function pushAPIOnDataAvailable(request, ctx, stream, offset, cnt) { + do_check_neq(ctx.originalURI.spec, "https://localhost:6944/pushapi1/2"); + + var data = read_stream(stream, cnt); + + if (ctx.originalURI.spec == "https://localhost:6944/pushapi1") { + do_check_eq(data[0], '0'); + --this.checksPending; + } else if (ctx.originalURI.spec == "https://localhost:6944/pushapi1/1") { + do_check_eq(data[0], '1'); + --this.checksPending; // twice + } else if (ctx.originalURI.spec == "https://localhost:6944/pushapi1/3") { + do_check_eq(data[0], '3'); + --this.checksPending; + } else { + do_check_eq(true, false); + } + }, + + onStopRequest: function test_onStopR(request, ctx, status) { + if (ctx.originalURI.spec == "https://localhost:6944/pushapi1/2") { + do_check_eq(request.status, Components.results.NS_ERROR_ABORT); + } else { + do_check_eq(request.status, Components.results.NS_OK); + } + + --this.checksPending; // 5 times - one for each push plus the pull + if (!this.checksPending) { + run_next_test(); + do_test_finished(); + } + } +}; + +// pushAPI testcase 1 expects +// 1 to pull /pushapi1 with 0 +// 2 to see /pushapi1/1 with 1 +// 3 to see /pushapi1/1 with 1 (again) +// 4 to see /pushapi1/2 that it will cancel +// 5 to see /pushapi1/3 with 3 + +function test_http2_pushapi_1() { + var chan = makeChan("https://localhost:6944/pushapi1"); + chan.loadGroup = loadGroup; + var listener = new Http2PushApiListener(); + chan.notificationCallbacks = listener; + chan.asyncOpen(listener, chan); +} + // hack - the header test resets the multiplex object on the server, // so make sure header is always run before the multiplex test. // @@ -413,6 +493,7 @@ var tests = [ test_http2_post_big , test_http2_multiplex , test_http2_big , test_http2_post + , test_http2_pushapi_1 ]; var current_test = 0; @@ -483,6 +564,8 @@ var spdy3pref; var spdypush; var http2pref; var tlspref; +var altsvcpref1; +var altsvcpref2; var loadGroup; diff --git a/testing/xpcshell/moz-http2/moz-http2.js b/testing/xpcshell/moz-http2/moz-http2.js index c817d2f220b..875d12d2e57 100644 --- a/testing/xpcshell/moz-http2/moz-http2.js +++ b/testing/xpcshell/moz-http2/moz-http2.js @@ -75,7 +75,7 @@ var m = { function handleRequest(req, res) { var u = url.parse(req.url); var content = getHttpContent(u.pathname); - var push; + var push, push1, push1a, push2, push3; if (req.httpVersionMajor === 2) { res.setHeader('X-Connection-Http2', 'yes'); @@ -151,6 +151,54 @@ function handleRequest(req, res) { content = ' + + + + +Mozilla Bug 1084001 +

+ +
+
+ + From e3e460b245df622c2ff5f983eec50db5b3762a64 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 25 Oct 2014 00:50:28 -0400 Subject: [PATCH 12/37] Bug 1083648 part 1. Add a way to pass an enclosing static scope to CompileFunction. r=shu --- js/src/asmjs/AsmJSLink.cpp | 3 ++- js/src/frontend/BytecodeCompiler.cpp | 12 +++++++----- js/src/frontend/BytecodeCompiler.h | 7 ++++++- js/src/jsapi.cpp | 12 ++++++++---- js/src/jsapi.h | 11 +++++++++-- js/src/jsfun.cpp | 3 ++- 6 files changed, 34 insertions(+), 14 deletions(-) diff --git a/js/src/asmjs/AsmJSLink.cpp b/js/src/asmjs/AsmJSLink.cpp index f7dec84460e..85bb4e73632 100644 --- a/js/src/asmjs/AsmJSLink.cpp +++ b/js/src/asmjs/AsmJSLink.cpp @@ -821,7 +821,8 @@ HandleDynamicLinkFailure(JSContext *cx, CallArgs args, AsmJSModule &module, Hand ? SourceBufferHolder::GiveOwnership : SourceBufferHolder::NoOwnership; SourceBufferHolder srcBuf(chars, end - begin, ownership); - if (!frontend::CompileFunctionBody(cx, &fun, options, formals, srcBuf)) + if (!frontend::CompileFunctionBody(cx, &fun, options, formals, srcBuf, + /* enclosingScope = */ NullPtr())) return false; // Call the function we just recompiled. diff --git a/js/src/frontend/BytecodeCompiler.cpp b/js/src/frontend/BytecodeCompiler.cpp index 4810c1ae38e..4b4e464220f 100644 --- a/js/src/frontend/BytecodeCompiler.cpp +++ b/js/src/frontend/BytecodeCompiler.cpp @@ -515,7 +515,7 @@ frontend::CompileLazyFunction(JSContext *cx, Handle lazy, const cha static bool CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyCompileOptions &options, const AutoNameVector &formals, SourceBufferHolder &srcBuf, - GeneratorKind generatorKind) + HandleObject enclosingScope, GeneratorKind generatorKind) { js::TraceLogger *logger = js::TraceLoggerForMainThread(cx->runtime()); uint32_t logId = js::TraceLogCreateTextId(logger, options); @@ -611,7 +611,7 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp if (fn->pn_funbox->function()->isInterpreted()) { MOZ_ASSERT(fun == fn->pn_funbox->function()); - Rooted script(cx, JSScript::Create(cx, js::NullPtr(), false, options, + Rooted script(cx, JSScript::Create(cx, enclosingScope, false, options, /* staticLevel = */ 0, sourceObject, /* sourceStart = */ 0, srcBuf.length())); if (!script) @@ -650,9 +650,11 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp bool frontend::CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyCompileOptions &options, - const AutoNameVector &formals, JS::SourceBufferHolder &srcBuf) + const AutoNameVector &formals, JS::SourceBufferHolder &srcBuf, + HandleObject enclosingStaticScope) { - return CompileFunctionBody(cx, fun, options, formals, srcBuf, NotGenerator); + return CompileFunctionBody(cx, fun, options, formals, srcBuf, + enclosingStaticScope, NotGenerator); } bool @@ -660,5 +662,5 @@ frontend::CompileStarGeneratorBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyCompileOptions &options, const AutoNameVector &formals, JS::SourceBufferHolder &srcBuf) { - return CompileFunctionBody(cx, fun, options, formals, srcBuf, StarGenerator); + return CompileFunctionBody(cx, fun, options, formals, srcBuf, NullPtr(), StarGenerator); } diff --git a/js/src/frontend/BytecodeCompiler.h b/js/src/frontend/BytecodeCompiler.h index 82f923de870..a300d413d97 100644 --- a/js/src/frontend/BytecodeCompiler.h +++ b/js/src/frontend/BytecodeCompiler.h @@ -31,10 +31,15 @@ CompileScript(ExclusiveContext *cx, LifoAlloc *alloc, bool CompileLazyFunction(JSContext *cx, Handle lazy, const char16_t *chars, size_t length); +/* + * enclosingStaticScope is a static enclosing scope (e.g. a StaticWithObject). + * Must be null if the enclosing scope is a global. + */ bool CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyCompileOptions &options, - const AutoNameVector &formals, JS::SourceBufferHolder &srcBuf); + const AutoNameVector &formals, JS::SourceBufferHolder &srcBuf, + HandleObject enclosingStaticScope); bool CompileStarGeneratorBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyCompileOptions &options, diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 9bcc0b18702..32db21af42b 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -4537,7 +4537,8 @@ JS_GetFunctionScript(JSContext *cx, HandleFunction fun) JS_PUBLIC_API(bool) JS::CompileFunction(JSContext *cx, HandleObject obj, const ReadOnlyCompileOptions &options, const char *name, unsigned nargs, const char *const *argnames, - SourceBufferHolder &srcBuf, MutableHandleFunction fun) + SourceBufferHolder &srcBuf, MutableHandleFunction fun, + HandleObject enclosingStaticScope) { MOZ_ASSERT(!cx->runtime()->isAtomsCompartment(cx->compartment())); AssertHeapIsIdle(cx); @@ -4564,7 +4565,8 @@ JS::CompileFunction(JSContext *cx, HandleObject obj, const ReadOnlyCompileOption if (!fun) return false; - if (!frontend::CompileFunctionBody(cx, fun, options, formals, srcBuf)) + if (!frontend::CompileFunctionBody(cx, fun, options, formals, srcBuf, + enclosingStaticScope)) return false; if (obj && funAtom && options.defineOnScope) { @@ -4580,10 +4582,12 @@ JS::CompileFunction(JSContext *cx, HandleObject obj, const ReadOnlyCompileOption JS_PUBLIC_API(bool) JS::CompileFunction(JSContext *cx, HandleObject obj, const ReadOnlyCompileOptions &options, const char *name, unsigned nargs, const char *const *argnames, - const char16_t *chars, size_t length, MutableHandleFunction fun) + const char16_t *chars, size_t length, MutableHandleFunction fun, + HandleObject enclosingStaticScope) { SourceBufferHolder srcBuf(chars, length, SourceBufferHolder::NoOwnership); - return JS::CompileFunction(cx, obj, options, name, nargs, argnames, srcBuf, fun); + return JS::CompileFunction(cx, obj, options, name, nargs, argnames, srcBuf, + fun, enclosingStaticScope); } JS_PUBLIC_API(bool) diff --git a/js/src/jsapi.h b/js/src/jsapi.h index 8b615c2260f..b2320a8e06b 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -3931,10 +3931,16 @@ CompileOffThread(JSContext *cx, const ReadOnlyCompileOptions &options, extern JS_PUBLIC_API(JSScript *) FinishOffThreadScript(JSContext *maybecx, JSRuntime *rt, void *token); +/* + * enclosingStaticScope is a static enclosing scope, if any (e.g. a + * StaticWithObject). If the enclosing scope is the global scope, this must be + * null. + */ extern JS_PUBLIC_API(bool) CompileFunction(JSContext *cx, JS::HandleObject obj, const ReadOnlyCompileOptions &options, const char *name, unsigned nargs, const char *const *argnames, - SourceBufferHolder &srcBuf, JS::MutableHandleFunction fun); + SourceBufferHolder &srcBuf, JS::MutableHandleFunction fun, + HandleObject enclosingStaticScope = NullPtr()); extern JS_PUBLIC_API(bool) CompileFunction(JSContext *cx, JS::HandleObject obj, const ReadOnlyCompileOptions &options, @@ -3944,7 +3950,8 @@ CompileFunction(JSContext *cx, JS::HandleObject obj, const ReadOnlyCompileOption extern JS_PUBLIC_API(bool) CompileFunction(JSContext *cx, JS::HandleObject obj, const ReadOnlyCompileOptions &options, const char *name, unsigned nargs, const char *const *argnames, - const char16_t *chars, size_t length, JS::MutableHandleFunction fun); + const char16_t *chars, size_t length, JS::MutableHandleFunction fun, + HandleObject enclosingStaticScope = NullPtr()); } /* namespace JS */ diff --git a/js/src/jsfun.cpp b/js/src/jsfun.cpp index f695bca6e80..acbc542b8d3 100644 --- a/js/src/jsfun.cpp +++ b/js/src/jsfun.cpp @@ -1908,7 +1908,8 @@ FunctionConstructor(JSContext *cx, unsigned argc, Value *vp, GeneratorKind gener if (isStarGenerator) ok = frontend::CompileStarGeneratorBody(cx, &fun, options, formals, srcBuf); else - ok = frontend::CompileFunctionBody(cx, &fun, options, formals, srcBuf); + ok = frontend::CompileFunctionBody(cx, &fun, options, formals, srcBuf, + /* enclosingScope = */ NullPtr()); args.rval().setObject(*fun); return ok; } From e5c5edfce2a45ace874170273e538992f4f70f6b Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 25 Oct 2014 00:50:28 -0400 Subject: [PATCH 13/37] Bug 1083648 part 2. Add JSAPI for compiling a function with a given scope chain (represented as a vector of JSObjects). r=shu --- js/src/jsapi.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ js/src/jsapi.h | 13 ++++++++++++ 2 files changed, 66 insertions(+) diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 32db21af42b..7686f0141eb 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -77,6 +77,7 @@ #include "vm/RegExpStatics.h" #include "vm/Runtime.h" #include "vm/SavedStacks.h" +#include "vm/ScopeObject.h" #include "vm/Shape.h" #include "vm/StopIterationObject.h" #include "vm/StringBuffer.h" @@ -3833,6 +3834,43 @@ JS::GetSelfHostedFunction(JSContext *cx, const char *selfHostedName, HandleId id return &funVal.toObject().as(); } +static bool +CreateScopeObjectsForScopeChain(JSContext *cx, AutoObjectVector &scopeChain, + MutableHandleObject dynamicScopeObj, + MutableHandleObject staticScopeObj) +{ +#ifdef DEBUG + for (size_t i = 0; i < scopeChain.length(); ++i) { + assertSameCompartment(cx, scopeChain[i]); + MOZ_ASSERT(!scopeChain[i]->is()); + } +#endif + + // Construct With object wrappers for the things on this scope + // chain and use the result as the thing to scope the function to. + Rooted staticWith(cx); + RootedObject staticEnclosingScope(cx); + Rooted dynamicWith(cx); + RootedObject dynamicEnclosingScope(cx, cx->global()); + for (size_t i = scopeChain.length(); i > 0; ) { + staticWith = StaticWithObject::create(cx); + if (!staticWith) + return false; + staticWith->initEnclosingNestedScope(staticEnclosingScope); + staticEnclosingScope = staticWith; + + dynamicWith = DynamicWithObject::create(cx, scopeChain[--i], + dynamicEnclosingScope, staticWith); + if (!dynamicWith) + return false; + dynamicEnclosingScope = dynamicWith; + } + + dynamicScopeObj.set(dynamicEnclosingScope); + staticScopeObj.set(staticEnclosingScope); + return true; +} + JS_PUBLIC_API(JSObject *) JS_CloneFunctionObject(JSContext *cx, HandleObject funobj, HandleObject parentArg) { @@ -4606,6 +4644,21 @@ JS::CompileFunction(JSContext *cx, HandleObject obj, const ReadOnlyCompileOption return CompileFunction(cx, obj, options, name, nargs, argnames, chars.get(), length, fun); } +JS_PUBLIC_API(bool) +JS::CompileFunction(JSContext *cx, AutoObjectVector &scopeChain, + const ReadOnlyCompileOptions &options, + const char *name, unsigned nargs, const char *const *argnames, + const char16_t *chars, size_t length, MutableHandleFunction fun) +{ + RootedObject dynamicScopeObj(cx); + RootedObject staticScopeObj(cx); + if (!CreateScopeObjectsForScopeChain(cx, scopeChain, &dynamicScopeObj, &staticScopeObj)) + return false; + + return JS::CompileFunction(cx, dynamicScopeObj, options, name, nargs, + argnames, chars, length, fun, staticScopeObj); +} + JS_PUBLIC_API(bool) JS_CompileUCFunction(JSContext *cx, JS::HandleObject obj, const char *name, unsigned nargs, const char *const *argnames, diff --git a/js/src/jsapi.h b/js/src/jsapi.h index b2320a8e06b..6009f81880c 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -3953,6 +3953,19 @@ CompileFunction(JSContext *cx, JS::HandleObject obj, const ReadOnlyCompileOption const char16_t *chars, size_t length, JS::MutableHandleFunction fun, HandleObject enclosingStaticScope = NullPtr()); +/** + * Compile a function with scopeChain plus the global as its scope chain. + * scopeChain must contain objects in the current compartment of cx. The actual + * scope chain used for the function will consist of With wrappers for those + * objects, followed by the current global of the compartment cx is in. This + * global must not be explicitly included in the scope chain. + */ +extern JS_PUBLIC_API(bool) +CompileFunction(JSContext *cx, AutoObjectVector &scopeChain, + const ReadOnlyCompileOptions &options, + const char *name, unsigned nargs, const char *const *argnames, + const char16_t *chars, size_t length, JS::MutableHandleFunction fun); + } /* namespace JS */ extern JS_PUBLIC_API(JSString *) From ac67e4fb9f748d9c751c9db03ee3edd54f96852f Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 25 Oct 2014 00:50:29 -0400 Subject: [PATCH 14/37] Bug 1083648 part 3. Change nsJSUtils::CompileFunction to take an explicit scope chain vector, not just a single scope object, and pass in the right objects in CompileEventHandlerInternal. r=bholley --- dom/base/nsJSUtils.cpp | 11 ++++++----- dom/base/nsJSUtils.h | 2 +- dom/events/EventListenerManager.cpp | 23 ++++++++++++++++++++++- dom/xbl/nsXBLProtoImplMethod.cpp | 3 ++- dom/xbl/nsXBLProtoImplProperty.cpp | 6 ++++-- dom/xbl/nsXBLPrototypeHandler.cpp | 3 ++- 6 files changed, 37 insertions(+), 11 deletions(-) diff --git a/dom/base/nsJSUtils.cpp b/dom/base/nsJSUtils.cpp index ad28704a5bd..0132b4fc94c 100644 --- a/dom/base/nsJSUtils.cpp +++ b/dom/base/nsJSUtils.cpp @@ -124,7 +124,7 @@ nsJSUtils::ReportPendingException(JSContext *aContext) nsresult nsJSUtils::CompileFunction(AutoJSAPI& jsapi, - JS::Handle aTarget, + JS::AutoObjectVector& aScopeChain, JS::CompileOptions& aOptions, const nsACString& aName, uint32_t aArgCount, @@ -135,19 +135,20 @@ nsJSUtils::CompileFunction(AutoJSAPI& jsapi, MOZ_ASSERT(jsapi.OwnsErrorReporting()); JSContext* cx = jsapi.cx(); MOZ_ASSERT(js::GetEnterCompartmentDepth(cx) > 0); - MOZ_ASSERT_IF(aTarget, js::IsObjectInContextCompartment(aTarget, cx)); + MOZ_ASSERT_IF(aScopeChain.length() != 0, + js::IsObjectInContextCompartment(aScopeChain[0], cx)); MOZ_ASSERT_IF(aOptions.versionSet, aOptions.version != JSVERSION_UNKNOWN); mozilla::DebugOnly ctx = GetScriptContextFromJSContext(cx); MOZ_ASSERT_IF(ctx, ctx->IsContextInitialized()); // Do the junk Gecko is supposed to do before calling into JSAPI. - if (aTarget) { - JS::ExposeObjectToActiveJS(aTarget); + for (size_t i = 0; i < aScopeChain.length(); ++i) { + JS::ExposeObjectToActiveJS(aScopeChain[i]); } // Compile. JS::Rooted fun(cx); - if (!JS::CompileFunction(cx, aTarget, aOptions, + if (!JS::CompileFunction(cx, aScopeChain, aOptions, PromiseFlatCString(aName).get(), aArgCount, aArgArray, PromiseFlatString(aBody).get(), diff --git a/dom/base/nsJSUtils.h b/dom/base/nsJSUtils.h index 61cf9e0ea55..d46a5a5b09d 100644 --- a/dom/base/nsJSUtils.h +++ b/dom/base/nsJSUtils.h @@ -56,7 +56,7 @@ public: static void ReportPendingException(JSContext *aContext); static nsresult CompileFunction(mozilla::dom::AutoJSAPI& jsapi, - JS::Handle aTarget, + JS::AutoObjectVector& aScopeChain, JS::CompileOptions& aOptions, const nsACString& aName, uint32_t aArgCount, diff --git a/dom/events/EventListenerManager.cpp b/dom/events/EventListenerManager.cpp index 82a55045d63..e2fea246dae 100644 --- a/dom/events/EventListenerManager.cpp +++ b/dom/events/EventListenerManager.cpp @@ -860,6 +860,19 @@ EventListenerManager::CompileEventHandlerInternal(Listener* aListener, return rv; } } + + JS::AutoObjectVector scopeChain(cx); + { // scope for curScope + // We append all the non-globals on our desired scope chain. + JS::Rooted curScope(cx, &v.toObject()); + while (curScope && !JS_IsGlobalObject(curScope)) { + if (!scopeChain.append(curScope)) { + return NS_ERROR_OUT_OF_MEMORY; + } + curScope = JS_GetParent(curScope); + } + } + if (addonId) { JS::Rooted vObj(cx, &v.toObject()); JS::Rooted addonScope(cx, xpc::GetAddonScope(cx, vObj, addonId)); @@ -867,6 +880,14 @@ EventListenerManager::CompileEventHandlerInternal(Listener* aListener, return NS_ERROR_FAILURE; } JSAutoCompartment ac(cx, addonScope); + for (size_t i = 0; i < scopeChain.length(); ++i) { + if (!JS_WrapObject(cx, scopeChain[i])) { + return NS_ERROR_FAILURE; + } + } + + // And wrap v as well, since scopeChain might be empty so we can't + // reliably use it to enter a compartment. if (!JS_WrapValue(cx, &v)) { return NS_ERROR_FAILURE; } @@ -896,7 +917,7 @@ EventListenerManager::CompileEventHandlerInternal(Listener* aListener, .setDefineOnScope(false); JS::Rooted handler(cx); - result = nsJSUtils::CompileFunction(jsapi, target, options, + result = nsJSUtils::CompileFunction(jsapi, scopeChain, options, nsAtomCString(typeAtom), argCount, argNames, *body, handler.address()); NS_ENSURE_SUCCESS(result, result); diff --git a/dom/xbl/nsXBLProtoImplMethod.cpp b/dom/xbl/nsXBLProtoImplMethod.cpp index fa745184bbc..08e980d4b06 100644 --- a/dom/xbl/nsXBLProtoImplMethod.cpp +++ b/dom/xbl/nsXBLProtoImplMethod.cpp @@ -196,7 +196,8 @@ nsXBLProtoImplMethod::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassStr uncompiledMethod->mBodyText.GetLineNumber()) .setVersion(JSVERSION_LATEST); JS::Rooted methodObject(cx); - nsresult rv = nsJSUtils::CompileFunction(jsapi, JS::NullPtr(), options, cname, + JS::AutoObjectVector emptyVector(cx); + nsresult rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, cname, paramCount, const_cast(args), body, methodObject.address()); diff --git a/dom/xbl/nsXBLProtoImplProperty.cpp b/dom/xbl/nsXBLProtoImplProperty.cpp index 64a895c75fe..cc3d18ba9cc 100644 --- a/dom/xbl/nsXBLProtoImplProperty.cpp +++ b/dom/xbl/nsXBLProtoImplProperty.cpp @@ -195,7 +195,8 @@ nsXBLProtoImplProperty::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassS .setVersion(JSVERSION_LATEST); nsCString name = NS_LITERAL_CSTRING("get_") + NS_ConvertUTF16toUTF8(mName); JS::Rooted getterObject(cx); - rv = nsJSUtils::CompileFunction(jsapi, JS::NullPtr(), options, name, 0, + JS::AutoObjectVector emptyVector(cx); + rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, name, 0, nullptr, getter, getterObject.address()); delete getterText; @@ -240,7 +241,8 @@ nsXBLProtoImplProperty::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassS .setVersion(JSVERSION_LATEST); nsCString name = NS_LITERAL_CSTRING("set_") + NS_ConvertUTF16toUTF8(mName); JS::Rooted setterObject(cx); - rv = nsJSUtils::CompileFunction(jsapi, JS::NullPtr(), options, name, 1, + JS::AutoObjectVector emptyVector(cx); + rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, name, 1, gPropertyArgs, setter, setterObject.address()); diff --git a/dom/xbl/nsXBLPrototypeHandler.cpp b/dom/xbl/nsXBLPrototypeHandler.cpp index f3980d69e06..65716fcf8f8 100644 --- a/dom/xbl/nsXBLPrototypeHandler.cpp +++ b/dom/xbl/nsXBLPrototypeHandler.cpp @@ -373,7 +373,8 @@ nsXBLPrototypeHandler::EnsureEventHandler(AutoJSAPI& jsapi, nsIAtom* aName, .setVersion(JSVERSION_LATEST); JS::Rooted handlerFun(cx); - nsresult rv = nsJSUtils::CompileFunction(jsapi, JS::NullPtr(), options, + JS::AutoObjectVector emptyVector(cx); + nsresult rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, nsAtomCString(aName), argCount, argNames, handlerText, handlerFun.address()); From c475ee5be979ddd8f3be7d59abaaa323ac67eedd Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 25 Oct 2014 01:58:59 -0400 Subject: [PATCH 15/37] Back out part of bug 1084001 because the tests are being silly. --- dom/bindings/BindingUtils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/bindings/BindingUtils.cpp b/dom/bindings/BindingUtils.cpp index 1f457117138..2026575094e 100644 --- a/dom/bindings/BindingUtils.cpp +++ b/dom/bindings/BindingUtils.cpp @@ -459,7 +459,7 @@ CreateInterfaceObject(JSContext* cx, JS::Handle global, } if (!JS_DefineProperty(cx, constructor, "length", ctorNargs, - JSPROP_READONLY)) { + JSPROP_READONLY | JSPROP_PERMANENT)) { return nullptr; } From 18496ecb42b05274ba7b1c0bb8670eedf52b42bd Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 25 Oct 2014 02:09:12 -0400 Subject: [PATCH 16/37] Bug 1083648 followup to fix orange on CLOSED TREE due to random XBL stuff getting defined as props on the global. r=bholley pending --- dom/xbl/nsXBLProtoImplMethod.cpp | 3 ++- dom/xbl/nsXBLProtoImplProperty.cpp | 6 ++++-- dom/xbl/nsXBLPrototypeHandler.cpp | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dom/xbl/nsXBLProtoImplMethod.cpp b/dom/xbl/nsXBLProtoImplMethod.cpp index 08e980d4b06..8f1d9c6bca9 100644 --- a/dom/xbl/nsXBLProtoImplMethod.cpp +++ b/dom/xbl/nsXBLProtoImplMethod.cpp @@ -194,7 +194,8 @@ nsXBLProtoImplMethod::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassStr JS::CompileOptions options(cx); options.setFileAndLine(functionUri.get(), uncompiledMethod->mBodyText.GetLineNumber()) - .setVersion(JSVERSION_LATEST); + .setVersion(JSVERSION_LATEST) + .setDefineOnScope(false); JS::Rooted methodObject(cx); JS::AutoObjectVector emptyVector(cx); nsresult rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, cname, diff --git a/dom/xbl/nsXBLProtoImplProperty.cpp b/dom/xbl/nsXBLProtoImplProperty.cpp index cc3d18ba9cc..6d2cba125f0 100644 --- a/dom/xbl/nsXBLProtoImplProperty.cpp +++ b/dom/xbl/nsXBLProtoImplProperty.cpp @@ -192,7 +192,8 @@ nsXBLProtoImplProperty::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassS JSAutoCompartment ac(cx, aClassObject); JS::CompileOptions options(cx); options.setFileAndLine(functionUri.get(), getterText->GetLineNumber()) - .setVersion(JSVERSION_LATEST); + .setVersion(JSVERSION_LATEST) + .setDefineOnScope(false); nsCString name = NS_LITERAL_CSTRING("get_") + NS_ConvertUTF16toUTF8(mName); JS::Rooted getterObject(cx); JS::AutoObjectVector emptyVector(cx); @@ -238,7 +239,8 @@ nsXBLProtoImplProperty::CompileMember(AutoJSAPI& jsapi, const nsCString& aClassS JSAutoCompartment ac(cx, aClassObject); JS::CompileOptions options(cx); options.setFileAndLine(functionUri.get(), setterText->GetLineNumber()) - .setVersion(JSVERSION_LATEST); + .setVersion(JSVERSION_LATEST) + .setDefineOnScope(false); nsCString name = NS_LITERAL_CSTRING("set_") + NS_ConvertUTF16toUTF8(mName); JS::Rooted setterObject(cx); JS::AutoObjectVector emptyVector(cx); diff --git a/dom/xbl/nsXBLPrototypeHandler.cpp b/dom/xbl/nsXBLPrototypeHandler.cpp index 65716fcf8f8..2179373c5b3 100644 --- a/dom/xbl/nsXBLPrototypeHandler.cpp +++ b/dom/xbl/nsXBLPrototypeHandler.cpp @@ -370,7 +370,8 @@ nsXBLPrototypeHandler::EnsureEventHandler(AutoJSAPI& jsapi, nsIAtom* aName, JSAutoCompartment ac(cx, scopeObject); JS::CompileOptions options(cx); options.setFileAndLine(bindingURI.get(), mLineNumber) - .setVersion(JSVERSION_LATEST); + .setVersion(JSVERSION_LATEST) + .setDefineOnScope(false); JS::Rooted handlerFun(cx); JS::AutoObjectVector emptyVector(cx); From 4d43b37773dc00f1fb2b622f7b96bcdab6f966a1 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Sat, 25 Oct 2014 12:09:25 +0100 Subject: [PATCH 17/37] Bug 1088547 - Don't pass NS_UNCONSTRAINEDSIZE as inline-size constraint to ComputeSize. r=smontagu --- layout/generic/nsHTMLReflowState.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/layout/generic/nsHTMLReflowState.cpp b/layout/generic/nsHTMLReflowState.cpp index 0565d0a7228..ee3ba16c134 100644 --- a/layout/generic/nsHTMLReflowState.cpp +++ b/layout/generic/nsHTMLReflowState.cpp @@ -2145,10 +2145,17 @@ nsHTMLReflowState::InitConstraints(nsPresContext* aPresContext, } WritingMode wm = GetWritingMode(); + + LogicalSize cbSize(wm, nsSize(aContainingBlockWidth, + aContainingBlockHeight)); + if (cbSize.ISize(wm) == NS_UNCONSTRAINEDSIZE) { + // For orthogonal flows, where we found a parent orthogonal-limit + // for AvailableISize() in Init(), we'll use the same here as well. + cbSize.ISize(wm) = AvailableISize(); + } + LogicalSize size = - frame->ComputeSize(rendContext, wm, - LogicalSize(wm, nsSize(aContainingBlockWidth, - aContainingBlockHeight)), + frame->ComputeSize(rendContext, wm, cbSize, AvailableISize(), ComputedLogicalMargin().Size(wm), ComputedLogicalBorderPadding().Size(wm) - From 0325442c3c666f64dc6e4f72802b73876d399986 Mon Sep 17 00:00:00 2001 From: Jonathan Watt Date: Sat, 25 Oct 2014 13:55:55 +0100 Subject: [PATCH 18/37] Bug 1086977 follow-up - Add some |#if defined(MOZ_CRASHREPORTER)| code to unbreak bug 1086977's bustage of --disable-crashreporter --- dom/plugins/base/nsPluginsDirDarwin.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dom/plugins/base/nsPluginsDirDarwin.cpp b/dom/plugins/base/nsPluginsDirDarwin.cpp index 8a2252a7c94..feb51b00ace 100644 --- a/dom/plugins/base/nsPluginsDirDarwin.cpp +++ b/dom/plugins/base/nsPluginsDirDarwin.cpp @@ -25,7 +25,9 @@ #include "nsILocalFileMac.h" #include "nsCocoaFeatures.h" +#if defined(MOZ_CRASHREPORTER) #include "nsExceptionHandler.h" +#endif #include #include @@ -480,12 +482,14 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info, PRLibrary **outLibrary) NS_WARNING("Preventing load of fbplugin (see bug 1086977)"); return NS_ERROR_FAILURE; } +#if defined(MOZ_CRASHREPORTER) // The block above assumes that "fbplugin" is the filename of the plugin // to be blocked, but be don't yet know for sure if this is true. It might // also be the name of a file indirectly loaded by the plugin. So for the // time being we must record extra information in our crash logs. CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug 1086977"), fileName); +#endif } // It's possible that our plugin has 2 entry points that'll give us mime type @@ -495,6 +499,7 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info, PRLibrary **outLibrary) // Sadly we have to load the library for this to work. rv = LoadPlugin(outLibrary); +#if defined(MOZ_CRASHREPORTER) if (nsCocoaFeatures::OnYosemiteOrLater()) { // If we didn't crash in LoadPlugin(), change the previous annotation so we // don't sow confusion. Unfortunately there's not (yet) any way to get rid @@ -502,6 +507,7 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info, PRLibrary **outLibrary) CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug 1086977"), NS_LITERAL_CSTRING("Didn't crash, please ignore")); } +#endif if (NS_FAILED(rv)) return rv; From bd1aec7b7a384b124d6bda0e38a10fa4e5c69497 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Sat, 25 Oct 2014 20:21:03 +0300 Subject: [PATCH 19/37] Bug 946065 - Part 8: Move content/xul/ to dom/ and flatten subdirectories. r=janv --HG-- rename : content/xul/document/src/XULDocument.cpp => dom/xul/XULDocument.cpp rename : content/xul/document/src/XULDocument.h => dom/xul/XULDocument.h rename : content/xul/content/crashtests/107518-1.xml => dom/xul/crashtests/107518-1.xml rename : content/xul/content/crashtests/252448-1.xul => dom/xul/crashtests/252448-1.xul rename : content/xul/content/crashtests/253479-1.xul => dom/xul/crashtests/253479-1.xul rename : content/xul/content/crashtests/253479-2.xul => dom/xul/crashtests/253479-2.xul rename : content/xul/document/crashtests/326204-1.xul => dom/xul/crashtests/326204-1.xul rename : content/xul/content/crashtests/326644-1-inner.xul => dom/xul/crashtests/326644-1-inner.xul rename : content/xul/content/crashtests/326644-1.html => dom/xul/crashtests/326644-1.html rename : content/xul/content/crashtests/326644-2-inner.xul => dom/xul/crashtests/326644-2-inner.xul rename : content/xul/content/crashtests/326644-2.html => dom/xul/crashtests/326644-2.html rename : content/xul/content/crashtests/326864-1.xul => dom/xul/crashtests/326864-1.xul rename : content/xul/content/crashtests/326875-1.xul => dom/xul/crashtests/326875-1.xul rename : content/xul/content/crashtests/326881-1.xul => dom/xul/crashtests/326881-1.xul rename : content/xul/content/crashtests/329982-1.xhtml => dom/xul/crashtests/329982-1.xhtml rename : content/xul/content/crashtests/336096-1.xhtml => dom/xul/crashtests/336096-1.xhtml rename : content/xul/document/crashtests/344215-1.xul => dom/xul/crashtests/344215-1.xul rename : content/xul/content/crashtests/354611-1.html => dom/xul/crashtests/354611-1.html rename : content/xul/content/crashtests/360078-1.xhtml => dom/xul/crashtests/360078-1.xhtml rename : content/xul/content/crashtests/360078-1xbl.xml => dom/xul/crashtests/360078-1xbl.xml rename : content/xul/content/crashtests/363791-1.xul => dom/xul/crashtests/363791-1.xul rename : content/xul/content/crashtests/384740-1.xul => dom/xul/crashtests/384740-1.xul rename : content/xul/content/crashtests/384877-1-inner.xul => dom/xul/crashtests/384877-1-inner.xul rename : content/xul/content/crashtests/384877-1.html => dom/xul/crashtests/384877-1.html rename : content/xul/document/crashtests/386914-1-inner.xul => dom/xul/crashtests/386914-1-inner.xul rename : content/xul/document/crashtests/386914-1.html => dom/xul/crashtests/386914-1.html rename : content/xul/content/crashtests/386947-1.xul => dom/xul/crashtests/386947-1.xul rename : content/xul/content/crashtests/425821-1.xul => dom/xul/crashtests/425821-1.xul rename : content/xul/document/crashtests/428951-1.xul => dom/xul/crashtests/428951-1.xul rename : content/xul/content/crashtests/429085-1.xhtml => dom/xul/crashtests/429085-1.xhtml rename : content/xul/content/crashtests/431906-1-inner.xul => dom/xul/crashtests/431906-1-inner.xul rename : content/xul/content/crashtests/431906-1.html => dom/xul/crashtests/431906-1.html rename : content/xul/content/crashtests/451311-1.xul => dom/xul/crashtests/451311-1.xul rename : content/xul/content/crashtests/461917-1.xhtml => dom/xul/crashtests/461917-1.xhtml rename : content/xul/document/crashtests/468211-1.xul => dom/xul/crashtests/468211-1.xul rename : content/xul/document/crashtests/468211-2-binding.xml => dom/xul/crashtests/468211-2-binding.xml rename : content/xul/document/crashtests/468211-2.xul => dom/xul/crashtests/468211-2.xul rename : content/xul/document/crashtests/468211-3.xul => dom/xul/crashtests/468211-3.xul rename : content/xul/document/crashtests/495635-1.xul => dom/xul/crashtests/495635-1.xul rename : content/xul/content/crashtests/509719-1-overlay.xul => dom/xul/crashtests/509719-1-overlay.xul rename : content/xul/content/crashtests/509719-1.xul => dom/xul/crashtests/509719-1.xul rename : content/xul/content/crashtests/509719-2-overlay.xul => dom/xul/crashtests/509719-2-overlay.xul rename : content/xul/content/crashtests/509719-2.xul => dom/xul/crashtests/509719-2.xul rename : content/xul/document/crashtests/583230.xul => dom/xul/crashtests/583230.xul rename : content/xul/content/crashtests/crashtests.list => dom/xul/crashtests/crashtests.list rename : content/xul/document/crashtests/extA1.xul => dom/xul/crashtests/extA1.xul rename : content/xul/document/crashtests/extA2.xul => dom/xul/crashtests/extA2.xul rename : content/xul/document/crashtests/extB1.xul => dom/xul/crashtests/extB1.xul rename : content/xul/moz.build => dom/xul/moz.build rename : content/xul/document/src/nsForwardReference.h => dom/xul/nsForwardReference.h rename : content/xul/document/public/nsIController.idl => dom/xul/nsIController.idl rename : content/xul/document/public/nsIControllers.idl => dom/xul/nsIControllers.idl rename : content/xul/content/public/nsIXULContextMenuBuilder.idl => dom/xul/nsIXULContextMenuBuilder.idl rename : content/xul/document/public/nsIXULDocument.h => dom/xul/nsIXULDocument.h rename : content/xul/document/public/nsIXULOverlayProvider.idl => dom/xul/nsIXULOverlayProvider.idl rename : content/xul/document/src/nsXULCommandDispatcher.cpp => dom/xul/nsXULCommandDispatcher.cpp rename : content/xul/document/src/nsXULCommandDispatcher.h => dom/xul/nsXULCommandDispatcher.h rename : content/xul/document/src/nsXULContentSink.cpp => dom/xul/nsXULContentSink.cpp rename : content/xul/document/src/nsXULContentSink.h => dom/xul/nsXULContentSink.h rename : content/xul/content/src/nsXULContextMenuBuilder.cpp => dom/xul/nsXULContextMenuBuilder.cpp rename : content/xul/content/src/nsXULContextMenuBuilder.h => dom/xul/nsXULContextMenuBuilder.h rename : content/xul/document/src/nsXULControllers.cpp => dom/xul/nsXULControllers.cpp rename : content/xul/document/src/nsXULControllers.h => dom/xul/nsXULControllers.h rename : content/xul/content/src/nsXULElement.cpp => dom/xul/nsXULElement.cpp rename : content/xul/content/src/nsXULElement.h => dom/xul/nsXULElement.h rename : content/xul/content/src/nsXULPopupListener.cpp => dom/xul/nsXULPopupListener.cpp rename : content/xul/content/src/nsXULPopupListener.h => dom/xul/nsXULPopupListener.h rename : content/xul/document/src/nsXULPrototypeCache.cpp => dom/xul/nsXULPrototypeCache.cpp rename : content/xul/document/src/nsXULPrototypeCache.h => dom/xul/nsXULPrototypeCache.h rename : content/xul/document/src/nsXULPrototypeDocument.cpp => dom/xul/nsXULPrototypeDocument.cpp rename : content/xul/document/src/nsXULPrototypeDocument.h => dom/xul/nsXULPrototypeDocument.h rename : content/xul/templates/src/crashtests/257752-1-recursion.rdf => dom/xul/templates/crashtests/257752-1-recursion.rdf rename : content/xul/templates/src/crashtests/257752-1-recursion.xul => dom/xul/templates/crashtests/257752-1-recursion.xul rename : content/xul/templates/src/crashtests/329884-1.xul => dom/xul/templates/crashtests/329884-1.xul rename : content/xul/templates/src/crashtests/330012-1.rdf => dom/xul/templates/crashtests/330012-1.rdf rename : content/xul/templates/src/crashtests/330012-1.xul => dom/xul/templates/crashtests/330012-1.xul rename : content/xul/templates/src/crashtests/404346-1.xul => dom/xul/templates/crashtests/404346-1.xul rename : content/xul/templates/src/crashtests/415019-1.xul => dom/xul/templates/crashtests/415019-1.xul rename : content/xul/templates/src/crashtests/417840-1.xul => dom/xul/templates/crashtests/417840-1.xul rename : content/xul/templates/src/crashtests/424418-1.xul => dom/xul/templates/crashtests/424418-1.xul rename : content/xul/templates/src/crashtests/crashtests.list => dom/xul/templates/crashtests/crashtests.list rename : content/xul/templates/moz.build => dom/xul/templates/moz.build rename : content/xul/templates/src/nsContentSupportMap.cpp => dom/xul/templates/nsContentSupportMap.cpp rename : content/xul/templates/src/nsContentSupportMap.h => dom/xul/templates/nsContentSupportMap.h rename : content/xul/templates/src/nsContentTestNode.cpp => dom/xul/templates/nsContentTestNode.cpp rename : content/xul/templates/src/nsContentTestNode.h => dom/xul/templates/nsContentTestNode.h rename : content/xul/templates/public/nsIXULBuilderListener.idl => dom/xul/templates/nsIXULBuilderListener.idl rename : content/xul/templates/public/nsIXULSortService.idl => dom/xul/templates/nsIXULSortService.idl rename : content/xul/templates/public/nsIXULTemplateBuilder.idl => dom/xul/templates/nsIXULTemplateBuilder.idl rename : content/xul/templates/public/nsIXULTemplateQueryProcessor.idl => dom/xul/templates/nsIXULTemplateQueryProcessor.idl rename : content/xul/templates/public/nsIXULTemplateResult.idl => dom/xul/templates/nsIXULTemplateResult.idl rename : content/xul/templates/public/nsIXULTemplateRuleFilter.idl => dom/xul/templates/nsIXULTemplateRuleFilter.idl rename : content/xul/templates/src/nsInstantiationNode.cpp => dom/xul/templates/nsInstantiationNode.cpp rename : content/xul/templates/src/nsInstantiationNode.h => dom/xul/templates/nsInstantiationNode.h rename : content/xul/templates/src/nsRDFBinding.cpp => dom/xul/templates/nsRDFBinding.cpp rename : content/xul/templates/src/nsRDFBinding.h => dom/xul/templates/nsRDFBinding.h rename : content/xul/templates/src/nsRDFConInstanceTestNode.cpp => dom/xul/templates/nsRDFConInstanceTestNode.cpp rename : content/xul/templates/src/nsRDFConInstanceTestNode.h => dom/xul/templates/nsRDFConInstanceTestNode.h rename : content/xul/templates/src/nsRDFConMemberTestNode.cpp => dom/xul/templates/nsRDFConMemberTestNode.cpp rename : content/xul/templates/src/nsRDFConMemberTestNode.h => dom/xul/templates/nsRDFConMemberTestNode.h rename : content/xul/templates/src/nsRDFPropertyTestNode.cpp => dom/xul/templates/nsRDFPropertyTestNode.cpp rename : content/xul/templates/src/nsRDFPropertyTestNode.h => dom/xul/templates/nsRDFPropertyTestNode.h rename : content/xul/templates/src/nsRDFQuery.cpp => dom/xul/templates/nsRDFQuery.cpp rename : content/xul/templates/src/nsRDFQuery.h => dom/xul/templates/nsRDFQuery.h rename : content/xul/templates/src/nsRDFTestNode.h => dom/xul/templates/nsRDFTestNode.h rename : content/xul/templates/src/nsResourceSet.cpp => dom/xul/templates/nsResourceSet.cpp rename : content/xul/templates/src/nsResourceSet.h => dom/xul/templates/nsResourceSet.h rename : content/xul/templates/src/nsRuleNetwork.cpp => dom/xul/templates/nsRuleNetwork.cpp rename : content/xul/templates/src/nsRuleNetwork.h => dom/xul/templates/nsRuleNetwork.h rename : content/xul/templates/src/nsTemplateMap.h => dom/xul/templates/nsTemplateMap.h rename : content/xul/templates/src/nsTemplateMatch.cpp => dom/xul/templates/nsTemplateMatch.cpp rename : content/xul/templates/src/nsTemplateMatch.h => dom/xul/templates/nsTemplateMatch.h rename : content/xul/templates/src/nsTemplateRule.cpp => dom/xul/templates/nsTemplateRule.cpp rename : content/xul/templates/src/nsTemplateRule.h => dom/xul/templates/nsTemplateRule.h rename : content/xul/templates/src/nsTreeRows.cpp => dom/xul/templates/nsTreeRows.cpp rename : content/xul/templates/src/nsTreeRows.h => dom/xul/templates/nsTreeRows.h rename : content/xul/templates/src/nsXMLBinding.cpp => dom/xul/templates/nsXMLBinding.cpp rename : content/xul/templates/src/nsXMLBinding.h => dom/xul/templates/nsXMLBinding.h rename : content/xul/templates/src/nsXULContentBuilder.cpp => dom/xul/templates/nsXULContentBuilder.cpp rename : content/xul/templates/src/nsXULContentUtils.cpp => dom/xul/templates/nsXULContentUtils.cpp rename : content/xul/templates/src/nsXULContentUtils.h => dom/xul/templates/nsXULContentUtils.h rename : content/xul/templates/src/nsXULResourceList.h => dom/xul/templates/nsXULResourceList.h rename : content/xul/templates/src/nsXULSortService.cpp => dom/xul/templates/nsXULSortService.cpp rename : content/xul/templates/src/nsXULSortService.h => dom/xul/templates/nsXULSortService.h rename : content/xul/templates/src/nsXULTemplateBuilder.cpp => dom/xul/templates/nsXULTemplateBuilder.cpp rename : content/xul/templates/src/nsXULTemplateBuilder.h => dom/xul/templates/nsXULTemplateBuilder.h rename : content/xul/templates/src/nsXULTemplateQueryProcessorRDF.cpp => dom/xul/templates/nsXULTemplateQueryProcessorRDF.cpp rename : content/xul/templates/src/nsXULTemplateQueryProcessorRDF.h => dom/xul/templates/nsXULTemplateQueryProcessorRDF.h rename : content/xul/templates/src/nsXULTemplateQueryProcessorStorage.cpp => dom/xul/templates/nsXULTemplateQueryProcessorStorage.cpp rename : content/xul/templates/src/nsXULTemplateQueryProcessorStorage.h => dom/xul/templates/nsXULTemplateQueryProcessorStorage.h rename : content/xul/templates/src/nsXULTemplateQueryProcessorXML.cpp => dom/xul/templates/nsXULTemplateQueryProcessorXML.cpp rename : content/xul/templates/src/nsXULTemplateQueryProcessorXML.h => dom/xul/templates/nsXULTemplateQueryProcessorXML.h rename : content/xul/templates/src/nsXULTemplateResultRDF.cpp => dom/xul/templates/nsXULTemplateResultRDF.cpp rename : content/xul/templates/src/nsXULTemplateResultRDF.h => dom/xul/templates/nsXULTemplateResultRDF.h rename : content/xul/templates/src/nsXULTemplateResultSetRDF.cpp => dom/xul/templates/nsXULTemplateResultSetRDF.cpp rename : content/xul/templates/src/nsXULTemplateResultSetRDF.h => dom/xul/templates/nsXULTemplateResultSetRDF.h rename : content/xul/templates/src/nsXULTemplateResultStorage.cpp => dom/xul/templates/nsXULTemplateResultStorage.cpp rename : content/xul/templates/src/nsXULTemplateResultStorage.h => dom/xul/templates/nsXULTemplateResultStorage.h rename : content/xul/templates/src/nsXULTemplateResultXML.cpp => dom/xul/templates/nsXULTemplateResultXML.cpp rename : content/xul/templates/src/nsXULTemplateResultXML.h => dom/xul/templates/nsXULTemplateResultXML.h rename : content/xul/templates/src/nsXULTreeBuilder.cpp => dom/xul/templates/nsXULTreeBuilder.cpp rename : content/xul/templates/tests/chrome/animals.rdf => dom/xul/templates/tests/chrome/animals.rdf rename : content/xul/templates/tests/chrome/animals.sqlite => dom/xul/templates/tests/chrome/animals.sqlite rename : content/xul/templates/tests/chrome/animals.xml => dom/xul/templates/tests/chrome/animals.xml rename : content/xul/templates/tests/chrome/bug441785-1.rdf => dom/xul/templates/tests/chrome/bug441785-1.rdf rename : content/xul/templates/tests/chrome/bug441785-2.rdf => dom/xul/templates/tests/chrome/bug441785-2.rdf rename : content/xul/templates/tests/chrome/chrome.ini => dom/xul/templates/tests/chrome/chrome.ini rename : content/xul/templates/tests/chrome/file_bug330010.rdf => dom/xul/templates/tests/chrome/file_bug330010.rdf rename : content/xul/templates/tests/chrome/templates_shared.js => dom/xul/templates/tests/chrome/templates_shared.js rename : content/xul/templates/tests/chrome/test_bug329335.xul => dom/xul/templates/tests/chrome/test_bug329335.xul rename : content/xul/templates/tests/chrome/test_bug330010.xul => dom/xul/templates/tests/chrome/test_bug330010.xul rename : content/xul/templates/tests/chrome/test_bug397148.xul => dom/xul/templates/tests/chrome/test_bug397148.xul rename : content/xul/templates/tests/chrome/test_bug441785.xul => dom/xul/templates/tests/chrome/test_bug441785.xul rename : content/xul/templates/tests/chrome/test_bug476634.xul => dom/xul/templates/tests/chrome/test_bug476634.xul rename : content/xul/templates/tests/chrome/test_sortservice.xul => dom/xul/templates/tests/chrome/test_sortservice.xul rename : content/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul => dom/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul rename : content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul => dom/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul rename : content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul => dom/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul rename : content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul => dom/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul rename : content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul => dom/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul rename : content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul => dom/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul rename : content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul => dom/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul rename : content/xul/templates/tests/chrome/test_tmpl_errors.xul => dom/xul/templates/tests/chrome/test_tmpl_errors.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul rename : content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul => dom/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul rename : content/xul/templates/tests/chrome/test_tmpl_gridelement.xul => dom/xul/templates/tests/chrome/test_tmpl_gridelement.xul rename : content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul => dom/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul rename : content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul => dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul rename : content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul => dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul rename : content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul => dom/xul/templates/tests/chrome/test_tmpl_invalidqp.xul rename : content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul => dom/xul/templates/tests/chrome/test_tmpl_listboxelement.xul rename : content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul => dom/xul/templates/tests/chrome/test_tmpl_literalasmember.xul rename : content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul => dom/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul rename : content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul => dom/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul rename : content/xul/templates/tests/chrome/test_tmpl_menuelement.xul => dom/xul/templates/tests/chrome/test_tmpl_menuelement.xul rename : content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul => dom/xul/templates/tests/chrome/test_tmpl_menulistelement.xul rename : content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul => dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul rename : content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul => dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul rename : content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul => dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul rename : content/xul/templates/tests/chrome/test_tmpl_noaction.xul => dom/xul/templates/tests/chrome/test_tmpl_noaction.xul rename : content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul => dom/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul rename : content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul => dom/xul/templates/tests/chrome/test_tmpl_parentconditions.xul rename : content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul => dom/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul rename : content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_query3triples.xul => dom/xul/templates/tests/chrome/test_tmpl_query3triples.xul rename : content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul => dom/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul rename : content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul => dom/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul rename : content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul => dom/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul rename : content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul => dom/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul rename : content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul => dom/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul rename : content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul => dom/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul rename : content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul => dom/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysetone.xul => dom/xul/templates/tests/chrome/test_tmpl_querysetone.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul => dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul => dom/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_querysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul => dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul => dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul rename : content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul => dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul rename : content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul => dom/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul rename : content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul => dom/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul rename : content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul => dom/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul rename : content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul => dom/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul rename : content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul => dom/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul rename : content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul => dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul rename : content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul => dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul rename : content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul => dom/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul rename : content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul => dom/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul rename : content/xul/templates/tests/chrome/test_tmpl_regenerate.xul => dom/xul/templates/tests/chrome/test_tmpl_regenerate.xul rename : content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul => dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul rename : content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul => dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul => dom/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul => dom/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_rule.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_rule.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_simple.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_simple.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul rename : content/xul/templates/tests/chrome/test_tmpl_storage_tree.xul => dom/xul/templates/tests/chrome/test_tmpl_storage_tree.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul rename : content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul => dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul rename : content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul => dom/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul => dom/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul => dom/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul => dom/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul => dom/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontains.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul => dom/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul => dom/xul/templates/tests/chrome/test_tmpl_whereendswith.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul => dom/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequals.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequals.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul => dom/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul => dom/xul/templates/tests/chrome/test_tmpl_wheregreater.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul => dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul => dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul => dom/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul rename : content/xul/templates/tests/chrome/test_tmpl_whereless.xul => dom/xul/templates/tests/chrome/test_tmpl_whereless.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul => dom/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul => dom/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul => dom/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul => dom/xul/templates/tests/chrome/test_tmpl_wherenorel.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul => dom/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul => dom/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul => dom/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithassign.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithassign.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandcondition.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandcondition.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandconditiondontrecurse.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandconditiondontrecurse.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginbindings.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginbindings.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginrule.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginrule.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithdifferentmember.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithdifferentmember.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedata.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedata.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedatawithmultiplequeries.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedatawithmultiplequeries.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithmultiplequeries.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithmultiplequeries.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithothertypes.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithothertypes.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithsort.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithsort.xul rename : content/xul/templates/tests/chrome/test_tmpl_xmlquerywithsortotherfield.xul => dom/xul/templates/tests/chrome/test_tmpl_xmlquerywithsortotherfield.xul rename : content/xul/content/test/398289-resource.xul => dom/xul/test/398289-resource.xul rename : content/xul/document/test/bug497875-iframe.xul => dom/xul/test/bug497875-iframe.xul rename : content/xul/content/test/chrome.ini => dom/xul/test/chrome.ini rename : content/xul/content/test/file_bug236853.rdf => dom/xul/test/file_bug236853.rdf rename : content/xul/content/test/mochitest.ini => dom/xul/test/mochitest.ini rename : content/xul/document/test/overlay1_bug335375.xul => dom/xul/test/overlay1_bug335375.xul rename : content/xul/document/test/overlay2_bug335375.xul => dom/xul/test/overlay2_bug335375.xul rename : content/xul/document/test/overlay_640158.xul => dom/xul/test/overlay_640158.xul rename : content/xul/document/test/test_bug199692.xul => dom/xul/test/test_bug199692.xul rename : content/xul/content/test/test_bug233643.xul => dom/xul/test/test_bug233643.xul rename : content/xul/content/test/test_bug236853.xul => dom/xul/test/test_bug236853.xul rename : content/xul/document/test/test_bug311681.xul => dom/xul/test/test_bug311681.xul rename : content/xul/document/test/test_bug335375.xul => dom/xul/test/test_bug335375.xul rename : content/xul/document/test/test_bug391002.xul => dom/xul/test/test_bug391002.xul rename : content/xul/content/test/test_bug398289.html => dom/xul/test/test_bug398289.html rename : content/xul/document/test/test_bug403868.xul => dom/xul/test/test_bug403868.xul rename : content/xul/document/test/test_bug414907.xul => dom/xul/test/test_bug414907.xul rename : content/xul/document/test/test_bug418216.xul => dom/xul/test/test_bug418216.xul rename : content/xul/document/test/test_bug445177.xul => dom/xul/test/test_bug445177.xul rename : content/xul/document/test/test_bug449457.xul => dom/xul/test/test_bug449457.xul rename : content/xul/document/test/test_bug468176.xul => dom/xul/test/test_bug468176.xul rename : content/xul/content/test/test_bug486990.xul => dom/xul/test/test_bug486990.xul rename : content/xul/document/test/test_bug497875.xul => dom/xul/test/test_bug497875.xul rename : content/xul/document/test/test_bug583948.xul => dom/xul/test/test_bug583948.xul rename : content/xul/document/test/test_bug640158_overlay_persist.xul => dom/xul/test/test_bug640158_overlay_persist.xul rename : content/xul/content/test/test_bug749367.xul => dom/xul/test/test_bug749367.xul rename : content/xul/document/test/test_bug757137.xul => dom/xul/test/test_bug757137.xul rename : content/xul/content/test/test_bug775972.xul => dom/xul/test/test_bug775972.xul rename : content/xul/content/test/test_import_xul_to_content.xul => dom/xul/test/test_import_xul_to_content.xul rename : content/xul/document/test/window_bug583948.xul => dom/xul/test/window_bug583948.xul rename : content/xul/document/test/window_bug757137.xul => dom/xul/test/window_bug757137.xul --- b2g/installer/package-manifest.in | 1 - browser/installer/package-manifest.in | 1 - content/base/src/moz.build | 3 +- content/html/content/src/moz.build | 2 +- content/moz.build | 1 - content/xul/content/moz.build | 11 ------ content/xul/content/public/moz.build | 13 ------- content/xul/content/src/moz.build | 30 --------------- content/xul/content/test/chrome.ini | 10 ----- .../xul/document/crashtests/crashtests.list | 9 ----- content/xul/document/moz.build | 9 ----- content/xul/document/public/moz.build | 21 ----------- content/xul/moz.build | 14 ------- content/xul/templates/moz.build | 9 ----- content/xul/templates/public/moz.build | 17 --------- dom/base/moz.build | 2 +- dom/bindings/moz.build | 3 +- dom/canvas/moz.build | 2 +- dom/events/moz.build | 2 +- dom/moz.build | 1 + dom/xbl/moz.build | 3 +- dom/xml/moz.build | 2 +- .../document/src => dom/xul}/XULDocument.cpp | 0 .../document/src => dom/xul}/XULDocument.h | 0 .../xul}/crashtests/107518-1.xml | 0 .../xul}/crashtests/252448-1.xul | 0 .../xul}/crashtests/253479-1.xul | 0 .../xul}/crashtests/253479-2.xul | 0 .../xul}/crashtests/326204-1.xul | 0 .../xul}/crashtests/326644-1-inner.xul | 0 .../xul}/crashtests/326644-1.html | 0 .../xul}/crashtests/326644-2-inner.xul | 0 .../xul}/crashtests/326644-2.html | 0 .../xul}/crashtests/326864-1.xul | 0 .../xul}/crashtests/326875-1.xul | 0 .../xul}/crashtests/326881-1.xul | 0 .../xul}/crashtests/329982-1.xhtml | 0 .../xul}/crashtests/336096-1.xhtml | 0 .../xul}/crashtests/344215-1.xul | 0 .../xul}/crashtests/354611-1.html | 0 .../xul}/crashtests/360078-1.xhtml | 0 .../xul}/crashtests/360078-1xbl.xml | 0 .../xul}/crashtests/363791-1.xul | 0 .../xul}/crashtests/384740-1.xul | 0 .../xul}/crashtests/384877-1-inner.xul | 0 .../xul}/crashtests/384877-1.html | 0 .../xul}/crashtests/386914-1-inner.xul | 0 .../xul}/crashtests/386914-1.html | 0 .../xul}/crashtests/386947-1.xul | 0 .../xul}/crashtests/425821-1.xul | 0 .../xul}/crashtests/428951-1.xul | 0 .../xul}/crashtests/429085-1.xhtml | 0 .../xul}/crashtests/431906-1-inner.xul | 0 .../xul}/crashtests/431906-1.html | 0 .../xul}/crashtests/451311-1.xul | 0 .../xul}/crashtests/461917-1.xhtml | 0 .../xul}/crashtests/468211-1.xul | 0 .../xul}/crashtests/468211-2-binding.xml | 0 .../xul}/crashtests/468211-2.xul | 0 .../xul}/crashtests/468211-3.xul | 0 .../xul}/crashtests/495635-1.xul | 0 .../xul}/crashtests/509719-1-overlay.xul | 0 .../xul}/crashtests/509719-1.xul | 0 .../xul}/crashtests/509719-2-overlay.xul | 0 .../xul}/crashtests/509719-2.xul | 0 .../xul}/crashtests/583230.xul | 0 .../xul}/crashtests/crashtests.list | 9 +++++ .../document => dom/xul}/crashtests/extA1.xul | 0 .../document => dom/xul}/crashtests/extA2.xul | 0 .../document => dom/xul}/crashtests/extB1.xul | 0 .../xul/document/src => dom/xul}/moz.build | 35 +++++++++++++++--- .../src => dom/xul}/nsForwardReference.h | 0 .../public => dom/xul}/nsIController.idl | 0 .../public => dom/xul}/nsIControllers.idl | 0 .../xul}/nsIXULContextMenuBuilder.idl | 0 .../public => dom/xul}/nsIXULDocument.h | 0 .../xul}/nsIXULOverlayProvider.idl | 0 .../xul}/nsXULCommandDispatcher.cpp | 0 .../src => dom/xul}/nsXULCommandDispatcher.h | 0 .../src => dom/xul}/nsXULContentSink.cpp | 0 .../src => dom/xul}/nsXULContentSink.h | 0 .../xul}/nsXULContextMenuBuilder.cpp | 0 .../src => dom/xul}/nsXULContextMenuBuilder.h | 0 .../src => dom/xul}/nsXULControllers.cpp | 0 .../src => dom/xul}/nsXULControllers.h | 0 .../content/src => dom/xul}/nsXULElement.cpp | 0 .../content/src => dom/xul}/nsXULElement.h | 0 .../src => dom/xul}/nsXULPopupListener.cpp | 0 .../src => dom/xul}/nsXULPopupListener.h | 0 .../src => dom/xul}/nsXULPrototypeCache.cpp | 0 .../src => dom/xul}/nsXULPrototypeCache.h | 0 .../xul}/nsXULPrototypeDocument.cpp | 0 .../src => dom/xul}/nsXULPrototypeDocument.h | 0 .../crashtests/257752-1-recursion.rdf | 0 .../crashtests/257752-1-recursion.xul | 0 .../xul/templates}/crashtests/329884-1.xul | 0 .../xul/templates}/crashtests/330012-1.rdf | 0 .../xul/templates}/crashtests/330012-1.xul | 0 .../xul/templates}/crashtests/404346-1.xul | 0 .../xul/templates}/crashtests/415019-1.xul | 0 .../xul/templates}/crashtests/417840-1.xul | 0 .../xul/templates}/crashtests/424418-1.xul | 0 .../xul/templates}/crashtests/crashtests.list | 0 .../src => dom/xul/templates}/moz.build | 15 +++++++- .../xul/templates}/nsContentSupportMap.cpp | 0 .../xul/templates}/nsContentSupportMap.h | 0 .../xul/templates}/nsContentTestNode.cpp | 0 .../xul/templates}/nsContentTestNode.h | 0 .../xul/templates}/nsIXULBuilderListener.idl | 0 .../xul/templates}/nsIXULSortService.idl | 0 .../xul/templates}/nsIXULTemplateBuilder.idl | 0 .../nsIXULTemplateQueryProcessor.idl | 0 .../xul/templates}/nsIXULTemplateResult.idl | 0 .../templates}/nsIXULTemplateRuleFilter.idl | 0 .../xul/templates}/nsInstantiationNode.cpp | 0 .../xul/templates}/nsInstantiationNode.h | 0 .../xul/templates}/nsRDFBinding.cpp | 0 .../src => dom/xul/templates}/nsRDFBinding.h | 0 .../templates}/nsRDFConInstanceTestNode.cpp | 0 .../xul/templates}/nsRDFConInstanceTestNode.h | 0 .../xul/templates}/nsRDFConMemberTestNode.cpp | 0 .../xul/templates}/nsRDFConMemberTestNode.h | 0 .../xul/templates}/nsRDFPropertyTestNode.cpp | 0 .../xul/templates}/nsRDFPropertyTestNode.h | 0 .../src => dom/xul/templates}/nsRDFQuery.cpp | 0 .../src => dom/xul/templates}/nsRDFQuery.h | 0 .../src => dom/xul/templates}/nsRDFTestNode.h | 0 .../xul/templates}/nsResourceSet.cpp | 0 .../src => dom/xul/templates}/nsResourceSet.h | 0 .../xul/templates}/nsRuleNetwork.cpp | 0 .../src => dom/xul/templates}/nsRuleNetwork.h | 0 .../src => dom/xul/templates}/nsTemplateMap.h | 0 .../xul/templates}/nsTemplateMatch.cpp | 0 .../xul/templates}/nsTemplateMatch.h | 0 .../xul/templates}/nsTemplateRule.cpp | 0 .../xul/templates}/nsTemplateRule.h | 0 .../src => dom/xul/templates}/nsTreeRows.cpp | 0 .../src => dom/xul/templates}/nsTreeRows.h | 0 .../xul/templates}/nsXMLBinding.cpp | 0 .../src => dom/xul/templates}/nsXMLBinding.h | 0 .../xul/templates}/nsXULContentBuilder.cpp | 0 .../xul/templates}/nsXULContentUtils.cpp | 0 .../xul/templates}/nsXULContentUtils.h | 0 .../xul/templates}/nsXULResourceList.h | 0 .../xul/templates}/nsXULSortService.cpp | 0 .../xul/templates}/nsXULSortService.h | 0 .../xul/templates}/nsXULTemplateBuilder.cpp | 0 .../xul/templates}/nsXULTemplateBuilder.h | 0 .../nsXULTemplateQueryProcessorRDF.cpp | 0 .../nsXULTemplateQueryProcessorRDF.h | 0 .../nsXULTemplateQueryProcessorStorage.cpp | 0 .../nsXULTemplateQueryProcessorStorage.h | 0 .../nsXULTemplateQueryProcessorXML.cpp | 0 .../nsXULTemplateQueryProcessorXML.h | 0 .../xul/templates}/nsXULTemplateResultRDF.cpp | 0 .../xul/templates}/nsXULTemplateResultRDF.h | 0 .../templates}/nsXULTemplateResultSetRDF.cpp | 0 .../templates}/nsXULTemplateResultSetRDF.h | 0 .../templates}/nsXULTemplateResultStorage.cpp | 0 .../templates}/nsXULTemplateResultStorage.h | 0 .../xul/templates}/nsXULTemplateResultXML.cpp | 0 .../xul/templates}/nsXULTemplateResultXML.h | 0 .../xul/templates}/nsXULTreeBuilder.cpp | 0 .../xul/templates/tests/chrome/animals.rdf | 0 .../xul/templates/tests/chrome/animals.sqlite | Bin .../xul/templates/tests/chrome/animals.xml | 0 .../templates/tests/chrome/bug441785-1.rdf | 0 .../templates/tests/chrome/bug441785-2.rdf | 0 .../xul/templates/tests/chrome/chrome.ini | 0 .../templates/tests/chrome/file_bug330010.rdf | 0 .../tests/chrome/templates_shared.js | 0 .../templates/tests/chrome/test_bug329335.xul | 0 .../templates/tests/chrome/test_bug330010.xul | 0 .../templates/tests/chrome/test_bug397148.xul | 0 .../templates/tests/chrome/test_bug441785.xul | 0 .../templates/tests/chrome/test_bug476634.xul | 0 .../tests/chrome/test_sortservice.xul | 0 .../test_tmpl_bindingsextendedsyntax.xul | 0 .../chrome/test_tmpl_bindingsmultiple.xul | 0 .../chrome/test_tmpl_bindingsquerysyntax.xul | 0 .../chrome/test_tmpl_bindingsreversed.xul | 0 .../chrome/test_tmpl_bindingssameastriple.xul | 0 ...tmpl_containerandmembervariablechanged.xul | 0 .../test_tmpl_containervariablechanged.xul | 0 .../chrome/test_tmpl_containmentattribute.xul | 0 ...est_tmpl_defaultcontainervariableisuri.xul | 0 .../tests/chrome/test_tmpl_errors.xul | 0 .../tests/chrome/test_tmpl_extendedsyntax.xul | 0 ...est_tmpl_extendedsyntaxemptyconditions.xul | 0 ...st_tmpl_extendedsyntaxotherrefvariable.xul | 0 ...est_tmpl_extendedsyntaxremoveunmatched.xul | 0 ...tendedsyntaxsimplevariablesubstitution.xul | 0 ...est_tmpl_extendedsyntaxtworulesrecurse.xul | 0 ...endedsyntaxusinganinterveningcontainer.xul | 0 ...test_tmpl_extendedvariablesubstitution.xul | 0 .../tests/chrome/test_tmpl_gridelement.xul | 0 ...l_htmlelementextendedsyntaxwithbinding.xul | 0 ...t_tmpl_htmlelementquerysyntaxrecursive.xul | 0 ...tmlelementquerysyntaxwithmultiplerules.xul | 0 .../test_tmpl_htmlelementsimplesyntax.xul | 0 ..._htmlelementsimplesyntaxusingatextnode.xul | 0 .../tests/chrome/test_tmpl_invalidqp.xul | 0 .../tests/chrome/test_tmpl_listboxelement.xul | 0 .../chrome/test_tmpl_literalasmember.xul | 0 .../test_tmpl_membervariablechanged.xul | 0 .../test_tmpl_membervariablesubstitution.xul | 0 .../tests/chrome/test_tmpl_menuelement.xul | 0 .../chrome/test_tmpl_menuelementrecursive.xul | 0 .../chrome/test_tmpl_menulistelement.xul | 0 .../test_tmpl_mixedsyntaxiscontainer.xul | 0 ...est_tmpl_mixedsyntaxiscontainerisempty.xul | 0 .../chrome/test_tmpl_mixedsyntaxisempty.xul | 0 .../tests/chrome/test_tmpl_noaction.xul | 0 .../chrome/test_tmpl_noactionuriattribute.xul | 0 .../chrome/test_tmpl_parentconditions.xul | 0 .../chrome/test_tmpl_parentcontenttag.xul | 0 .../chrome/test_tmpl_parentsimplesyntax.xul | 0 .../tests/chrome/test_tmpl_query3triples.xul | 0 .../test_tmpl_query3tripleswherecontains.xul | 0 ...st_tmpl_querymember3tripleswhereequals.xul | 0 .../test_tmpl_querymemberandtwotriples.xul | 0 ...est_tmpl_querymembertriplemembertriple.xul | 0 .../chrome/test_tmpl_queryresourcematch.xul | 0 .../chrome/test_tmpl_queryreversetriple.xul | 0 .../chrome/test_tmpl_queryselfwithtriple.xul | 0 .../tests/chrome/test_tmpl_querysetone.xul | 0 .../tests/chrome/test_tmpl_querysettwo.xul | 0 .../test_tmpl_querysettwowithcondition.xul | 0 .../tests/chrome/test_tmpl_querysyntax.xul | 0 .../test_tmpl_querysyntaxmultiplerules.xul | 0 ...rysyntaxmultiplerulesfirstconditionall.xul | 0 ..._querysyntaxmultiplerulestwoconditions.xul | 0 .../test_tmpl_querytripleandmembermerge.xul | 0 .../test_tmpl_querytripleobjecttosubject.xul | 0 .../chrome/test_tmpl_querytwomembers.xul | 0 .../test_tmpl_querytwomembersfiltered.xul | 0 .../chrome/test_tmpl_querytwotriples.xul | 0 .../chrome/test_tmpl_queryupwardsmember.xul | 0 ...yupwardsmembertripleandfilteringtriple.xul | 0 .../test_tmpl_querywithemptyconditions.xul | 0 .../chrome/test_tmpl_referenceasmember.xul | 0 .../tests/chrome/test_tmpl_regenerate.xul | 0 ...test_tmpl_selfgenerationextendedsyntax.xul | 0 .../test_tmpl_selfgenerationsimplesyntax.xul | 0 ..._tmpl_simplesyntaxenclosedinacontainer.xul | 0 ...plesyntaxenclosedinacontainerwitharule.xul | 0 .../chrome/test_tmpl_simplesyntaxfilter.xul | 0 ...pl_simplesyntaxfilterwithmultiplerules.xul | 0 .../test_tmpl_simplesyntaxfilterwithrule.xul | 0 ..._simplesyntaxiteratingoverasinglevalue.xul | 0 ...implesyntaxusinganinterveningcontainer.xul | 0 .../test_tmpl_simplesyntaxusingatextnode.xul | 0 ...axusingcontainerasthegenerationelement.xul | 0 ...test_tmpl_simplesyntaxusingdontrecurse.xul | 0 ...l_simplesyntaxusingrecursivegeneration.xul | 0 ...plesyntaxusingrecursivegenerationagain.xul | 0 ..._tmpl_simplesyntaxwithtwovariablesused.xul | 0 ...blesubstitutioncaretsatbeginningandend.xul | 0 ...evariablesubstitutioncaretsubstitution.xul | 0 ...l_simplevariablesubstitutionnovariable.xul | 0 ...bstitutionquestionmarkaspartofvariable.xul | 0 ...lesubstitutionquestionmarksubstitution.xul | 0 ...plevariablesubstitutiontextandvariable.xul | 0 ...ubstitutionvariableandtextconcatenated.xul | 0 ...iablesubstitutionvariablesconcatenated.xul | 0 .../chrome/test_tmpl_sortascendinginteger.xul | 0 .../test_tmpl_sortascendingquerysyntax.xul | 0 ..._tmpl_sortascendingtworulesquerysyntax.xul | 0 ...endingtworuleswithcontainerquerysyntax.xul | 0 ...ruleswithdifferentcontainerquerysyntax.xul | 0 .../test_tmpl_sortdescendingquerysyntax.xul | 0 ...test_tmpl_sortquerymemberandtwotriples.xul | 0 ...pl_sortresource2descendingsimplesyntax.xul | 0 ...rce2settopredicateascendingquerysyntax.xul | 0 ...ce2settopredicatedescendingquerysyntax.xul | 0 ..._tmpl_sortresourceascendingquerysyntax.xul | 0 ...tmpl_sortresourcedescendingquerysyntax.xul | 0 ...urcesettopredicateascendingquerysyntax.xul | 0 ...rcesettopredicatedescendingquerysyntax.xul | 0 ...ingsettopredicatedescendingquerysyntax.xul | 0 ...rcessettopredicateascendingquerysyntax.xul | 0 ...l_sorttwovariablesascendingquerysyntax.xul | 0 ..._sorttwovariablesascendingsimplesyntax.xul | 0 ..._sorttwovariablesdescendingquerysyntax.xul | 0 ...t_tmpl_sortunknownascendingquerysyntax.xul | 0 .../test_tmpl_storage_bad_parameters.xul | 0 .../test_tmpl_storage_bad_parameters_2.xul | 0 .../test_tmpl_storage_bad_parameters_3.xul | 0 .../test_tmpl_storage_baddatasource.xul | 0 .../chrome/test_tmpl_storage_badquery.xul | 0 .../test_tmpl_storage_dynamicparameters.xul | 0 .../chrome/test_tmpl_storage_listbox.xul | 0 .../chrome/test_tmpl_storage_multiqueries.xul | 0 .../chrome/test_tmpl_storage_parameters.xul | 0 .../tests/chrome/test_tmpl_storage_rule.xul | 0 .../tests/chrome/test_tmpl_storage_simple.xul | 0 .../test_tmpl_storage_sortintegerasc.xul | 0 .../test_tmpl_storage_sortintegerdesc.xul | 0 .../test_tmpl_storage_sortstringasc.xul | 0 .../test_tmpl_storage_sortstringdesc.xul | 0 .../tests/chrome/test_tmpl_storage_tree.xul | 0 .../test_tmpl_treeelementquerysyntax.xul | 0 ...mpl_treeelementquerysyntaxnotrecursive.xul | 0 ...mentquerysyntaxnotrecursivetreebuilder.xul | 0 ...t_tmpl_treeelementquerysyntaxrecursive.xul | 0 ...ementquerysyntaxrecursivemultiplerules.xul | 0 ...yntaxrecursivemultiplerulestreebuilder.xul | 0 ...elementquerysyntaxrecursivetreebuilder.xul | 0 ...tmpl_treeelementquerysyntaxtreebuilder.xul | 0 ...pl_treeelementsimplesyntaxnotrecursive.xul | 0 ...entsimplesyntaxnotrecursivetreebuilder.xul | 0 ..._tmpl_treeelementsimplesyntaxrecursive.xul | 0 ...lementsimplesyntaxrecursivetreebuilder.xul | 0 .../chrome/test_tmpl_treeelementtreecell.xul | 0 ..._tmpl_treeelementtreecellsortascending.xul | 0 ...lementtreecellsortascendingtreebuilder.xul | 0 ...st_tmpl_treeelementtreecelltreebuilder.xul | 0 .../test_tmpl_treeelementtreeitemonly.xul | 0 ..._tmpl_treeelementtreeitemsortascending.xul | 0 .../chrome/test_tmpl_twogenerationnodes.xul | 0 .../chrome/test_tmpl_whereafterignorecase.xul | 0 .../chrome/test_tmpl_whereafterlowercase.xul | 0 .../chrome/test_tmpl_whereafternegation.xul | 0 .../chrome/test_tmpl_whereafteruppercase.xul | 0 .../test_tmpl_wherebeforeignorecase.xul | 0 .../chrome/test_tmpl_wherebeforelowercase.xul | 0 .../chrome/test_tmpl_wherebeforenegation.xul | 0 .../chrome/test_tmpl_wherebeforeuppercase.xul | 0 .../tests/chrome/test_tmpl_wherecontains.xul | 0 .../test_tmpl_wherecontainsignorecase.xul | 0 .../test_tmpl_wherecontainsnegation.xul | 0 .../chrome/test_tmpl_wherecontainsnumber.xul | 0 .../test_tmpl_wherecontainsnumberstring.xul | 0 .../test_tmpl_wherecontainsresource.xul | 0 .../chrome/test_tmpl_wherecontainstwo.xul | 0 .../tests/chrome/test_tmpl_whereendswith.xul | 0 .../test_tmpl_whereendswithignorecase.xul | 0 .../test_tmpl_whereendswithnegation.xul | 0 .../tests/chrome/test_tmpl_whereequals.xul | 0 .../test_tmpl_whereequalsignorecase.xul | 0 .../chrome/test_tmpl_whereequalsmultiple.xul | 0 .../test_tmpl_whereequalsmultiplenegation.xul | 0 ..._whereequalsmultiplenegationignorecase.xul | 0 .../chrome/test_tmpl_whereequalsnegation.xul | 0 ...est_tmpl_whereequalsnegationignorecase.xul | 0 ...test_tmpl_whereequalsnegationwrongcase.xul | 0 .../chrome/test_tmpl_whereequalsnumber.xul | 0 .../test_tmpl_whereequalsothervariable.xul | 0 .../chrome/test_tmpl_whereequalsresource.xul | 0 .../test_tmpl_whereequalssamevariable.xul | 0 .../chrome/test_tmpl_whereequalswrongcase.xul | 0 .../tests/chrome/test_tmpl_wheregreater.xul | 0 .../chrome/test_tmpl_wheregreaternegation.xul | 0 .../test_tmpl_wheregreaternegationstring.xul | 0 .../chrome/test_tmpl_wheregreaterstring.xul | 0 .../tests/chrome/test_tmpl_whereless.xul | 0 .../chrome/test_tmpl_wherelessnegation.xul | 0 .../test_tmpl_wherelessnegationstring.xul | 0 .../chrome/test_tmpl_wherelessstring.xul | 0 .../tests/chrome/test_tmpl_wherenorel.xul | 0 .../tests/chrome/test_tmpl_wherenosubject.xul | 0 .../tests/chrome/test_tmpl_wherenovalue.xul | 0 .../chrome/test_tmpl_wherestartswith.xul | 0 .../test_tmpl_wherestartswithignorecase.xul | 0 .../test_tmpl_wherestartswithmultiple.xul | 0 .../test_tmpl_wherestartswithnegation.xul | 0 ...st_tmpl_wherestartswithunknownvariable.xul | 0 .../test_tmpl_wherestartswithvariable.xul | 0 .../test_tmpl_wheresubjectequalsvariable.xul | 0 ...st_tmpl_wheresubjectstartswithvariable.xul | 0 .../tests/chrome/test_tmpl_xmlquerysimple.xul | 8 ++-- .../chrome/test_tmpl_xmlquerywithassign.xul | 8 ++-- ...mpl_xmlquerywithassignmentandcondition.xul | 0 ...ywithassignmentandconditiondontrecurse.xul | 0 ...est_tmpl_xmlquerywithbindinginbindings.xul | 0 .../test_tmpl_xmlquerywithbindinginrule.xul | 0 .../test_tmpl_xmlquerywithdifferentmember.xul | 8 ++-- .../test_tmpl_xmlquerywithinlinedata.xul | 0 ...querywithinlinedatawithmultiplequeries.xul | 0 .../test_tmpl_xmlquerywithmultiplequeries.xul | 8 ++-- .../test_tmpl_xmlquerywithothertypes.xul | 8 ++-- .../chrome/test_tmpl_xmlquerywithsort.xul | 8 ++-- .../test_tmpl_xmlquerywithsortotherfield.xul | 8 ++-- .../xul}/test/398289-resource.xul | 0 .../xul}/test/bug497875-iframe.xul | 0 .../xul/document => dom/xul}/test/chrome.ini | 7 ++++ .../xul}/test/file_bug236853.rdf | 0 .../content => dom/xul}/test/mochitest.ini | 0 .../xul}/test/overlay1_bug335375.xul | 0 .../xul}/test/overlay2_bug335375.xul | 0 .../xul}/test/overlay_640158.xul | 0 .../xul}/test/test_bug199692.xul | 0 .../xul}/test/test_bug233643.xul | 0 .../xul}/test/test_bug236853.xul | 0 .../xul}/test/test_bug311681.xul | 0 .../xul}/test/test_bug335375.xul | 0 .../xul}/test/test_bug391002.xul | 0 .../xul}/test/test_bug398289.html | 0 .../xul}/test/test_bug403868.xul | 0 .../xul}/test/test_bug414907.xul | 0 .../xul}/test/test_bug418216.xul | 0 .../xul}/test/test_bug445177.xul | 0 .../xul}/test/test_bug449457.xul | 0 .../xul}/test/test_bug468176.xul | 0 .../xul}/test/test_bug486990.xul | 0 .../xul}/test/test_bug497875.xul | 0 .../xul}/test/test_bug583948.xul | 0 .../test/test_bug640158_overlay_persist.xul | 0 .../xul}/test/test_bug749367.xul | 0 .../xul}/test/test_bug757137.xul | 0 .../xul}/test/test_bug775972.xul | 0 .../xul}/test/test_import_xul_to_content.xul | 0 .../xul}/test/window_bug583948.xul | 0 .../xul}/test/window_bug757137.xul | 0 layout/build/moz.build | 5 +-- layout/generic/moz.build | 2 +- layout/reftests/xul-document-load/readme.txt | 2 +- layout/style/moz.build | 2 +- mobile/android/installer/package-manifest.in | 1 - testing/crashtest/crashtests.list | 5 +-- 420 files changed, 104 insertions(+), 201 deletions(-) delete mode 100644 content/xul/content/moz.build delete mode 100644 content/xul/content/public/moz.build delete mode 100644 content/xul/content/src/moz.build delete mode 100644 content/xul/content/test/chrome.ini delete mode 100644 content/xul/document/crashtests/crashtests.list delete mode 100644 content/xul/document/moz.build delete mode 100644 content/xul/document/public/moz.build delete mode 100644 content/xul/moz.build delete mode 100644 content/xul/templates/moz.build delete mode 100644 content/xul/templates/public/moz.build rename {content/xul/document/src => dom/xul}/XULDocument.cpp (100%) rename {content/xul/document/src => dom/xul}/XULDocument.h (100%) rename {content/xul/content => dom/xul}/crashtests/107518-1.xml (100%) rename {content/xul/content => dom/xul}/crashtests/252448-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/253479-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/253479-2.xul (100%) rename {content/xul/document => dom/xul}/crashtests/326204-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/326644-1-inner.xul (100%) rename {content/xul/content => dom/xul}/crashtests/326644-1.html (100%) rename {content/xul/content => dom/xul}/crashtests/326644-2-inner.xul (100%) rename {content/xul/content => dom/xul}/crashtests/326644-2.html (100%) rename {content/xul/content => dom/xul}/crashtests/326864-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/326875-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/326881-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/329982-1.xhtml (100%) rename {content/xul/content => dom/xul}/crashtests/336096-1.xhtml (100%) rename {content/xul/document => dom/xul}/crashtests/344215-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/354611-1.html (100%) rename {content/xul/content => dom/xul}/crashtests/360078-1.xhtml (100%) rename {content/xul/content => dom/xul}/crashtests/360078-1xbl.xml (100%) rename {content/xul/content => dom/xul}/crashtests/363791-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/384740-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/384877-1-inner.xul (100%) rename {content/xul/content => dom/xul}/crashtests/384877-1.html (100%) rename {content/xul/document => dom/xul}/crashtests/386914-1-inner.xul (100%) rename {content/xul/document => dom/xul}/crashtests/386914-1.html (100%) rename {content/xul/content => dom/xul}/crashtests/386947-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/425821-1.xul (100%) rename {content/xul/document => dom/xul}/crashtests/428951-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/429085-1.xhtml (100%) rename {content/xul/content => dom/xul}/crashtests/431906-1-inner.xul (100%) rename {content/xul/content => dom/xul}/crashtests/431906-1.html (100%) rename {content/xul/content => dom/xul}/crashtests/451311-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/461917-1.xhtml (100%) rename {content/xul/document => dom/xul}/crashtests/468211-1.xul (100%) rename {content/xul/document => dom/xul}/crashtests/468211-2-binding.xml (100%) rename {content/xul/document => dom/xul}/crashtests/468211-2.xul (100%) rename {content/xul/document => dom/xul}/crashtests/468211-3.xul (100%) rename {content/xul/document => dom/xul}/crashtests/495635-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/509719-1-overlay.xul (100%) rename {content/xul/content => dom/xul}/crashtests/509719-1.xul (100%) rename {content/xul/content => dom/xul}/crashtests/509719-2-overlay.xul (100%) rename {content/xul/content => dom/xul}/crashtests/509719-2.xul (100%) rename {content/xul/document => dom/xul}/crashtests/583230.xul (100%) rename {content/xul/content => dom/xul}/crashtests/crashtests.list (74%) rename {content/xul/document => dom/xul}/crashtests/extA1.xul (100%) rename {content/xul/document => dom/xul}/crashtests/extA2.xul (100%) rename {content/xul/document => dom/xul}/crashtests/extB1.xul (100%) rename {content/xul/document/src => dom/xul}/moz.build (61%) rename {content/xul/document/src => dom/xul}/nsForwardReference.h (100%) rename {content/xul/document/public => dom/xul}/nsIController.idl (100%) rename {content/xul/document/public => dom/xul}/nsIControllers.idl (100%) rename {content/xul/content/public => dom/xul}/nsIXULContextMenuBuilder.idl (100%) rename {content/xul/document/public => dom/xul}/nsIXULDocument.h (100%) rename {content/xul/document/public => dom/xul}/nsIXULOverlayProvider.idl (100%) rename {content/xul/document/src => dom/xul}/nsXULCommandDispatcher.cpp (100%) rename {content/xul/document/src => dom/xul}/nsXULCommandDispatcher.h (100%) rename {content/xul/document/src => dom/xul}/nsXULContentSink.cpp (100%) rename {content/xul/document/src => dom/xul}/nsXULContentSink.h (100%) rename {content/xul/content/src => dom/xul}/nsXULContextMenuBuilder.cpp (100%) rename {content/xul/content/src => dom/xul}/nsXULContextMenuBuilder.h (100%) rename {content/xul/document/src => dom/xul}/nsXULControllers.cpp (100%) rename {content/xul/document/src => dom/xul}/nsXULControllers.h (100%) rename {content/xul/content/src => dom/xul}/nsXULElement.cpp (100%) rename {content/xul/content/src => dom/xul}/nsXULElement.h (100%) rename {content/xul/content/src => dom/xul}/nsXULPopupListener.cpp (100%) rename {content/xul/content/src => dom/xul}/nsXULPopupListener.h (100%) rename {content/xul/document/src => dom/xul}/nsXULPrototypeCache.cpp (100%) rename {content/xul/document/src => dom/xul}/nsXULPrototypeCache.h (100%) rename {content/xul/document/src => dom/xul}/nsXULPrototypeDocument.cpp (100%) rename {content/xul/document/src => dom/xul}/nsXULPrototypeDocument.h (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/257752-1-recursion.rdf (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/257752-1-recursion.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/329884-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/330012-1.rdf (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/330012-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/404346-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/415019-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/417840-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/424418-1.xul (100%) rename {content/xul/templates/src => dom/xul/templates}/crashtests/crashtests.list (100%) rename {content/xul/templates/src => dom/xul/templates}/moz.build (79%) rename {content/xul/templates/src => dom/xul/templates}/nsContentSupportMap.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsContentSupportMap.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsContentTestNode.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsContentTestNode.h (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULBuilderListener.idl (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULSortService.idl (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULTemplateBuilder.idl (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULTemplateQueryProcessor.idl (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULTemplateResult.idl (100%) rename {content/xul/templates/public => dom/xul/templates}/nsIXULTemplateRuleFilter.idl (100%) rename {content/xul/templates/src => dom/xul/templates}/nsInstantiationNode.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsInstantiationNode.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFBinding.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFBinding.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFConInstanceTestNode.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFConInstanceTestNode.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFConMemberTestNode.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFConMemberTestNode.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFPropertyTestNode.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFPropertyTestNode.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFQuery.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFQuery.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRDFTestNode.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsResourceSet.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsResourceSet.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRuleNetwork.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsRuleNetwork.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTemplateMap.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTemplateMatch.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTemplateMatch.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTemplateRule.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTemplateRule.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTreeRows.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsTreeRows.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXMLBinding.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXMLBinding.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULContentBuilder.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULContentUtils.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULContentUtils.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULResourceList.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULSortService.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULSortService.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateBuilder.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateBuilder.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorRDF.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorRDF.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorStorage.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorStorage.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorXML.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateQueryProcessorXML.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultRDF.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultRDF.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultSetRDF.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultSetRDF.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultStorage.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultStorage.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultXML.cpp (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTemplateResultXML.h (100%) rename {content/xul/templates/src => dom/xul/templates}/nsXULTreeBuilder.cpp (100%) rename {content => dom}/xul/templates/tests/chrome/animals.rdf (100%) rename {content => dom}/xul/templates/tests/chrome/animals.sqlite (100%) rename {content => dom}/xul/templates/tests/chrome/animals.xml (100%) rename {content => dom}/xul/templates/tests/chrome/bug441785-1.rdf (100%) rename {content => dom}/xul/templates/tests/chrome/bug441785-2.rdf (100%) rename {content => dom}/xul/templates/tests/chrome/chrome.ini (100%) rename {content => dom}/xul/templates/tests/chrome/file_bug330010.rdf (100%) rename {content => dom}/xul/templates/tests/chrome/templates_shared.js (100%) rename {content => dom}/xul/templates/tests/chrome/test_bug329335.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_bug330010.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_bug397148.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_bug441785.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_bug476634.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_sortservice.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_errors.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_gridelement.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_invalidqp.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_listboxelement.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_literalasmember.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_menuelement.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_menulistelement.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_noaction.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_parentconditions.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_query3triples.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysetone.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysettwo.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_regenerate.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_rule.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_simple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_storage_tree.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontains.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereendswith.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequals.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheregreater.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_whereless.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherenorel.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul (69%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithassign.xul (77%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandcondition.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithassignmentandconditiondontrecurse.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginbindings.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithbindinginrule.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithdifferentmember.xul (69%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedata.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithinlinedatawithmultiplequeries.xul (100%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithmultiplequeries.xul (74%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithothertypes.xul (77%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithsort.xul (70%) rename {content => dom}/xul/templates/tests/chrome/test_tmpl_xmlquerywithsortotherfield.xul (70%) rename {content/xul/content => dom/xul}/test/398289-resource.xul (100%) rename {content/xul/document => dom/xul}/test/bug497875-iframe.xul (100%) rename {content/xul/document => dom/xul}/test/chrome.ini (73%) rename {content/xul/content => dom/xul}/test/file_bug236853.rdf (100%) rename {content/xul/content => dom/xul}/test/mochitest.ini (100%) rename {content/xul/document => dom/xul}/test/overlay1_bug335375.xul (100%) rename {content/xul/document => dom/xul}/test/overlay2_bug335375.xul (100%) rename {content/xul/document => dom/xul}/test/overlay_640158.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug199692.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug233643.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug236853.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug311681.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug335375.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug391002.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug398289.html (100%) rename {content/xul/document => dom/xul}/test/test_bug403868.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug414907.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug418216.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug445177.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug449457.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug468176.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug486990.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug497875.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug583948.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug640158_overlay_persist.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug749367.xul (100%) rename {content/xul/document => dom/xul}/test/test_bug757137.xul (100%) rename {content/xul/content => dom/xul}/test/test_bug775972.xul (100%) rename {content/xul/content => dom/xul}/test/test_import_xul_to_content.xul (100%) rename {content/xul/document => dom/xul}/test/window_bug583948.xul (100%) rename {content/xul/document => dom/xul}/test/window_bug757137.xul (100%) diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in index a62f06d6470..47612812e53 100644 --- a/b2g/installer/package-manifest.in +++ b/b2g/installer/package-manifest.in @@ -337,7 +337,6 @@ @BINPATH@/components/xpconnect.xpt @BINPATH@/components/xulapp.xpt @BINPATH@/components/xul.xpt -@BINPATH@/components/xuldoc.xpt @BINPATH@/components/xultmpl.xpt @BINPATH@/components/zipwriter.xpt diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 13351a82803..52dd95b5b31 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -358,7 +358,6 @@ @BINPATH@/components/xpconnect.xpt @BINPATH@/components/xulapp.xpt @BINPATH@/components/xul.xpt -@BINPATH@/components/xuldoc.xpt @BINPATH@/components/xultmpl.xpt @BINPATH@/components/zipwriter.xpt @BINPATH@/components/telemetry.xpt diff --git a/content/base/src/moz.build b/content/base/src/moz.build index 849e9448b32..7de3efef2fc 100644 --- a/content/base/src/moz.build +++ b/content/base/src/moz.build @@ -211,8 +211,6 @@ LOCAL_INCLUDES += [ '/content/html/content/src', '/content/html/document/src', '/content/svg/content/src', - '/content/xul/content/src', - '/content/xul/document/src', '/docshell/base', '/dom/base', '/dom/ipc', @@ -220,6 +218,7 @@ LOCAL_INCLUDES += [ '/dom/xbl', '/dom/xml', '/dom/xslt/xpath', + '/dom/xul', '/image/src', '/js/ipc', '/js/xpconnect/src', diff --git a/content/html/content/src/moz.build b/content/html/content/src/moz.build index e23a8fa5ec9..ca6d6bac751 100644 --- a/content/html/content/src/moz.build +++ b/content/html/content/src/moz.build @@ -174,10 +174,10 @@ LOCAL_INCLUDES += [ '/content/base/src', '/content/html/document/src', '/content/media/', - '/content/xul/content/src', '/dom/base', '/dom/canvas', '/dom/xbl', + '/dom/xul', '/editor/libeditor', '/editor/txmgr', '/layout/forms', diff --git a/content/moz.build b/content/moz.build index d43637f304b..d3fb25d8753 100644 --- a/content/moz.build +++ b/content/moz.build @@ -9,7 +9,6 @@ DIRS += [ 'html', 'media', 'svg', - 'xul', ] XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] diff --git a/content/xul/content/moz.build b/content/xul/content/moz.build deleted file mode 100644 index 66ba864b903..00000000000 --- a/content/xul/content/moz.build +++ /dev/null @@ -1,11 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -DIRS += ['public', 'src'] - -MOCHITEST_MANIFESTS += ['test/mochitest.ini'] - -MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] diff --git a/content/xul/content/public/moz.build b/content/xul/content/public/moz.build deleted file mode 100644 index f45c9902222..00000000000 --- a/content/xul/content/public/moz.build +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -if CONFIG['MOZ_XUL']: - XPIDL_SOURCES += [ - 'nsIXULContextMenuBuilder.idl', - ] - -XPIDL_MODULE = 'xul' - diff --git a/content/xul/content/src/moz.build b/content/xul/content/src/moz.build deleted file mode 100644 index 111c8d8d48b..00000000000 --- a/content/xul/content/src/moz.build +++ /dev/null @@ -1,30 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -if CONFIG['MOZ_XUL']: - MSVC_ENABLE_PGO = True - - UNIFIED_SOURCES += [ - 'nsXULContextMenuBuilder.cpp', - 'nsXULElement.cpp', - 'nsXULPopupListener.cpp', - ] - -FAIL_ON_WARNINGS = True - -LOCAL_INCLUDES += [ - '../../document/src', - '../../templates/src', - '/content/base/src', - '/content/html/content/src', - '/dom/xbl', - '/dom/xml', - '/layout/generic', - '/layout/style', - '/layout/xul', -] - -FINAL_LIBRARY = 'xul' diff --git a/content/xul/content/test/chrome.ini b/content/xul/content/test/chrome.ini deleted file mode 100644 index 29544814f14..00000000000 --- a/content/xul/content/test/chrome.ini +++ /dev/null @@ -1,10 +0,0 @@ -[DEFAULT] -support-files = - 398289-resource.xul - file_bug236853.rdf - -[test_bug233643.xul] -[test_bug236853.xul] -[test_bug398289.html] -[test_bug775972.xul] -[test_import_xul_to_content.xul] diff --git a/content/xul/document/crashtests/crashtests.list b/content/xul/document/crashtests/crashtests.list deleted file mode 100644 index c34c41ef4ed..00000000000 --- a/content/xul/document/crashtests/crashtests.list +++ /dev/null @@ -1,9 +0,0 @@ -load 326204-1.xul -load 344215-1.xul -load 386914-1.html -load 428951-1.xul -load 468211-1.xul -load 468211-2.xul -load 468211-3.xul -load 495635-1.xul -load 583230.xul diff --git a/content/xul/document/moz.build b/content/xul/document/moz.build deleted file mode 100644 index 9b19590c7e9..00000000000 --- a/content/xul/document/moz.build +++ /dev/null @@ -1,9 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -DIRS += ['public', 'src'] - -MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] diff --git a/content/xul/document/public/moz.build b/content/xul/document/public/moz.build deleted file mode 100644 index 7c457d06f14..00000000000 --- a/content/xul/document/public/moz.build +++ /dev/null @@ -1,21 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -XPIDL_SOURCES += [ - 'nsIController.idl', - 'nsIControllers.idl', -] - -if CONFIG['MOZ_XUL']: - XPIDL_SOURCES += [ - 'nsIXULOverlayProvider.idl', - ] - EXPORTS += [ - 'nsIXULDocument.h', - ] - -XPIDL_MODULE = 'xuldoc' - diff --git a/content/xul/moz.build b/content/xul/moz.build deleted file mode 100644 index 5e677c67407..00000000000 --- a/content/xul/moz.build +++ /dev/null @@ -1,14 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -# We need to build document even if XUL is disabled, for the nsIController[s] -# interfaces and implementations. -# Likewise for content, because of nsXULAtoms. -DIRS += ['document', 'content'] - -if CONFIG['MOZ_XUL']: - DIRS += ['templates'] - diff --git a/content/xul/templates/moz.build b/content/xul/templates/moz.build deleted file mode 100644 index a728d0c9e0c..00000000000 --- a/content/xul/templates/moz.build +++ /dev/null @@ -1,9 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -DIRS += ['public', 'src'] - -MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini'] diff --git a/content/xul/templates/public/moz.build b/content/xul/templates/public/moz.build deleted file mode 100644 index f20810747b8..00000000000 --- a/content/xul/templates/public/moz.build +++ /dev/null @@ -1,17 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -XPIDL_SOURCES += [ - 'nsIXULBuilderListener.idl', - 'nsIXULSortService.idl', - 'nsIXULTemplateBuilder.idl', - 'nsIXULTemplateQueryProcessor.idl', - 'nsIXULTemplateResult.idl', - 'nsIXULTemplateRuleFilter.idl', -] - -XPIDL_MODULE = 'xultmpl' - diff --git a/dom/base/moz.build b/dom/base/moz.build index 73ed5d94614..f53220d9348 100644 --- a/dom/base/moz.build +++ b/dom/base/moz.build @@ -156,10 +156,10 @@ LOCAL_INCLUDES += [ '../xbl', '/content/base/src', '/content/html/document/src', - '/content/xul/document/src', '/docshell/base', '/dom/geolocation', '/dom/storage', + '/dom/xul', '/layout/base', '/layout/generic', '/layout/style', diff --git a/dom/bindings/moz.build b/dom/bindings/moz.build index 5d42453eb75..b90f884dc7f 100644 --- a/dom/bindings/moz.build +++ b/dom/bindings/moz.build @@ -47,8 +47,6 @@ LOCAL_INCLUDES += [ '/content/media/webaudio', '/content/media/webspeech/recognition', '/content/svg/content/src', - '/content/xul/content/src', - '/content/xul/document/src', '/dom/base', '/dom/battery', '/dom/bluetooth', @@ -61,6 +59,7 @@ LOCAL_INCLUDES += [ '/dom/xml', '/dom/xslt/base', '/dom/xslt/xpath', + '/dom/xul', '/js/ipc', '/js/xpconnect/src', '/js/xpconnect/wrappers', diff --git a/dom/canvas/moz.build b/dom/canvas/moz.build index 766a8e9b00c..ba9d73596e8 100644 --- a/dom/canvas/moz.build +++ b/dom/canvas/moz.build @@ -127,8 +127,8 @@ LOCAL_INCLUDES += [ '/content/base/src', '/content/html/content/src', '/content/svg/content/src', - '/content/xul/content/src', '/dom/base', + '/dom/xul', '/gfx/gl', '/image/src', '/js/xpconnect/src', diff --git a/dom/events/moz.build b/dom/events/moz.build index 7dff5c9d78c..8b405e877b3 100644 --- a/dom/events/moz.build +++ b/dom/events/moz.build @@ -132,12 +132,12 @@ FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '/content/base/src', '/content/html/content/src', - '/content/xul/content/src', '/dom/base', '/dom/settings', '/dom/storage', '/dom/workers', '/dom/xml', + '/dom/xul', '/js/xpconnect/wrappers', '/layout/generic', '/layout/xul', diff --git a/dom/moz.build b/dom/moz.build index d132aab1a02..81d9f5ed058 100644 --- a/dom/moz.build +++ b/dom/moz.build @@ -97,6 +97,7 @@ DIRS += [ 'xbl', 'xml', 'xslt', + 'xul', 'resourcestats', ] diff --git a/dom/xbl/moz.build b/dom/xbl/moz.build index 20b30c32650..209956432ce 100644 --- a/dom/xbl/moz.build +++ b/dom/xbl/moz.build @@ -43,10 +43,9 @@ MSVC_ENABLE_PGO = True LOCAL_INCLUDES += [ '/content/base/src', '/content/html/document/src', - '/content/xul/content/src', - '/content/xul/document/src', '/dom/base', '/dom/xml', + '/dom/xul', '/layout/style', ] diff --git a/dom/xml/moz.build b/dom/xml/moz.build index 3f71a6baa50..edb7eabd691 100644 --- a/dom/xml/moz.build +++ b/dom/xml/moz.build @@ -41,8 +41,8 @@ LOCAL_INCLUDES += [ '/caps', '/content/base/src', '/content/html/document/src', - '/content/xul/content/src', '/dom/base', + '/dom/xul', '/layout/style', ] diff --git a/content/xul/document/src/XULDocument.cpp b/dom/xul/XULDocument.cpp similarity index 100% rename from content/xul/document/src/XULDocument.cpp rename to dom/xul/XULDocument.cpp diff --git a/content/xul/document/src/XULDocument.h b/dom/xul/XULDocument.h similarity index 100% rename from content/xul/document/src/XULDocument.h rename to dom/xul/XULDocument.h diff --git a/content/xul/content/crashtests/107518-1.xml b/dom/xul/crashtests/107518-1.xml similarity index 100% rename from content/xul/content/crashtests/107518-1.xml rename to dom/xul/crashtests/107518-1.xml diff --git a/content/xul/content/crashtests/252448-1.xul b/dom/xul/crashtests/252448-1.xul similarity index 100% rename from content/xul/content/crashtests/252448-1.xul rename to dom/xul/crashtests/252448-1.xul diff --git a/content/xul/content/crashtests/253479-1.xul b/dom/xul/crashtests/253479-1.xul similarity index 100% rename from content/xul/content/crashtests/253479-1.xul rename to dom/xul/crashtests/253479-1.xul diff --git a/content/xul/content/crashtests/253479-2.xul b/dom/xul/crashtests/253479-2.xul similarity index 100% rename from content/xul/content/crashtests/253479-2.xul rename to dom/xul/crashtests/253479-2.xul diff --git a/content/xul/document/crashtests/326204-1.xul b/dom/xul/crashtests/326204-1.xul similarity index 100% rename from content/xul/document/crashtests/326204-1.xul rename to dom/xul/crashtests/326204-1.xul diff --git a/content/xul/content/crashtests/326644-1-inner.xul b/dom/xul/crashtests/326644-1-inner.xul similarity index 100% rename from content/xul/content/crashtests/326644-1-inner.xul rename to dom/xul/crashtests/326644-1-inner.xul diff --git a/content/xul/content/crashtests/326644-1.html b/dom/xul/crashtests/326644-1.html similarity index 100% rename from content/xul/content/crashtests/326644-1.html rename to dom/xul/crashtests/326644-1.html diff --git a/content/xul/content/crashtests/326644-2-inner.xul b/dom/xul/crashtests/326644-2-inner.xul similarity index 100% rename from content/xul/content/crashtests/326644-2-inner.xul rename to dom/xul/crashtests/326644-2-inner.xul diff --git a/content/xul/content/crashtests/326644-2.html b/dom/xul/crashtests/326644-2.html similarity index 100% rename from content/xul/content/crashtests/326644-2.html rename to dom/xul/crashtests/326644-2.html diff --git a/content/xul/content/crashtests/326864-1.xul b/dom/xul/crashtests/326864-1.xul similarity index 100% rename from content/xul/content/crashtests/326864-1.xul rename to dom/xul/crashtests/326864-1.xul diff --git a/content/xul/content/crashtests/326875-1.xul b/dom/xul/crashtests/326875-1.xul similarity index 100% rename from content/xul/content/crashtests/326875-1.xul rename to dom/xul/crashtests/326875-1.xul diff --git a/content/xul/content/crashtests/326881-1.xul b/dom/xul/crashtests/326881-1.xul similarity index 100% rename from content/xul/content/crashtests/326881-1.xul rename to dom/xul/crashtests/326881-1.xul diff --git a/content/xul/content/crashtests/329982-1.xhtml b/dom/xul/crashtests/329982-1.xhtml similarity index 100% rename from content/xul/content/crashtests/329982-1.xhtml rename to dom/xul/crashtests/329982-1.xhtml diff --git a/content/xul/content/crashtests/336096-1.xhtml b/dom/xul/crashtests/336096-1.xhtml similarity index 100% rename from content/xul/content/crashtests/336096-1.xhtml rename to dom/xul/crashtests/336096-1.xhtml diff --git a/content/xul/document/crashtests/344215-1.xul b/dom/xul/crashtests/344215-1.xul similarity index 100% rename from content/xul/document/crashtests/344215-1.xul rename to dom/xul/crashtests/344215-1.xul diff --git a/content/xul/content/crashtests/354611-1.html b/dom/xul/crashtests/354611-1.html similarity index 100% rename from content/xul/content/crashtests/354611-1.html rename to dom/xul/crashtests/354611-1.html diff --git a/content/xul/content/crashtests/360078-1.xhtml b/dom/xul/crashtests/360078-1.xhtml similarity index 100% rename from content/xul/content/crashtests/360078-1.xhtml rename to dom/xul/crashtests/360078-1.xhtml diff --git a/content/xul/content/crashtests/360078-1xbl.xml b/dom/xul/crashtests/360078-1xbl.xml similarity index 100% rename from content/xul/content/crashtests/360078-1xbl.xml rename to dom/xul/crashtests/360078-1xbl.xml diff --git a/content/xul/content/crashtests/363791-1.xul b/dom/xul/crashtests/363791-1.xul similarity index 100% rename from content/xul/content/crashtests/363791-1.xul rename to dom/xul/crashtests/363791-1.xul diff --git a/content/xul/content/crashtests/384740-1.xul b/dom/xul/crashtests/384740-1.xul similarity index 100% rename from content/xul/content/crashtests/384740-1.xul rename to dom/xul/crashtests/384740-1.xul diff --git a/content/xul/content/crashtests/384877-1-inner.xul b/dom/xul/crashtests/384877-1-inner.xul similarity index 100% rename from content/xul/content/crashtests/384877-1-inner.xul rename to dom/xul/crashtests/384877-1-inner.xul diff --git a/content/xul/content/crashtests/384877-1.html b/dom/xul/crashtests/384877-1.html similarity index 100% rename from content/xul/content/crashtests/384877-1.html rename to dom/xul/crashtests/384877-1.html diff --git a/content/xul/document/crashtests/386914-1-inner.xul b/dom/xul/crashtests/386914-1-inner.xul similarity index 100% rename from content/xul/document/crashtests/386914-1-inner.xul rename to dom/xul/crashtests/386914-1-inner.xul diff --git a/content/xul/document/crashtests/386914-1.html b/dom/xul/crashtests/386914-1.html similarity index 100% rename from content/xul/document/crashtests/386914-1.html rename to dom/xul/crashtests/386914-1.html diff --git a/content/xul/content/crashtests/386947-1.xul b/dom/xul/crashtests/386947-1.xul similarity index 100% rename from content/xul/content/crashtests/386947-1.xul rename to dom/xul/crashtests/386947-1.xul diff --git a/content/xul/content/crashtests/425821-1.xul b/dom/xul/crashtests/425821-1.xul similarity index 100% rename from content/xul/content/crashtests/425821-1.xul rename to dom/xul/crashtests/425821-1.xul diff --git a/content/xul/document/crashtests/428951-1.xul b/dom/xul/crashtests/428951-1.xul similarity index 100% rename from content/xul/document/crashtests/428951-1.xul rename to dom/xul/crashtests/428951-1.xul diff --git a/content/xul/content/crashtests/429085-1.xhtml b/dom/xul/crashtests/429085-1.xhtml similarity index 100% rename from content/xul/content/crashtests/429085-1.xhtml rename to dom/xul/crashtests/429085-1.xhtml diff --git a/content/xul/content/crashtests/431906-1-inner.xul b/dom/xul/crashtests/431906-1-inner.xul similarity index 100% rename from content/xul/content/crashtests/431906-1-inner.xul rename to dom/xul/crashtests/431906-1-inner.xul diff --git a/content/xul/content/crashtests/431906-1.html b/dom/xul/crashtests/431906-1.html similarity index 100% rename from content/xul/content/crashtests/431906-1.html rename to dom/xul/crashtests/431906-1.html diff --git a/content/xul/content/crashtests/451311-1.xul b/dom/xul/crashtests/451311-1.xul similarity index 100% rename from content/xul/content/crashtests/451311-1.xul rename to dom/xul/crashtests/451311-1.xul diff --git a/content/xul/content/crashtests/461917-1.xhtml b/dom/xul/crashtests/461917-1.xhtml similarity index 100% rename from content/xul/content/crashtests/461917-1.xhtml rename to dom/xul/crashtests/461917-1.xhtml diff --git a/content/xul/document/crashtests/468211-1.xul b/dom/xul/crashtests/468211-1.xul similarity index 100% rename from content/xul/document/crashtests/468211-1.xul rename to dom/xul/crashtests/468211-1.xul diff --git a/content/xul/document/crashtests/468211-2-binding.xml b/dom/xul/crashtests/468211-2-binding.xml similarity index 100% rename from content/xul/document/crashtests/468211-2-binding.xml rename to dom/xul/crashtests/468211-2-binding.xml diff --git a/content/xul/document/crashtests/468211-2.xul b/dom/xul/crashtests/468211-2.xul similarity index 100% rename from content/xul/document/crashtests/468211-2.xul rename to dom/xul/crashtests/468211-2.xul diff --git a/content/xul/document/crashtests/468211-3.xul b/dom/xul/crashtests/468211-3.xul similarity index 100% rename from content/xul/document/crashtests/468211-3.xul rename to dom/xul/crashtests/468211-3.xul diff --git a/content/xul/document/crashtests/495635-1.xul b/dom/xul/crashtests/495635-1.xul similarity index 100% rename from content/xul/document/crashtests/495635-1.xul rename to dom/xul/crashtests/495635-1.xul diff --git a/content/xul/content/crashtests/509719-1-overlay.xul b/dom/xul/crashtests/509719-1-overlay.xul similarity index 100% rename from content/xul/content/crashtests/509719-1-overlay.xul rename to dom/xul/crashtests/509719-1-overlay.xul diff --git a/content/xul/content/crashtests/509719-1.xul b/dom/xul/crashtests/509719-1.xul similarity index 100% rename from content/xul/content/crashtests/509719-1.xul rename to dom/xul/crashtests/509719-1.xul diff --git a/content/xul/content/crashtests/509719-2-overlay.xul b/dom/xul/crashtests/509719-2-overlay.xul similarity index 100% rename from content/xul/content/crashtests/509719-2-overlay.xul rename to dom/xul/crashtests/509719-2-overlay.xul diff --git a/content/xul/content/crashtests/509719-2.xul b/dom/xul/crashtests/509719-2.xul similarity index 100% rename from content/xul/content/crashtests/509719-2.xul rename to dom/xul/crashtests/509719-2.xul diff --git a/content/xul/document/crashtests/583230.xul b/dom/xul/crashtests/583230.xul similarity index 100% rename from content/xul/document/crashtests/583230.xul rename to dom/xul/crashtests/583230.xul diff --git a/content/xul/content/crashtests/crashtests.list b/dom/xul/crashtests/crashtests.list similarity index 74% rename from content/xul/content/crashtests/crashtests.list rename to dom/xul/crashtests/crashtests.list index 80dcefc3993..737a32f60fd 100644 --- a/content/xul/content/crashtests/crashtests.list +++ b/dom/xul/crashtests/crashtests.list @@ -2,6 +2,7 @@ load 107518-1.xml load 252448-1.xul load 253479-1.xul load 253479-2.xul +load 326204-1.xul load 326644-1.html load 326644-2.html load 326864-1.xul @@ -9,16 +10,24 @@ load 326875-1.xul load 326881-1.xul load 329982-1.xhtml load 336096-1.xhtml +load 344215-1.xul load 354611-1.html load 360078-1.xhtml load 363791-1.xul load 384740-1.xul load 384877-1.html +load 386914-1.html load 386947-1.xul load 425821-1.xul +load 428951-1.xul load 429085-1.xhtml load 431906-1.html load 451311-1.xul load 461917-1.xhtml +load 468211-1.xul +load 468211-2.xul +load 468211-3.xul +load 495635-1.xul load 509719-1.xul asserts(3) load 509719-2.xul # bug 909819 +load 583230.xul diff --git a/content/xul/document/crashtests/extA1.xul b/dom/xul/crashtests/extA1.xul similarity index 100% rename from content/xul/document/crashtests/extA1.xul rename to dom/xul/crashtests/extA1.xul diff --git a/content/xul/document/crashtests/extA2.xul b/dom/xul/crashtests/extA2.xul similarity index 100% rename from content/xul/document/crashtests/extA2.xul rename to dom/xul/crashtests/extA2.xul diff --git a/content/xul/document/crashtests/extB1.xul b/dom/xul/crashtests/extB1.xul similarity index 100% rename from content/xul/document/crashtests/extB1.xul rename to dom/xul/crashtests/extB1.xul diff --git a/content/xul/document/src/moz.build b/dom/xul/moz.build similarity index 61% rename from content/xul/document/src/moz.build rename to dom/xul/moz.build index c2a97b95368..35aa5169e02 100644 --- a/content/xul/document/src/moz.build +++ b/dom/xul/moz.build @@ -4,31 +4,56 @@ # 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/. -UNIFIED_SOURCES += [ - 'nsXULControllers.cpp', -] +MOCHITEST_MANIFESTS += ['test/mochitest.ini'] + +MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] if CONFIG['MOZ_XUL']: + DIRS += ['templates'] + + XPIDL_SOURCES += [ + 'nsIXULContextMenuBuilder.idl', + 'nsIXULOverlayProvider.idl', + ] + + EXPORTS += [ + 'nsIXULDocument.h', + ] + UNIFIED_SOURCES += [ 'nsXULCommandDispatcher.cpp', 'nsXULContentSink.cpp', + 'nsXULContextMenuBuilder.cpp', + 'nsXULElement.cpp', + 'nsXULPopupListener.cpp', 'nsXULPrototypeCache.cpp', 'nsXULPrototypeDocument.cpp', 'XULDocument.cpp', ] +XPIDL_SOURCES += [ + 'nsIController.idl', + 'nsIControllers.idl', +] + +XPIDL_MODULE = 'xul' + +UNIFIED_SOURCES += [ + 'nsXULControllers.cpp', +] + FAIL_ON_WARNINGS = True MSVC_ENABLE_PGO = True LOCAL_INCLUDES += [ '/content/base/src', - '/content/xul/content/src', - '/content/xul/templates/src', + '/content/html/content/src', '/docshell/base', '/dom/base', '/dom/xbl', '/dom/xml', + '/dom/xul/templates', '/layout/base', '/layout/generic', '/layout/style', diff --git a/content/xul/document/src/nsForwardReference.h b/dom/xul/nsForwardReference.h similarity index 100% rename from content/xul/document/src/nsForwardReference.h rename to dom/xul/nsForwardReference.h diff --git a/content/xul/document/public/nsIController.idl b/dom/xul/nsIController.idl similarity index 100% rename from content/xul/document/public/nsIController.idl rename to dom/xul/nsIController.idl diff --git a/content/xul/document/public/nsIControllers.idl b/dom/xul/nsIControllers.idl similarity index 100% rename from content/xul/document/public/nsIControllers.idl rename to dom/xul/nsIControllers.idl diff --git a/content/xul/content/public/nsIXULContextMenuBuilder.idl b/dom/xul/nsIXULContextMenuBuilder.idl similarity index 100% rename from content/xul/content/public/nsIXULContextMenuBuilder.idl rename to dom/xul/nsIXULContextMenuBuilder.idl diff --git a/content/xul/document/public/nsIXULDocument.h b/dom/xul/nsIXULDocument.h similarity index 100% rename from content/xul/document/public/nsIXULDocument.h rename to dom/xul/nsIXULDocument.h diff --git a/content/xul/document/public/nsIXULOverlayProvider.idl b/dom/xul/nsIXULOverlayProvider.idl similarity index 100% rename from content/xul/document/public/nsIXULOverlayProvider.idl rename to dom/xul/nsIXULOverlayProvider.idl diff --git a/content/xul/document/src/nsXULCommandDispatcher.cpp b/dom/xul/nsXULCommandDispatcher.cpp similarity index 100% rename from content/xul/document/src/nsXULCommandDispatcher.cpp rename to dom/xul/nsXULCommandDispatcher.cpp diff --git a/content/xul/document/src/nsXULCommandDispatcher.h b/dom/xul/nsXULCommandDispatcher.h similarity index 100% rename from content/xul/document/src/nsXULCommandDispatcher.h rename to dom/xul/nsXULCommandDispatcher.h diff --git a/content/xul/document/src/nsXULContentSink.cpp b/dom/xul/nsXULContentSink.cpp similarity index 100% rename from content/xul/document/src/nsXULContentSink.cpp rename to dom/xul/nsXULContentSink.cpp diff --git a/content/xul/document/src/nsXULContentSink.h b/dom/xul/nsXULContentSink.h similarity index 100% rename from content/xul/document/src/nsXULContentSink.h rename to dom/xul/nsXULContentSink.h diff --git a/content/xul/content/src/nsXULContextMenuBuilder.cpp b/dom/xul/nsXULContextMenuBuilder.cpp similarity index 100% rename from content/xul/content/src/nsXULContextMenuBuilder.cpp rename to dom/xul/nsXULContextMenuBuilder.cpp diff --git a/content/xul/content/src/nsXULContextMenuBuilder.h b/dom/xul/nsXULContextMenuBuilder.h similarity index 100% rename from content/xul/content/src/nsXULContextMenuBuilder.h rename to dom/xul/nsXULContextMenuBuilder.h diff --git a/content/xul/document/src/nsXULControllers.cpp b/dom/xul/nsXULControllers.cpp similarity index 100% rename from content/xul/document/src/nsXULControllers.cpp rename to dom/xul/nsXULControllers.cpp diff --git a/content/xul/document/src/nsXULControllers.h b/dom/xul/nsXULControllers.h similarity index 100% rename from content/xul/document/src/nsXULControllers.h rename to dom/xul/nsXULControllers.h diff --git a/content/xul/content/src/nsXULElement.cpp b/dom/xul/nsXULElement.cpp similarity index 100% rename from content/xul/content/src/nsXULElement.cpp rename to dom/xul/nsXULElement.cpp diff --git a/content/xul/content/src/nsXULElement.h b/dom/xul/nsXULElement.h similarity index 100% rename from content/xul/content/src/nsXULElement.h rename to dom/xul/nsXULElement.h diff --git a/content/xul/content/src/nsXULPopupListener.cpp b/dom/xul/nsXULPopupListener.cpp similarity index 100% rename from content/xul/content/src/nsXULPopupListener.cpp rename to dom/xul/nsXULPopupListener.cpp diff --git a/content/xul/content/src/nsXULPopupListener.h b/dom/xul/nsXULPopupListener.h similarity index 100% rename from content/xul/content/src/nsXULPopupListener.h rename to dom/xul/nsXULPopupListener.h diff --git a/content/xul/document/src/nsXULPrototypeCache.cpp b/dom/xul/nsXULPrototypeCache.cpp similarity index 100% rename from content/xul/document/src/nsXULPrototypeCache.cpp rename to dom/xul/nsXULPrototypeCache.cpp diff --git a/content/xul/document/src/nsXULPrototypeCache.h b/dom/xul/nsXULPrototypeCache.h similarity index 100% rename from content/xul/document/src/nsXULPrototypeCache.h rename to dom/xul/nsXULPrototypeCache.h diff --git a/content/xul/document/src/nsXULPrototypeDocument.cpp b/dom/xul/nsXULPrototypeDocument.cpp similarity index 100% rename from content/xul/document/src/nsXULPrototypeDocument.cpp rename to dom/xul/nsXULPrototypeDocument.cpp diff --git a/content/xul/document/src/nsXULPrototypeDocument.h b/dom/xul/nsXULPrototypeDocument.h similarity index 100% rename from content/xul/document/src/nsXULPrototypeDocument.h rename to dom/xul/nsXULPrototypeDocument.h diff --git a/content/xul/templates/src/crashtests/257752-1-recursion.rdf b/dom/xul/templates/crashtests/257752-1-recursion.rdf similarity index 100% rename from content/xul/templates/src/crashtests/257752-1-recursion.rdf rename to dom/xul/templates/crashtests/257752-1-recursion.rdf diff --git a/content/xul/templates/src/crashtests/257752-1-recursion.xul b/dom/xul/templates/crashtests/257752-1-recursion.xul similarity index 100% rename from content/xul/templates/src/crashtests/257752-1-recursion.xul rename to dom/xul/templates/crashtests/257752-1-recursion.xul diff --git a/content/xul/templates/src/crashtests/329884-1.xul b/dom/xul/templates/crashtests/329884-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/329884-1.xul rename to dom/xul/templates/crashtests/329884-1.xul diff --git a/content/xul/templates/src/crashtests/330012-1.rdf b/dom/xul/templates/crashtests/330012-1.rdf similarity index 100% rename from content/xul/templates/src/crashtests/330012-1.rdf rename to dom/xul/templates/crashtests/330012-1.rdf diff --git a/content/xul/templates/src/crashtests/330012-1.xul b/dom/xul/templates/crashtests/330012-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/330012-1.xul rename to dom/xul/templates/crashtests/330012-1.xul diff --git a/content/xul/templates/src/crashtests/404346-1.xul b/dom/xul/templates/crashtests/404346-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/404346-1.xul rename to dom/xul/templates/crashtests/404346-1.xul diff --git a/content/xul/templates/src/crashtests/415019-1.xul b/dom/xul/templates/crashtests/415019-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/415019-1.xul rename to dom/xul/templates/crashtests/415019-1.xul diff --git a/content/xul/templates/src/crashtests/417840-1.xul b/dom/xul/templates/crashtests/417840-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/417840-1.xul rename to dom/xul/templates/crashtests/417840-1.xul diff --git a/content/xul/templates/src/crashtests/424418-1.xul b/dom/xul/templates/crashtests/424418-1.xul similarity index 100% rename from content/xul/templates/src/crashtests/424418-1.xul rename to dom/xul/templates/crashtests/424418-1.xul diff --git a/content/xul/templates/src/crashtests/crashtests.list b/dom/xul/templates/crashtests/crashtests.list similarity index 100% rename from content/xul/templates/src/crashtests/crashtests.list rename to dom/xul/templates/crashtests/crashtests.list diff --git a/content/xul/templates/src/moz.build b/dom/xul/templates/moz.build similarity index 79% rename from content/xul/templates/src/moz.build rename to dom/xul/templates/moz.build index a6ce12926d2..9e8e1c1435a 100644 --- a/content/xul/templates/src/moz.build +++ b/dom/xul/templates/moz.build @@ -4,6 +4,19 @@ # 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/. +MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini'] + +XPIDL_SOURCES += [ + 'nsIXULBuilderListener.idl', + 'nsIXULSortService.idl', + 'nsIXULTemplateBuilder.idl', + 'nsIXULTemplateQueryProcessor.idl', + 'nsIXULTemplateResult.idl', + 'nsIXULTemplateRuleFilter.idl', +] + +XPIDL_MODULE = 'xultmpl' + UNIFIED_SOURCES += [ 'nsContentSupportMap.cpp', 'nsContentTestNode.cpp', @@ -36,9 +49,9 @@ UNIFIED_SOURCES += [ MSVC_ENABLE_PGO = True LOCAL_INCLUDES += [ - '../../content/src', '/content/base/src', '/dom/base', + '/dom/xul', '/layout/xul/tree/', ] diff --git a/content/xul/templates/src/nsContentSupportMap.cpp b/dom/xul/templates/nsContentSupportMap.cpp similarity index 100% rename from content/xul/templates/src/nsContentSupportMap.cpp rename to dom/xul/templates/nsContentSupportMap.cpp diff --git a/content/xul/templates/src/nsContentSupportMap.h b/dom/xul/templates/nsContentSupportMap.h similarity index 100% rename from content/xul/templates/src/nsContentSupportMap.h rename to dom/xul/templates/nsContentSupportMap.h diff --git a/content/xul/templates/src/nsContentTestNode.cpp b/dom/xul/templates/nsContentTestNode.cpp similarity index 100% rename from content/xul/templates/src/nsContentTestNode.cpp rename to dom/xul/templates/nsContentTestNode.cpp diff --git a/content/xul/templates/src/nsContentTestNode.h b/dom/xul/templates/nsContentTestNode.h similarity index 100% rename from content/xul/templates/src/nsContentTestNode.h rename to dom/xul/templates/nsContentTestNode.h diff --git a/content/xul/templates/public/nsIXULBuilderListener.idl b/dom/xul/templates/nsIXULBuilderListener.idl similarity index 100% rename from content/xul/templates/public/nsIXULBuilderListener.idl rename to dom/xul/templates/nsIXULBuilderListener.idl diff --git a/content/xul/templates/public/nsIXULSortService.idl b/dom/xul/templates/nsIXULSortService.idl similarity index 100% rename from content/xul/templates/public/nsIXULSortService.idl rename to dom/xul/templates/nsIXULSortService.idl diff --git a/content/xul/templates/public/nsIXULTemplateBuilder.idl b/dom/xul/templates/nsIXULTemplateBuilder.idl similarity index 100% rename from content/xul/templates/public/nsIXULTemplateBuilder.idl rename to dom/xul/templates/nsIXULTemplateBuilder.idl diff --git a/content/xul/templates/public/nsIXULTemplateQueryProcessor.idl b/dom/xul/templates/nsIXULTemplateQueryProcessor.idl similarity index 100% rename from content/xul/templates/public/nsIXULTemplateQueryProcessor.idl rename to dom/xul/templates/nsIXULTemplateQueryProcessor.idl diff --git a/content/xul/templates/public/nsIXULTemplateResult.idl b/dom/xul/templates/nsIXULTemplateResult.idl similarity index 100% rename from content/xul/templates/public/nsIXULTemplateResult.idl rename to dom/xul/templates/nsIXULTemplateResult.idl diff --git a/content/xul/templates/public/nsIXULTemplateRuleFilter.idl b/dom/xul/templates/nsIXULTemplateRuleFilter.idl similarity index 100% rename from content/xul/templates/public/nsIXULTemplateRuleFilter.idl rename to dom/xul/templates/nsIXULTemplateRuleFilter.idl diff --git a/content/xul/templates/src/nsInstantiationNode.cpp b/dom/xul/templates/nsInstantiationNode.cpp similarity index 100% rename from content/xul/templates/src/nsInstantiationNode.cpp rename to dom/xul/templates/nsInstantiationNode.cpp diff --git a/content/xul/templates/src/nsInstantiationNode.h b/dom/xul/templates/nsInstantiationNode.h similarity index 100% rename from content/xul/templates/src/nsInstantiationNode.h rename to dom/xul/templates/nsInstantiationNode.h diff --git a/content/xul/templates/src/nsRDFBinding.cpp b/dom/xul/templates/nsRDFBinding.cpp similarity index 100% rename from content/xul/templates/src/nsRDFBinding.cpp rename to dom/xul/templates/nsRDFBinding.cpp diff --git a/content/xul/templates/src/nsRDFBinding.h b/dom/xul/templates/nsRDFBinding.h similarity index 100% rename from content/xul/templates/src/nsRDFBinding.h rename to dom/xul/templates/nsRDFBinding.h diff --git a/content/xul/templates/src/nsRDFConInstanceTestNode.cpp b/dom/xul/templates/nsRDFConInstanceTestNode.cpp similarity index 100% rename from content/xul/templates/src/nsRDFConInstanceTestNode.cpp rename to dom/xul/templates/nsRDFConInstanceTestNode.cpp diff --git a/content/xul/templates/src/nsRDFConInstanceTestNode.h b/dom/xul/templates/nsRDFConInstanceTestNode.h similarity index 100% rename from content/xul/templates/src/nsRDFConInstanceTestNode.h rename to dom/xul/templates/nsRDFConInstanceTestNode.h diff --git a/content/xul/templates/src/nsRDFConMemberTestNode.cpp b/dom/xul/templates/nsRDFConMemberTestNode.cpp similarity index 100% rename from content/xul/templates/src/nsRDFConMemberTestNode.cpp rename to dom/xul/templates/nsRDFConMemberTestNode.cpp diff --git a/content/xul/templates/src/nsRDFConMemberTestNode.h b/dom/xul/templates/nsRDFConMemberTestNode.h similarity index 100% rename from content/xul/templates/src/nsRDFConMemberTestNode.h rename to dom/xul/templates/nsRDFConMemberTestNode.h diff --git a/content/xul/templates/src/nsRDFPropertyTestNode.cpp b/dom/xul/templates/nsRDFPropertyTestNode.cpp similarity index 100% rename from content/xul/templates/src/nsRDFPropertyTestNode.cpp rename to dom/xul/templates/nsRDFPropertyTestNode.cpp diff --git a/content/xul/templates/src/nsRDFPropertyTestNode.h b/dom/xul/templates/nsRDFPropertyTestNode.h similarity index 100% rename from content/xul/templates/src/nsRDFPropertyTestNode.h rename to dom/xul/templates/nsRDFPropertyTestNode.h diff --git a/content/xul/templates/src/nsRDFQuery.cpp b/dom/xul/templates/nsRDFQuery.cpp similarity index 100% rename from content/xul/templates/src/nsRDFQuery.cpp rename to dom/xul/templates/nsRDFQuery.cpp diff --git a/content/xul/templates/src/nsRDFQuery.h b/dom/xul/templates/nsRDFQuery.h similarity index 100% rename from content/xul/templates/src/nsRDFQuery.h rename to dom/xul/templates/nsRDFQuery.h diff --git a/content/xul/templates/src/nsRDFTestNode.h b/dom/xul/templates/nsRDFTestNode.h similarity index 100% rename from content/xul/templates/src/nsRDFTestNode.h rename to dom/xul/templates/nsRDFTestNode.h diff --git a/content/xul/templates/src/nsResourceSet.cpp b/dom/xul/templates/nsResourceSet.cpp similarity index 100% rename from content/xul/templates/src/nsResourceSet.cpp rename to dom/xul/templates/nsResourceSet.cpp diff --git a/content/xul/templates/src/nsResourceSet.h b/dom/xul/templates/nsResourceSet.h similarity index 100% rename from content/xul/templates/src/nsResourceSet.h rename to dom/xul/templates/nsResourceSet.h diff --git a/content/xul/templates/src/nsRuleNetwork.cpp b/dom/xul/templates/nsRuleNetwork.cpp similarity index 100% rename from content/xul/templates/src/nsRuleNetwork.cpp rename to dom/xul/templates/nsRuleNetwork.cpp diff --git a/content/xul/templates/src/nsRuleNetwork.h b/dom/xul/templates/nsRuleNetwork.h similarity index 100% rename from content/xul/templates/src/nsRuleNetwork.h rename to dom/xul/templates/nsRuleNetwork.h diff --git a/content/xul/templates/src/nsTemplateMap.h b/dom/xul/templates/nsTemplateMap.h similarity index 100% rename from content/xul/templates/src/nsTemplateMap.h rename to dom/xul/templates/nsTemplateMap.h diff --git a/content/xul/templates/src/nsTemplateMatch.cpp b/dom/xul/templates/nsTemplateMatch.cpp similarity index 100% rename from content/xul/templates/src/nsTemplateMatch.cpp rename to dom/xul/templates/nsTemplateMatch.cpp diff --git a/content/xul/templates/src/nsTemplateMatch.h b/dom/xul/templates/nsTemplateMatch.h similarity index 100% rename from content/xul/templates/src/nsTemplateMatch.h rename to dom/xul/templates/nsTemplateMatch.h diff --git a/content/xul/templates/src/nsTemplateRule.cpp b/dom/xul/templates/nsTemplateRule.cpp similarity index 100% rename from content/xul/templates/src/nsTemplateRule.cpp rename to dom/xul/templates/nsTemplateRule.cpp diff --git a/content/xul/templates/src/nsTemplateRule.h b/dom/xul/templates/nsTemplateRule.h similarity index 100% rename from content/xul/templates/src/nsTemplateRule.h rename to dom/xul/templates/nsTemplateRule.h diff --git a/content/xul/templates/src/nsTreeRows.cpp b/dom/xul/templates/nsTreeRows.cpp similarity index 100% rename from content/xul/templates/src/nsTreeRows.cpp rename to dom/xul/templates/nsTreeRows.cpp diff --git a/content/xul/templates/src/nsTreeRows.h b/dom/xul/templates/nsTreeRows.h similarity index 100% rename from content/xul/templates/src/nsTreeRows.h rename to dom/xul/templates/nsTreeRows.h diff --git a/content/xul/templates/src/nsXMLBinding.cpp b/dom/xul/templates/nsXMLBinding.cpp similarity index 100% rename from content/xul/templates/src/nsXMLBinding.cpp rename to dom/xul/templates/nsXMLBinding.cpp diff --git a/content/xul/templates/src/nsXMLBinding.h b/dom/xul/templates/nsXMLBinding.h similarity index 100% rename from content/xul/templates/src/nsXMLBinding.h rename to dom/xul/templates/nsXMLBinding.h diff --git a/content/xul/templates/src/nsXULContentBuilder.cpp b/dom/xul/templates/nsXULContentBuilder.cpp similarity index 100% rename from content/xul/templates/src/nsXULContentBuilder.cpp rename to dom/xul/templates/nsXULContentBuilder.cpp diff --git a/content/xul/templates/src/nsXULContentUtils.cpp b/dom/xul/templates/nsXULContentUtils.cpp similarity index 100% rename from content/xul/templates/src/nsXULContentUtils.cpp rename to dom/xul/templates/nsXULContentUtils.cpp diff --git a/content/xul/templates/src/nsXULContentUtils.h b/dom/xul/templates/nsXULContentUtils.h similarity index 100% rename from content/xul/templates/src/nsXULContentUtils.h rename to dom/xul/templates/nsXULContentUtils.h diff --git a/content/xul/templates/src/nsXULResourceList.h b/dom/xul/templates/nsXULResourceList.h similarity index 100% rename from content/xul/templates/src/nsXULResourceList.h rename to dom/xul/templates/nsXULResourceList.h diff --git a/content/xul/templates/src/nsXULSortService.cpp b/dom/xul/templates/nsXULSortService.cpp similarity index 100% rename from content/xul/templates/src/nsXULSortService.cpp rename to dom/xul/templates/nsXULSortService.cpp diff --git a/content/xul/templates/src/nsXULSortService.h b/dom/xul/templates/nsXULSortService.h similarity index 100% rename from content/xul/templates/src/nsXULSortService.h rename to dom/xul/templates/nsXULSortService.h diff --git a/content/xul/templates/src/nsXULTemplateBuilder.cpp b/dom/xul/templates/nsXULTemplateBuilder.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateBuilder.cpp rename to dom/xul/templates/nsXULTemplateBuilder.cpp diff --git a/content/xul/templates/src/nsXULTemplateBuilder.h b/dom/xul/templates/nsXULTemplateBuilder.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateBuilder.h rename to dom/xul/templates/nsXULTemplateBuilder.h diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorRDF.cpp b/dom/xul/templates/nsXULTemplateQueryProcessorRDF.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorRDF.cpp rename to dom/xul/templates/nsXULTemplateQueryProcessorRDF.cpp diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorRDF.h b/dom/xul/templates/nsXULTemplateQueryProcessorRDF.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorRDF.h rename to dom/xul/templates/nsXULTemplateQueryProcessorRDF.h diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorStorage.cpp b/dom/xul/templates/nsXULTemplateQueryProcessorStorage.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorStorage.cpp rename to dom/xul/templates/nsXULTemplateQueryProcessorStorage.cpp diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorStorage.h b/dom/xul/templates/nsXULTemplateQueryProcessorStorage.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorStorage.h rename to dom/xul/templates/nsXULTemplateQueryProcessorStorage.h diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorXML.cpp b/dom/xul/templates/nsXULTemplateQueryProcessorXML.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorXML.cpp rename to dom/xul/templates/nsXULTemplateQueryProcessorXML.cpp diff --git a/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h b/dom/xul/templates/nsXULTemplateQueryProcessorXML.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateQueryProcessorXML.h rename to dom/xul/templates/nsXULTemplateQueryProcessorXML.h diff --git a/content/xul/templates/src/nsXULTemplateResultRDF.cpp b/dom/xul/templates/nsXULTemplateResultRDF.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultRDF.cpp rename to dom/xul/templates/nsXULTemplateResultRDF.cpp diff --git a/content/xul/templates/src/nsXULTemplateResultRDF.h b/dom/xul/templates/nsXULTemplateResultRDF.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultRDF.h rename to dom/xul/templates/nsXULTemplateResultRDF.h diff --git a/content/xul/templates/src/nsXULTemplateResultSetRDF.cpp b/dom/xul/templates/nsXULTemplateResultSetRDF.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultSetRDF.cpp rename to dom/xul/templates/nsXULTemplateResultSetRDF.cpp diff --git a/content/xul/templates/src/nsXULTemplateResultSetRDF.h b/dom/xul/templates/nsXULTemplateResultSetRDF.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultSetRDF.h rename to dom/xul/templates/nsXULTemplateResultSetRDF.h diff --git a/content/xul/templates/src/nsXULTemplateResultStorage.cpp b/dom/xul/templates/nsXULTemplateResultStorage.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultStorage.cpp rename to dom/xul/templates/nsXULTemplateResultStorage.cpp diff --git a/content/xul/templates/src/nsXULTemplateResultStorage.h b/dom/xul/templates/nsXULTemplateResultStorage.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultStorage.h rename to dom/xul/templates/nsXULTemplateResultStorage.h diff --git a/content/xul/templates/src/nsXULTemplateResultXML.cpp b/dom/xul/templates/nsXULTemplateResultXML.cpp similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultXML.cpp rename to dom/xul/templates/nsXULTemplateResultXML.cpp diff --git a/content/xul/templates/src/nsXULTemplateResultXML.h b/dom/xul/templates/nsXULTemplateResultXML.h similarity index 100% rename from content/xul/templates/src/nsXULTemplateResultXML.h rename to dom/xul/templates/nsXULTemplateResultXML.h diff --git a/content/xul/templates/src/nsXULTreeBuilder.cpp b/dom/xul/templates/nsXULTreeBuilder.cpp similarity index 100% rename from content/xul/templates/src/nsXULTreeBuilder.cpp rename to dom/xul/templates/nsXULTreeBuilder.cpp diff --git a/content/xul/templates/tests/chrome/animals.rdf b/dom/xul/templates/tests/chrome/animals.rdf similarity index 100% rename from content/xul/templates/tests/chrome/animals.rdf rename to dom/xul/templates/tests/chrome/animals.rdf diff --git a/content/xul/templates/tests/chrome/animals.sqlite b/dom/xul/templates/tests/chrome/animals.sqlite similarity index 100% rename from content/xul/templates/tests/chrome/animals.sqlite rename to dom/xul/templates/tests/chrome/animals.sqlite diff --git a/content/xul/templates/tests/chrome/animals.xml b/dom/xul/templates/tests/chrome/animals.xml similarity index 100% rename from content/xul/templates/tests/chrome/animals.xml rename to dom/xul/templates/tests/chrome/animals.xml diff --git a/content/xul/templates/tests/chrome/bug441785-1.rdf b/dom/xul/templates/tests/chrome/bug441785-1.rdf similarity index 100% rename from content/xul/templates/tests/chrome/bug441785-1.rdf rename to dom/xul/templates/tests/chrome/bug441785-1.rdf diff --git a/content/xul/templates/tests/chrome/bug441785-2.rdf b/dom/xul/templates/tests/chrome/bug441785-2.rdf similarity index 100% rename from content/xul/templates/tests/chrome/bug441785-2.rdf rename to dom/xul/templates/tests/chrome/bug441785-2.rdf diff --git a/content/xul/templates/tests/chrome/chrome.ini b/dom/xul/templates/tests/chrome/chrome.ini similarity index 100% rename from content/xul/templates/tests/chrome/chrome.ini rename to dom/xul/templates/tests/chrome/chrome.ini diff --git a/content/xul/templates/tests/chrome/file_bug330010.rdf b/dom/xul/templates/tests/chrome/file_bug330010.rdf similarity index 100% rename from content/xul/templates/tests/chrome/file_bug330010.rdf rename to dom/xul/templates/tests/chrome/file_bug330010.rdf diff --git a/content/xul/templates/tests/chrome/templates_shared.js b/dom/xul/templates/tests/chrome/templates_shared.js similarity index 100% rename from content/xul/templates/tests/chrome/templates_shared.js rename to dom/xul/templates/tests/chrome/templates_shared.js diff --git a/content/xul/templates/tests/chrome/test_bug329335.xul b/dom/xul/templates/tests/chrome/test_bug329335.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_bug329335.xul rename to dom/xul/templates/tests/chrome/test_bug329335.xul diff --git a/content/xul/templates/tests/chrome/test_bug330010.xul b/dom/xul/templates/tests/chrome/test_bug330010.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_bug330010.xul rename to dom/xul/templates/tests/chrome/test_bug330010.xul diff --git a/content/xul/templates/tests/chrome/test_bug397148.xul b/dom/xul/templates/tests/chrome/test_bug397148.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_bug397148.xul rename to dom/xul/templates/tests/chrome/test_bug397148.xul diff --git a/content/xul/templates/tests/chrome/test_bug441785.xul b/dom/xul/templates/tests/chrome/test_bug441785.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_bug441785.xul rename to dom/xul/templates/tests/chrome/test_bug441785.xul diff --git a/content/xul/templates/tests/chrome/test_bug476634.xul b/dom/xul/templates/tests/chrome/test_bug476634.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_bug476634.xul rename to dom/xul/templates/tests/chrome/test_bug476634.xul diff --git a/content/xul/templates/tests/chrome/test_sortservice.xul b/dom/xul/templates/tests/chrome/test_sortservice.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_sortservice.xul rename to dom/xul/templates/tests/chrome/test_sortservice.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_bindingsextendedsyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul b/dom/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul b/dom/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul rename to dom/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul b/dom/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul b/dom/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul rename to dom/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul b/dom/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul rename to dom/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul b/dom/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul rename to dom/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul b/dom/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul rename to dom/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_errors.xul b/dom/xul/templates/tests/chrome/test_tmpl_errors.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_errors.xul rename to dom/xul/templates/tests/chrome/test_tmpl_errors.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul b/dom/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul rename to dom/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_gridelement.xul b/dom/xul/templates/tests/chrome/test_tmpl_gridelement.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_gridelement.xul rename to dom/xul/templates/tests/chrome/test_tmpl_gridelement.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul b/dom/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul rename to dom/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul b/dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul rename to dom/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul b/dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul rename to dom/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul b/dom/xul/templates/tests/chrome/test_tmpl_invalidqp.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul rename to dom/xul/templates/tests/chrome/test_tmpl_invalidqp.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul b/dom/xul/templates/tests/chrome/test_tmpl_listboxelement.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul rename to dom/xul/templates/tests/chrome/test_tmpl_listboxelement.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul b/dom/xul/templates/tests/chrome/test_tmpl_literalasmember.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul rename to dom/xul/templates/tests/chrome/test_tmpl_literalasmember.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul b/dom/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul rename to dom/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul b/dom/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul rename to dom/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_menuelement.xul b/dom/xul/templates/tests/chrome/test_tmpl_menuelement.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_menuelement.xul rename to dom/xul/templates/tests/chrome/test_tmpl_menuelement.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul b/dom/xul/templates/tests/chrome/test_tmpl_menulistelement.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul rename to dom/xul/templates/tests/chrome/test_tmpl_menulistelement.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul b/dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul rename to dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul b/dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul rename to dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul b/dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul rename to dom/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_noaction.xul b/dom/xul/templates/tests/chrome/test_tmpl_noaction.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_noaction.xul rename to dom/xul/templates/tests/chrome/test_tmpl_noaction.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul b/dom/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul rename to dom/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul b/dom/xul/templates/tests/chrome/test_tmpl_parentconditions.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul rename to dom/xul/templates/tests/chrome/test_tmpl_parentconditions.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul b/dom/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul rename to dom/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_query3triples.xul b/dom/xul/templates/tests/chrome/test_tmpl_query3triples.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_query3triples.xul rename to dom/xul/templates/tests/chrome/test_tmpl_query3triples.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul b/dom/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul rename to dom/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul b/dom/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul b/dom/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul b/dom/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul b/dom/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul rename to dom/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul b/dom/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul b/dom/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysetone.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysetone.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysetone.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysetone.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul b/dom/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul b/dom/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul b/dom/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul b/dom/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul b/dom/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul b/dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul rename to dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul b/dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul b/dom/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul rename to dom/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul b/dom/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul rename to dom/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_regenerate.xul b/dom/xul/templates/tests/chrome/test_tmpl_regenerate.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_regenerate.xul rename to dom/xul/templates/tests/chrome/test_tmpl_regenerate.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul b/dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul rename to dom/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_2.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_bad_parameters_3.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_baddatasource.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_badquery.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_dynamicparameters.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_listbox.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_multiqueries.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_parameters.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_rule.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_rule.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_rule.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_rule.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_simple.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_simple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_simple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_simple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerasc.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_sortintegerdesc.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringasc.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_sortstringdesc.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_storage_tree.xul b/dom/xul/templates/tests/chrome/test_tmpl_storage_tree.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_storage_tree.xul rename to dom/xul/templates/tests/chrome/test_tmpl_storage_tree.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul b/dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul rename to dom/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul b/dom/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul rename to dom/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontains.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontains.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereendswith.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereendswith.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequals.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequals.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequals.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequals.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheregreater.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheregreater.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_whereless.xul b/dom/xul/templates/tests/chrome/test_tmpl_whereless.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_whereless.xul rename to dom/xul/templates/tests/chrome/test_tmpl_whereless.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherenorel.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherenorel.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul b/dom/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul similarity index 100% rename from content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul rename to dom/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul diff --git a/content/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul b/dom/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul similarity index 69% rename from content/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul rename to dom/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul index b34bbd6b500..9a576e37029 100644 --- a/content/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul +++ b/dom/xul/templates/tests/chrome/test_tmpl_xmlquerysimple.xul @@ -15,10 +15,10 @@ -