WebKit-https.git
4 years agoFix typo.
andersca@apple.com [Mon, 16 Feb 2015 17:55:43 +0000 (17:55 +0000)]
Fix typo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoBuild fix for versions of Xcode that support nullability but don't have the AppKit...
andersca@apple.com [Mon, 16 Feb 2015 17:50:26 +0000 (17:50 +0000)]
Build fix for versions of Xcode that support nullability but don't have the AppKit #defines.

* Shared/API/Cocoa/WKFoundation.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agotext-underline-position:under has multiple correctness issues
hyatt@apple.com [Mon, 16 Feb 2015 17:47:27 +0000 (17:47 +0000)]
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.
text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.
* rendering/InlineFlowBox.h:
These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::enclosingRendererWithTextDecoration):
* rendering/RenderElement.h:
New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderObject.h:
Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalBottom): Deleted.
* rendering/RootInlineBox.h:
Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

* style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

* fast/text/text-underline-first-line-decoration-expected.html: Added.
* fast/text/text-underline-first-line-decoration.html: Added.
* fast/text/text-underline-position-mixed-fonts-expected.html: Added.
* fast/text/text-underline-position-mixed-fonts.html: Added.
* fast/text/text-underline-position-subscript-expected.html: Added.
* fast/text/text-underline-position-subscript.html: Added.
* fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
* fast/text/text-underline-vertical-first-line-decoration.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoDevelop/Disable Caches does not properly disable disk cache
antti@apple.com [Mon, 16 Feb 2015 17:17:39 +0000 (17:17 +0000)]
Develop/Disable Caches does not properly disable disk cache
https://bugs.webkit.org/show_bug.cgi?id=141636

Reviewed by Anders Carlsson.

Source/WebKit2:

The menu item sets the cache model to "document viewer" to disable the caches (cache size 0).
However the cache model was never passed to the network process after the initialization.

* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):

    Don't try to store or retrieve when the maximum cache size is set to zero.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setCacheModel):

   Message the network process too.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetCacheModel): Deleted.

    Remove the now unused SPI.

* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

Tools:

Make testRunner.setCacheModel() use the WKContext interface so the model gets passed to
the network process too.

This makes setCacheModel asynchronous but there don't seem to be any tests that expect otherwise.

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::setCacheModel):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:

    Forward to TestController.

(WTR::TestRunner::setCacheModel):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

* http/tests/cache/disk-cache-disable-expected.txt: Added.
* http/tests/cache/disk-cache-disable.html: Added.
* http/tests/cache/resources/cache-test.js:
(runTests): Add optional completion handler.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAssertion in disk cache code with redirect to a non-http resource
antti@apple.com [Mon, 16 Feb 2015 17:16:16 +0000 (17:16 +0000)]
Assertion in disk cache code with redirect to a non-http resource
https://bugs.webkit.org/show_bug.cgi?id=141644

Reviewed by Anders Carlsson.

Source/WebKit2:

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):

    Check that response is HTTP before calling computeFreshnessLifetimeForHTTPFamily.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::canStore):

    Deny storing non-HTTP responses to cache (though the above already covers this).

LayoutTests:

* http/tests/cache/disk-cache-redirect-to-data-expected.txt: Added.
* http/tests/cache/disk-cache-redirect-to-data.html: Added.
* http/tests/cache/resources/redirect-to-data.php: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFEGaussianBlur::calculateUnscaledKernelSize does unspeakable things with signed and...
bfulgham@apple.com [Mon, 16 Feb 2015 17:07:08 +0000 (17:07 +0000)]
FEGaussianBlur::calculateUnscaledKernelSize does unspeakable things with signed and unsigned values
https://bugs.webkit.org/show_bug.cgi?id=141596
<rdar://problem/19837103>

Reviewed by Zalan Bujtas.

No new tests. Covered by css3/filters/huge-blur-value.html

Avoid overflowing the signed integer values by not converting from unsigned
until the maximum size has been clamped to the expected max.

* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd support for nullability to the header postprocessing
andersca@apple.com [Mon, 16 Feb 2015 16:36:39 +0000 (16:36 +0000)]
Add support for nullability to the header postprocessing
https://bugs.webkit.org/show_bug.cgi?id=141573

Reviewed by Darin Adler.

* Shared/API/Cocoa/WKFoundation.h:
* UIProcess/API/Cocoa/WKBackForwardList.h:
* mac/postprocess-framework-headers.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[EFL] Rename WebContextEfl to WebProcessPoolEfl
g.czajkowski@samsung.com [Mon, 16 Feb 2015 16:10:27 +0000 (16:10 +0000)]
[EFL] Rename WebContextEfl to WebProcessPoolEfl
https://bugs.webkit.org/show_bug.cgi?id=141642

Reviewed by Csaba Osztrogonác.

Although we've renamed almost everything in r177716, this is still
required after r177692.

* UIProcess/efl/WebProcessPoolEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed. Add myself as a committer.
a.badowski@samsung.com [Mon, 16 Feb 2015 15:15:22 +0000 (15:15 +0000)]
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

Change-Id: I5d745aac5c20ab589446a69ef943202a6db4947a

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed. Uploading a new test that should have been uploaded as
svillar@igalia.com [Mon, 16 Feb 2015 12:36:47 +0000 (12:36 +0000)]
Unreviewed. Uploading a new test that should have been uploaded as
part of r180142.

* fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
* fast/css-grid-layout/grid-initialize-span-one-items.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[CSS Grid Layout] Invalid initialization of track sizes with non spanning grid items
svillar@igalia.com [Mon, 16 Feb 2015 12:00:17 +0000 (12:00 +0000)]
[CSS Grid Layout] Invalid initialization of track sizes with non spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=140763

Reviewed by Antti Koivisto.

Source/WebCore:

Content sized tracks with non-spanning grid items were not
properly sized because the growth limit was sometimes infinity
(-1) after calling resolveContentBasedTrackSizingFunctions() when
it should not. This patch adds an special initialization phase for
non-spanning grid items as the new track sizing algorithm
describes.

Granted, that was handled in the old algorithm in
distributeSpaceToTracks() as a special case. The problem is that
it regressed after the optimization added in r173868 because that
method is no longer called when the space to distribute is 0.

That's why we could fix this by allowing calls to
distributeSpaceToTracks() with spaceToDistribute>=0 but by fixing
it with an explicit initialization our implementation becomes
closer to the new algorithm and the initialization is now explicit
in the code instead of a side effect of calling
distributeSpaceToTracks() with no space to be distributed. It also
brings a slight performance improvement as we save sorts and hash
lookups.

I also took the change to add caching to several GridTrackSize
methods that were hot on the profiler (each one accounted for ~1%
of the total time, now they account for ~0.3% each).

Test: fast/css-grid-layout/grid-initialize-span-one-items.html

* rendering/RenderGrid.cpp:
(WebCore::GridItemWithSpan::span): New helper method for ASSERTs.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Exclude non spanning grid items from the calls to
resolveContentBasedTrackSizingFunctionsForItems().
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
New method to resolve track sizes only using non-spanning grid
items.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Ensure that it isn't called for non-spanning grid items.
* rendering/RenderGrid.h:
* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): Cache return values.
(WebCore::GridTrackSize::setLength): Ditto.
(WebCore::GridTrackSize::setMinMax): Ditto.
(WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes): New method
that caches the return values for hasXXXTrackBreadth() methods.
(WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth): Use
the cached return value.
(WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):
Ditto.

LayoutTests:

* fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
* fast/css-grid-layout/grid-content-sized-columns-resolution.html:
* fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
* fast/css-grid-layout/grid-initialize-span-one-items.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Loading page into WebView shows g_closure_unref warning
commit-queue@webkit.org [Mon, 16 Feb 2015 10:24:10 +0000 (10:24 +0000)]
[GTK] Loading page into WebView shows g_closure_unref warning
https://bugs.webkit.org/show_bug.cgi?id=127474

Patch by Milan Crha <mcrha@redhat.com> on 2015-02-16
Reviewed by Carlos Garcia Campos.

* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::gobjectDestroyed):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[CSS Grid Layout] Remove the usage of Length(Undefined) in GridLength
svillar@igalia.com [Mon, 16 Feb 2015 09:42:25 +0000 (09:42 +0000)]
[CSS Grid Layout] Remove the usage of Length(Undefined) in GridLength
https://bugs.webkit.org/show_bug.cgi?id=141562

Reviewed by Chris Dumez.

From Blink r164154 by <timloh@chromium.org>

The patch simplifies some of the logic in creating and applying
GridLength and GridTrackSize values to RenderStyles by using the
constructors for initialisation instead of deferring to setters.

The rationale behind this change is that neither of
createGridTrackSize() nor createGridTrackBreadth() should be able
to fail, so these are changed to return objects directly instead
of taking an out reference (note that in general failing in
applying properties is incorrect and we should catch these in the
parser).

The quirk value across to the Lengths was also removed because it
doesn't apply to Grid.

* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackBreadth): Return a
GridLength instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackSize): Return a
GridTrackSize instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackList): Do not
create temporary GridTrackSizes with undefined Lengths.
(WebCore::StyleBuilderConverter::convertGridTrackSize): Ditto.
* rendering/style/GridLength.h:
(WebCore::GridLength::GridLength): It now requires a mandatory
Length argument.
(WebCore::GridLength::length): Deleted.
(WebCore::GridLength::setFlex): Deleted.
* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): It now requires a
mandatory GridLength argument.
(WebCore::GridTrackSize::length): Removed no longer valid ASSERTs.
(WebCore::GridTrackSize::minTrackBreadth): Ditto.
(WebCore::GridTrackSize::maxTrackBreadth): Ditto.
(WebCore::GridTrackSize::setLength): Deleted.
(WebCore::GridTrackSize::setMinMax): Deleted.
* rendering/style/RenderStyle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemoving text node does not remove its associated markers
g.czajkowski@samsung.com [Mon, 16 Feb 2015 08:25:52 +0000 (08:25 +0000)]
Removing text node does not remove its associated markers
https://bugs.webkit.org/show_bug.cgi?id=140999

Reviewed by Ryosuke Niwa.

Removing text node via script does not remove its markers.
For example, running the following script:

