Merge mozilla-central to mozilla-inbound

This commit is contained in:
Ed Morley 2012-07-02 10:37:09 +01:00
commit 9a64c367a1
15 changed files with 147 additions and 221 deletions

View File

@ -79,9 +79,6 @@ public:
return mWriteLevel != PRUint32(0);
}
virtual bool GetIsFrameset() { return mIsFrameset; }
virtual void SetIsFrameset(bool aFrameset) { mIsFrameset = aFrameset; }
virtual NS_HIDDEN_(nsContentList*) GetForms();
virtual NS_HIDDEN_(nsContentList*) GetFormControls();
@ -253,8 +250,6 @@ protected:
// Load flags of the document's channel
PRUint32 mLoadFlags;
bool mIsFrameset;
bool mTooDeepWriteRecursion;
bool mDisableDocWrite;

View File

@ -17,8 +17,8 @@ class nsContentList;
class nsWrapperCache;
#define NS_IHTMLDOCUMENT_IID \
{ 0xa921276f, 0x5e70, 0x42e0, \
{ 0xb8, 0x36, 0x7e, 0x6a, 0xb8, 0x30, 0xb3, 0xc0 } }
{ 0xcf814492, 0x303c, 0x4718, \
{ 0x9a, 0x3e, 0x39, 0xbc, 0xd5, 0x2c, 0x10, 0xdb } }
/**
* HTML document extensions to nsIDocument.
@ -58,9 +58,6 @@ public:
virtual bool IsWriting() = 0;
virtual bool GetIsFrameset() = 0;
virtual void SetIsFrameset(bool aFrameset) = 0;
/**
* Get the list of form elements in the document.
*/

View File

