user-select: none cursor turns to I-beam on mouse dragging
https://bugs.webkit.org/show_bug.cgi?id=90159

Patch by Vani Hegde <vani.hegde@samsung.com> on 2013-09-30
Reviewed by Ryosuke Niwa.

Source/WebCore:

When tried to select some text in an area that has style
cursor:default set, cursor type changes to text cursor ignoring
the cursor style that is explicitly set.

When the cursor style is explicitly set as default (or something else),
we should not change it to text cursor no matter what we are over
or what operation we are performing (be it hovering over the text
or selecting the text).

During text selection, changing the cursor type to text only when
there is no explicit cursor type set fixes the issue.

Test: editing/caret/selection-with-caret-type-progress.html

* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
During selection, set the cursor style to text only if there is no
explicit cursor style set.

LayoutTests:

Test case added to verify that explicitly set cursor style
is retained on performing text selection.

* editing/caret/selection-with-caret-type-progress-expected.txt: Added.
* editing/caret/selection-with-caret-type-progress.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Generate toCSSFooValue for CSSGradientValue, CSSLinearGradientValue and CSSRadialGradient
https://bugs.webkit.org/show_bug.cgi?id=122060

Reviewed by Antti Koivisto.

As a step to generate toCSSFooValue, toCSSGradientValuem toCSSLinearGradientValue and
toCSSRadialGradient are generated. isLinearGradient() and isRadialGradient() are moved
from each class to CSSValue in order to generate toCSSFooValue.

No new tests, no behavior change.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::gradientWithStylesResolved):
* css/CSSGradientValue.h:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::loadSubimages):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseDeprecatedGradient):
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isLinearGradient):
(WebCore::CSSValue::isRadialGradient):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Speculative build fix on ARMv7 Thumb2 after r156490.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::fmodAsDFGOperation):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Implement the grid-area shorthand
https://bugs.webkit.org/show_bug.cgi?id=103334

Reviewed by Andreas Kling.

Source/WebCore:

Based on Blink r151684 by <jchaffraix@chromium.org>

Test: fast/css-grid-layout/grid-item-area-get-set.html

Added support to specify grid positions using the
'-webkit-grid-area' shorthand. Named grid areas are still not
allowed, to be done in a follow up patch as it likely requires
'-webkit-grid-template' support.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
* css/CSSPropertyNames.in:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitGridAreaShorthand):
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

From Blink r151684 by <jchaffraix@chromium.org>

* fast/css-grid-layout/grid-item-area-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-item-area-get-set.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of static map for marking ancestor line boxes dirty
https://bugs.webkit.org/show_bug.cgi?id=122080

Reviewed by Andreas Kling.
        
This is ugly and shows up in profiles too. Use a bit in RenderElement instead.

* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
        
    Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
        
    Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.

(WebCore::RenderElement::dirtyLinesFromChangedChild):
(WebCore::RenderElement::ancestorLineBoxDirty):
(WebCore::RenderElement::setAncestorLineBoxDirty):
(WebCore::RenderObject::setNeedsLayout):
* rendering/RenderInline.h:
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
            
    Tighten the interface.

* rendering/RenderLineBoxList.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
* rendering/RenderObject.h:
        
    Remove the static map.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[webkitpy] Make the Xvfb screen depth overridable
https://bugs.webkit.org/show_bug.cgi?id=122089

Reviewed by Gyuyoung Kim.

Make the Xvfb screen depth overridable by checking if the XVFB_SCREEN_DEPTH environment variable
was set. The default value that's used if the variable wasn't set is 24.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_screen_depth):
(XvfbDriver._start):
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_next_free_display):
(XvfbDriverTest.test_start_next_worker):


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