<script>
    var div = document.getElementById("testElement");
    div.focus();
    document.execCommand("InsertText", false, "welllcome ");

    // Give a time async spellchecker to show its markers and
    // remove the node.
    setTimeout(function() { div.removeChild(div.firstChild); }, 100);
</script>

will cause that DocumentMarkerController still stores the markers for
detached node.

The same issue occurs when the text gets cleared, for example,
<script>
    input.value = ""; // for HTMLTextAreaElement, HTMLInputElement
    // or
    div.innerHTML = ""; // for content editable
</script>

No new tests. Internals marker APIs operate on text node attached
to the element. To test it we could expose document().markers().hasMarkers()
but there is no more useful cases where it could be used.
Another obstacle is that we are in isInShadowTree() so that there is
no possible to register on "DOMSubtreeModified" event.
Test cases attached to the bug:
1. input.value = ""  https://bug-140999-attachments.webkit.org/attachment.cgi?id=245704
2. elem.removeChild(textNode) https://bug-140999-attachments.webkit.org/attachment.cgi?id=246515

Remove markers when text nodes are about to remove.
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
Fixes input.value = ""
(WebCore::Document::nodeWillBeRemoved):
Fixes elem.removeChild(textNode)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agojs/regress/script-tests/elidable-new-object-roflcopter.js should tier up sooner so...
fpizlo@apple.com [Mon, 16 Feb 2015 06:20:51 +0000 (06:20 +0000)]
js/regress/script-tests/elidable-new-object-roflcopter.js should tier up sooner so that it's more likely to test things
https://bugs.webkit.org/show_bug.cgi?id=141633

Reviewed by Michael Saboff.

More function invocations, fewer loop iterations, but otherwise keep the number of
allocations the same.

* js/regress/script-tests/elidable-new-object-roflcopter.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRare case profiling should actually work
fpizlo@apple.com [Mon, 16 Feb 2015 06:19:00 +0000 (06:19 +0000)]
Rare case profiling should actually work
https://bugs.webkit.org/show_bug.cgi?id=141632

Reviewed by Michael Saboff.

This simple adjustment appears to be a 2% speed-up on Octane. Over time, the slow case
heuristic has essentially stopped working because the typical execution count threshold for a
bytecode instruction is around 66 while the slow case threshold is 100: virtually
guaranteeing that the DFG will never think that a bytecode instruction has taken the slow
case even if it took it every single time. So, this changes the slow case threshold to 20.

I checked if we could lower this down further, like to 10. That is worse than 20, and about
as bad as 100.

* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, EFL gardening. Mark 5 form tests and an accessibility test to failure.
gyuyoung.kim@samsung.com [Mon, 16 Feb 2015 04:52:33 +0000 (04:52 +0000)]
Unreviewed, EFL gardening. Mark 5 form tests and an accessibility test to failure.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
ddkilzer@apple.com [Mon, 16 Feb 2015 04:13:21 +0000 (04:13 +0000)]
REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Source/WebCore:

This should fix the build, but leaves a FIXME list in
WebCore.unexp.

* Configurations/WebCore.unexp: Add weak externals with a FIXME
statement so they can be removed later.  It's more important to
fix the build first.

* Configurations/WebCore.xcconfig: Change XCODE_VERSION_MINOR to
XCODE_VERSION_MAJOR since the internal bots use version 5.1.1
which still has the error.

Tools:

* Scripts/check-for-weak-vtables-and-externals: Ignore weak
externals in Source/WebCore/Configurations/WebCore.unexp when
building with Xcode 5.x.
(readXcode5SymbolsToIgnore): Add.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[EFL] fix Evas GL engine error.
hyuki.kim@samsung.com [Mon, 16 Feb 2015 03:13:01 +0000 (03:13 +0000)]
[EFL] fix Evas GL engine error.
https://bugs.webkit.org/show_bug.cgi?id=141621

Reviewed by Gyuyoung Kim.

As new elm engine api was added from efl 1.10, replace elm_config_preferred_engine_set with elm_config_accel_preference_set.

* MiniBrowser/efl/main.c:
(elm_main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: remove unused XHR replay code
said@apple.com [Mon, 16 Feb 2015 02:21:43 +0000 (02:21 +0000)]
Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Patch by Brian J. Burg <burg@cs.washington.edu> on 2015-02-15
Reviewed by Timothy Hatcher.

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.
* inspector/InspectorResourceAgent.h:
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.
* inspector/NetworkResourcesData.h:
(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.
* xml/XMLHttpRequest.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: remove unused XHR replay code
burg@cs.washington.edu [Mon, 16 Feb 2015 02:17:38 +0000 (02:17 +0000)]
Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/protocol/Network.json: remove XHR replay methods.

Source/WebCore:

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.
* inspector/InspectorResourceAgent.h:
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.
* inspector/NetworkResourcesData.h:
(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.
* xml/XMLHttpRequest.h:

Source/WebInspectorUI:

* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:
* Versions/Inspector-iOS-8.0.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, EFL gardening. Mark fixed position tests to failure.
gyuyoung.kim@samsung.com [Mon, 16 Feb 2015 02:16:23 +0000 (02:16 +0000)]
Unreviewed, EFL gardening. Mark fixed position tests to failure.

* platform/efl/TestExpectations: Rearrange tests order as well.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
ddkilzer@apple.com [Mon, 16 Feb 2015 02:11:02 +0000 (02:11 +0000)]
REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

More work towards fixing the Mavericks Debug build.

* inspector/ScriptDebugServer.h:
(Inspector::ScriptDebugServer::Task):
* inspector/agents/InspectorDebuggerAgent.h:
(Inspector::InspectorDebuggerAgent::Listener):
- Remove subclass exports. They did not help.

* runtime/JSCJSValue.h:
(JSC::JSValue::toFloat): Do not mark inline method for export.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash when accessing an item in SVGTransformList and then removing a previous item...
said@apple.com [Mon, 16 Feb 2015 02:08:39 +0000 (02:08 +0000)]
Crash when accessing an item in SVGTransformList and then removing a previous item from this list.
https://bugs.webkit.org/show_bug.cgi?id=141550.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGTransformList-basics.xhtml: This test is modified to
include a new test case.

* svg/properties/SVGMatrixTearOff.h: m_value of SVGMatrixTearOff will be a null
pointer. There is no point in having SVGMatrixTearOff points to the parent and
the property of the parent at the same time.

(WebCore::SVGMatrixTearOff::create): SVGMatrixTearOff will hold a pointer to
the parent SVGPropertyTearOff<SVGTransform>. But it should overrides setValue()
and propertyReference() so it can set and get the SVGMatrix from the SVGTransform
parent.

(WebCore::SVGMatrixTearOff::SVGMatrixTearOff): Pass a nullptr to the base class.
SVGMatrixTearOff will act as a proxy of the parent. It does not hold any data by
itself but it knows what property to set and get from the parent.

* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::create): Add a create method which can take a pointer value.

(WebCore::SVGPropertyTearOff::propertyReference):
(WebCore::SVGPropertyTearOff::setValue): Make these functions virtual so concrete classes
like SVGMatrixTearOff can override them.

(WebCore::SVGPropertyTearOff::SVGPropertyTearOff): Add a new constructor.

LayoutTests:

* svg/dom/SVGTransformList-basics-expected.txt:
* svg/dom/SVGTransformList-basics.xhtml: Add a new test case to this test. Have a
reference to an SVGMatrix of the last SVGTransform of an SVGTransformList and then
remove the items of this list from the beginning till the end.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash when accessing an item in SVGLengthList and then replacing it with a previous...
said@apple.com [Mon, 16 Feb 2015 00:13:16 +0000 (00:13 +0000)]
Crash when accessing an item in SVGLengthList and then replacing it with a previous item in the list.
https://bugs.webkit.org/show_bug.cgi?id=141552.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGLengthList-basics.xhtml: This test is modified to
include a new test case.

* svg/properties/SVGListPropertyTearOff.h: Commit the removal of the replacing item
before trying to detach the wrapper of the item which going to be replaced.

LayoutTests:

* svg/dom/SVGLengthList-basics-expected.txt:
* svg/dom/SVGLengthList-basics.xhtml: Add a new test case to this test. Have a
reference to an SVGLength in an SVGLengthList and then replace this SVGLength
with another one which comes before it in the SVGLengthList.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCoreText only needs to be soft-linked on Windows
ddkilzer@apple.com [Sun, 15 Feb 2015 20:44:07 +0000 (20:44 +0000)]
CoreText only needs to be soft-linked on Windows

More work towards the Maverick Debug build fix:

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

* page/CaptionUserPreferencesMediaAF.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMore build fixing.
ap@apple.com [Sun, 15 Feb 2015 08:09:42 +0000 (08:09 +0000)]
More build fixing.

* platform/cocoa/TelephoneNumberDetectorCocoa.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMore internal build fixing.
ap@apple.com [Sun, 15 Feb 2015 07:52:39 +0000 (07:52 +0000)]
More internal build fixing.

DDDFACache.h is not an actual private header, so we were using open source
redeclaration of DDDFACacheRef with an internal function prototype from DDDFAScanner.h.

* platform/cocoa/TelephoneNumberDetectorCocoa.cpp:
(WebCore::TelephoneNumberDetector::phoneNumbersScanner):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoBuild fix after <http://trac.webkit.org/changeset/180122>
ap@apple.com [Sun, 15 Feb 2015 07:16:28 +0000 (07:16 +0000)]
Build fix after <trac.webkit.org/changeset/180122>

* Platform/mac/StringUtilities.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd the initial matching implementation for attribute selectors with case-insensitive...
benjamin@webkit.org [Sun, 15 Feb 2015 06:11:51 +0000 (06:11 +0000)]
Add the initial matching implementation for attribute selectors with case-insensitive value
https://bugs.webkit.org/show_bug.cgi?id=141615

Reviewed by Andreas Kling.

Source/WebCore:

Tests: fast/css/case-insensitive-attribute-selector-specificity.html
       fast/css/case-insensitive-attribute-selector-styling-html-1.html
       fast/css/case-insensitive-attribute-selector-styling-html-2.html
       fast/css/case-insensitive-attribute-selector-styling-html-3.html
       fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml
       fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml
       fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml
       fast/selectors/case-insensitive-attribute-bascis.html
       fast/selectors/case-insensitive-attribute-matching-style-attribute.html
       fast/selectors/case-insensitive-attribute-style-update.html
       fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
We already had case-insensitive value matching due to some legacy HTML
behaviors where some attribute values would be matched case-insensitively
depending on the attribute name.

For this patch, I just re-use the same mechanism. I used branches to try
to convey the idea that matching is case sensitive by default unless
the selector has a flag or we are in the weird HTML exception.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::constructFragmentsInternal):
Disable that case in the CSS JIT for now, I'll implement it later.

LayoutTests:

This covers the basics. I will add some more cases as I do the follow up patches.

I avoided the problem of non-ASCII characters, this will need its own follow up
patch that fixes all attribute matching.

* fast/css/case-insensitive-attribute-selector-specificity-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-specificity.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-1-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-1.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-2-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-2.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-3-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-html-3.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-1-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-2-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-3-expected.html: Added.
* fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml: Added.
* fast/selectors/case-insensitive-attribute-bascis-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-bascis.html: Added.
* fast/selectors/case-insensitive-attribute-matching-style-attribute-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-matching-style-attribute.html: Added.
* fast/selectors/case-insensitive-attribute-style-update-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-style-update.html: Added.
* fast/selectors/case-insensitive-attribute-with-case-sensitive-name-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoDeclare soft-linked functions with extern "C" linkage
ddkilzer@apple.com [Sun, 15 Feb 2015 05:31:53 +0000 (05:31 +0000)]
Declare soft-linked functions with extern "C" linkage

More work towards the Maverick Debug build fix:

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

* platform/mac/SoftLinking.h: Try declaring soft-linked
functions with extern "C" linkage to see if they stop appearing
as weak externals.  This has the added benefit that if the
function signature changes, we'll get a build failure.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac] RetainPtr member cleanup, possible leaks
commit-queue@webkit.org [Sun, 15 Feb 2015 05:14:31 +0000 (05:14 +0000)]
[Mac] RetainPtr member cleanup, possible leaks
https://bugs.webkit.org/show_bug.cgi?id=141616

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-14
Reviewed by Andreas Kling.

* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:]):
Adopt the allocated object to avoid a possible leak.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
Adopt to avoid unnecessary retain/autorelease.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoBuild URL on new perf dashboard doesn't resolve $builderName
rniwa@webkit.org [Sun, 15 Feb 2015 05:08:48 +0000 (05:08 +0000)]
Build URL on new perf dashboard doesn't resolve $builderName
https://bugs.webkit.org/show_bug.cgi?id=141583