@ -14,7 +14,7 @@
* http://www.w3.org/TR/DOM-Level-2-Style
*/
[builtinclass, scriptable, uuid(35b2c7f0-b56c-11e1-afa6-0800200c9a66)]
[builtinclass, scriptable, uuid(bb40a531-d92b-44d6-a543-cfc25054d5eb)]
interface nsIDOMCSS2Properties : nsISupports
{
attribute DOMString background;
@ -632,6 +632,24 @@ interface nsIDOMCSS2Properties : nsISupports
attribute DOMString MozHyphens;
// raises(DOMException) on setting
attribute DOMString transform;
// raises(DOMException) on setting
attribute DOMString transformOrigin;
// raises(DOMException) on setting
attribute DOMString perspective;
// raises(DOMException) on setting
attribute DOMString perspectiveOrigin;
// raises(DOMException) on setting
attribute DOMString backfaceVisibility;
// raises(DOMException) on setting
attribute DOMString transformStyle;
// raises(DOMException) on setting
attribute DOMString MozTransform;
// raises(DOMException) on setting

View File

@ -3534,18 +3534,15 @@ nsEditor::GetLeftmostChild(nsIDOMNode *aCurrentNode,
return resultNode.forget();
}
bool
nsEditor::IsBlockNode(nsIDOMNode *aNode)
bool
nsEditor::IsBlockNode(nsIDOMNode* aNode)
{
// stub to be overridden in nsHTMLEditor.
// screwing around with the class hierarchy here in order
// to not duplicate the code in GetNextNode/GetPrevNode
// across both nsEditor/nsHTMLEditor.
return false;
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
return IsBlockNode(node);
}
bool
nsEditor::IsBlockNode(nsINode *aNode)
bool
nsEditor::IsBlockNode(nsINode* aNode)
{
// stub to be overridden in nsHTMLEditor.
// screwing around with the class hierarchy here in order

View File

@ -355,9 +355,10 @@ protected:
*/
NS_IMETHOD ScrollSelectionIntoView(bool aScrollToAnchor);
// Convenience method; forwards to IsBlockNode(nsINode*).
bool IsBlockNode(nsIDOMNode* aNode);
// stub. see comment in source.
virtual bool IsBlockNode(nsIDOMNode *aNode);
virtual bool IsBlockNode(nsINode *aNode);
virtual bool IsBlockNode(nsINode* aNode);
// helper for GetPriorNode and GetNextNode
nsIContent* FindNextLeafNode(nsINode *aCurrentNode,

View File

@ -693,30 +693,62 @@ nsHTMLEditor::HandleKeyPressEvent(nsIDOMKeyEvent* aKeyEvent)
return TypedText(str, eTypedText);
}
static void
AssertParserServiceIsCorrect(nsIAtom* aTag, bool aIsBlock)
{
#ifdef DEBUG
// Check this against what we would have said with the old code:
if (aTag==nsEditProperty::p ||
aTag==nsEditProperty::div ||
aTag==nsEditProperty::blockquote ||
aTag==nsEditProperty::h1 ||
aTag==nsEditProperty::h2 ||
aTag==nsEditProperty::h3 ||
aTag==nsEditProperty::h4 ||
aTag==nsEditProperty::h5 ||
aTag==nsEditProperty::h6 ||
aTag==nsEditProperty::ul ||
aTag==nsEditProperty::ol ||
aTag==nsEditProperty::dl ||
aTag==nsEditProperty::noscript ||
aTag==nsEditProperty::form ||
aTag==nsEditProperty::hr ||
aTag==nsEditProperty::table ||
aTag==nsEditProperty::fieldset ||
aTag==nsEditProperty::address ||
aTag==nsEditProperty::caption ||
aTag==nsEditProperty::col ||
aTag==nsEditProperty::colgroup ||
aTag==nsEditProperty::li ||
aTag==nsEditProperty::dt ||
aTag==nsEditProperty::dd ||
aTag==nsEditProperty::legend )
{
if (!aIsBlock) {
nsAutoString assertmsg (NS_LITERAL_STRING("Parser and editor disagree on blockness: "));
nsAutoString tagName;
aTag->ToString(tagName);
assertmsg.Append(tagName);
char* assertstr = ToNewCString(assertmsg);
NS_ASSERTION(aIsBlock, assertstr);
NS_Free(assertstr);
}
}
#endif // DEBUG
}
/**
* Returns true if the id represents an element of block type.
* Can be used to determine if a new paragraph should be started.
*/
nsresult
nsHTMLEditor::NodeIsBlockStatic(nsIDOMNode *aNode, bool *aIsBlock)
bool
nsHTMLEditor::NodeIsBlockStatic(const dom::Element* aElement)
{
if (!aNode || !aIsBlock) { return NS_ERROR_NULL_POINTER; }
MOZ_ASSERT(aElement);
*aIsBlock = false;
#define USE_PARSER_FOR_BLOCKNESS 1
#ifdef USE_PARSER_FOR_BLOCKNESS
nsresult rv;
nsCOMPtr<nsIDOMElement>element = do_QueryInterface(aNode);
if (!element)
{
// We don't have an element -- probably a text node
return NS_OK;
}
nsIAtom *tagAtom = GetTag(aNode);
NS_ENSURE_TRUE(tagAtom, NS_ERROR_NULL_POINTER);
nsIAtom* tagAtom = aElement->Tag();
MOZ_ASSERT(tagAtom);
// Nodes we know we want to treat as block
// even though the parser says they're not:
@ -733,124 +765,28 @@ nsHTMLEditor::NodeIsBlockStatic(nsIDOMNode *aNode, bool *aIsBlock)
tagAtom==nsEditProperty::dd ||
tagAtom==nsEditProperty::pre)
{
*aIsBlock = true;
return NS_OK;
return true;
}
rv = nsContentUtils::GetParserService()->
bool isBlock;
DebugOnly<nsresult> rv = nsContentUtils::GetParserService()->
IsBlock(nsContentUtils::GetParserService()->HTMLAtomTagToId(tagAtom),
*aIsBlock);
isBlock);
MOZ_ASSERT(rv == NS_OK);
#ifdef DEBUG
// Check this against what we would have said with the old code:
if (tagAtom==nsEditProperty::p ||
tagAtom==nsEditProperty::div ||
tagAtom==nsEditProperty::blockquote ||
tagAtom==nsEditProperty::h1 ||
tagAtom==nsEditProperty::h2 ||
tagAtom==nsEditProperty::h3 ||
tagAtom==nsEditProperty::h4 ||
tagAtom==nsEditProperty::h5 ||
tagAtom==nsEditProperty::h6 ||
tagAtom==nsEditProperty::ul ||
tagAtom==nsEditProperty::ol ||
tagAtom==nsEditProperty::dl ||
tagAtom==nsEditProperty::noscript ||
tagAtom==nsEditProperty::form ||
tagAtom==nsEditProperty::hr ||
tagAtom==nsEditProperty::table ||
tagAtom==nsEditProperty::fieldset ||
tagAtom==nsEditProperty::address ||
tagAtom==nsEditProperty::caption ||
tagAtom==nsEditProperty::col ||
tagAtom==nsEditProperty::colgroup ||
tagAtom==nsEditProperty::li ||
tagAtom==nsEditProperty::dt ||
tagAtom==nsEditProperty::dd ||
tagAtom==nsEditProperty::legend )
{
if (!(*aIsBlock))
{
nsAutoString assertmsg (NS_LITERAL_STRING("Parser and editor disagree on blockness: "));
AssertParserServiceIsCorrect(tagAtom, isBlock);
nsAutoString tagName;
rv = element->GetTagName(tagName);
NS_ENSURE_SUCCESS(rv, rv);
return isBlock;
}
assertmsg.Append(tagName);
char* assertstr = ToNewCString(assertmsg);
NS_ASSERTION(*aIsBlock, assertstr);
NS_Free(assertstr);
}
}
#endif /* DEBUG */
nsresult
nsHTMLEditor::NodeIsBlockStatic(nsIDOMNode *aNode, bool *aIsBlock)
{
if (!aNode || !aIsBlock) { return NS_ERROR_NULL_POINTER; }
return rv;
#else /* USE_PARSER_FOR_BLOCKNESS */
nsresult result = NS_ERROR_FAILURE;
*aIsBlock = false;
nsCOMPtr<nsIDOMElement>element;
element = do_QueryInterface(aNode);
if (element)
{
nsAutoString tagName;
result = element->GetTagName(tagName);
if (NS_SUCCEEDED(result))
{
ToLowerCase(tagName);
nsCOMPtr<nsIAtom> tagAtom = do_GetAtom(tagName);
if (!tagAtom) { return NS_ERROR_NULL_POINTER; }
if (tagAtom==nsEditProperty::p ||
tagAtom==nsEditProperty::div ||
tagAtom==nsEditProperty::blockquote ||
tagAtom==nsEditProperty::h1 ||
tagAtom==nsEditProperty::h2 ||
tagAtom==nsEditProperty::h3 ||
tagAtom==nsEditProperty::h4 ||
tagAtom==nsEditProperty::h5 ||
tagAtom==nsEditProperty::h6 ||
tagAtom==nsEditProperty::ul ||
tagAtom==nsEditProperty::ol ||
tagAtom==nsEditProperty::dl ||
tagAtom==nsEditProperty::pre ||
tagAtom==nsEditProperty::noscript ||
tagAtom==nsEditProperty::form ||
tagAtom==nsEditProperty::hr ||
tagAtom==nsEditProperty::fieldset ||
tagAtom==nsEditProperty::address ||
tagAtom==nsEditProperty::body ||
tagAtom==nsEditProperty::caption ||
tagAtom==nsEditProperty::table ||
tagAtom==nsEditProperty::tbody ||
tagAtom==nsEditProperty::thead ||
tagAtom==nsEditProperty::tfoot ||
tagAtom==nsEditProperty::tr ||
tagAtom==nsEditProperty::td ||
tagAtom==nsEditProperty::th ||
tagAtom==nsEditProperty::col ||
tagAtom==nsEditProperty::colgroup ||
tagAtom==nsEditProperty::li ||
tagAtom==nsEditProperty::dt ||
tagAtom==nsEditProperty::dd ||
tagAtom==nsEditProperty::legend )
{
*aIsBlock = true;
}
result = NS_OK;
}
} else {
// We don't have an element -- probably a text node
nsCOMPtr<nsIDOMCharacterData>nodeAsText = do_QueryInterface(aNode);
if (nodeAsText)
{
*aIsBlock = false;
result = NS_OK;
}
}
return result;
#endif /* USE_PARSER_FOR_BLOCKNESS */
nsCOMPtr<dom::Element> element = do_QueryInterface(aNode);
*aIsBlock = element && NodeIsBlockStatic(element);
return NS_OK;
}
NS_IMETHODIMP
@ -859,21 +795,10 @@ nsHTMLEditor::NodeIsBlock(nsIDOMNode *aNode, bool *aIsBlock)
return NodeIsBlockStatic(aNode, aIsBlock);
}
bool
nsHTMLEditor::IsBlockNode(nsIDOMNode *aNode)
{
bool isBlock;
NodeIsBlockStatic(aNode, &isBlock);
return isBlock;
}
bool
nsHTMLEditor::IsBlockNode(nsINode *aNode)
{
bool isBlock;
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(aNode);
NodeIsBlockStatic(node, &isBlock);
return isBlock;
return aNode && aNode->IsElement() && NodeIsBlockStatic(aNode->AsElement());
}
// Non-static version for the nsIEditor interface and JavaScript

