[css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
https://bugs.webkit.org/show_bug.cgi?id=102491

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-03-11
Reviewed by Julien Chaffraix.

Source/WebCore:

This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
the specification as we don't support [ left | right ] and this is left for another implementation
as the rendering will need to be added.

Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTextUnderlinePosition):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
Added parsing-related checks for text-underline-position property.
* css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
* css/CSSValueKeywords.in:
* css/SVGCSSValueKeywords.in:
* css/StyleBuilder.cpp:
(ApplyPropertyTextUnderlinePosition):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
(WebCore::StyleBuilder::StyleBuilder):
Set property handler for text-underline-position.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
Added support for m_textUnderlinePosition on copy constructor and operator
assignment functions.
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.

LayoutTests:

Added getComputedStyle layout tests for 'text-underline-position' CSS3
property, with 'webkit' prefix.

* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt: Added.
* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html: Added.
* fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js: Added.
(testElementStyle):
(testComputedStyle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
https://bugs.webkit.org/show_bug.cgi?id=96592

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-11
Reviewed by Hajime Morrita.

Source/WebCore:

Fixed logical left of RenderRubyText is not cleared.

This causes trouble when RenderRubyTest is laid out vertically after horizontally.
Horizontal layout set logical top(== y).
Vertical layout don't set logical left(== y).
RenderRubyText::y remain old one.
We clear old RenderRubyText::y at the first part of layout().

Test: fast/writing-mode/ruby-text-logical-left.html

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.

LayoutTests:

* fast/writing-mode/ruby-text-logical-left-expected.html: Added.
* fast/writing-mode/ruby-text-logical-left.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Move WebFileSystemCallbacks to Platform/
https://bugs.webkit.org/show_bug.cgi?id=112049

Reviewed by Adam Barth.

In preparation for moving filesystem-related methods from
WebFrameClient to Platform.

Source/Platform:

* Platform.gypi:
* chromium/public/WebFileError.h: Copied from Source/WebKit/chromium/public/WebFileError.h.
(WebKit):
* chromium/public/WebFileSystemCallbacks.h: Copied from Source/WebKit/chromium/public/WebFileSystemCallbacks.h.
(WebKit):
(WebFileSystemCallbacks):
(WebKit::WebFileSystemCallbacks::didCreateSnapshotFile):
(WebKit::WebFileSystemCallbacks::~WebFileSystemCallbacks):
* chromium/public/WebFileSystemEntry.h: Copied from Source/WebKit/chromium/public/WebFileSystemEntry.h.
(WebKit):
(WebKit::WebFileSystemEntry::WebFileSystemEntry):
(WebFileSystemEntry):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebFileError.h:
* public/WebFileSystemCallbacks.h:
* public/WebFileSystemEntry.h:
* public/WebFileWriterClient.h:
* src/AssertMatchingEnums.cpp:
* src/AsyncFileWriterChromium.h:
* src/LocalFileSystemChromium.cpp:
* src/WebFileSystemCallbacksImpl.cpp:
* src/WebFileSystemCallbacksImpl.h:
* src/WebSharedWorkerImpl.cpp:
* src/WebWorkerClientImpl.cpp:
* src/WorkerFileSystemCallbacksBridge.cpp:
* src/WorkerFileSystemCallbacksBridge.h:
* src/WorkerFileWriterCallbacksBridge.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
https://bugs.webkit.org/show_bug.cgi?id=111959

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The rationale is that the UserGestureIndicator will increase the number
of consumable user gestures when it's invoked with what is now
DefinitelyProcessingNewUserGesture.

In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
which will only increase the consumable user gesture count if we are
not already processing a user gesture.

No new tests, no change in functionality.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeScript):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
* dom/UserGestureIndicator.cpp:
(WebCore::isDefinite):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):
* dom/UserGestureIndicator.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::didStartTimer):
(WebCore::ScheduledRedirect::fire):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):
* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::handleMouseDownEvent):
(WebCore::PopupContainer::handleMouseMoveEvent):
(WebCore::PopupContainer::handleMouseReleaseEvent):
(WebCore::PopupContainer::handleWheelEvent):
(WebCore::PopupContainer::handleKeyEvent):

Source/WebKit/blackberry:

* WebKitSupport/NotificationManager.cpp:
(BlackBerry::WebKit::NotificationManager::notificationClicked):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::executeScriptAndReturnValue):
* src/WebNotification.cpp:
(WebKit::WebNotification::dispatchClickEvent):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleEvent):
(WebKit::WebPluginContainerImpl::loadFrameRequest):
* src/WebScopedUserGesture.cpp:
(WebKit::WebScopedUserGesture::initialize):
* tests/WebUserGestureTokenTest.cpp:
(WebCore::TEST):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::notificationClicked):

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::searchWithGoogle):

Source/WebKit2:

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::didClickNotification):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::evaluate):
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::searchWithGoogle):


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