Reviewed by Darin Adler.

Support $builderName in the build URL template.

* public/js/helper-classes.js:
(TestBuild.buildUrl): Replaced $builderName with the builder name.

* public/v2/manifest.js:
(App.Metric.fullName): Fixed the typo. We need &ni, not &in.
(App.BuilderurlFromBuildNumber): Replaced $builderName with the builder name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac] Possible DDActionContext leaks, RetainPtr cleanup
commit-queue@webkit.org [Sun, 15 Feb 2015 04:54:26 +0000 (04:54 +0000)]
[Mac] Possible DDActionContext leaks, RetainPtr cleanup
https://bugs.webkit.org/show_bug.cgi?id=141613

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-14
Reviewed by Tim Horton.

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient):
Avoid unnecessary retain/autorelease by adopting.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

Source/WebKit2:

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoIncompleteMetaDataCue leak seen on leaks bot
commit-queue@webkit.org [Sun, 15 Feb 2015 04:44:49 +0000 (04:44 +0000)]
IncompleteMetaDataCue leak seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=141611

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-14
Reviewed by Eric Carlson.

* platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::~IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::cueData): Deleted.
(WebCore::IncompleteMetaDataCue::startTime): Deleted.
Convert to a struct and hold a list of structs instead of pointers.

* platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
Update use of IncompleteMetaDataCue and modernize related code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Remove specificity approximation
joepeck@webkit.org [Sun, 15 Feb 2015 02:42:19 +0000 (02:42 +0000)]
Web Inspector: Remove specificity approximation
https://bugs.webkit.org/show_bug.cgi?id=141600

Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: remove some unnecessary Inspector prefixes from class names in Inspect...
burg@cs.washington.edu [Sat, 14 Feb 2015 23:25:53 +0000 (23:25 +0000)]
Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace
https://bugs.webkit.org/show_bug.cgi?id=141372

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::addToFrontend):
(Inspector::ConsoleMessage::updateRepeatCountInConsole):
* inspector/ConsoleMessage.h:
* inspector/InspectorAgentBase.h:
* inspector/InspectorAgentRegistry.cpp:
(Inspector::AgentRegistry::AgentRegistry):
(Inspector::AgentRegistry::append):
(Inspector::AgentRegistry::appendExtraAgent):
(Inspector::AgentRegistry::didCreateFrontendAndBackend):
(Inspector::AgentRegistry::willDestroyFrontendAndBackend):
(Inspector::AgentRegistry::discardAgents):
(Inspector::InspectorAgentRegistry::InspectorAgentRegistry): Deleted.
(Inspector::InspectorAgentRegistry::append): Deleted.
(Inspector::InspectorAgentRegistry::appendExtraAgent): Deleted.
(Inspector::InspectorAgentRegistry::didCreateFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::willDestroyFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::discardAgents): Deleted.
* inspector/InspectorAgentRegistry.h:
* inspector/InspectorBackendDispatcher.cpp:
(Inspector::BackendDispatcher::CallbackBase::CallbackBase):
(Inspector::BackendDispatcher::CallbackBase::isActive):
(Inspector::BackendDispatcher::CallbackBase::sendFailure):
(Inspector::BackendDispatcher::CallbackBase::sendIfActive):
(Inspector::BackendDispatcher::create):
(Inspector::BackendDispatcher::registerDispatcherForDomain):
(Inspector::BackendDispatcher::dispatch):
(Inspector::BackendDispatcher::sendResponse):
(Inspector::BackendDispatcher::reportProtocolError):
(Inspector::BackendDispatcher::getInteger):
(Inspector::BackendDispatcher::getDouble):
(Inspector::BackendDispatcher::getString):
(Inspector::BackendDispatcher::getBoolean):
(Inspector::BackendDispatcher::getObject):
(Inspector::BackendDispatcher::getArray):
(Inspector::BackendDispatcher::getValue):
(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::isActive): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendFailure): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive): Deleted.
(Inspector::InspectorBackendDispatcher::create): Deleted.
(Inspector::InspectorBackendDispatcher::registerDispatcherForDomain): Deleted.
(Inspector::InspectorBackendDispatcher::dispatch): Deleted.
(Inspector::InspectorBackendDispatcher::sendResponse): Deleted.
(Inspector::InspectorBackendDispatcher::reportProtocolError): Deleted.
(Inspector::InspectorBackendDispatcher::getInteger): Deleted.
(Inspector::InspectorBackendDispatcher::getDouble): Deleted.
(Inspector::InspectorBackendDispatcher::getString): Deleted.
(Inspector::InspectorBackendDispatcher::getBoolean): Deleted.
(Inspector::InspectorBackendDispatcher::getObject): Deleted.
(Inspector::InspectorBackendDispatcher::getArray): Deleted.
(Inspector::InspectorBackendDispatcher::getValue): Deleted.
* inspector/InspectorBackendDispatcher.h:
(Inspector::SupplementalBackendDispatcher::SupplementalBackendDispatcher):
(Inspector::SupplementalBackendDispatcher::~SupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher): Deleted.
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher): Deleted.
* inspector/InspectorFrontendChannel.h:
(Inspector::FrontendChannel::~FrontendChannel):
(Inspector::InspectorFrontendChannel::~InspectorFrontendChannel): Deleted.
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::didCreateFrontendAndBackend):
(Inspector::InspectorAgent::willDestroyFrontendAndBackend):
* inspector/agents/InspectorAgent.h:
* inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::didCreateFrontendAndBackend):
(Inspector::InspectorConsoleAgent::willDestroyFrontendAndBackend):
* inspector/agents/InspectorConsoleAgent.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakProgram):
(Inspector::InspectorDebuggerAgent::clearBreakDetails):
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/agents/JSGlobalObjectRuntimeAgent.cpp:
(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):
(Inspector::JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/agents/JSGlobalObjectRuntimeAgent.h:
* inspector/augmentable/AlternateDispatchableAgent.h:
* inspector/augmentable/AugmentableInspectorController.h:
* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/scripts/codegen/cpp_generator.py:
(CppGenerator.cpp_type_for_formal_out_parameter):
(CppGenerator.cpp_type_for_stack_out_parameter):
* inspector/scripts/codegen/cpp_generator_templates.py:
(AlternateBackendDispatcher):
(Alternate):
(void):
(AlternateInspectorBackendDispatcher): Deleted.
(AlternateInspector): Deleted.
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.Alternate):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_command):
(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector): Deleted.
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
(CppBackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
* runtime/JSGlobalObjectDebuggable.h:

Source/WebCore:

* WebCore.exp.in:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::close):
(WebCore::InspectorController::dispatchMessageFromFrontend):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorForwarding.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::styleWithProperties):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/PageRuntimeAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::~WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:
* loader/EmptyClients.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):
* page/PageDebuggable.h:
* testing/Internals.cpp:
(WebCore::Internals::closeDummyInspectorFrontend):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::disconnectFromInspector):

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController destroyInspectorView:]):

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::destroyInspectorView):

Source/WebKit2:

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::remoteFrontendDisconnected):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION: Page opens with enlarged font after visiting PDF, navigating back,
bdakin@apple.com [Sat, 14 Feb 2015 22:56:11 +0000 (22:56 +0000)]
REGRESSION: Page opens with enlarged font after visiting PDF, navigating back,
then doing a process swap
https://bugs.webkit.org/show_bug.cgi?id=141584
-and corresponding-
rdar://problem/18167729

Reviewed by Tim Horton.