View File

@ -252,8 +252,14 @@ public:
NS_IMETHOD PreDestroy(bool aDestroyingFrames);
/** Internal, static version */
// aElement must not be null.
static bool NodeIsBlockStatic(const mozilla::dom::Element* aElement);
static nsresult NodeIsBlockStatic(nsIDOMNode *aNode, bool *aIsBlock);
protected:
using nsEditor::IsBlockNode;
virtual bool IsBlockNode(nsINode *aNode);
public:
NS_IMETHOD SetFlags(PRUint32 aFlags);
NS_IMETHOD Paste(PRInt32 aSelectionType);
@ -482,9 +488,6 @@ protected:
// End of Table Editing utilities
virtual bool IsBlockNode(nsIDOMNode *aNode);
virtual bool IsBlockNode(nsINode *aNode);
static nsCOMPtr<nsIDOMNode> GetEnclosingTable(nsIDOMNode *aNode);
/** content-based query returns true if <aProperty aAttribute=aValue> effects aNode

View File

@ -2909,7 +2909,6 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsFrameConstructorState& aState,
nsIFrame** aNewFrame)
{
nsresult rv = NS_OK;
const PRInt32 kNoSizeSpecified = -1;
nsIContent* const content = aItem.mContent;
nsStyleContext* const styleContext = aItem.mStyleContext;
@ -2922,7 +2921,7 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsFrameConstructorState& aState,
bool multipleSelect = false;
sel->GetMultiple(&multipleSelect);
// Construct a combobox if size=1 or no size is specified and its multiple select
if (((1 == size || 0 == size) || (kNoSizeSpecified == size)) && (false == multipleSelect)) {
if ((1 == size || 0 == size) && !multipleSelect) {
// Construct a frame-based combo box.
// The frame-based combo box is built out of three parts. A display area, a button and
// a dropdown list. The display area and button are created through anonymous content.

View File

@ -726,13 +726,6 @@ DocumentViewerImpl::InitPresentationStuff(bool aDoInitialReflow)
mPresContext->SetMinFontSize(mMinFontSize);
if (aDoInitialReflow) {
nsCOMPtr<nsIHTMLDocument> htmlDoc = do_QueryInterface(mDocument);
if (htmlDoc) {
nsCOMPtr<nsIDOMHTMLFrameSetElement> frameset =
do_QueryInterface(mDocument->GetRootElement());
htmlDoc->SetIsFrameset(frameset != nsnull);
}
nsCOMPtr<nsIPresShell> shellGrip = mPresShell;
// Initial reflow
mPresShell->InitialReflow(width, height);

View File

@ -35,4 +35,10 @@
******/
CSS_PROP_ALIAS(-moz-transform, transform, MozTransform, "")
CSS_PROP_ALIAS(-moz-transform-origin, transform_origin, MozTransformOrigin, "")
CSS_PROP_ALIAS(-moz-perspective-origin, perspective_origin, MozPerspectiveOrigin, "")
CSS_PROP_ALIAS(-moz-perspective, perspective, MozPerspective, "")
CSS_PROP_ALIAS(-moz-transform-style, transform_style, MozTransformStyle, "")
CSS_PROP_ALIAS(-moz-backface-visibility, backface_visibility, MozBackfaceVisibility, "")
CSS_PROP_ALIAS(-moz-border-image, border_image, MozBorderImage, "")

