diff --git a/content/html/Makefile.in b/content/html/Makefile.in
index d515630ca0e..48e896a955c 100644
--- a/content/html/Makefile.in
+++ b/content/html/Makefile.in
@@ -42,6 +42,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
-PARALLEL_DIRS = content document parser
+PARALLEL_DIRS = content document
include $(topsrcdir)/config/rules.mk
diff --git a/layout/build/Makefile.in b/layout/build/Makefile.in
index fa2b4df9346..6510e925eb8 100644
--- a/layout/build/Makefile.in
+++ b/layout/build/Makefile.in
@@ -121,7 +121,6 @@ SHARED_LIBRARY_LIBS = \
$(DEPTH)/content/events/src/$(LIB_PREFIX)gkconevents_s.$(LIB_SUFFIX) \
$(DEPTH)/content/html/content/src/$(LIB_PREFIX)gkconhtmlcon_s.$(LIB_SUFFIX) \
$(DEPTH)/content/html/document/src/$(LIB_PREFIX)gkconhtmldoc_s.$(LIB_SUFFIX) \
- $(DEPTH)/content/html/parser/src/$(LIB_PREFIX)html5p.$(LIB_SUFFIX) \
$(DEPTH)/content/xml/content/src/$(LIB_PREFIX)gkconxmlcon_s.$(LIB_SUFFIX) \
$(DEPTH)/content/xml/document/src/$(LIB_PREFIX)gkconxmldoc_s.$(LIB_SUFFIX) \
$(DEPTH)/content/xslt/src/base/$(LIB_PREFIX)txbase_s.$(LIB_SUFFIX) \
@@ -141,6 +140,7 @@ SHARED_LIBRARY_LIBS = \
$(DEPTH)/dom/src/threads/$(LIB_PREFIX)domthreads_s.$(LIB_SUFFIX) \
$(DEPTH)/editor/libeditor/text/$(LIB_PREFIX)texteditor_s.$(LIB_SUFFIX) \
$(DEPTH)/editor/libeditor/base/$(LIB_PREFIX)editorbase_s.$(LIB_SUFFIX) \
+ $(DEPTH)/parser/html/$(LIB_PREFIX)html5p_s.$(LIB_SUFFIX) \
$(NULL)
ifdef MOZ_MEDIA
diff --git a/parser/Makefile.in b/parser/Makefile.in
index 0da52620977..faae793ef1c 100644
--- a/parser/Makefile.in
+++ b/parser/Makefile.in
@@ -42,6 +42,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
-DIRS = expat htmlparser xml
+MODULE = parser
+DIRS = expat htmlparser html xml
include $(topsrcdir)/config/rules.mk
diff --git a/content/html/parser/src/Makefile.in b/parser/html/Makefile.in
similarity index 76%
rename from content/html/parser/src/Makefile.in
rename to parser/html/Makefile.in
index 6ad548eacb5..4680b78cd25 100644
--- a/content/html/parser/src/Makefile.in
+++ b/parser/html/Makefile.in
@@ -34,7 +34,7 @@
#
# ***** END LICENSE BLOCK *****
-DEPTH = ../../../..
+DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
@@ -42,15 +42,15 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = html5
-LIBRARY_NAME = html5p
+LIBRARY_NAME = html5p_s
LIBXUL_LIBRARY = 1
REQUIRES = \
- gfx \
- thebes \
- locale \
- js \
- pref \
+ gfx \
+ thebes \
+ locale \
+ js \
+ pref \
necko \
xpcom \
string \
@@ -67,30 +67,34 @@ REQUIRES = \
chardet \
$(NULL)
+EXPORTS = \
+ nsHtml5Module.h \
+ $(NULL)
+
CPPSRCS = \
- nsHtml5Atoms.cpp \
+ nsHtml5Atoms.cpp \
nsHtml5Parser.cpp \
- nsHtml5AttributeName.cpp \
- nsHtml5ElementName.cpp \
- nsHtml5HtmlAttributes.cpp \
- nsHtml5StackNode.cpp \
- nsHtml5UTF16Buffer.cpp \
- nsHtml5NamedCharacters.cpp \
- nsHtml5Tokenizer.cpp \
- nsHtml5TreeBuilder.cpp \
- nsHtml5Portability.cpp \
- nsHtml5Module.cpp \
- nsHtml5ReleasableAttributeName.cpp \
- nsHtml5ReleasableElementName.cpp \
- nsHtml5MetaScanner.cpp \
- nsHtml5TreeOperation.cpp \
- nsHtml5StateSnapshot.cpp \
- $(NULL)
+ nsHtml5AttributeName.cpp \
+ nsHtml5ElementName.cpp \
+ nsHtml5HtmlAttributes.cpp \
+ nsHtml5StackNode.cpp \
+ nsHtml5UTF16Buffer.cpp \
+ nsHtml5NamedCharacters.cpp \
+ nsHtml5Tokenizer.cpp \
+ nsHtml5TreeBuilder.cpp \
+ nsHtml5Portability.cpp \
+ nsHtml5Module.cpp \
+ nsHtml5ReleasableAttributeName.cpp \
+ nsHtml5ReleasableElementName.cpp \
+ nsHtml5MetaScanner.cpp \
+ nsHtml5TreeOperation.cpp \
+ nsHtml5StateSnapshot.cpp \
+ $(NULL)
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/rules.mk
INCLUDES += \
- -I$(srcdir)/../../../base/src \
+ -I$(srcdir)/../../content/base/src \
$(NULL)
diff --git a/content/html/parser/src/jArray.h b/parser/html/jArray.h
similarity index 100%
rename from content/html/parser/src/jArray.h
rename to parser/html/jArray.h
diff --git a/content/html/parser/src/nsHtml5ArrayCopy.h b/parser/html/nsHtml5ArrayCopy.h
similarity index 100%
rename from content/html/parser/src/nsHtml5ArrayCopy.h
rename to parser/html/nsHtml5ArrayCopy.h
diff --git a/content/html/parser/src/nsHtml5AtomList.h b/parser/html/nsHtml5AtomList.h
similarity index 100%
rename from content/html/parser/src/nsHtml5AtomList.h
rename to parser/html/nsHtml5AtomList.h
diff --git a/content/html/parser/src/nsHtml5Atoms.cpp b/parser/html/nsHtml5Atoms.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5Atoms.cpp
rename to parser/html/nsHtml5Atoms.cpp
diff --git a/content/html/parser/src/nsHtml5Atoms.h b/parser/html/nsHtml5Atoms.h
similarity index 100%
rename from content/html/parser/src/nsHtml5Atoms.h
rename to parser/html/nsHtml5Atoms.h
diff --git a/content/html/parser/src/nsHtml5AttributeName.cpp b/parser/html/nsHtml5AttributeName.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5AttributeName.cpp
rename to parser/html/nsHtml5AttributeName.cpp
diff --git a/content/html/parser/src/nsHtml5AttributeName.h b/parser/html/nsHtml5AttributeName.h
similarity index 100%
rename from content/html/parser/src/nsHtml5AttributeName.h
rename to parser/html/nsHtml5AttributeName.h
diff --git a/content/html/parser/src/nsHtml5ByteReadable.h b/parser/html/nsHtml5ByteReadable.h
similarity index 100%
rename from content/html/parser/src/nsHtml5ByteReadable.h
rename to parser/html/nsHtml5ByteReadable.h
diff --git a/content/html/parser/src/nsHtml5DocumentMode.h b/parser/html/nsHtml5DocumentMode.h
similarity index 100%
rename from content/html/parser/src/nsHtml5DocumentMode.h
rename to parser/html/nsHtml5DocumentMode.h
diff --git a/content/html/parser/src/nsHtml5ElementName.cpp b/parser/html/nsHtml5ElementName.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5ElementName.cpp
rename to parser/html/nsHtml5ElementName.cpp
diff --git a/content/html/parser/src/nsHtml5ElementName.h b/parser/html/nsHtml5ElementName.h
similarity index 100%
rename from content/html/parser/src/nsHtml5ElementName.h
rename to parser/html/nsHtml5ElementName.h
diff --git a/content/html/parser/src/nsHtml5HtmlAttributes.cpp b/parser/html/nsHtml5HtmlAttributes.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5HtmlAttributes.cpp
rename to parser/html/nsHtml5HtmlAttributes.cpp
diff --git a/content/html/parser/src/nsHtml5HtmlAttributes.h b/parser/html/nsHtml5HtmlAttributes.h
similarity index 100%
rename from content/html/parser/src/nsHtml5HtmlAttributes.h
rename to parser/html/nsHtml5HtmlAttributes.h
diff --git a/content/html/parser/src/nsHtml5MetaScanner.cpp b/parser/html/nsHtml5MetaScanner.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5MetaScanner.cpp
rename to parser/html/nsHtml5MetaScanner.cpp
diff --git a/content/html/parser/src/nsHtml5MetaScanner.h b/parser/html/nsHtml5MetaScanner.h
similarity index 100%
rename from content/html/parser/src/nsHtml5MetaScanner.h
rename to parser/html/nsHtml5MetaScanner.h
diff --git a/content/html/parser/src/nsHtml5MetaScannerCppSupplement.h b/parser/html/nsHtml5MetaScannerCppSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5MetaScannerCppSupplement.h
rename to parser/html/nsHtml5MetaScannerCppSupplement.h
diff --git a/content/html/parser/src/nsHtml5MetaScannerHSupplement.h b/parser/html/nsHtml5MetaScannerHSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5MetaScannerHSupplement.h
rename to parser/html/nsHtml5MetaScannerHSupplement.h
diff --git a/content/html/parser/src/nsHtml5Module.cpp b/parser/html/nsHtml5Module.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5Module.cpp
rename to parser/html/nsHtml5Module.cpp
diff --git a/content/html/parser/public/nsHtml5Module.h b/parser/html/nsHtml5Module.h
similarity index 100%
rename from content/html/parser/public/nsHtml5Module.h
rename to parser/html/nsHtml5Module.h
diff --git a/content/html/parser/src/nsHtml5NamedCharacters.cpp b/parser/html/nsHtml5NamedCharacters.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5NamedCharacters.cpp
rename to parser/html/nsHtml5NamedCharacters.cpp
diff --git a/content/html/parser/src/nsHtml5NamedCharacters.h b/parser/html/nsHtml5NamedCharacters.h
similarity index 100%
rename from content/html/parser/src/nsHtml5NamedCharacters.h
rename to parser/html/nsHtml5NamedCharacters.h
diff --git a/content/html/parser/src/nsHtml5Parser.cpp b/parser/html/nsHtml5Parser.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5Parser.cpp
rename to parser/html/nsHtml5Parser.cpp
diff --git a/content/html/parser/src/nsHtml5Parser.h b/parser/html/nsHtml5Parser.h
similarity index 100%
rename from content/html/parser/src/nsHtml5Parser.h
rename to parser/html/nsHtml5Parser.h
diff --git a/content/html/parser/src/nsHtml5PendingNotification.h b/parser/html/nsHtml5PendingNotification.h
similarity index 100%
rename from content/html/parser/src/nsHtml5PendingNotification.h
rename to parser/html/nsHtml5PendingNotification.h
diff --git a/content/html/parser/src/nsHtml5Portability.cpp b/parser/html/nsHtml5Portability.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5Portability.cpp
rename to parser/html/nsHtml5Portability.cpp
diff --git a/content/html/parser/src/nsHtml5Portability.h b/parser/html/nsHtml5Portability.h
similarity index 100%
rename from content/html/parser/src/nsHtml5Portability.h
rename to parser/html/nsHtml5Portability.h
diff --git a/content/html/parser/src/nsHtml5ReleasableAttributeName.cpp b/parser/html/nsHtml5ReleasableAttributeName.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5ReleasableAttributeName.cpp
rename to parser/html/nsHtml5ReleasableAttributeName.cpp
diff --git a/content/html/parser/src/nsHtml5ReleasableAttributeName.h b/parser/html/nsHtml5ReleasableAttributeName.h
similarity index 100%
rename from content/html/parser/src/nsHtml5ReleasableAttributeName.h
rename to parser/html/nsHtml5ReleasableAttributeName.h
diff --git a/content/html/parser/src/nsHtml5ReleasableElementName.cpp b/parser/html/nsHtml5ReleasableElementName.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5ReleasableElementName.cpp
rename to parser/html/nsHtml5ReleasableElementName.cpp
diff --git a/content/html/parser/src/nsHtml5ReleasableElementName.h b/parser/html/nsHtml5ReleasableElementName.h
similarity index 100%
rename from content/html/parser/src/nsHtml5ReleasableElementName.h
rename to parser/html/nsHtml5ReleasableElementName.h
diff --git a/content/html/parser/src/nsHtml5StackNode.cpp b/parser/html/nsHtml5StackNode.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5StackNode.cpp
rename to parser/html/nsHtml5StackNode.cpp
diff --git a/content/html/parser/src/nsHtml5StackNode.h b/parser/html/nsHtml5StackNode.h
similarity index 100%
rename from content/html/parser/src/nsHtml5StackNode.h
rename to parser/html/nsHtml5StackNode.h
diff --git a/content/html/parser/src/nsHtml5StackNodeCppSupplement.h b/parser/html/nsHtml5StackNodeCppSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5StackNodeCppSupplement.h
rename to parser/html/nsHtml5StackNodeCppSupplement.h
diff --git a/content/html/parser/src/nsHtml5StackNodeHSupplement.h b/parser/html/nsHtml5StackNodeHSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5StackNodeHSupplement.h
rename to parser/html/nsHtml5StackNodeHSupplement.h
diff --git a/content/html/parser/src/nsHtml5StateSnapshot.cpp b/parser/html/nsHtml5StateSnapshot.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5StateSnapshot.cpp
rename to parser/html/nsHtml5StateSnapshot.cpp
diff --git a/content/html/parser/src/nsHtml5StateSnapshot.h b/parser/html/nsHtml5StateSnapshot.h
similarity index 100%
rename from content/html/parser/src/nsHtml5StateSnapshot.h
rename to parser/html/nsHtml5StateSnapshot.h
diff --git a/content/html/parser/src/nsHtml5Tokenizer.cpp b/parser/html/nsHtml5Tokenizer.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5Tokenizer.cpp
rename to parser/html/nsHtml5Tokenizer.cpp
diff --git a/content/html/parser/src/nsHtml5Tokenizer.h b/parser/html/nsHtml5Tokenizer.h
similarity index 100%
rename from content/html/parser/src/nsHtml5Tokenizer.h
rename to parser/html/nsHtml5Tokenizer.h
diff --git a/content/html/parser/src/nsHtml5TreeBuilder.cpp b/parser/html/nsHtml5TreeBuilder.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeBuilder.cpp
rename to parser/html/nsHtml5TreeBuilder.cpp
diff --git a/content/html/parser/src/nsHtml5TreeBuilder.h b/parser/html/nsHtml5TreeBuilder.h
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeBuilder.h
rename to parser/html/nsHtml5TreeBuilder.h
diff --git a/content/html/parser/src/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeBuilderCppSupplement.h
rename to parser/html/nsHtml5TreeBuilderCppSupplement.h
diff --git a/content/html/parser/src/nsHtml5TreeBuilderHSupplement.h b/parser/html/nsHtml5TreeBuilderHSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeBuilderHSupplement.h
rename to parser/html/nsHtml5TreeBuilderHSupplement.h
diff --git a/content/html/parser/src/nsHtml5TreeOperation.cpp b/parser/html/nsHtml5TreeOperation.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeOperation.cpp
rename to parser/html/nsHtml5TreeOperation.cpp
diff --git a/content/html/parser/src/nsHtml5TreeOperation.h b/parser/html/nsHtml5TreeOperation.h
similarity index 100%
rename from content/html/parser/src/nsHtml5TreeOperation.h
rename to parser/html/nsHtml5TreeOperation.h
diff --git a/content/html/parser/src/nsHtml5UTF16Buffer.cpp b/parser/html/nsHtml5UTF16Buffer.cpp
similarity index 100%
rename from content/html/parser/src/nsHtml5UTF16Buffer.cpp
rename to parser/html/nsHtml5UTF16Buffer.cpp
diff --git a/content/html/parser/src/nsHtml5UTF16Buffer.h b/parser/html/nsHtml5UTF16Buffer.h
similarity index 100%
rename from content/html/parser/src/nsHtml5UTF16Buffer.h
rename to parser/html/nsHtml5UTF16Buffer.h
diff --git a/content/html/parser/src/nsHtml5UTF16BufferCppSupplement.h b/parser/html/nsHtml5UTF16BufferCppSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5UTF16BufferCppSupplement.h
rename to parser/html/nsHtml5UTF16BufferCppSupplement.h
diff --git a/content/html/parser/src/nsHtml5UTF16BufferHSupplement.h b/parser/html/nsHtml5UTF16BufferHSupplement.h
similarity index 100%
rename from content/html/parser/src/nsHtml5UTF16BufferHSupplement.h
rename to parser/html/nsHtml5UTF16BufferHSupplement.h
diff --git a/toolkit/toolkit-tiers.mk b/toolkit/toolkit-tiers.mk
index aba421b8760..b668d0add7e 100644
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -133,9 +133,7 @@ tier_gecko_dirs += \
uriloader \
modules/libimg \
caps \
- parser/expat \
- parser/xml \
- parser/htmlparser \
+ parser \
gfx \
modules/libpr0n \
modules/plugin \