This patch keeps the plugin zoom/scale factors separate from page zoom/scale
factors in the UI process since they are used for slightly different purposes for
plugins (i.e., PDFs) than they are for normal pages. Keeping track of the right
factor for the right type of document will ensure that we don’t use the wrong one.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::pageZoomFactor):
(WebKit::WebPageProxy::pageScaleFactor):
(WebKit::WebPageProxy::pluginScaleFactorDidChange):
(WebKit::WebPageProxy::pluginZoomFactorDidChange):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageZoomFactorDidChange): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::pageZoomFactor): Deleted.
(WebKit::WebPageProxy::pageScaleFactor): Deleted.
* UIProcess/WebPageProxy.messages.in:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setPageScaleFactor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
ddkilzer@apple.com [Sat, 14 Feb 2015 21:52:34 +0000 (21:52 +0000)]
REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Work towards fixing the Mavericks Debug build.

Source/JavaScriptCore:

* inspector/ScriptDebugServer.h:
(Inspector::ScriptDebugServer::Task): Export class.
* inspector/agents/InspectorDebuggerAgent.h:
(Inspector::InspectorDebuggerAgent::Listener): Export class.
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::setConsoleClient): Do not mark inline
method for export.

Source/WebCore:

* dom/Document.h:
(WebCore::Document::setAnnotatedRegionsDirty):
* dom/Event.h:
(WebCore::Event::create):
* dom/Node.h:
(WebCore::Node::hasEditableStyle):
* dom/Position.h:
(WebCore::Position::Position):
* editing/FrameSelection.h:
(WebCore::DragCaretController::clear):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::originalRequest):
- Do not mark inline methods for export.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Symbol RemoteObject should not send sub-type
commit-queue@webkit.org [Sat, 14 Feb 2015 20:41:18 +0000 (20:41 +0000)]
Web Inspector: Symbol RemoteObject should not send sub-type
https://bugs.webkit.org/show_bug.cgi?id=141604

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-14
Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:

LayoutTests:

* inspector/model/remote-object-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r179573): Web Inspector toolbar is completely messed up on Mavericks
burg@cs.washington.edu [Sat, 14 Feb 2015 19:34:30 +0000 (19:34 +0000)]
REGRESSION(r179573): Web Inspector toolbar is completely messed up on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=141555

Reviewed by Joseph Pecoraro.

The old WKView-based code called _setDrawsBackground:NO on the WKView for Mavericks.
Simulate this old behavior by calling WebPageProxy::setDrawsBackground(false).

WKWebView's setOpaque:BOOL gives a flat background color instead of the intended
gradient, so we can't use that method.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAfter updating tests to use kerning, ligatures, and printer fonts, some tests fail
ap@apple.com [Sat, 14 Feb 2015 18:59:50 +0000 (18:59 +0000)]
After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

Re-adding the test to expectations, it fails flakily (perhaps it's order dependent).

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agorel="noreferrer" should make window.opener null
ap@apple.com [Sat, 14 Feb 2015 18:16:00 +0000 (18:16 +0000)]
rel="noreferrer" should make window.opener null
https://bugs.webkit.org/show_bug.cgi?id=141579

Reviewed by Darin Adler.

Source/WebCore:

Tests: http/tests/navigation/target-blank-opener-post.html
       http/tests/navigation/target-blank-opener.html

We used to avoid passing window.opener policy by temporarily storing it in a FrameLoader
member variable. This works for some clients - ones that invoke delegate callbacks
synchronously - but not in the general case.

So, changed to passing the policy explicitly.

* WebCore.exp.in:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
* loader/FrameLoader.h:
(WebCore::FrameLoader::suppressOpenerInNewFrame): Deleted.
* loader/FrameLoaderTypes.h:
* loader/NavigationScheduler.cpp:
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):

Source/WebKit/ios:

* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

Source/WebKit/mac:

* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

LayoutTests:

Unfortunately, these tests are not quite real, because they pass even without the
fix. There reason is that delegates respond synchronously in WKTR and DRT.

But if there is any large refactoring, there is a non-zero chance that the tests
will catch future mistakes.

* http/tests/navigation/resources/target-blank-opener-post-window.php: Added.
* http/tests/navigation/resources/target-blank-opener-window.php: Added.
* http/tests/navigation/target-blank-opener-expected.txt: Added.
* http/tests/navigation/target-blank-opener-post-expected.txt: Added.
* http/tests/navigation/target-blank-opener-post.html: Added.
* http/tests/navigation/target-blank-opener.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r180082): WebCore build on Mountain Lion fails due to weak export for...
ddkilzer@apple.com [Sat, 14 Feb 2015 17:16:08 +0000 (17:16 +0000)]
REGRESSION (r180082): WebCore build on Mountain Lion fails due to weak export for i386
<rdar://problem/19838127>

* Configurations/WebCore.unexp: Add missing symbol.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRe-ordering expectations.
mmaxfield@apple.com [Sat, 14 Feb 2015 16:05:34 +0000 (16:05 +0000)]
Re-ordering expectations.

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac] Cleanup after r177774
mmaxfield@apple.com [Sat, 14 Feb 2015 16:01:43 +0000 (16:01 +0000)]
[Mac] Cleanup after r177774
https://bugs.webkit.org/show_bug.cgi?id=141590

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14
Reviewed by Zalan Bujtas.

Test expected results simply need to be updated.

* platform/mac/TestExpectations:
* platform/mac/accessibility/content-editable-as-textarea-expected.txt:
* platform/mac/accessibility/press-targets-center-point-expected.txt: Added.
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cell-spans-expected.txt:
* platform/mac/accessibility/table-detection-expected.txt:
* platform/mac/accessibility/table-one-cell-expected.txt:
* platform/mac/accessibility/table-sections-expected.txt:
* platform/mac/accessibility/table-with-rules-expected.txt:
* platform/mac/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Added.
* platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
* platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* platform/mac/css1/box_properties/acid_test-expected.txt:
* platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt:
* platform/mac/editing/selection/5057506-2-expected.txt:
* platform/mac/editing/selection/5057506-expected.txt:
* platform/mac/editing/selection/5825350-2-expected.txt:
* platform/mac/editing/selection/mixed-editability-10-expected.txt:
* platform/mac/fast/block/basic/011-expected.txt:
* platform/mac/fast/block/basic/minheight-expected.txt:
* platform/mac/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added.
* platform/mac/fast/css/002-expected.txt:
* platform/mac/fast/forms/basic-textareas-expected.txt:
* platform/mac/fast/frames/frame-scrolling-attribute-expected.txt:
* platform/mac/fast/invalid/008-expected.txt:
* platform/mac/fast/overflow/003-expected.txt:
* platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
* platform/mac/fast/repaint/selection-rl-expected.txt:
* platform/mac/fast/repaint/selection-ruby-rl-expected.txt: Added.
* platform/mac/fast/sub-pixel/inline-block-with-padding-expected.txt: Added.
* platform/mac/fast/table/col-and-colgroup-offsets-expected.txt: Added.
* platform/mac/fast/text/atsui-pointtooffset-calls-cg-expected.txt:
* platform/mac/fast/text/basic/generic-family-reset-expected.txt:
* platform/mac/fast/text/international/vertical-text-metrics-test-expected.txt:
* platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
* platform/mac/js/dom/dom-static-property-for-in-iteration-expected.txt: Added.
* platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Added.
* platform/mac/platform/mac/accessibility/aria-columnrowheaders-expected.txt: Copied from LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt.
* platform/mac/platform/mac/accessibility/bounds-for-range-expected.txt: Added.
* platform/mac/platform/mac/accessibility/document-links-expected.txt: Added.
* platform/mac/platform/mac/accessibility/internal-link-anchors-expected.txt: Added.
* platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
* platform/mac/svg/batik/text/textEffect2-expected.txt:
* platform/mac/svg/batik/text/textEffect3-expected.txt:
* platform/mac/svg/batik/text/textProperties-expected.txt:
* platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
* platform/mac/svg/custom/text-filter-expected.txt:
* platform/mac/svg/filters/feColorMatrix-values-expected.txt: Added.
* platform/mac/svg/filters/filter-on-filter-for-text-expected.txt:
* platform/mac/svg/filters/filter-on-tspan-expected.txt:
* platform/mac/svg/filters/sourceAlpha-expected.txt:
* platform/mac/svg/repaint/text-mask-update-expected.txt: Added.
* platform/mac/tables/mozilla/bugs/bug131020-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[buildbot] Enable run-api-tests on release Mac bots
ossy@webkit.org [Sat, 14 Feb 2015 08:56:28 +0000 (08:56 +0000)]
[buildbot] Enable run-api-tests on release Mac bots
https://bugs.webkit.org/show_bug.cgi?id=141518

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunUnitTests):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(RunUnitTests.start): Deleted.
(unitTestsSupported): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agohttp/tests/xmlhttprequest/event-listener-gc.html is flaky
ap@apple.com [Sat, 14 Feb 2015 06:37:32 +0000 (06:37 +0000)]
http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Darin Adler.

Instead of using a zero delay timer, which can be legitimately delayed for dozens
of milliseconds, perform the collection in a second load event handler. GC code
has changed so much that I cannot confirm that the test still verifies the fix,
however we collect after returning for the function and unwinding the stack, so it should.

Also, clear the JS variable for a good measure.

* http/tests/xmlhttprequest/event-listener-gc.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUpdate fast/canvas/canvas-measureText-ideographicSpace.html after r177774
mmaxfield@apple.com [Sat, 14 Feb 2015 06:20:36 +0000 (06:20 +0000)]
Update fast/canvas/canvas-measureText-ideographicSpace.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141595

Reviewed by Zalan Bujtas.

* fast/canvas/canvas-measureText-ideographicSpace.html:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, EFL gardening. Mark font & text tests to failure.
gyuyoung.kim@samsung.com [Sat, 14 Feb 2015 05:16:19 +0000 (05:16 +0000)]
Unreviewed, EFL gardening. Mark font & text tests to failure.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAttempt to fix 32bits build after r180098
benjamin@webkit.org [Sat, 14 Feb 2015 05:16:02 +0000 (05:16 +0000)]
Attempt to fix 32bits build after r180098

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13