View File

@ -2492,9 +2492,9 @@ CSS_PROP_TEXT(
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_DISPLAY(
-moz-transform,
transform,
CSS_PROP_DOMPROP_PREFIXED(Transform),
transform,
Transform,
CSS_PROPERTY_PARSE_FUNCTION,
"",
0,
@ -2502,9 +2502,9 @@ CSS_PROP_DISPLAY(
offsetof(nsStyleDisplay, mSpecifiedTransform),
eStyleAnimType_Custom)
CSS_PROP_DISPLAY(
-moz-transform-origin,
transform-origin,
transform_origin,
CSS_PROP_DOMPROP_PREFIXED(TransformOrigin),
TransformOrigin,
CSS_PROPERTY_PARSE_FUNCTION |
CSS_PROPERTY_STORES_CALC,
"",
@ -2513,9 +2513,9 @@ CSS_PROP_DISPLAY(
CSS_PROP_NO_OFFSET,
eStyleAnimType_Custom)
CSS_PROP_DISPLAY(
-moz-perspective-origin,
perspective-origin,
perspective_origin,
CSS_PROP_DOMPROP_PREFIXED(PerspectiveOrigin),
PerspectiveOrigin,
CSS_PROPERTY_PARSE_FUNCTION |
CSS_PROPERTY_STORES_CALC,
"",
@ -2524,9 +2524,9 @@ CSS_PROP_DISPLAY(
CSS_PROP_NO_OFFSET,
eStyleAnimType_Custom)
CSS_PROP_DISPLAY(
-moz-perspective,
perspective,
CSS_PROP_DOMPROP_PREFIXED(Perspective),
perspective,
Perspective,
CSS_PROPERTY_PARSE_VALUE,
"",
VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH | VARIANT_POSITIVE_LENGTH,
@ -2534,9 +2534,9 @@ CSS_PROP_DISPLAY(
offsetof(nsStyleDisplay, mChildPerspective),
eStyleAnimType_Coord)
CSS_PROP_DISPLAY(
-moz-transform-style,
transform-style,
transform_style,
CSS_PROP_DOMPROP_PREFIXED(TransformStyle),
TransformStyle,
CSS_PROPERTY_PARSE_VALUE,
"",
VARIANT_HK,
@ -2544,9 +2544,9 @@ CSS_PROP_DISPLAY(
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_DISPLAY(
-moz-backface-visibility,
backface-visibility,
backface_visibility,
CSS_PROP_DOMPROP_PREFIXED(BackfaceVisibility),
BackfaceVisibility,
CSS_PROPERTY_PARSE_VALUE,
"",
VARIANT_HK,

View File

@ -4472,6 +4472,7 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
* Implementations of CSS styles *
\* ***************************** */
COMPUTED_STYLE_MAP_ENTRY(backface_visibility, BackfaceVisibility),
//// COMPUTED_STYLE_MAP_ENTRY(background, Background),
COMPUTED_STYLE_MAP_ENTRY(background_attachment, BackgroundAttachment),
COMPUTED_STYLE_MAP_ENTRY(background_clip, BackgroundClip),
@ -4574,6 +4575,8 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
COMPUTED_STYLE_MAP_ENTRY(page_break_after, PageBreakAfter),
COMPUTED_STYLE_MAP_ENTRY(page_break_before, PageBreakBefore),
// COMPUTED_STYLE_MAP_ENTRY(page_break_inside, PageBreakInside),
COMPUTED_STYLE_MAP_ENTRY(perspective, Perspective),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(perspective_origin, PerspectiveOrigin),
COMPUTED_STYLE_MAP_ENTRY(pointer_events, PointerEvents),
COMPUTED_STYLE_MAP_ENTRY(position, Position),
COMPUTED_STYLE_MAP_ENTRY(quotes, Quotes),
@ -4588,6 +4591,9 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
COMPUTED_STYLE_MAP_ENTRY(text_shadow, TextShadow),
COMPUTED_STYLE_MAP_ENTRY(text_transform, TextTransform),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(top, Top),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(transform, Transform),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(transform_origin, TransformOrigin),
COMPUTED_STYLE_MAP_ENTRY(transform_style, TransformStyle),
COMPUTED_STYLE_MAP_ENTRY(unicode_bidi, UnicodeBidi),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(vertical_align, VerticalAlign),
COMPUTED_STYLE_MAP_ENTRY(visibility, Visibility),
@ -4612,7 +4618,6 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
COMPUTED_STYLE_MAP_ENTRY(animation_play_state, AnimationPlayState),
COMPUTED_STYLE_MAP_ENTRY(animation_timing_function, AnimationTimingFunction),
COMPUTED_STYLE_MAP_ENTRY(appearance, Appearance),
COMPUTED_STYLE_MAP_ENTRY(backface_visibility, BackfaceVisibility),
COMPUTED_STYLE_MAP_ENTRY(_moz_background_inline_policy, BackgroundInlinePolicy),
COMPUTED_STYLE_MAP_ENTRY(binding, Binding),
COMPUTED_STYLE_MAP_ENTRY(border_bottom_colors, BorderBottomColors),
@ -4644,8 +4649,6 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(_moz_outline_radius_bottomRight,OutlineRadiusBottomRight),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(_moz_outline_radius_topLeft, OutlineRadiusTopLeft),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(_moz_outline_radius_topRight, OutlineRadiusTopRight),
COMPUTED_STYLE_MAP_ENTRY(perspective, Perspective),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(perspective_origin, PerspectiveOrigin),
COMPUTED_STYLE_MAP_ENTRY(stack_sizing, StackSizing),
COMPUTED_STYLE_MAP_ENTRY(_moz_tab_size, TabSize),
COMPUTED_STYLE_MAP_ENTRY(text_align_last, TextAlignLast),
@ -4654,9 +4657,6 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
COMPUTED_STYLE_MAP_ENTRY(text_decoration_line, TextDecorationLine),
COMPUTED_STYLE_MAP_ENTRY(text_decoration_style, TextDecorationStyle),
COMPUTED_STYLE_MAP_ENTRY(text_size_adjust, TextSizeAdjust),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(transform, Transform),
COMPUTED_STYLE_MAP_ENTRY_LAYOUT(transform_origin, TransformOrigin),
COMPUTED_STYLE_MAP_ENTRY(transform_style, TransformStyle),
COMPUTED_STYLE_MAP_ENTRY(transition_delay, TransitionDelay),
COMPUTED_STYLE_MAP_ENTRY(transition_duration, TransitionDuration),
COMPUTED_STYLE_MAP_ENTRY(transition_property, TransitionProperty),

View File

@ -959,8 +959,8 @@ var gCSSProperties = {
other_values: [ "none" ],
invalid_values: [ "-5%", "0", "100", "0%", "50%", "100%", "220.3%" ]
},
"-moz-transform": {
domProp: "MozTransform",
"transform": {
domProp: "transform",
inherited: false,
type: CSS_TYPE_LONGHAND,
prerequisites: { "width": "300px", "height": "50px" },
@ -989,8 +989,8 @@ var gCSSProperties = {
"perspective(0px)", "perspective(-10px)", "matrix3d(dinosaur)", "matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)", "matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)", "matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15%, 16)", "matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16px)", "rotatey(words)", "rotatex(7)", "translate3d(3px, 4px, 1px, 7px)"
] : [])
},
"-moz-transform-origin": {
domProp: "MozTransformOrigin",
"transform-origin": {
domProp: "transformOrigin",
inherited: false,
type: CSS_TYPE_LONGHAND,
/* no subproperties */
@ -1017,8 +1017,8 @@ var gCSSProperties = {
"border", "center red", "right diagonal",
"#00ffff bottom"]
},
"-moz-perspective-origin": {
domProp: "MozPerspectiveOrigin",
"perspective-origin": {
domProp: "perspectiveOrigin",
inherited: false,
type: CSS_TYPE_LONGHAND,
/* no subproperties */
@ -1044,24 +1044,24 @@ var gCSSProperties = {
"border", "center red", "right diagonal",
"#00ffff bottom"]
},
"-moz-perspective": {
domProp: "MozPerspective",
"perspective": {
domProp: "perspective",
inherited: false,
type: CSS_TYPE_LONGHAND,
initial_values: [ "none" ],
other_values: [ "1000px", "500.2px" ],
invalid_values: [ "pants", "200", "0", "-100px", "-27.2em" ]
},
"-moz-backface-visibility": {
domProp: "MozBackfaceVisibility",
"backface-visibility": {
domProp: "backfaceVisibility",
inherited: false,
type: CSS_TYPE_LONGHAND,
initial_values: [ "visible" ],
other_values: [ "hidden" ],
invalid_values: [ "collapse" ]
},
"-moz-transform-style": {
domProp: "MozTransformStyle",
"transform-style": {
domProp: "transformStyle",
inherited: false,
type: CSS_TYPE_LONGHAND,
initial_values: [ "flat" ],

View File

@ -76,13 +76,6 @@ var supported_properties = {
"-moz-outline-radius-topright": [ test_radius_transition ],
"-moz-text-decoration-color": [ test_color_transition,
test_border_color_transition ],
"-moz-transform": [ test_transform_transition ],
"-moz-transform-origin": [ test_length_pair_transition,
test_length_percent_pair_transition,
test_length_percent_pair_unclamped ],
"-moz-perspective-origin": [ test_length_pair_transition,
test_length_percent_pair_transition,
test_length_percent_pair_unclamped ],
"background-color": [ test_color_transition ],
"background-position": [ test_background_position_transition,
// FIXME: We don't currently test clamping,
@ -193,7 +186,10 @@ var supported_properties = {
"padding-top": [ test_length_transition, test_percent_transition,
test_length_percent_calc_transition,
test_length_clamped, test_percent_clamped ],
"-moz-perspective": [ test_length_transition ],
"perspective": [ test_length_transition ],
"perspective-origin": [ test_length_pair_transition,
test_length_percent_pair_transition,
test_length_percent_pair_unclamped ],
"right": [ test_length_transition, test_percent_transition,
test_length_percent_calc_transition,
test_length_unclamped, test_percent_unclamped ],
@ -225,6 +221,10 @@ var supported_properties = {
"top": [ test_length_transition, test_percent_transition,
test_length_percent_calc_transition,
test_length_unclamped, test_percent_unclamped ],
"transform": [ test_transform_transition ],
"transform-origin": [ test_length_pair_transition,
test_length_percent_pair_transition,
test_length_percent_pair_unclamped ],
"vertical-align": [ test_length_transition, test_percent_transition,
test_length_percent_calc_transition,
test_length_unclamped, test_percent_unclamped ],

View File

@ -393,14 +393,6 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder,
newContent->AppendChildTo(optionElt, false);
newContent->DoneAddingChildren(false);
}
} else if (name == nsHtml5Atoms::frameset && ns == kNameSpaceID_XHTML) {
nsIDocument* doc = aBuilder->GetDocument();
nsCOMPtr<nsIHTMLDocument> htmlDocument = do_QueryInterface(doc);
if (htmlDocument) {
// It seems harmless to call this multiple times, since this
// is a simple field setter
htmlDocument->SetIsFrameset(true);
}
}
if (!attributes) {