* jit/JITOperations.cpp:
* jit/JITOperations.h:
I copied the attribute from the MathObject version of that function when I moved
it over. DFG has no version of a function call taking those attributes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoJSContext Inspector: Do not stash console messages for non-debuggable JSContext
commit-queue@webkit.org [Sat, 14 Feb 2015 04:59:56 +0000 (04:59 +0000)]
JSContext Inspector: Do not stash console messages for non-debuggable JSContext
https://bugs.webkit.org/show_bug.cgi?id=141589

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-13
Reviewed by Timothy Hatcher.

Consider developer extras disabled for JSContext inspection if the
RemoteInspector server is not enabled (typically a non-debuggable
process rejected by webinspectord) or if remote debugging on the
JSContext was explicitly disabled via SPI.

When developer extras are disabled, console message will not be stashed.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::developerExtrasEnabled):
* inspector/JSGlobalObjectInspectorController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, EFL gardening. 3 inspector tests are marked to failure.
gyuyoung.kim@samsung.com [Sat, 14 Feb 2015 04:53:25 +0000 (04:53 +0000)]
Unreviewed, EFL gardening. 3 inspector tests are marked to failure.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd a DFG node for the Pow Intrinsics
benjamin@webkit.org [Sat, 14 Feb 2015 04:20:21 +0000 (04:20 +0000)]
Add a DFG node for the Pow Intrinsics
https://bugs.webkit.org/show_bug.cgi?id=141540

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Filip Pizlo.

Add a DFG Node for PowIntrinsic. This patch covers the basic cases
need to avoid massive regression. I will iterate over the node to cover
the missing types.

With this patch I get the following progressions on benchmarks:
-LongSpider's math-partial-sums: +5%.
-Kraken's imaging-darkroom: +17%
-AsmBench's cray.c: +6.6%
-CompressionBench: +2.2% globally.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Cover a couple of trivial cases:
-If the exponent is zero, the result is always one, regardless of the base.
-If both arguments are constants, compute the result at compile time.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
We only support 2 basic cases at this time:
-Math.pow(double, int)
-Math.pow(double, double).

I'll cover Math.pow(int, int) in a follow up.

* dfg/DFGNode.h:
(JSC::DFG::Node::convertToArithSqrt):
(JSC::DFG::Node::arithNodeFlags):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::compileArithPowIntegerFastPath):
(JSC::DFG::SpeculativeJIT::compileArithPow):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):
* ftl/FTLOutput.h:
(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doublePowi):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* runtime/MathObject.cpp:
(JSC::mathProtoFuncPow):
(JSC::isDenormal): Deleted.
(JSC::isEdgeCase): Deleted.
(JSC::mathPow): Deleted.

* tests/stress/math-pow-basics.js: Added.
* tests/stress/math-pow-integer-exponent-fastpath.js: Added.
* tests/stress/math-pow-nan-behaviors.js: Added.
* tests/stress/math-pow-with-constants.js: Added.
Start some basic testing of Math.pow().
Due to the various transform, the value change when the code tiers up,
I covered this by checking for approximate values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash closing a tab when a context or popup menu is open
simon.fraser@apple.com [Sat, 14 Feb 2015 01:25:07 +0000 (01:25 +0000)]
Crash closing a tab when a context or popup menu is open
https://bugs.webkit.org/show_bug.cgi?id=141582
rdar://problem/17700475

Reviewed by Anders Carlsson.

If a context menu or a popup menu is open when a tab is programmatically closed,
then we'd crash because both the WebContextMenuProxyMac/WebPopupMenuProxyMac
and the WebPageProxy would be deleted while still in use, via messages
handled via the nested event tracking runloop.

Fix by protecting those things while showing the popup. Also programmatically
dismiss the popup when closing the WebPageProxy.

* UIProcess/WebContextMenuProxy.h:
(WebKit::WebContextMenuProxy::cancelTracking):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showPopupMenu): Clean up some EFL-related confusion that we don't need.
Retaining |this| will also retain m_activePopupMenu.
(WebKit::WebPageProxy::hidePopupMenu):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPopupMenuProxy.h:
(WebKit::WebPopupMenuProxy::cancelTracking):
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::cancelTracking):
* UIProcess/mac/WebPopupMenuProxyMac.h: For popups, we need to remember if we were
canceled to avoid trying to send events after closing.
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
(WebKit::WebPopupMenuProxyMac::cancelTracking):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[EFL] Enable bmalloc for EFL port
gyuyoung.kim@samsung.com [Sat, 14 Feb 2015 01:20:57 +0000 (01:20 +0000)]
[EFL] Enable bmalloc for EFL port
https://bugs.webkit.org/show_bug.cgi?id=141459

Reviewed by Csaba Osztrogonác.

* wtf/CMakeLists.txt: Remove TCSystemAlloc.cpp/h.
* wtf/FastMalloc.cpp: Enable BMALLOC for EFL port.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed build fix after r179591.
rniwa@webkit.org [Sat, 14 Feb 2015 01:09:16 +0000 (01:09 +0000)]
Unreviewed build fix after r179591.

* public/api/commits.php:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoThe status of a A/B testing request always eventually becomes "Failed"
rniwa@webkit.org [Sat, 14 Feb 2015 00:59:20 +0000 (00:59 +0000)]
The status of a A/B testing request always eventually becomes "Failed"
https://bugs.webkit.org/show_bug.cgi?id=141523

Reviewed by Andreas Kling.

The bug was caused by /api/build-requests always setting the status of a build request to 'failed' when
'failedIfNotCompleted' was sent by the buildbot sync'er.

Fixed the bug by only setting the status to 'failed' if it wasn't set to 'completed'.

* public/api/build-requests.php:
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRenderListItem resets its marker's style on style change even if the diff is StyleDif...
cdumez@apple.com [Sat, 14 Feb 2015 00:37:40 +0000 (00:37 +0000)]
RenderListItem resets its marker's style on style change even if the diff is StyleDifferenceEqual
https://bugs.webkit.org/show_bug.cgi?id=141572
<rdar://problem/19759818>

Reviewed by Simon Fraser.

Source/WebCore:

Do not unnecessarily update the marker's style in RenderListItem::styleDidChange()
if the RenderStyle diff is StyleDifferenceEqual. Doing so can cause unnecessary
layouts.

This was causing high cpu usage on
http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html because there
is an animation that changes the style every second (but the diff is equal) and the
RenderListItem keeps resetting its marker's margin, which triggers a layout and the
RenderListMarker re-computes its margin during layout and updates its style again.

With this change, CPU usage on the page goes from 150% to 20%. There is only a style
recalc happening every second, no more relayouts and repaints.

Test: fast/repaint/list-item-equal-style-change-no-repaint.html

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::styleDidChange):

LayoutTests:

Add a layout test to make sure that an animation causing a style change
with StyleDifferenceEqual diff does not cause a repaint.

* fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Added.
* fast/repaint/list-item-equal-style-change-no-repaint.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFix the iOS build.
timothy_horton@apple.com [Sat, 14 Feb 2015 00:15:27 +0000 (00:15 +0000)]
Fix the iOS build.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewGestureController.h:
This code is never used on iOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMake WebCore::IOSurface have single ownership instead of refcounting
timothy_horton@apple.com [Sat, 14 Feb 2015 00:06:14 +0000 (00:06 +0000)]
Make WebCore::IOSurface have single ownership instead of refcounting
https://bugs.webkit.org/show_bug.cgi?id=141578

Reviewed by Anders Carlsson.

In the interests of making it harder to misuse and to make it more like
ImageBuffer, our IOSurface wrapper should have single ownership.

This will also allow future changes which depend on temporarily
consuming an IOSurface to more easily enforce correct usage.

* WebCore.exp.in:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::insertSurfaceIntoPool):
(WebCore::IOSurfacePool::tryEvictInUseSurface):
(WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
(WebCore::IOSurfacePool::collectInUseSurfaces):
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::create):
(IOSurface::createFromSendRight):
(IOSurface::createFromSurface):
(IOSurface::createFromImage):
Make IOSurface::create()s return a unique_ptr, and adjust everywhere.

* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::Buffer::discard):
* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshot::create):
(WebKit::ViewSnapshot::ViewSnapshot):
(WebKit::ViewSnapshot::hasImage):
Adjust to the single-ownership model.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdditional emoji group support.
enrica@apple.com [Fri, 13 Feb 2015 23:44:02 +0000 (23:44 +0000)]
Additional emoji group support.
https://bugs.webkit.org/show_bug.cgi?id=141539
rdar://problem/19727527

Reviewed by Sam Weinig.

Source/WebCore:

Adding some new emoji ligatures.
Updated existing test to include the new sequences.

* platform/text/TextBreakIterator.cpp:
(WebCore::cursorMovementIterator):
* rendering/RenderText.cpp:
(WebCore::isEmojiGroupCandidate):

LayoutTests:

Updating test to reflect the new emoji ligatures supported.

* editing/deleting/delete-emoji-expected.txt:
* editing/deleting/delete-emoji.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] Unreviewed build fix after r180076.
bfulgham@apple.com [Fri, 13 Feb 2015 23:27:16 +0000 (23:27 +0000)]
[iOS] Unreviewed build fix after r180076.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): We do not
want to do this on iOS.
* UIProcess/WebPageProxy.h: No need to expose function
on iOS (only Mac).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoArithSqrt should not be conditional on supportsFloatingPointSqrt
benjamin@webkit.org [Fri, 13 Feb 2015 23:08:18 +0000 (23:08 +0000)]
ArithSqrt should not be conditional on supportsFloatingPointSqrt
https://bugs.webkit.org/show_bug.cgi?id=141546

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Geoffrey Garen and Filip Pizlo.

Just fallback to the function call in the DFG codegen.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithSqrt):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* tests/stress/math-sqrt-basics.js: Added.
Basic coverage.

* tests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js: Added.
Same tests but forcing the function call.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r180060) New js/regress-141098 test crashes when LLInt is disabled.
msaboff@apple.com [Fri, 13 Feb 2015 22:46:50 +0000 (22:46 +0000)]
REGRESSION(r180060) New js/regress-141098 test crashes when LLInt is disabled.
https://bugs.webkit.org/show_bug.cgi?id=141577

Reviewed by Benjamin Poulain.

Changed the prologue of the baseline JIT to check for stack space for all
types of code blocks.  Previously, it was only checking Function.  Now
it checks Program and Eval as well.

* jit/JIT.cpp:
(JSC::JIT::privateCompile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReally stop using export files.
achristensen@apple.com [Fri, 13 Feb 2015 22:40:34 +0000 (22:40 +0000)]
Really stop using export files.
https://bugs.webkit.org/show_bug.cgi?id=141521

Reviewed by Mark Rowe.

* Configurations/WebCore.xcconfig:
Don't use exported symbols files.
* Configurations/WebCore.unexp:
Added list of symbols not to export (needed by Xcode 5.0.2).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSimplify ASSERT in lastRubyRun().
zalan@apple.com [Fri, 13 Feb 2015 22:18:36 +0000 (22:18 +0000)]
Simplify ASSERT in lastRubyRun().
https://bugs.webkit.org/show_bug.cgi?id=141574

Reviewed by Daniel Bates.

r180064 made some of the conditions in the ASSERT redundant.

Covered by existing tests.

* rendering/RenderRuby.cpp:
(WebCore::lastRubyRun):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago [Win] Document some debug asserts in Accessibility (Windows) tests.
bfulgham@apple.com [Fri, 13 Feb 2015 22:11:58 +0000 (22:11 +0000)]
   [Win] Document some debug asserts in Accessibility (Windows) tests.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac, iOS] Adjust pagination behavior for Mail.app printing use
bfulgham@apple.com [Fri, 13 Feb 2015 21:56:01 +0000 (21:56 +0000)]
[Mac, iOS] Adjust pagination behavior for Mail.app printing use
https://bugs.webkit.org/show_bug.cgi?id=141569
<rdar://problem/14912763>

Reviewed by Anders Carlsson.

Source/WebCore:

* page/Settings.in: Add new pagination setting flag.
* rendering/RenderBlockFlow.cpp:
(WebCore::messageContainerName): Added.
(WebCore::needsPaginationQuirk): Added.
(WebCore::RenderBlockFlow::adjustLinePositionForPagination): Don't move the message content
div to a new page when using this special printing mode.

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Add new flag.
(WebKit::WebPageCreationParameters::decode): Ditto.
* Shared/WebPageCreationParameters.h: Ditto.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Set new page construction flag.
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::paginationQuirkEnabled): Ask for new pagination flag
when running as a Mail client.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Set up pagination based on desired settings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoGenerate incq instead of addq when the immediate value is one
benjamin@webkit.org [Fri, 13 Feb 2015 21:54:41 +0000 (21:54 +0000)]
Generate incq instead of addq when the immediate value is one
https://bugs.webkit.org/show_bug.cgi?id=141548

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Gavin Barraclough.

JSC emits "addq #1 (rXX)" *a lot*.
This patch replace that by incq, which is one byte shorter
and is the adviced form.

Sunspider: +0.47%
Octane: +0.28%
Kraken: +0.44%
AsmBench, CompressionBench: neutral.

* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::add64):
* assembler/X86Assembler.h:
(JSC::X86Assembler::incq_m):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoLittle clean up of Bytecode Generator's Label
benjamin@webkit.org [Fri, 13 Feb 2015 21:48:03 +0000 (21:48 +0000)]
Little clean up of Bytecode Generator's Label
https://bugs.webkit.org/show_bug.cgi?id=141557

Reviewed by Michael Saboff.

* bytecompiler/BytecodeGenerator.h:
* bytecompiler/BytecodeGenerator.cpp:
Label was a friend of BytecodeGenerator in order to access
m_instructions. There is no need for that, BytecodeGenerator
has a public getter.

* bytecompiler/Label.h:
(JSC::Label::Label):
(JSC::Label::setLocation):
(JSC::BytecodeGenerator::newLabel):
Make it explicit that the generator must exist.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] DumpRenderTree.app fails to link due to undefined classes
dbates@webkit.org [Fri, 13 Feb 2015 21:25:43 +0000 (21:25 +0000)]
[iOS] DumpRenderTree.app fails to link due to undefined classes
<rdar://problem/19831228>

Following r179945, DumpRenderTree.app fails to link due to undefined symbols:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_WebEvent", referenced from:
      objc-class-ref in libDumpRenderTree.a(EventSendingController.o)
  "_OBJC_CLASS_$_WebUndefined", referenced from:
      objc-class-ref in libDumpRenderTree.a(ObjCController.o)

We need to export the classes WebScriptObject and WebEvent.

* bindings/objc/WebScriptObject.h:
* platform/ios/WebEvent.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCachedResource::clearLoader() should self-destruct if nothing else retains the Cached...
akling@apple.com [Fri, 13 Feb 2015 20:30:32 +0000 (20:30 +0000)]
CachedResource::clearLoader() should self-destruct if nothing else retains the CachedResource.
<https://webkit.org/b/141568>
<rdar://problem/19800310>

Reviewed by Antti Koivisto.

Anything that may cause CachedResource::canDelete() to return true must also make sure
to call CachedResource::deleteIfPossible(), or we risk leaking the CachedResource.
This is because CachedResource employs an extremely convoluted lifetime mechanism that
depends on its presence in a number of collections, as well as internal counters and
state.

This is a speculative fix for a potential CachedResource leak that I'm not sure exists
in practice, but let's be good citizens here.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::clearLoader):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: support better git diff of localizedStrings.js
timothy@apple.com [Fri, 13 Feb 2015 19:57:46 +0000 (19:57 +0000)]
Web Inspector: support better git diff of localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=137237

Reviewed by Joseph Pecoraro.

* .gitattributes: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd a move constructor and move assignment operator to Deque
andersca@apple.com [Fri, 13 Feb 2015 19:52:56 +0000 (19:52 +0000)]
Add a move constructor and move assignment operator to Deque
https://bugs.webkit.org/show_bug.cgi?id=141571

Reviewed by Andreas Kling.

Source/WTF:

* wtf/Deque.h:
(WTF::inlineCapacity>::Deque):
(WTF::=): Deleted.

Tools:

* TestWebKitAPI/Tests/WTF/Deque.cpp:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[MSE][Mac] Crash at WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset...
jer.noble@apple.com [Fri, 13 Feb 2015 19:50:03 +0000 (19:50 +0000)]
[MSE][Mac] Crash at WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset + 2357
https://bugs.webkit.org/show_bug.cgi?id=141566
rdar://problem/19826075

Reviewed by Andreas Kling.

Null check m_mediaSource before dereferencing.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r174761): Invalid cast in WebCore::lastRubyRun / WebCore::RenderRubyAsBlo...
zalan@apple.com [Fri, 13 Feb 2015 19:28:46 +0000 (19:28 +0000)]
REGRESSION (r174761): Invalid cast in WebCore::lastRubyRun / WebCore::RenderRubyAsBlock::addChild
https://bugs.webkit.org/show_bug.cgi?id=137929
rdar://problem/18723492

Reviewed by Chris Dumez.

Ensure that the child renderer is a RenderRubyRun.

Source/WebCore:

Test: fast/ruby/crash-with-before-after-on-ruby.html

* rendering/RenderRuby.cpp:
(WebCore::lastRubyRun):

LayoutTests:

* fast/ruby/crash-with-before-after-on-ruby-expected.txt: Added.
* fast/ruby/crash-with-before-after-on-ruby.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrashes under RenderLayer::hitTestLayer under determinePrimarySnapshottedPlugIn()
simon.fraser@apple.com [Fri, 13 Feb 2015 19:04:12 +0000 (19:04 +0000)]
Crashes under RenderLayer::hitTestLayer under determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=141551

Reviewed by Zalan Bujtas.

It's possible for a layout to dirty the parent frame's state, via the calls to
ownerElement()->scheduleSetNeedsStyleRecalc() that RenderLayerCompositor does when
iframes toggle their compositing mode.

That could cause FrameView::updateLayoutAndStyleIfNeededRecursive() to fail to
leave all the frames in a clean state. Later on, we could enter hit testing,
which calls document().updateLayout() on each frame's document. Document::updateLayout()
does layout on all ancestor documents, so in the middle of hit testing, we could
layout a subframe (dirtying an ancestor frame), then layout another frame, which
would forcing that ancestor to be laid out while we're hit testing it, thus
corrupting the RenderLayer tree while it's being iterated over.

Fix by having FrameView::updateLayoutAndStyleIfNeededRecursive() do a second
layout after laying out subframes, which most of the time will be a no-op.

Also add a stronger assertion, that this frame and all subframes are clean
at the end of FrameView::updateLayoutAndStyleIfNeededRecursive() for the
main frame.

Various existing frames tests hit the new assertion if the code change is removed,
so this is covered by existing tests.

* page/FrameView.cpp:
(WebCore::FrameView::needsStyleRecalcOrLayout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/FrameView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::willBeDestroyed):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agodeterminePrimarySnapshottedPlugIn() should only traverse visible Frames
simon.fraser@apple.com [Fri, 13 Feb 2015 19:04:09 +0000 (19:04 +0000)]
determinePrimarySnapshottedPlugIn() should only traverse visible Frames
https://bugs.webkit.org/show_bug.cgi?id=141547
Part of rdar://problem/18445733.

Reviewed by Anders Carlsson.
Source/WebCore:

There's an expectation from clients that FrameView::updateLayoutAndStyleIfNeededRecursive()
updates layout in all frames, but it uses the widget tree, so only hits frames
that are parented via renderers (i.e. not display:none frames or their descendants).

Moving towards a future where we remove Widgets, fix by adding a FrameTree
traversal function that only finds rendered frames (those with an ownerRenderer).

Not testable.

* page/FrameTree.cpp:
(WebCore::FrameTree::firstRenderedChild):
(WebCore::FrameTree::nextRenderedSibling):
(WebCore::FrameTree::traverseNextRendered):
(printFrames):
* page/FrameTree.h:
* page/FrameView.cpp:
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

Source/WebKit2:

Use FrameTree::traverseNextRendered() to avoid doing things in unrendered frames
which are not guaranteed to have been laid out.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agorun-jsc-stress-tests --remote should skip profiler tests
ossy@webkit.org [Fri, 13 Feb 2015 19:01:54 +0000 (19:01 +0000)]
run-jsc-stress-tests --remote should skip profiler tests
https://bugs.webkit.org/show_bug.cgi?id=141470

Reviewed by Filip Pizlo.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoGoogle doc spreadsheet reproducibly crashes when sorting
msaboff@apple.com [Fri, 13 Feb 2015 18:57:57 +0000 (18:57 +0000)]
Google doc spreadsheet reproducibly crashes when sorting
https://bugs.webkit.org/show_bug.cgi?id=141098

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Moved the stack check to before the callee registers are allocated in the
prologue() by movving it from the functionInitialization() macro.  This
way we can check the stack before moving the stack pointer, avoiding a
crash during a "call" instruction.  Before this change, we weren't even
checking the stack for program and eval execution.

Made a couple of supporting changes.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_stack_check): We can't just go up one frame as we
may be processing an exception to an entry frame.

* llint/LowLevelInterpreter.asm:

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
(llint_throw_from_slow_path_trampoline): Changed method to get the vm
from the code block to not use the codeBlock, since we may need to
continue from an exception in a native function.

LayoutTests:

New test.

* js/regress-141098-expected.txt: Added.
* js/regress-141098.html: Added.
* js/script-tests/regress-141098.js: Added.
(probeAndRecurse):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd an initializer list constructor to Deque
andersca@apple.com [Fri, 13 Feb 2015 18:46:04 +0000 (18:46 +0000)]
Add an initializer list constructor to Deque
https://bugs.webkit.org/show_bug.cgi?id=141565

Reviewed by Andreas Kling.

Source/WTF:

* wtf/Deque.h:
(WTF::inlineCapacity>::Deque):

Tools:

* TestWebKitAPI/Tests/WTF/Deque.cpp:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoTimerBase::m_heapInsertionOrder calculation is racy
ap@apple.com [Fri, 13 Feb 2015 18:28:15 +0000 (18:28 +0000)]
TimerBase::m_heapInsertionOrder calculation is racy
https://bugs.webkit.org/show_bug.cgi?id=141554

Reviewed by Anders Carlsson.

Use an atomic increment.

* platform/Timer.cpp: (WebCore::TimerBase::setNextFireTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRe-indent Deque.h
andersca@apple.com [Fri, 13 Feb 2015 18:05:46 +0000 (18:05 +0000)]
Re-indent Deque.h

Rubber-stamped by Antti Koivisto.

* wtf/Deque.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWorkQueue should support concurrent queues
antti@apple.com [Fri, 13 Feb 2015 17:50:15 +0000 (17:50 +0000)]
WorkQueue should support concurrent queues
https://bugs.webkit.org/show_bug.cgi?id=141559

Reviewed by Anders Carlsson.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::DatabaseProcess):
* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
* Platform/WorkQueue.cpp:
(WorkQueue::create):

    Also make create return a Ref.

(WorkQueue::WorkQueue):
* Platform/WorkQueue.h:

    Add queue type enum.

* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::platformInitialize):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::platformInitialize):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::platformInitialize):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::initializeConnection):
* Shared/mac/SecItemShim.h:
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::processLauncherWorkQueue):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::initializeConnection):
* UIProcess/mac/SecItemShimProxy.h:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::initializeConnection):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::initializeConnection):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/ViewUpdateDispatcher.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] Refine GC behavior in response to process suspension and memory pressure.
akling@apple.com [Fri, 13 Feb 2015 17:38:50 +0000 (17:38 +0000)]
[iOS] Refine GC behavior in response to process suspension and memory pressure.
<https://webkit.org/b/141543>
<rdar://problem/19738024>

Reviewed by Geoffrey Garen.

Do an immediate full garbage collection when the web process is about to
be suspended (when another tab is moving to the foreground on iOS.)
This ensures that we make a best effort to reduce the process footprint
before we lose the ability to execute code.

When receiving a memory pressure warning, tell the garbage collector to
accelerate its next collection (by calling garbageCollectSoon().)
This gives us some confidence that a collection will happen within a
reasonable timeframe, but doesn't risk dooming us to a loop of endless
garbage collections.

* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoClean up the framework postprocessing phase
andersca@apple.com [Fri, 13 Feb 2015 17:35:53 +0000 (17:35 +0000)]
Clean up the framework postprocessing phase
https://bugs.webkit.org/show_bug.cgi?id=141544

Reviewed by Dan Bernstein.

Rename WK_API_AVAILABILITY_ENABLED to WK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED to better match what
it is we're doing. Also, rename the associated script. Remove a couple of now unnecessary #defines, and
change everything we can to be feature-based instead of OS based.

* Configurations/WebKit.xcconfig:
* Shared/API/Cocoa/WKFoundation.h:
* WebKit2.xcodeproj/project.pbxproj:
* mac/postprocess-framework-headers.sh: Renamed from Source/WebKit2/mac/rewrite-availability-macros.sh.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd some RELEASE_ASSERTs to try to catch crashes in StyleResolver::loadPendingImages
antti@apple.com [Fri, 13 Feb 2015 17:32:14 +0000 (17:32 +0000)]
Add some RELEASE_ASSERTs to try to catch crashes in StyleResolver::loadPendingImages
https://bugs.webkit.org/show_bug.cgi?id=141561

Reviewed by Simon Fraser.

One possibility is that loads triggered by loadPendingImages end up synchronously destroying or re-entering
style resolver. Try to catch these in release builds.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::~StyleResolver):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::loadPendingImages):
* css/StyleResolver.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoDiv having contentEditable and display:grid cannot be edited if it is empty.
changseok.oh@collabora.com [Fri, 13 Feb 2015 17:15:50 +0000 (17:15 +0000)]
Div having contentEditable and display:grid cannot be edited if it is empty.
https://bugs.webkit.org/show_bug.cgi?id=141465

Reviewed by Ryosuke Niwa.

Source/WebCore:

This bug is quite similar to webkit.org/b/141218. RenderGrid should be also treated as a candidate
for visible position as like RenderFlexibleBox. The only different situation between them is
that RenderGrid has a bug setting "0px" for logicalHeight when it is empty. RenderGrid should also have
a minimum height of a single line if it is editable as well as RenderFlexibleBox does.

Test: fast/events/key-events-in-editable-gridbox.html

* dom/Position.cpp:
(WebCore::Position::isCandidate):
(WebCore::Position::isRenderedCharacter):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):

LayoutTests:

This tests if an editable grid box can be reedited after erasing all texts in it.

* fast/events/key-events-in-editable-gridbox-expected.txt: Added.
* fast/events/key-events-in-editable-gridbox.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] Skip accessibility tests failing due to debug assertions.
bfulgham@apple.com [Fri, 13 Feb 2015 17:10:35 +0000 (17:10 +0000)]
[Win] Skip accessibility tests failing due to debug assertions.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[buildbot] Remove buildJSCTool cruft from master.cfg
ossy@webkit.org [Fri, 13 Feb 2015 14:37:08 +0000 (14:37 +0000)]
[buildbot] Remove buildJSCTool cruft from cfg
https://bugs.webkit.org/show_bug.cgi?id=141513

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.start):
(RunWebKitTests):
(RunWebKitTests.start):
(TestFactory.__init__):
(TestLeaksFactory.__init__):
(RunJavaScriptCoreTests.__init__): Deleted.
(RunWebKitTests.__init__): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r176262): Invalid cast in WebCore`WebCore::RootInlineBox::selectionTop
zalan@apple.com [Fri, 13 Feb 2015 12:48:09 +0000 (12:48 +0000)]
REGRESSION (r176262): Invalid cast in WebCore`WebCore::RootInlineBox::selectionTop
https://bugs.webkit.org/show_bug.cgi?id=138992

Reviewed by Dave Hyatt.

RenderRubyText requires the ancestor chain to be (RenderRubyAsInline | RenderRubyAsBlock) -> RenderRubyRun -> RenderRubyText.
This patch ensures that we create RenderRubyText for an <rt> element only when
the expected ancestor chain is guaranteed.

Source/WebCore:

Test: fast/ruby/crash-when-ruby-is-set-to-inline-block.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor): treat inline-block <ruby> as block.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRubyInline):
(WebCore::RenderObject::isRubyBlock):
(WebCore::RenderObject::isRuby): Deleted.
* rendering/RenderRuby.cpp:
(WebCore::isAnonymousRubyInlineBlock):
* rendering/RenderRuby.h: add support for is<RenderRubyAsBlock>(renderer) and for is<RenderRubyAsInline>(renderer)
The isRuby() method does not follow the is*() -> maps to one class pattern.
(WebCore::isRuby):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::staticCreateRubyRun):

LayoutTests:

* fast/ruby/crash-when-ruby-is-set-to-inline-block-expected.txt: Added.
* fast/ruby/crash-when-ruby-is-set-to-inline-block.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[BMalloc] Add a FIXME comment for memory alignas
gyuyoung.kim@samsung.com [Fri, 13 Feb 2015 09:43:26 +0000 (09:43 +0000)]
[BMalloc] Add a FIXME comment for memory alignas
https://bugs.webkit.org/show_bug.cgi?id=141556

Reviewed by Csaba Osztrogonác.

* bmalloc/Chunk.h: Add a FIXME comment.
* bmalloc/LargeChunk.h: ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFix the gperf related build issue on the WinCairo bot
ossy@webkit.org [Fri, 13 Feb 2015 09:19:04 +0000 (09:19 +0000)]
Fix the gperf related build issue on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=141507

Reviewed by Alex Christensen.

* platform/ColorData.gperf: Modified property svn:eol-style.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, remove empty directories.
ossy@webkit.org [Fri, 13 Feb 2015 09:15:14 +0000 (09:15 +0000)]
Unreviewed, remove empty directories.

.:

* ManualTests/qt: Removed.

Source/WebCore:

* loader/icon/wince: Removed.
* platform/graphics/wince: Removed.
* storage/wince: Removed.

Tools:

* DumpRenderTree/gtk: Removed.
* DumpRenderTree/gtk/fonts: Removed.
* DumpRenderTree/unix: Removed.
* DumpRenderTree/unix/TestNetscapePlugin: Removed.
* GtkLauncher: Removed.
* TestWebKitAPI/Tests/WebKitGtk: Removed.
* TestWebKitAPI/Tests/WebKitGtk/resources: Removed.
* WebKitTestRunner/WebKitTestRunnerAppTests: Removed.
* WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj: Removed.

Websites/perf.webkit.org:

* public/data: Removed.

Websites/webkit.org:

* blog/wp-includes/js/codepress: Removed.

LayoutTests:

* fast/forms/date-multiple-fields: Removed.
* fast/forms/datetimelocal-multiple-fields: Removed.
* fast/forms/month-multiple-fields: Removed.
* fast/forms/time-multiple-fields: Removed.
* fast/forms/week-multiple-fields: Removed.
* fast/js: Removed.
* http/tests/inspector-enabled: Removed.
* http/tests/inspector-enabled/resources: Removed.
* http/tests/inspector/appcache: Removed.
* http/tests/inspector/appcache/resources: Removed.
* http/tests/inspector/audits: Removed.
* http/tests/inspector/audits/resources: Removed.
* http/tests/inspector/indexeddb: Removed.
* http/tests/inspector/indexeddb/resources: Removed.
* http/tests/inspector/network: Removed.
* http/tests/inspector/network/resources: Removed.
* http/tests/inspector/resource-tree: Removed.
* http/tests/inspector/resource-tree/resources: Removed.
* http/tests/inspector/resources: Removed.
* http/tests/inspector/search: Removed.
* http/tests/inspector/search/resources: Removed.
* http/tests/inspector/stacktraces: Removed.
* http/tests/inspector/stacktraces/resources: Removed.
* http/tests/inspector/styles: Removed.
* http/tests/inspector/styles/resources: Removed.
* http/tests/inspector/websocket: Removed.
* http/tests/webgl/1.0.1: Removed.
* inspector-protocol/heap-profiler: Removed.
* inspector-protocol/heap-profiler/resources: Removed.
* inspector/console: Removed.
* inspector/console/resources: Removed.
* inspector/elements: Removed.
* inspector/elements/resources: Removed.
* inspector/profiler: Removed.
* inspector/runtime: Removed.
* inspector/styles: Removed.
* inspector/styles/resources: Removed.
* js/regress/resources: Removed.
* media/track/opera/track/webvtt/rendering/reftest/media: Removed.
* networkinformation: Removed.
* networkinformation/resources: Removed.
* networkinformation/script-tests: Removed.
* platform/efl-wk2/dom: Removed.
* platform/efl-wk2/dom/xhtml: Removed.
* platform/efl-wk2/inspector: Removed.
* platform/efl-wk2/tables: Removed.
* platform/efl-wk2/tables/mozilla: Removed.
* platform/gtk-wk1: Removed.
* platform/gtk-wk1/fast: Removed.
* platform/gtk-wk1/fast/css: Removed.
* platform/gtk-wk1/fast/loader: Removed.
* platform/gtk-wk1/fast/media: Removed.
* platform/gtk-wk1/fast/writing-mode: Removed.
* platform/gtk-wk1/http: Removed.
* platform/gtk-wk1/http/tests: Removed.
* platform/gtk-wk1/http/tests/cache: Removed.
* platform/gtk-wk1/http/tests/security: Removed.
* platform/gtk-wk1/http/tests/security/contentSecurityPolicy: Removed.
* platform/gtk-wk1/js: Removed.
* platform/gtk-wk1/js/dom: Removed.
* platform/gtk-wk1/loader: Removed.
* platform/gtk-wk1/scrollingcoordinator: Removed.
* platform/gtk-wk2/accessibility: Removed.
* platform/gtk-wk2/fast: Removed.
* platform/gtk-wk2/fast/events: Removed.
* platform/gtk-wk2/http: Removed.
* platform/gtk-wk2/http/tests: Removed.
* platform/gtk-wk2/http/tests/loading: Removed.
* platform/gtk-wk2/http/tests/misc: Removed.
* platform/gtk-wk2/http/tests/misc/authentication-redirect-1: Removed.
* platform/gtk-wk2/http/tests/misc/authentication-redirect-2: Removed.
* platform/gtk-wk2/http/tests/misc/authentication-redirect-4: Removed.
* platform/gtk-wk2/http/tests/security: Removed.
* platform/gtk-wk2/http/tests/security/401-logout: Removed.
* platform/gtk-wk2/http/tests/xmlhttprequest: Removed.
* platform/gtk-wk2/js: Removed.
* platform/gtk-wk2/js/dom: Removed.
* platform/gtk-wk2/plugins: Removed.
* platform/gtk-wk2/plugins/npruntime: Removed.
* platform/gtk/platform: Removed.
* platform/ios-simulator/editing/editability: Removed.
* platform/ios-simulator/editing/input: Removed.
* platform/ios-simulator/editing/secure-input: Removed.
* platform/ios-simulator/editing/shadow: Removed.
* platform/ios-simulator/editing/spelling: Removed.
* platform/ios-simulator/editing/text-iterator: Removed.
* platform/ios-simulator/editing/undo: Removed.
* platform/ios-simulator/editing/unsupported-content: Removed.
* platform/ios-simulator/fast/canvas/webgl: Removed.
* platform/ios-simulator/fast/css-grid-layout: Removed.
* platform/ios-simulator/fast/css/content: Removed.
* platform/ios-simulator/fast/css/image-orientation: Removed.
* platform/ios-simulator/fast/css/image-resolution: Removed.
* platform/ios-simulator/fast/css/style-scoped: Removed.
* platform/ios-simulator/fast/css3-text/css3-text-indent: Removed.
* platform/ios-simulator/fast/css3-text/css3-text-indent/getComputedStyle: Removed.
* platform/ios-simulator/fast/dom/Document: Removed.
* platform/ios-simulator/fast/dom/Document/CaretRangeFromPoint: Removed.
* platform/ios-simulator/fast/dom/Geolocation: Removed.
* platform/ios-simulator/fast/dom/HTMLAnchorElement: Removed.
* platform/ios-simulator/fast/dom/HTMLImageElement/sizes: Removed.
* platform/ios-simulator/fast/dom/MutationObserver: Removed.
* platform/ios-simulator/fast/dom/NavigatorContentUtils: Removed.
* platform/ios-simulator/fast/dom/Orientation: Removed.
* platform/ios-simulator/fast/dom/custom: Removed.
* platform/ios-simulator/fast/events/constructors: Removed.
* platform/ios-simulator/fast/events/scoped: Removed.
* platform/iphone-simulator: Removed.
* platform/iphone-simulator/fast: Removed.
* platform/iphone-simulator/fast/events: Removed.
* platform/mac-mavericks/fast/borders: Removed.
* platform/mac-wk2/fast/writing-mode: Removed.
* platform/mac-wk2/http/tests/plugins: Removed.
* platform/mac-wk2/js: Removed.
* platform/mac-wk2/js/dom: Removed.
* platform/mac-wk2/tiled-drawing/fixed: Removed.
* platform/mac-wk2/tiled-drawing/fixed-background: Removed.
* platform/mac-wk2/tiled-drawing/sticky: Removed.
* platform/mac/dom: Removed.
* platform/mac/dom/xhtml: Removed.
* platform/mac/fast/backgrounds/resources: Removed.
* platform/mac/media/W3C/audio: Removed.
* platform/mac/media/W3C/audio/canPlayType: Removed.
* platform/mac/platform/mac-wk2: Removed.
* platform/mac/platform/mac/editing/spelling: Removed.
* platform/mac/platform/mac/fast/forms: Removed.
* platform/win-wk2: Removed.
* platform/win-wk2/fast: Removed.
* platform/win-wk2/http: Removed.
* platform/win-wk2/platform: Removed.
* platform/win-wk2/svg: Removed.
* platform/win/canvas: Removed.
* platform/win/fast/xmlhttprequest: Removed.
* platform/win/loader: Removed.
* platform/wk2/tables: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemove Windows cruft from Tools/Scripts/build-webkittestrunner
ossy@webkit.org [Fri, 13 Feb 2015 08:48:54 +0000 (08:48 +0000)]
Remove Windows cruft from Tools/Scripts/build-webkittestrunner
https://bugs.webkit.org/show_bug.cgi?id=141519

Reviewed by Alexey Proskuryakov.

* Scripts/build-webkittestrunner:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
timothy_horton@apple.com [Fri, 13 Feb 2015 06:48:03 +0000 (06:48 +0000)]
Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
https://bugs.webkit.org/show_bug.cgi?id=141545
<rdar://problem/17712200>

Reviewed by Simon Fraser.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowScreenDidChange):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
windowScreenDidChange should take uint32_t, since that's what PlatformDisplayID is.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeDisplayRefreshMonitor is driven by the page's
RemoteLayerTreeDrawingArea. Because of this, we cannot have the same
sharing of DisplayRefreshMonitors that other platforms use.
In order to ensure that we get a unique DisplayRefreshMonitor
per-DrawingArea, give each page a unique DisplayID derived
from WebPage's unique ID.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] Mark some debug assertions.
bfulgham@apple.com [Fri, 13 Feb 2015 06:03:00 +0000 (06:03 +0000)]
[Win] Mark some debug assertions.

* platform/win/TestExpectations: Mark several debug assertions so
we don't end testing early.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] More media rebaselining.
bfulgham@apple.com [Fri, 13 Feb 2015 05:53:27 +0000 (05:53 +0000)]
[Win] More media rebaselining.

* platform/win/TestExpectations:
* platform/win/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
* platform/win/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrashes under detectItemAroundHitTestResult when DataDetectors is not available
timothy_horton@apple.com [Fri, 13 Feb 2015 03:59:28 +0000 (03:59 +0000)]
Crashes under detectItemAroundHitTestResult when DataDetectors is not available
https://bugs.webkit.org/show_bug.cgi?id=141549
<rdar://problem/19180955>

Reviewed by Dan Bernstein.

* editing/mac/DataDetection.mm:
(WebCore::DataDetection::detectItemAroundHitTestResult):
Bail out from data detection if either of the relevant frameworks aren't loaded.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180028 268f45cc-cd09-0410-ab3c-d52691b4dbfc