WebKit-https.git
8 years agoAdd ARM-NEON support to VectorMath in WebAudio
rgabor@webkit.org [Fri, 5 Oct 2012 12:47:40 +0000 (12:47 +0000)]
Add ARM-NEON support to VectorMath in WebAudio
https://bugs.webkit.org/show_bug.cgi?id=98131

Reviewed by Zoltan Herczeg.

Speed up vector operations in WebAudio with NEON intrinsics.

* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vsma):
(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
(WebCore::VectorMath::vmul):
(WebCore::VectorMath::zvmul):
(WebCore::VectorMath::vsvesq):
(WebCore::VectorMath::vmaxmgv):

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

8 years agoUnreviewed, rolling out r130495.
hausmann@webkit.org [Fri, 5 Oct 2012 12:36:36 +0000 (12:36 +0000)]
Unreviewed, rolling out r130495.
http://trac.webkit.org/changeset/130495
https://bugs.webkit.org/show_bug.cgi?id=98268

Source/WebCore:

Made WK2 tests crash.

* Target.pri:
* platform/qt/QStyleFacade.cpp: Removed.
* platform/qt/QStyleFacade.h: Removed.

Source/WebKit:

Made WK2 tests crash....

* WebKit1.pro:

Source/WebKit/qt:

Made WK2 tests crash.

* WebCoreSupport/InitWebCoreQt.cpp:
(WebCore::initializeWebCoreQt):
* WebCoreSupport/QStyleFacadeImp.cpp: Removed.
* WebCoreSupport/QStyleFacadeImp.h: Removed.
* WebCoreSupport/RenderThemeQStyle.cpp: Renamed from Source/WebCore/platform/qt/RenderThemeQStyle.cpp.
(WebCore):
(WebCore::initStyleOption):
(WebCore::RenderThemeQStyle::getStylePainter):
(WebCore::StylePainterQStyle::StylePainterQStyle):
(WebCore::StylePainterQStyle::init):
(WebCore::RenderThemeQStyle::create):
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::~RenderThemeQStyle):
(WebCore::RenderThemeQStyle::fallbackStyle):
(WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQStyle::qStyle):
(WebCore::RenderThemeQStyle::findFrameLineWidth):
(WebCore::RenderThemeQStyle::inflateButtonRect):
(WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::setButtonPadding):
(WebCore::RenderThemeQStyle::paintButton):
(WebCore::RenderThemeQStyle::paintTextField):
(WebCore::RenderThemeQStyle::adjustTextAreaStyle):
(WebCore::RenderThemeQStyle::paintTextArea):
(WebCore::RenderThemeQStyle::setPopupPadding):
(WebCore::RenderThemeQStyle::colorPalette):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuListButton):
(WebCore::RenderThemeQStyle::animationDurationForProgressBar):
(WebCore::RenderThemeQStyle::paintProgressBar):
(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
(WebCore::RenderThemeQStyle::paintSliderThumb):
(WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
(WebCore::RenderThemeQStyle::paintSearchField):
(WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
(WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
(WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
(WebCore::RenderThemeQStyle::adjustSliderThumbSize):
* WebCoreSupport/RenderThemeQStyle.h: Renamed from Source/WebCore/platform/qt/RenderThemeQStyle.h.
(WebCore):
(RenderThemeQStyle):
(StylePainterQStyle):
(WebCore::StylePainterQStyle::isValid):
(WebCore::StylePainterQStyle::drawPrimitive):
(WebCore::StylePainterQStyle::drawControl):
(WebCore::StylePainterQStyle::drawComplexControl):
* WebCoreSupport/ScrollbarThemeQStyle.cpp: Renamed from Source/WebCore/platform/qt/ScrollbarThemeQStyle.cpp.
(WebCore):
(WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
(WebCore::scPart):
(WebCore::scrollbarPart):
(WebCore::styleOptionSlider):
(WebCore::ScrollbarThemeQStyle::paint):
(WebCore::ScrollbarThemeQStyle::hitTest):
(WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
(WebCore::ScrollbarThemeQStyle::invalidatePart):
(WebCore::ScrollbarThemeQStyle::scrollbarThickness):
(WebCore::ScrollbarThemeQStyle::thumbPosition):
(WebCore::ScrollbarThemeQStyle::thumbLength):
(WebCore::ScrollbarThemeQStyle::trackPosition):
(WebCore::ScrollbarThemeQStyle::trackLength):
(WebCore::ScrollbarThemeQStyle::paintScrollCorner):
(WebCore::ScrollbarThemeQStyle::style):
* WebCoreSupport/ScrollbarThemeQStyle.h: Renamed from Source/WebCore/platform/qt/ScrollbarThemeQStyle.h.
(WebCore):
(ScrollbarThemeQStyle):

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

8 years ago[Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
hausmann@webkit.org [Fri, 5 Oct 2012 11:43:58 +0000 (11:43 +0000)]
[Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=98268

Reviewed by Tor Arne Vestbø.

Source/WebCore:

Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.

QStyleFacade is a pure interface that lives in WebCore/platform/qt
(next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
minimal interface of what we need to draw with QStyle as well as basic
hit testing and metric retrieval. It also provides a
QStyleFacadeOption class that aggregates common meta-data for
rendering primitives, such as direction, rectangle, state (sunken,
enabled, etc.) or palette. It also provides some more slider/scrollbar
specific fields in a slider sub-structure.

RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
them with state information from render objects, before calling straight to QStyle. Most of the common code
was encapsulated in StylePainterQStyle.

The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
StylePainterQStyle to populate state into QStyleFacadeOption before
calling into QStyleFacade.

The style facade is then implemented by QStyleFacadeImp, which extracts
meta-data from QStyleFacadeOption arguments, populates style
primitive specific QStyleOption objects and then calls on QStyle.

RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
from QStyleFacade. QStyleFacadeImp on the other hand will live in the
separate QtWebKitWidgets library in the future and therefore cannot use
any WebCore types.

* Target.pri:
* platform/qt/QStyleFacade.cpp: Added.
(WebCore):
(WebCore::QStyleFacade::styleForPage):
* platform/qt/QStyleFacade.h: Added.
(WebCore):
(QStyleFacade):
(WebCore::QStyleFacade::~QStyleFacade):
(WebCore::QStyleFacadeOption::QStyleFacadeOption):
(QStyleFacadeOption):
* platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
(WebCore):
(WebCore::RenderThemeQStyle::getStylePainter):
(WebCore::StylePainterQStyle::StylePainterQStyle):
(WebCore::StylePainterQStyle::init):
(WebCore::RenderThemeQStyle::create):
(WebCore::RenderThemeQStyle::setStyleFactoryFunction):
(WebCore::RenderThemeQStyle::styleFactory):
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::~RenderThemeQStyle):
(WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQStyle::inflateButtonRect):
(WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::setButtonPadding):
(WebCore::RenderThemeQStyle::paintButton):
(WebCore::RenderThemeQStyle::paintTextField):
(WebCore::RenderThemeQStyle::adjustTextAreaStyle):
(WebCore::RenderThemeQStyle::paintTextArea):
(WebCore::RenderThemeQStyle::setPopupPadding):
(WebCore::RenderThemeQStyle::colorPalette):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuListButton):
(WebCore::RenderThemeQStyle::animationDurationForProgressBar):
(WebCore::RenderThemeQStyle::paintProgressBar):
(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
(WebCore::RenderThemeQStyle::paintSliderThumb):
(WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
(WebCore::RenderThemeQStyle::paintSearchField):
(WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
(WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
(WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
(WebCore::RenderThemeQStyle::adjustSliderThumbSize):
* platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h.
(WebCore):
(RenderThemeQStyle):
(WebCore::RenderThemeQStyle::qStyle):
(StylePainterQStyle):
(WebCore::StylePainterQStyle::isValid):
(WebCore::StylePainterQStyle::paintButton):
(WebCore::StylePainterQStyle::paintTextField):
(WebCore::StylePainterQStyle::paintComboBox):
(WebCore::StylePainterQStyle::paintComboBoxArrow):
(WebCore::StylePainterQStyle::paintSliderTrack):
(WebCore::StylePainterQStyle::paintSliderThumb):
(WebCore::StylePainterQStyle::paintInnerSpinButton):
(WebCore::StylePainterQStyle::paintProgressBar):
(WebCore::StylePainterQStyle::paintScrollCorner):
(WebCore::StylePainterQStyle::paintScrollBar):
* platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp.
(WebCore):
(WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
(WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
(WebCore::scPart):
(WebCore::scrollbarPart):
(WebCore::initSliderStyleOption):
(WebCore::ScrollbarThemeQStyle::paint):
(WebCore::ScrollbarThemeQStyle::hitTest):
(WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
(WebCore::ScrollbarThemeQStyle::invalidatePart):
(WebCore::ScrollbarThemeQStyle::scrollbarThickness):
(WebCore::ScrollbarThemeQStyle::thumbPosition):
(WebCore::ScrollbarThemeQStyle::thumbLength):
(WebCore::ScrollbarThemeQStyle::trackPosition):
(WebCore::ScrollbarThemeQStyle::trackLength):
(WebCore::ScrollbarThemeQStyle::paintScrollCorner):
* platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h.
(WebCore):
(ScrollbarThemeQStyle):
(WebCore::ScrollbarThemeQStyle::qStyle):

Source/WebKit:

* WebKit1.pro: Add new files to the build.

Source/WebKit/qt:

Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.

QStyleFacade is a pure interface that lives in WebCore/platform/qt
(next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
minimal interface of what we need to draw with QStyle as well as basic
hit testing and metric retrieval. It also provides a
QStyleFacadeOption class that aggregates common meta-data for
rendering primitives, such as direction, rectangle, state (sunken,
enabled, etc.) or palette. It also provides some more slider/scrollbar
specific fields in a slider sub-structure.

RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
them with state information from render objects, before calling straight to QStyle. Most of the common code
was encapsulated in StylePainterQStyle.

The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
StylePainterQStyle to populate state into QStyleFacadeOption before
calling into QStyleFacade.

The style facade is then implemented by QStyleFacadeImp, which extracts
meta-data from QStyleFacadeOption arguments, populates style
primitive specific QStyleOption objects and then calls on QStyle.

RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
from QStyleFacade. QStyleFacadeImp on the other hand will live in the
separate QtWebKitWidgets library in the future and therefore cannot use
any WebCore types.

* WebCoreSupport/InitWebCoreQt.cpp:
(WebCore::initializeWebCoreQt):
* WebCoreSupport/QStyleFacadeImp.cpp: Added.
(WebKit):
(WebKit::convertToQStyleState):
(WebKit::convertToQStyleSubControl):
(WebKit::initGenericStyleOption):
(WebKit::initSpecificStyleOption):
(MappedStyleOption):
(WebKit::MappedStyleOption::MappedStyleOption):
(WebKit::convertPixelMetric):
(WebKit::convertToQStyleFacadeSubControl):
(WebKit::QStyleFacadeImp::QStyleFacadeImp):
(WebKit::QStyleFacadeImp::~QStyleFacadeImp):
(WebKit::QStyleFacadeImp::buttonSubElementRect):
(WebKit::QStyleFacadeImp::findFrameLineWidth):
(WebKit::QStyleFacadeImp::simplePixelMetric):
(WebKit::QStyleFacadeImp::buttonMargin):
(WebKit::QStyleFacadeImp::sliderLength):
(WebKit::QStyleFacadeImp::sliderThickness):
(WebKit::QStyleFacadeImp::progressBarChunkWidth):
(WebKit::QStyleFacadeImp::getButtonMetrics):
(WebKit::QStyleFacadeImp::sizeFromContents):
(WebKit::QStyleFacadeImp::paintButton):
(WebKit::QStyleFacadeImp::paintTextField):
(WebKit::QStyleFacadeImp::paintComboBox):
(WebKit::QStyleFacadeImp::paintComboBoxArrow):
(WebKit::QStyleFacadeImp::paintSliderTrack):
(WebKit::QStyleFacadeImp::paintSliderThumb):
(WebKit::QStyleFacadeImp::paintInnerSpinButton):
(WebKit::QStyleFacadeImp::paintProgressBar):
(WebKit::QStyleFacadeImp::scrollBarExtent):
(WebKit::QStyleFacadeImp::scrollBarMiddleClickAbsolutePositionStyleHint):
(WebKit::QStyleFacadeImp::paintScrollCorner):
(WebKit::QStyleFacadeImp::hitTestScrollBar):
(WebKit::QStyleFacadeImp::scrollBarSubControlRect):
(WebKit::QStyleFacadeImp::paintScrollBar):
(WebKit::QStyleFacadeImp::widgetForPainter):
(WebKit::QStyleFacadeImp::style):
* WebCoreSupport/QStyleFacadeImp.h: Added.
(WebCore):
(WebKit):
(QStyleFacadeImp):
(WebKit::QStyleFacadeImp::create):
(WebKit::QStyleFacadeImp::isValid):

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

8 years ago[EFL][WK2] Remove "web" word from ewk_web_error APIs
commit-queue@webkit.org [Fri, 5 Oct 2012 11:33:03 +0000 (11:33 +0000)]
[EFL][WK2] Remove "web" word from ewk_web_error APIs
https://bugs.webkit.org/show_bug.cgi?id=97886

Patch by Jongseok Yang <js45.yang@samsung.com> on 2012-10-05
Reviewed by Gyuyoung Kim.

Remove "web" word from ewk_web_error APIs.
"web" word was redundant because "ewk" means "EFL WebKit" and WK APIs for error does not have "web" word.

Source/WebKit2:

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didFail):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/API/efl/ewk_error.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.cpp.
(_Ewk_Error):
(_Ewk_Error::_Ewk_Error):
(_Ewk_Error::~_Ewk_Error):
(ewk_error_free):
(ewk_error_type_get):
(ewk_error_url_get):
(ewk_error_code_get):
(ewk_error_description_get):
(ewk_error_cancellation_get):
(ewk_error_new):
* UIProcess/API/efl/ewk_error.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.h.
* UIProcess/API/efl/ewk_error_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error_private.h.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_resource_load_failed):
(ewk_view_download_job_failed):
(ewk_view_load_error):
(ewk_view_load_provisional_failed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFailLoadWithErrorForFrame):
(didFailProvisionalLoadWithErrorForFrame):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didFailLoadForResource):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(on_download_failed):

Tools:

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

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

8 years ago[WK2][GTK] WebPageAccessibilityObject leaking
commit-queue@webkit.org [Fri, 5 Oct 2012 11:30:07 +0000 (11:30 +0000)]
[WK2][GTK] WebPageAccessibilityObject leaking
https://bugs.webkit.org/show_bug.cgi?id=98502

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-05
Reviewed by Carlos Garcia Campos.

Use GRefPtr on the accessibility object to fix the leak.

* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::updateAccessibilityTree):

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

8 years ago[EFL][WK2] Add API to count the matching text
commit-queue@webkit.org [Fri, 5 Oct 2012 10:59:27 +0000 (10:59 +0000)]
[EFL][WK2] Add API to count the matching text
https://bugs.webkit.org/show_bug.cgi?id=97873

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-10-05
Reviewed by Gyuyoung Kim.

Add an API, ewk_view_text_matches_count(), to count the matched text in the document.
This API does not highlight the matched text in the document unlike ewk_view_text_find().

ewk_view_text_find() finds the matching text and but also update the UI view,
but some applications may not want to affect the view, and just want to know the count.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_text_matches_count):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

8 years ago[GTK] Add support for GBytes in GRefPtr
commit-queue@webkit.org [Fri, 5 Oct 2012 10:23:16 +0000 (10:23 +0000)]
[GTK] Add support for GBytes in GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=98489

Patch by Simon Pena <spena@igalia.com> on 2012-10-05
Reviewed by Carlos Garcia Campos.

Adding support for GBytes in GRefPtr makes it easier
for them to be used when adding GResources support,
and is more consistent with the rest of the port.

This calls g_bytes_ref and g_bytes_unref in the implementation
of the refPtr and derefPtr template functions, in case the GLib
version is met. Otherwise, it does nothing.

* wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref.
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h: Define the GBytes datatype.

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

8 years ago[WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
commit-queue@webkit.org [Fri, 5 Oct 2012 09:19:34 +0000 (09:19 +0000)]
[WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
https://bugs.webkit.org/show_bug.cgi?id=98384

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-05
Reviewed by Gyuyoung Kim.

Free the standard_output returned by g_spawn_sync() to avoid
a memory leak.

* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):

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

8 years agoIncomplete repaint of boxes with inset box-shadow and padding when resized
commit-queue@webkit.org [Fri, 5 Oct 2012 09:09:29 +0000 (09:09 +0000)]
Incomplete repaint of boxes with inset box-shadow and padding when resized
https://bugs.webkit.org/show_bug.cgi?id=59863

Patch by Andrei Bucur <abucur@adobe.com> on 2012-10-05
Reviewed by Simon Fraser.

Source/WebCore:

The patch extends the repaint rectangle to include the inset shadow extent for renderers that resize and need to be repainted. The rectangle computations are also better fragmented and easier to read.

New Test: fast/repaint/box-shadow-inset-repaint.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getShadowInsetExtent):
(WebCore):
* rendering/style/RenderStyle.h:

LayoutTests:

The patch adds a new pixel test and expected PNG results for mac and chromium-mac. The test fails on Chromium Linux EWS (and maybe others)
so I've added a rule in the TestExpectations file.

* platform/chromium/TestExpectations:
* fast/repaint/box-shadow-inset-repaint.html: Added.
* platform/chromium-mac/fast/repaint/box-shadow-inset-repaint-expected.png: Added.
* platform/mac/fast/repaint/box-shadow-inset-repaint-expected.png: Added.
* platform/mac/fast/repaint/box-shadow-inset-repaint-expected.txt: Added.

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

8 years ago[Qt] Remove dead code
commit-queue@webkit.org [Fri, 5 Oct 2012 09:00:46 +0000 (09:00 +0000)]
[Qt] Remove dead code
https://bugs.webkit.org/show_bug.cgi?id=98491

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-10-05
Reviewed by Jocelyn Turcotte.

This code was added long time ago for a Symbian related project and is
not needed anymore.

* Api/qwebframe.cpp:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 5 Oct 2012 08:49:00 +0000 (08:49 +0000)]
Unreviewed GTK gardening.

Updating platform-specific baselines after r130411.
Removing platform-specific baselines for CSS compositing tests
and skipping these tests entirely as the feature is not yet enabled
on the GTK port.

* platform/gtk/TestExpectations:
* platform/gtk/css3/compositing: Removed.
* platform/gtk/css3/compositing/blend-mode-property-expected.txt: Removed.
* platform/gtk/css3/compositing/blend-mode-property-parsing-expected.txt: Removed.
* platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/gtk/editing/execCommand/paste-1-expected.txt:
* platform/gtk/editing/pasteboard/8145-3-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/gtk/editing/pasteboard/paste-text-009-expected.txt:
* platform/gtk/editing/pasteboard/smart-paste-007-expected.txt:
* platform/gtk/editing/pasteboard/unrendered-br-expected.txt:

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

8 years ago[Qt] Enable CSS compositing by default
ossy@webkit.org [Fri, 5 Oct 2012 08:33:34 +0000 (08:33 +0000)]
[Qt] Enable CSS compositing by default
https://bugs.webkit.org/show_bug.cgi?id=98490

Reviewed by Simon Hausmann.

Tools:

* qmake/mkspecs/features/features.pri:

LayoutTests:

* platform/qt/css3/compositing/should-have-compositing-layer-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/css3/compositing/should-have-compositing-layer-expected.txt.

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

8 years ago[Chromium] Test expectation update
tkent@chromium.org [Fri, 5 Oct 2012 08:17:53 +0000 (08:17 +0000)]
[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=98481

r130477 affects month-multiple-fields tests too.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rolling out r130466.
ossy@webkit.org [Fri, 5 Oct 2012 08:12:33 +0000 (08:12 +0000)]
Unreviewed, rolling out r130466.
http://trac.webkit.org/changeset/130466
https://bugs.webkit.org/show_bug.cgi?id=98495

It made 12 tests crash on Qt-WK2 (Requested by Ossy on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-05

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::focus):
(WTR::TestController::initialize):

LayoutTests:

* platform/efl-wk2/TestExpectations:

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

8 years agoUnreviewed, rolling out r130478.
ossy@webkit.org [Fri, 5 Oct 2012 08:09:48 +0000 (08:09 +0000)]
Unreviewed, rolling out r130478.
http://trac.webkit.org/changeset/130478
https://bugs.webkit.org/show_bug.cgi?id=98494

It broke the Qt build (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-05

* wtf/gobject/GRefPtr.cpp:
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h:

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

8 years agoAdd appearance tests for input[type=date] with multiple fields
tkent@chromium.org [Fri, 5 Oct 2012 07:58:30 +0000 (07:58 +0000)]
Add appearance tests for input[type=date] with multiple fields
https://bugs.webkit.org/show_bug.cgi?id=98479

Reviewed by Kentaro Hara.

* fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-style.html: Added.
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png: Added.
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png: Added.
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png: Added.
* platform/chromium/TestExpectations:

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

8 years ago[EFL][WK2] Remove "web" word from ewk_resource APIs
commit-queue@webkit.org [Fri, 5 Oct 2012 07:46:58 +0000 (07:46 +0000)]
[EFL][WK2] Remove "web" word from ewk_resource APIs
https://bugs.webkit.org/show_bug.cgi?id=97887

Patch by Jongseok Yang <js45.yang@samsung.com> on 2012-10-05
Reviewed by Gyuyoung Kim.

Remove "web" word from ewk_web_resource APIs.
"web" word was redundant because "ewk" means "EFL WebKit" and enough to understand the meaning with ewk_resource_XXX.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_resource.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.cpp.
(_Ewk_Resource):
(_Ewk_Resource::_Ewk_Resource):
(_Ewk_Resource::~_Ewk_Resource):
(ewk_resource_ref):
(ewk_resource_unref):
(ewk_resource_url_get):
(ewk_resource_new):
(ewk_resource_main_resource_get):
* UIProcess/API/efl/ewk_resource.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.h.
* UIProcess/API/efl/ewk_resource_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource_private.h.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):

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

8 years ago[GTK] Add support for GBytes in GRefPtr
commit-queue@webkit.org [Fri, 5 Oct 2012 07:40:18 +0000 (07:40 +0000)]
[GTK] Add support for GBytes in GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=98489

Patch by Simon Pena <spena@igalia.com> on 2012-10-05
Reviewed by Carlos Garcia Campos.

Adding support for GBytes in GRefPtr makes it easier
for them to be used when adding GResources support,
and is more consistent with the rest of the port.

This calls g_bytes_ref and g_bytes_unref in the implementation
of the refPtr and derefPtr template functions.

* wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref.
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h: Define the GBytes datatype.

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

8 years agoFix sub-field width to the maximum width of a placeholder and the maximum value
tkent@chromium.org [Fri, 5 Oct 2012 07:35:58 +0000 (07:35 +0000)]
Fix sub-field width to the maximum width of a placeholder and the maximum value
https://bugs.webkit.org/show_bug.cgi?id=98481

Reviewed by Hajime Morita.

Source/WebCore:

We can't assume a placeholder text is shorter than the width of
digits. The placeholder string for the year field of
input[type=week] is "----", but input[type=date] will have a
localized string for it.

We should set the 'width' CSS property to the maximum of the
placeholder width and the maximum value width in order to prevent
the field width from growing/narrowing.

Before this patch, we secured four digits space for a year field,
and allowed the field to grow its width when a larger year is
set. After this patch, we don't allow it to grow because the
'width' property is set to the maximum width.

Update week-multiple-fields-appearance-basic.html, and the
following tests are affected.
- fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html
- fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html
- fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html

* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
Enable customStyleForRenderer.
(WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
Added. The code is similar to DateTimeSymbolicFieldElement::customStyleForRenderer().
(WebCore::DateTimeNumericFieldElement::formatValue):
Made a function with the code in value(). This is used in
customStyleForRenderer() and value().
(WebCore::DateTimeNumericFieldElement::value): Use formatValue().
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Declare new functions.

LayoutTests:

Update a test and test expectations.

* fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.txt:
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic.html:
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png:
* platform/chromium/TestExpectations:

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

8 years agoImprove spelling and performance of Localizer.cpp
tkent@chromium.org [Fri, 5 Oct 2012 07:27:23 +0000 (07:27 +0000)]
Improve spelling and performance of Localizer.cpp
https://bugs.webkit.org/show_bug.cgi?id=98485

Reviewed by Kentaro Hara.

Some improvements pointed in webkit.org/b/98229#c5.

No new tests because of no behavior change.

* platform/text/Localizer.h:
(Localizer):
 - Rename dateTimeFormatWithSecond to dateTimeFormatWithSeconds
 - Rename dateTimeFormatWithoutSecond to dateTimeFormatWithoutSeconds
 - Add data members: m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
* platform/text/Localizer.cpp:
(WebCore::Localizer::timeFormat): Check isNull instead of isEmpty
(WebCore::Localizer::shortTimeFormat): Ditto.
(WebCore::Localizer::dateTimeFormatWithSeconds):
- Renamed.
- Cache the concatenation result to a data member.
(WebCore::Localizer::dateTimeFormatWithoutSeconds): Ditto.

* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::setupLayoutParameters): Follow the renaming.
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.

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

8 years ago[EFL][WK2][WTR] Unskip parser-tests-110.html test case.
commit-queue@webkit.org [Fri, 5 Oct 2012 07:21:26 +0000 (07:21 +0000)]
[EFL][WK2][WTR] Unskip parser-tests-110.html test case.
https://bugs.webkit.org/show_bug.cgi?id=98484

Unreviewed EFL gardening.

fast/encoding/parser-tests-110.html test case has been passed consistently.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-10-05

* platform/efl-wk2/TestExpectations:

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

8 years ago[Qt] Gardening, skip some failing test.
ossy@webkit.org [Fri, 5 Oct 2012 07:19:28 +0000 (07:19 +0000)]
[Qt] Gardening, skip some failing test.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-10-05
Reviewed by Csaba Osztrogonác.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

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

8 years ago[EFL] Fix window resizing / moving in WK1 and WKTR
commit-queue@webkit.org [Fri, 5 Oct 2012 07:16:48 +0000 (07:16 +0000)]
[EFL] Fix window resizing / moving in WK1 and WKTR
https://bugs.webkit.org/show_bug.cgi?id=98486

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-05
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Fix ChromeClientEfl::windowRect() code to use
ecore_evas_request_geometry_get() instead of
evas_object_geometry_get() and therefore avoid
returning incorrect values when the engine has
not processed a call to ecore_evas_move_resize()
yet. This fixes a couple of layout tests.

The code was also refactored a bit for
consistency with the WebKit2 EFL implementation.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::windowRect):
(WebCore::ChromeClientEfl::setWindowRect):

Tools:

Fix PlatformWebView::windowFrame() and
PlatformWebView::setWindowFrame() in EFL's WKTR so
that it resizes / moves the window, not the view.

The new code matches the implementation in EwkView's
UIClient.

* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):

LayoutTests:

Unskip 2 window resizing / moving tests now that
the implementation for those has been fixed in
WebKit1 EFL.

* platform/efl-wk1/TestExpectations:

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

8 years ago[EFL][WK2] Fix destination path when download with suggested filename on the Minibrowser
commit-queue@webkit.org [Fri, 5 Oct 2012 06:58:57 +0000 (06:58 +0000)]
[EFL][WK2] Fix destination path when download with suggested filename on the Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=98334

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-10-04
Reviewed by Gyuyoung Kim.

Add callback functions for download requests to Minibrowser to set the destination path for download.
Set the destination path with suggested file name as (destination folder) + (suggested file name).
The 'destination folder' should be a specific folder user selected, but is set to '/tmp' for now.

Additionally, for printing out the download status,
use the info macro and set the verbose variable to 1 to enable it.

* MiniBrowser/efl/main.c:
(on_download_request):
(on_download_finished):
(on_download_failed):
(browserCreate):

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

8 years ago[WebSocket] ExtensionParser should have its own file
bashi@chromium.org [Fri, 5 Oct 2012 06:57:34 +0000 (06:57 +0000)]
[WebSocket] ExtensionParser should have its own file
https://bugs.webkit.org/show_bug.cgi?id=98475

Reviewed by Yuta Kitamura.

Source/WebCore:

Factor out ExtensionParser from WebSocketExtensionDispatcher and rename it as WebSocketExtensionParser.
WebSocketExtensionParser has its own file.

No changes in behavior. Added a test case for parsing Sec-WebSocket-Extensions field as a chromium unit test.

* CMakeLists.txt: Added WebSocketExtensionParser.
* GNUmakefile.list.am: Ditto.
* Modules/websockets/WebSocketExtensionDispatcher.cpp:
(WebCore::WebSocketExtensionDispatcher::processHeaderValue):
Use WebSocketExtensionParser::parseExtension() to parser extension header value.
* Modules/websockets/WebSocketExtensionParser.cpp: Added.
(WebCore):
(WebCore::WebSocketExtensionParser::finished): Moved from ExtensionParser.
(WebCore::WebSocketExtensionParser::parsedSuccessfully): Ditto.
(WebCore::isSeparator): Ditto.
(WebCore::WebSocketExtensionParser::skipSpaces): Ditto.
(WebCore::WebSocketExtensionParser::consumeToken): Ditto.
(WebCore::WebSocketExtensionParser::consumeQuotedString): Ditto.
(WebCore::WebSocketExtensionParser::consumeQuotedStringOrToken): Ditto.
(WebCore::WebSocketExtensionParser::consumeCharacter): Ditto.
(WebCore::WebSocketExtensionParser::parseExtension): Moved from WebSocketExtensionDispatcher.
* Modules/websockets/WebSocketExtensionParser.h: Added.
(WebCore):
(WebSocketExtensionParser):
(WebCore::WebSocketExtensionParser::WebSocketExtensionParser):
(WebCore::WebSocketExtensionParser::currentToken):
* Target.pri: Added WebSocketExtensionParser.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

Source/WebKit/chromium:

Add a test for parsing Sec-WebSocket-Extensions field.

* tests/WebSocketExtensionDispatcherTest.cpp:
(WebCore):
(WebCore::TEST_F):

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

8 years ago[EFL][WK2] ewk_web_error_free is not a public API
ryuan.choi@samsung.com [Fri, 5 Oct 2012 06:55:23 +0000 (06:55 +0000)]
[EFL][WK2] ewk_web_error_free is not a public API
https://bugs.webkit.org/show_bug.cgi?id=98482

Reviewed by Gyuyoung Kim.

Because Ewk_Web_Error is just passed as a parameter of callback function
and maintained internally, ewk_web_error_free should not be a public API.

This patch moves ewk_web_error_free from public header to private header.

* UIProcess/API/efl/ewk_context_download_client.cpp:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
* UIProcess/API/efl/ewk_web_error.cpp:
* UIProcess/API/efl/ewk_web_error.h:
* UIProcess/API/efl/ewk_web_error_private.h:

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

8 years ago<input> size attribute should throw INDEX_SIZE_ERR when set to 0
commit-queue@webkit.org [Fri, 5 Oct 2012 06:41:30 +0000 (06:41 +0000)]
<input> size attribute should throw INDEX_SIZE_ERR when set to 0
https://bugs.webkit.org/show_bug.cgi?id=61675

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-10-04
Reviewed by Kent Tamura.

Source/WebCore:

According to the spec, the size IDL attribute of input elements is limited
to only non-negative numbers greater than zero. It should throw INDEX_SIZE_ERR
exception when set to 0. New behavior matches both Firefox and IE.
Spec: http://www.w3.org/TR/html5/common-input-element-attributes.html#the-size-attribute

Test: fast/dom/HTMLInputElement/input-size-attribute.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setSize):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLInputElement.idl:

LayoutTests:

Added test case to verify that input.size throws INDEX_SIZE_ERR when set to 0.

Updated fast/forms/number/number-size.html to reflect new behavior.

* fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
* fast/dom/HTMLInputElement/input-size-attribute.html:
* fast/forms/number/number-size.html:
* fast/forms/number/number-size-expected.txt:

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

8 years ago[Chromium] Improve SocketStreamHandle::send() stability
bashi@chromium.org [Fri, 5 Oct 2012 06:39:21 +0000 (06:39 +0000)]
[Chromium] Improve SocketStreamHandle::send() stability
https://bugs.webkit.org/show_bug.cgi?id=98459

Reviewed by Yuta Kitamura.

Avoid null dereference in SocketStreamHandleInternal::send().
No changes in behavior.

* src/SocketStreamHandle.cpp:
(WebCore::SocketStreamHandleInternal::send):

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

8 years agoFix font for date/time input types.
tkent@chromium.org [Fri, 5 Oct 2012 06:24:56 +0000 (06:24 +0000)]
Fix font for date/time input types.
https://bugs.webkit.org/show_bug.cgi?id=98478

Reviewed by Kentaro Hara.

input[type=date] should use monospace font if
ENABLE_INPUT_MULTIPLE_FIELDS_UI && ENABLE_INPUT_TYPE_DATE.

For other date/time types, they should use monospace font only
if their types are enabled. input[type="foo"] matches input
element with type="foo" even if the foo type is not supported.

The input[type=date] change is covered by
fast/forms/date/calendar-picker-appearance.html,
platform/chromium/fast/forms/date/date-suggestion-picker-appearance*.html

* css/html.css:
(input[type="date"]):
(input[type="datetime"]):
(input[type="datetime-local"]):
(input[type="month"]):
(input[type="time"]):

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

8 years ago[WK2][WKTR] Implement UIClient focus callbacks in WebKitTestRunner
commit-queue@webkit.org [Fri, 5 Oct 2012 06:22:19 +0000 (06:22 +0000)]
[WK2][WKTR] Implement UIClient focus callbacks in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=98256

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-04
Reviewed by Kenneth Rohde Christiansen.

Tools:

Implement UIClient's focus callbacks in WebKitTestRunner.

* WebKitTestRunner/TestController.cpp:
(WTR::focus):
(WTR::TestController::initialize):

LayoutTests:

Unskip fast/dom/Window/mozilla-focus-blur.html now that
WebKitTestRunner implements UIClient's focus callbacks.

* platform/efl-wk2/TestExpectations:

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

8 years ago[Refactoring] Some classes in StyleResolver.cpp/h could have its own file.
morrita@google.com [Fri, 5 Oct 2012 06:15:20 +0000 (06:15 +0000)]
[Refactoring] Some classes in StyleResolver.cpp/h could have its own file.
https://bugs.webkit.org/show_bug.cgi?id=98469

Reviewed by Dimitri Glazkov.

This change extracts RuleData, RuleSet, RuleFeature and Featurs class
to its own file: RuleSet.h/cpp and RuleFeature.h/cpp

RuleFeature class is moved fro StyleResolver inner class to plain WebCore class.
Feaures class is renamed to RuleFeatureSet to avoid possible name conflict.

No new tests. Just splitting file and doing simple rename.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/RuleFeature.cpp: Added.
(WebCore):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):
(WebCore::RuleFeatureSet::reportMemoryUsage):
* css/RuleFeature.h: Added.
(WebCore):
(RuleFeature):
(WebCore::RuleFeature::RuleFeature):
(RuleFeatureSet):
(WebCore::RuleFeatureSet::RuleFeatureSet):
* css/RuleSet.cpp: Added.
(WebCore):
(WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
(WebCore::selectorListContainsUncommonAttributeSelector):
(WebCore::isCommonAttributeSelectorAttribute):
(WebCore::containsUncommonAttributeSelector):
(WebCore::RuleData::RuleData):
(WebCore::RuleData::reportMemoryUsage):
(WebCore::reportAtomRuleMap):
(WebCore::RuleSet::reportMemoryUsage):
(WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
(WebCore::collectFeaturesFromSelector):
(WebCore::collectFeaturesFromRuleData):
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRule):
(WebCore::RuleSet::addPageRule):
(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::RuleSet::addStyleRule):
(WebCore::shrinkMapVectorsToFit):
(WebCore::RuleSet::shrinkToFit):
* css/RuleSet.h: Added.
(WebCore):
(RuleData):
(WebCore::RuleData::position):
(WebCore::RuleData::rule):
(WebCore::RuleData::selector):
(WebCore::RuleData::selectorIndex):
(WebCore::RuleData::hasFastCheckableSelector):
(WebCore::RuleData::hasMultipartSelector):
(WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
(WebCore::RuleData::containsUncommonAttributeSelector):
(WebCore::RuleData::specificity):
(WebCore::RuleData::linkMatchType):
(WebCore::RuleData::hasDocumentSecurityOrigin):
(WebCore::RuleData::isInRegionRule):
(WebCore::RuleData::descendantSelectorIdentifierHashes):
(SameSizeAsRuleData):
(RuleSet):
(WebCore::RuleSet::create):
(WebCore::RuleSet::disableAutoShrinkToFit):
(WebCore::RuleSet::features):
(WebCore::RuleSet::idRules):
(WebCore::RuleSet::classRules):
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::shadowPseudoElementRules):
(WebCore::RuleSet::linkPseudoClassRules):
(WebCore::RuleSet::focusPseudoClassRules):
(WebCore::RuleSet::universalRules):
(WebCore::RuleSet::pageRules):
(WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
(RuleSetSelectorPair):
(WebCore::RuleSet::RuleSet):
* css/StyleResolver.cpp:
(WebCore):
(WebCore::makeRuleSet):
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleResolver.h:
(StyleResolver):

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

8 years ago[EFL][WK2] Implement window frame callbacks in UIClient
commit-queue@webkit.org [Fri, 5 Oct 2012 06:11:58 +0000 (06:11 +0000)]
[EFL][WK2] Implement window frame callbacks in UIClient
https://bugs.webkit.org/show_bug.cgi?id=98280

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-04
Reviewed by Kenneth Rohde Christiansen.

Implement callbacks to set and query window geometry
in EwkView's UIClient.

* UIProcess/API/efl/ewk_view_ui_client.cpp:
(getWindowFrame):
(setWindowFrame):
(ewk_view_ui_client_attach):
* UIProcess/API/efl/tests/resources/window_move_resize.html: Added.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(windowMoveResizeTimedOut):
(TEST_F): Add corresponding unit test.

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

8 years agoFeatureObserver should distinguish between legacy HTML and text notifications
abarth@webkit.org [Fri, 5 Oct 2012 06:02:03 +0000 (06:02 +0000)]
FeatureObserver should distinguish between legacy HTML and text notifications
https://bugs.webkit.org/show_bug.cgi?id=98441

Reviewed by Tony Chang.

We might be able to drop support for legacy HTML notifications before
we can drop support for legacy text notifications. We should measure
and find out.

* Modules/notifications/NotificationCenter.idl:
* page/FeatureObserver.h:

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

8 years agoChromium DEPS roll r160281:160322
dpranke@chromium.org [Fri, 5 Oct 2012 05:00:37 +0000 (05:00 +0000)]
Chromium DEPS roll r160281:160322

Unreviewed.

* DEPS:

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

8 years agoRemoving the unused member variable m_wasMalformed from HTMLFormElement class and...
commit-queue@webkit.org [Fri, 5 Oct 2012 04:59:49 +0000 (04:59 +0000)]
Removing the unused member variable m_wasMalformed from HTMLFormElement class and its related code frgment.
https://bugs.webkit.org/show_bug.cgi?id=98444

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-10-04
Reviewed by Eric Seidel.

The member variable m_wasMalformed of HTMLFormElement class was used to determine if the <form> tag was malformed or not.
This information was used elsewhere to decide if bottom margins have to be included for such a <form>.
However currently this member variable is not being set by any code following code refactoring in HTML parser class.

Code cleanup patch. No new tests required.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
  Removed m_wasMalformed initialization.

* html/HTMLFormElement.h:
(HTMLFormElement):
 Removed m_wasMalformed variable.
 Removed m_wasMalformed variable's setter and getter functions.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
 Removed code fragment using/dependent on m_wasMalformed.

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

8 years agoTurn Compositing on by default in WebKit build
commit-queue@webkit.org [Fri, 5 Oct 2012 04:56:44 +0000 (04:56 +0000)]
Turn Compositing on by default in WebKit build
https://bugs.webkit.org/show_bug.cgi?id=98315

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-10-04
Reviewed by Simon Fraser.

enable -webkit-blend-mode on trunk.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. Existing blending test were updated.

* Configurations/FeatureDefines.xcconfig:
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

* css3/compositing/blend-mode-property-expected.txt:
* css3/compositing/blend-mode-property-parsing-expected.txt:
* css3/compositing/script-tests/blend-mode-property.js:
(testblendmode):
* css3/compositing/should-have-compositing-layer-expected.txt:
* platform/chromium/TestExpectations:

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

8 years ago[Refactoring] Introduce a traversal strategy in SelectorChecker
hayato@chromium.org [Fri, 5 Oct 2012 04:47:21 +0000 (04:47 +0000)]
[Refactoring] Introduce a traversal strategy in SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=97298

Reviewed by Antti Koivisto.

PerformanceTests:

Introduces querySelector() performance tests to check SelectorChecker performance.

* CSS/PseudoClassSelectors.html: Added.

Source/WebCore:

We extract DOM traversal code from SelectorChecker so that we can use another traversal strategy.
Another traversal strategy will be introduced in Bug 96990.

Since this code path is very hot, we were very careful not to regress performance.
We will use template specialization to change the traversal implementation.

We confirmed that this patch does not regress SelectorCheckerPerformance. I have checked the performance of
the added test in my Linux Box using run-perf-tests.

The performance of the added test before using this patch was:

  RESULT CSS: PseudoClassSelectors= 3399.68308031 runs/s
  median= 3404.48685564 runs/s, stdev= 37.3480114449 runs/s, min= 3272.64871114 runs/s, max= 3438.72385184 runs/s

When we used this patch, the performance was:

  RESULT CSS: PseudoClassSelectors= 3367.74473886 runs/s
  median= 3367.12072755 runs/s, stdev= 14.1464547639 runs/s, min= 3348.55881171 runs/s, max= 3395.98212857 runs/s

Test: PerformanceTests/CSS/PseudoClass-Selectors.html

* css/SelectorChecker.cpp:
(WebCore):
(WebCore::SelectorChecker::checkSelector): Make this a template method to accept another Context type.
Another Context type will be introduced in coming patch.
(WebCore::SelectorChecker::checkOneSelector):
(WebCore::SelectorChecker::DOMTraversalStrategy::isFirstChild):
(WebCore::SelectorChecker::DOMTraversalStrategy::isLastChild):
(WebCore::SelectorChecker::DOMTraversalStrategy::isFirstOfType):
(WebCore::SelectorChecker::DOMTraversalStrategy::isLastOfType):
(WebCore::SelectorChecker::DOMTraversalStrategy::countElementsBefore):
(WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeBefore):
(WebCore::SelectorChecker::DOMTraversalStrategy::countElementsAfter):
(WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeAfter):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
(SelectorCheckingContext):
(SelectorChecker):
(DOMTraversalStrategy): Extracted the DOM traversal code from SelectorChecker. Another traversal code
will be introduced the coming patch.

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

8 years agoUpdate some picker tests for input[type=date]
tkent@chromium.org [Fri, 5 Oct 2012 04:44:00 +0000 (04:44 +0000)]
Update some picker tests for input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=98390

Follow up of r130433. We still need offsetTop access.

* fast/forms/date/calendar-picker-common.js:
(openPicker):
* fast/forms/resources/suggestion-picker-common.js:
(openPicker):
* platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html:
Remove unnecessary width style.

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

8 years agoConvert some flexbox tests to run in mozilla
tony@chromium.org [Fri, 5 Oct 2012 04:37:39 +0000 (04:37 +0000)]
Convert some flexbox tests to run in mozilla
https://bugs.webkit.org/show_bug.cgi?id=98464

Reviewed by Ojan Vafai.

Move properties with a small number of values into resources/flexbox.css
and start using it in some flexbox tests.

* css3/flexbox/align-absolute-child.html:
* css3/flexbox/align-baseline-expected.html:
* css3/flexbox/align-baseline.html:
* css3/flexbox/anonymous-block-merge-crash.html:
* css3/flexbox/anonymous-block.html:
* css3/flexbox/auto-height-dynamic.html:
* css3/flexbox/auto-margins.html:
* css3/flexbox/box-sizing-min-max-sizes.html:
* css3/flexbox/box-sizing.html:
* css3/flexbox/child-overflow-expected.html:
* css3/flexbox/child-overflow.html:
* css3/flexbox/columns-auto-size.html:
* css3/flexbox/columns-height-set-via-top-bottom.html:
* css3/flexbox/content-height-with-scrollbars.html:
* css3/flexbox/cross-axis-scrollbar.html:
* css3/flexbox/flex-algorithm-min-max.html:
* css3/flexbox/flex-algorithm-with-margins.html:
* css3/flexbox/flex-algorithm.html:
* css3/flexbox/resources/flexbox.css: Added.

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

8 years agoSVGAttributeHashTranslator does not need to copy QualifiedName in the common case
eric@webkit.org [Fri, 5 Oct 2012 04:22:31 +0000 (04:22 +0000)]
SVGAttributeHashTranslator does not need to copy QualifiedName in the common case
https://bugs.webkit.org/show_bug.cgi?id=98473

Reviewed by Adam Barth.

I tested this using instruments on a test case which modified SVG attributes in a loop.
I believe pdr has some perf-tests in this area, but they weren't needed here.  A simple sample showed this as a huge win,
since we're no longer creating a QualifiedName (and thus adding it to the hash) on each QualifiedName-based lookup in SVG.

* svg/SVGElement.h:
(WebCore::SVGAttributeHashTranslator::hash):
(WebCore::SVGAttributeHashTranslator::equal):

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

8 years ago[chromium] Scale plugin container by frameScaleFactor
aelias@chromium.org [Fri, 5 Oct 2012 04:14:41 +0000 (04:14 +0000)]
[chromium] Scale plugin container by frameScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=98468

Reviewed by Adam Barth.

Plugin containers (for invalid plugins) weren't taking into account
frameScaleFactor, looking cut off when that was non-1.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::paint):

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

8 years agoSplit the intrinsic padding update code out of RenderTableSection::layoutRows
jchaffraix@webkit.org [Fri, 5 Oct 2012 03:56:17 +0000 (03:56 +0000)]
Split the intrinsic padding update code out of RenderTableSection::layoutRows
https://bugs.webkit.org/show_bug.cgi?id=98454

Reviewed by Eric Seidel.

RenderTableSection::layoutRows is very long and it's difficult to see what's
going on. This change moves the intrinsic padding update code into RenderTableCell
for clarity. While at it, cleaned up a bit the code (renaming variables, functions).

Change covered by existing table tests.

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeIntrinsicPadding):
Added this new function that does the update. Removed the 'default' case, replaced by
the explicit label BASELINE_MIDDLE.

* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::setIntrinsicPaddingBefore):
(WebCore::RenderTableCell::setIntrinsicPaddingAfter):
(WebCore::RenderTableCell::setIntrinsicPadding):
Moved those setters to the private section as we want other classes
to use computeIntrinsicPadding.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
Replaced the code with a call to RenderTableCell::computeIntrinsicPadding.
Also moved 2 variables in the loop per our coding style.

* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::rowBaseline):
Renamed to match our coding style.

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

8 years agoFix the Qt build by removing an errant paste at the top of the file.
simon.fraser@apple.com [Fri, 5 Oct 2012 03:18:46 +0000 (03:18 +0000)]
Fix the Qt build by removing an errant paste at the top of the file.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

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

8 years agoUpdate chromium baselines for 5006779.html and paint-subrect-grid.html.
dpranke@chromium.org [Fri, 5 Oct 2012 02:55:44 +0000 (02:55 +0000)]
Update chromium baselines for 5006779.html and paint-subrect-grid.html.

Unreviewed, rebaselining.

Updates after r130425 and r130411.

* platform/chromium-linux/fast/images/paint-subrect-grid-expected.png: Copied from LayoutTests/platform/chromium-mac/fast/images/paint-subrect-grid-expected.png.
* platform/chromium-win-xp/editing/pasteboard/5006779-expected.png: Added.
* platform/chromium-win-xp/editing/pasteboard/5006779-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/pasteboard/5006779-expected.txt.
* platform/chromium-win/editing/pasteboard/5006779-expected.txt:
* platform/chromium/fast/images/paint-subrect-grid-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/images/paint-subrect-grid-expected.png.

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

8 years agoUnreviewd. Chromium DEPS roll. Update to r160281.
hclam@chromium.org [Fri, 5 Oct 2012 02:47:52 +0000 (02:47 +0000)]
Unreviewd. Chromium DEPS roll. Update to r160281.

* DEPS:

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

8 years ago[EFL][WK2] Add APIs to get/set the frame flattening.
ryuan.choi@samsung.com [Fri, 5 Oct 2012 02:37:58 +0000 (02:37 +0000)]
[EFL][WK2] Add APIs to get/set the frame flattening.
https://bugs.webkit.org/show_bug.cgi?id=95982

Reviewed by Gyuyoung Kim.

Source/WebKit2:

Added new APIs and test case to support frame flattening.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_enable_frame_flattening_set):
(ewk_settings_enable_frame_flattening_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/resources/frame_flattening_test.html: Added.
* UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Added.
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

Tools:

* MiniBrowser/efl/main.c: Added frame flattening option to test.
(browserCreate):
(main):

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

8 years agoCrash in EventHandler::mouseMoved().
japhet@chromium.org [Fri, 5 Oct 2012 02:31:16 +0000 (02:31 +0000)]
Crash in EventHandler::mouseMoved().
https://bugs.webkit.org/show_bug.cgi?id=98460

Reviewed by Abhishek Arya.

No new tests, this fixes fast/events/mouse-moved-remove-frame-crash.html.

* page/EventHandler.cpp:
(WebCore::EventHandler::mouseMoved):

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

8 years ago[Chromium] Update some #includes for Platform directory
pilgrim@chromium.org [Fri, 5 Oct 2012 02:30:19 +0000 (02:30 +0000)]
[Chromium] Update some #includes for Platform directory
https://bugs.webkit.org/show_bug.cgi?id=98440

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.h:
* src/AsyncFileWriterChromium.cpp:
* src/AudioDestinationChromium.h:
* src/AutofillPopupMenuClient.cpp:
* src/ChromeClientImpl.cpp:
* src/ContextMenuClientImpl.cpp:
* src/DeliveredIntentClientImpl.h:
* src/DragClientImpl.cpp:
* src/DragScrollTimer.h:
* src/FrameLoaderClientImpl.cpp:
* src/InspectorClientImpl.cpp:
* src/InspectorClientImpl.h:
* src/InspectorFrontendClientImpl.cpp:
* src/NotificationPresenterImpl.cpp:
* src/PageWidgetDelegate.h:
* src/SocketStreamHandle.cpp:
* src/SocketStreamHandleInternal.h:
* src/SpeechInputClientImpl.cpp:
* src/StorageAreaProxy.cpp:
* src/StorageNamespaceProxy.cpp:
* src/UserMediaClientImpl.cpp:
* src/WebAccessibilityObject.cpp:
* src/WebAnimationControllerImpl.cpp:
* src/WebCommon.cpp:
* src/WebDOMEventListenerPrivate.h:
* src/WebDOMMessageEvent.cpp:
* src/WebDOMStringList.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebDatabase.cpp:
* src/WebDevToolsAgentImpl.cpp:
* src/WebDevToolsAgentImpl.h:
* src/WebDocument.cpp:
* src/WebDocumentType.cpp:
* src/WebDragData.cpp:
* src/WebElement.cpp:
* src/WebEntities.cpp:
* src/WebFileChooserCompletionImpl.h:
* src/WebFileSystemCallbacksImpl.cpp:
* src/WebFontImpl.cpp:

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

8 years ago[chromium] Unreviewed. Rebaseline mac/win results after r130355
noel.gordon@gmail.com [Fri, 5 Oct 2012 02:26:11 +0000 (02:26 +0000)]
[chromium] Unreviewed. Rebaseline mac/win results after r130355
https://bugs.webkit.org/show_bug.cgi?id=98472

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-10-04

* platform/chromium-mac-snowleopard/fast/clip/overflow-border-radius-combinations-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/clip/overflow-border-radius-fixed-position-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/clip/overflow-border-radius-transformed-expected.png: Added.
* platform/chromium-mac-snowleopard/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-mac-snowleopard/media/audio-controls-rendering-expected.png:
* platform/chromium-mac-snowleopard/media/audio-repaint-expected.png:
* platform/chromium-mac-snowleopard/media/controls-after-reload-expected.png:
* platform/chromium-mac-snowleopard/media/controls-strict-expected.png:
* platform/chromium-mac-snowleopard/media/controls-styling-expected.png:
* platform/chromium-mac-snowleopard/media/controls-styling-strict-expected.png:
* platform/chromium-mac-snowleopard/media/controls-without-preload-expected.png:
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-mac-snowleopard/media/video-controls-rendering-expected.png:
* platform/chromium-mac-snowleopard/media/video-display-toggle-expected.png:
* platform/chromium-mac-snowleopard/media/video-no-audio-expected.png:
* platform/chromium-mac-snowleopard/media/video-playing-and-pause-expected.png:
* platform/chromium-mac/fast/clip/overflow-border-radius-combinations-expected.png:
* platform/chromium-mac/fast/clip/overflow-border-radius-fixed-position-expected.png:
* platform/chromium-mac/fast/clip/overflow-border-radius-transformed-expected.png:
* platform/chromium-mac/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-mac/media/audio-controls-rendering-expected.png:
* platform/chromium-mac/media/audio-repaint-expected.png:
* platform/chromium-mac/media/controls-after-reload-expected.png:
* platform/chromium-mac/media/controls-strict-expected.png:
* platform/chromium-mac/media/controls-styling-expected.png:
* platform/chromium-mac/media/controls-styling-strict-expected.png:
* platform/chromium-mac/media/controls-without-preload-expected.png:
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-mac/media/video-controls-rendering-expected.png:
* platform/chromium-mac/media/video-display-toggle-expected.png:
* platform/chromium-mac/media/video-no-audio-expected.png:
* platform/chromium-mac/media/video-playing-and-pause-expected.png:
* platform/chromium-mac/media/video-zoom-controls-expected.png:
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win/fast/clip/overflow-border-radius-combinations-expected.png:
* platform/chromium-win/fast/clip/overflow-border-radius-fixed-position-expected.png:
* platform/chromium-win/fast/clip/overflow-border-radius-transformed-expected.png:
* platform/chromium-win/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-win/media/audio-controls-rendering-expected.png:
* platform/chromium-win/media/audio-repaint-expected.png:
* platform/chromium-win/media/controls-after-reload-expected.png:
* platform/chromium-win/media/controls-strict-expected.png:
* platform/chromium-win/media/controls-styling-expected.png:
* platform/chromium-win/media/controls-styling-strict-expected.png:
* platform/chromium-win/media/controls-without-preload-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win/media/video-controls-rendering-expected.png:
* platform/chromium-win/media/video-display-toggle-expected.png:
* platform/chromium-win/media/video-no-audio-expected.png:
* platform/chromium-win/media/video-playing-and-pause-expected.png:
* platform/chromium-win/media/video-zoom-controls-expected.png:
* platform/chromium/TestExpectations:

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

8 years ago[V8] NotificationCenter leaks because it uses buggy custom bindings
abarth@webkit.org [Fri, 5 Oct 2012 02:18:45 +0000 (02:18 +0000)]
[V8] NotificationCenter leaks because it uses buggy custom bindings
https://bugs.webkit.org/show_bug.cgi?id=98445

Reviewed by Tony Chang.

There's no reason to use custom bindings here. All they do is cause leaks..

* Modules/notifications/NotificationCenter.idl:
* bindings/v8/custom/V8NotificationCenterCustom.cpp:

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

8 years agoSelector specificity categories "overflow" into higher categories
commit-queue@webkit.org [Fri, 5 Oct 2012 02:04:44 +0000 (02:04 +0000)]
Selector specificity categories "overflow" into higher categories
https://bugs.webkit.org/show_bug.cgi?id=98295

Patch by Tab Atkins <jackalmage@gmail.com> on 2012-10-04
Reviewed by Eric Seidel.

This patch adds per-component overflow guards for CSS selector specificity.
Previously, we didn't guard against overflow.
Since we stored each component as a byte mapped into a single unsigned int for the whole specificity,
256 of a particular simple selector was equivalent to 1 of the next-higher-group selector.
This violated the Selectors specification,
which requires the components to be compared lexicographically.

Tests: /fast/selectors/specificity-overflow.html

* css/CSSSelector.cpp:
(WebCore::CSSSelector::specificity):

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

8 years agoFont::glyphDataAndPageForCharacter doesn't account for text orientation when using...
enrica@apple.com [Fri, 5 Oct 2012 02:03:12 +0000 (02:03 +0000)]
Font::glyphDataAndPageForCharacter doesn't account for text orientation when using systemFallback on a cold cache.
https://bugs.webkit.org/show_bug.cgi?id=98452.

Reviewed by Dan Bernstein.

Source/WebCore:

The text orientation was considered only when there is a cache hit.
This change moves the logic to handle text orientation to a separate
inline function that is called also when the glyph is added to the cache.

Test: fast/text/vertical-rl-rtl-linebreak.html

* platform/graphics/FontFastPath.cpp:
(WebCore::applyTextOrientationForCharacter): Added.
(WebCore::Font::glyphDataAndPageForCharacter): Modified to use the new function in
both cases of cold and warm cache.

LayoutTests:

The new test adds platform specific results for Mac, since it uses system fallback fonts.
I've added the expected failure for all the other platforms.

* fast/text/vertical-rl-rtl-linebreak.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoMutationRecord attributeName should be null for non attribute changes
adamk@chromium.org [Fri, 5 Oct 2012 01:02:29 +0000 (01:02 +0000)]
MutationRecord attributeName should be null for non attribute changes
https://bugs.webkit.org/show_bug.cgi?id=98438

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/mutation/mutation-record-nullity.html

* dom/MutationRecord.idl:

LayoutTests:

* fast/mutation/mutation-record-nullity-expected.txt: Added.
* fast/mutation/mutation-record-nullity.html: Added.

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

8 years agoTiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
simon.fraser@apple.com [Fri, 5 Oct 2012 00:54:12 +0000 (00:54 +0000)]
TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
https://bugs.webkit.org/show_bug.cgi?id=98471

Reviewed by Dean Jackson.

Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
It is not required.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

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

8 years agoMore Qt rebaselines after r130411.
rniwa@webkit.org [Fri, 5 Oct 2012 00:46:01 +0000 (00:46 +0000)]
More Qt rebaselines after r130411.

* platform/qt/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/qt/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/qt/editing/pasteboard/5006779-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/qt/editing/pasteboard/smart-paste-004-expected.txt: Removed.

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

8 years agoFinal part of "sync" to "flush" renaming
simon.fraser@apple.com [Fri, 5 Oct 2012 00:43:04 +0000 (00:43 +0000)]
Final part of "sync" to "flush" renaming
https://bugs.webkit.org/show_bug.cgi?id=98430

Reviewed by Tim Horton.

Change method names on GraphicsLayer and GraphicsLayerClient that
refer to "sync" to use the term "flush" instead, to be consistent
with the rest of the code.

Source/WebCore:

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::flushCompositingState):
(WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly):
* platform/graphics/GraphicsLayerClient.h:
(GraphicsLayerClient):
* platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
(WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::setNeedsCommit):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::positionForCloneRootLayer):
(WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::notifyChange):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::flushCompositingState):
(WebCore::TextureMapperLayer::flushCompositingStateSelf):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyFlushRequired):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::notifyFlushRequired):

Source/WebKit/blackberry:

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyFlushRequired):
* Api/WebOverlay_p.h:
(WebOverlayPrivateWebKitThread):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyFlushRequired):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/DefaultTapHighlight.cpp:
(BlackBerry::WebKit::DefaultTapHighlight::notifyFlushRequired):
* WebKitSupport/DefaultTapHighlight.h:
(DefaultTapHighlight):
* WebKitSupport/InspectorOverlayBlackBerry.cpp:
(BlackBerry::WebKit::InspectorOverlay::notifyFlushRequired):
* WebKitSupport/InspectorOverlayBlackBerry.h:
(InspectorOverlay):
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::notifyFlushRequired):
* WebKitSupport/SelectionOverlay.h:
(SelectionOverlay):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::syncLayersNow):
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/gtk:

* WebCoreSupport/AcceleratedCompositingContext.h:
(AcceleratedCompositingContext):
* WebCoreSupport/AcceleratedCompositingContextCairo.cpp:
(WebKit::AcceleratedCompositingContext::attachRootGraphicsLayer):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::syncLayersNow):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):

Source/WebKit/mac:

* WebView/WebView.mm:

Source/WebKit/qt:

* WebCoreSupport/PageClientQt.cpp:
(WebCore::TextureMapperLayerClientQt::syncRootLayer):

Source/WebKit/win:

* WebView.cpp:
(WebView::notifyFlushRequired):
(WebView::flushPendingGraphicsLayerChanges):
* WebView.h:

Source/WebKit2:

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit::LayerTreeRenderer::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
(WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
(WebCore::CoordinatedGraphicsLayer::didChangeChildren):
(WebCore::CoordinatedGraphicsLayer::didChangeFilters):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::notifyFlushRequired):
(WebKit::LayerTreeHostCA::flushPendingLayerChanges):
* WebProcess/WebPage/ca/LayerTreeHostCA.h:
(LayerTreeHostCA):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::notifyFlushRequired):
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

8 years agoGTK+ rebaselines after r130411.
rniwa@webkit.org [Fri, 5 Oct 2012 00:41:17 +0000 (00:41 +0000)]
GTK+ rebaselines after r130411.

* platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt:
* platform/gtk/editing/deleting/merge-no-br-expected.txt:
* platform/gtk/editing/execCommand/find-after-replace-expected.txt:
* platform/gtk/editing/execCommand/paste-2-expected.txt:
* platform/gtk/editing/pasteboard/4944770-2-expected.txt:
* platform/gtk/editing/pasteboard/5006779-expected.txt:
* platform/gtk/editing/pasteboard/5028447-expected.txt:
* platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt:
* platform/gtk/editing/pasteboard/merge-end-borders-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
* platform/gtk/editing/pasteboard/paste-xml-expected.txt:
* platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt:
* platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt:
* platform/gtk/fast/lists/drag-into-marker-expected.txt:

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

8 years ago1ex should equal .5em when the font has no x-height metric
commit-queue@webkit.org [Fri, 5 Oct 2012 00:35:56 +0000 (00:35 +0000)]
1ex should equal .5em when the font has no x-height metric
https://bugs.webkit.org/show_bug.cgi?id=80360

Patch by Tab Atkins <tabatkins@google.com> on 2012-10-04
Reviewed by Eric Seidel.

Source/WebCore:

Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit.

Updated a few of the platform font files to set the flag properly.

Patch cleanup by David Barr <davidbarr@chromium.org>.

Test: fast/css/ex-unit-with-no-x-height.html

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::FontMetrics):
(WebCore::FontMetrics::setXHeight):
(FontMetrics):
(WebCore::FontMetrics::hasXHeight):
(WebCore::FontMetrics::setHasXHeight):
(WebCore::FontMetrics::reset):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

If a font has no x-height metric, 1ex should equal .5em.

Test layout tweaked by David Barr <davidbarr@chromium.org>.

* fast/css/ex-unit-with-no-x-height-expected.txt: Added.
* fast/css/ex-unit-with-no-x-height.html: Added.

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

8 years agoUnreviewed, rolling out r130419.
dpranke@chromium.org [Fri, 5 Oct 2012 00:34:19 +0000 (00:34 +0000)]
Unreviewed, rolling out r130419.
http://trac.webkit.org/changeset/130419
https://bugs.webkit.org/show_bug.cgi?id=98406

broke editing/pasteboard/data-transfer-items.html on chromium

* wtf/HashTraits.h:

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

8 years ago[Qt] New test introduced in r129346 inspector-protocol/css-getSupportedCSSProperties...
commit-queue@webkit.org [Thu, 4 Oct 2012 23:52:28 +0000 (23:52 +0000)]
[Qt] New test introduced in r129346 inspector-protocol/css-getSupportedCSSProperties.html fails
https://bugs.webkit.org/show_bug.cgi?id=97451

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-04
Reviewed by Kenneth Rohde Christiansen.

Unskipping this test that is passing.

* platform/qt/TestExpectations:

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

8 years ago[EFL][WK2] Implement PageClientImpl::isViewVisible()
commit-queue@webkit.org [Thu, 4 Oct 2012 23:51:33 +0000 (23:51 +0000)]
[EFL][WK2] Implement PageClientImpl::isViewVisible()
https://bugs.webkit.org/show_bug.cgi?id=98249

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-04
Reviewed by Kenneth Rohde Christiansen.

Implement PageClientImpl::isViewVisible() for EFL port
by calling evas_object_visible_get() on the view.

* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewVisible):

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

8 years agoUpdate some picker tests for input[type=date]
tkent@chromium.org [Thu, 4 Oct 2012 23:50:09 +0000 (23:50 +0000)]
Update some picker tests for input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=98390

Reviewed by Daniel Bates.

r130375 changed a behavior. A key bind to open a calendar picker
or a suggestion picker was changed from "Down" to "Alt + Down". We
need to update tests which open pickers for input[type=date].

* fast/forms/date/calendar-picker-appearance-expected.txt:
* fast/forms/date/calendar-picker-appearance-pre-100.html:
Use openPicker() in calendar-picker-common.js.
* fast/forms/date/calendar-picker-appearance.html: Ditto.
* fast/forms/date/calendar-picker-common.js:
(openPicker): Specify Alt modifier.
(sendKey): Add ctrlKey and altKey flags.
* fast/forms/date/calendar-picker-with-step.html:
Use openPicker() in calendar-picker-common.js.
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html:
Use openPicker() in suggestion-picker-common.js
* platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar.html:
Ditto.
* platform/chromium/fast/forms/date/date-suggestion-picker-appearance.html:
Ditto.
* platform/chromium/fast/forms/date/date-suggestion-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/date/date-suggestion-picker-key-operations.html:
Use openPicker() and sendKey() in suggestion-picker-common.js.
Increase the internal timeout because it was too short on my machine.

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

8 years ago Improve initial empty process tracking
ap@apple.com [Thu, 4 Oct 2012 22:54:07 +0000 (22:54 +0000)]
    Improve initial empty process tracking
        https://bugs.webkit.org/show_bug.cgi?id=98458

        Reviewed by Sam Weinig.

        * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess):
        Unset m_haveInitialEmptyProcess if we no longer do.

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

8 years agoUnreviewed. Chromium rebaselines.
hclam@chromium.org [Thu, 4 Oct 2012 22:45:39 +0000 (22:45 +0000)]
Unreviewed. Chromium rebaselines.

Rebaseline pixel results after r130412.

* platform/chromium-mac-snowleopard/scrollbars/listbox-scrollbar-combinations-expected.png:
* platform/chromium-mac/scrollbars/listbox-scrollbar-combinations-expected.png:

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

8 years agoSource/WebCore: Build fix after r130411. Add the right offset.
rniwa@webkit.org [Thu, 4 Oct 2012 22:40:35 +0000 (22:40 +0000)]
Source/WebCore: Build fix after r130411. Add the right offset.
Also use RefPtr instead of a raw pointer for next and previous pointers.

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):

LayoutTests: Another rebaseline needed after r130411.

* platform/mac/editing/pasteboard/5006779-expected.txt:

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

8 years agoIndexedDB: promote objectstore/index backend ids to the frontend
alecflett@chromium.org [Thu, 4 Oct 2012 22:38:18 +0000 (22:38 +0000)]
IndexedDB: promote objectstore/index backend ids to the frontend
https://bugs.webkit.org/show_bug.cgi?id=97834

Reviewed by Tony Chang.

Source/WebCore:

Expose int64-based database/objectStore/index ids to the renderer,
step 1 of 2. Support both styles of createObjectStore and
createIndex: those that take an explicit id, and those that take
-1, meaning to autogenerate an id on the backend. In part 2, after
the chromium side lands, support for the autogenerated ids will be
removed. (See https://bugs.webkit.org/show_bug.cgi?id=98085)

This is a part of larger refactoring work to ultimately make the interface
between the frontend and the backend simpler.

No new tests, extensive ASSERTs and existing tests cover correctness.

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::metadata):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore):
(WebCore::getMaxObjectStoreId):
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
(WebCore::IDBLevelDBBackingStore::getObjectStores):
(WebCore::setMaxObjectStoreId):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
(WebCore::getMaxIndexId):
(WebCore::setMaxIndexId):
(WebCore::IDBLevelDBBackingStore::createIndex):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBMetadata.h:
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(IDBDatabaseMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::metadata):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(IDBObjectStoreBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:

Source/WebKit/chromium:

Support for marshalling additional IDBMetadata and new calls to
createObjectStore/createIndex.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::createObjectStore):
* public/WebIDBMetadata.h:
(ObjectStore):
(Index):
* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::createIndex):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createObjectStore):
(WebKit):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::createIndex):
(WebKit):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
* src/WebIDBMetadata.cpp:
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::createIndex):
(WebKit):
* src/WebIDBObjectStoreImpl.h:
(WebIDBObjectStoreImpl):

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

8 years ago[EFL] Add libxml 2.8.0 to jhbuild
commit-queue@webkit.org [Thu, 4 Oct 2012 22:32:07 +0000 (22:32 +0000)]
[EFL] Add libxml 2.8.0 to jhbuild
https://bugs.webkit.org/show_bug.cgi?id=98418

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-04
Reviewed by Laszlo Gombos.

.:

Bump dependency for libxml to 2.8.0 to match
jhbuild.

* Source/cmake/OptionsEfl.cmake:

Tools:

Add libxml 2.8.0 to EFL's jhbuild for consistency.

* efl/jhbuild.modules:

LayoutTests:

Unskip fast/xsl/xslt-missing-namespace-in-xslt.xml
since it passes with libxml 2.8.0 and we now depend
on that version.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed gardening. Landing render tree results for css3/flexbox/flexbox-baseline...
tony@chromium.org [Thu, 4 Oct 2012 22:30:46 +0000 (22:30 +0000)]
Unreviewed gardening.  Landing render tree results for css3/flexbox/flexbox-baseline.html.
https://bugs.webkit.org/show_bug.cgi?id=98306

This pixel test was added in r130405.

* platform/chromium-mac-snowleopard/css3/flexbox/flexbox-baseline-expected.png: Added.
* platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.png: Added.
* platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.txt: Added.
* platform/chromium-win/css3/flexbox/flexbox-baseline-expected.png: Added.
* platform/chromium-win/css3/flexbox/flexbox-baseline-expected.txt: Copied from LayoutTests/platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.txt.
* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/gtk/css3/flexbox/flexbox-baseline-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/mac/css3/flexbox/flexbox-baseline-expected.txt: Added.
* platform/qt/TestExpectations:
* platform/qt/css3/flexbox/flexbox-baseline-expected.txt: Renamed from LayoutTests/platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.txt.

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

8 years agoUnreviewed. Chromium rebaselines.
hclam@chromium.org [Thu, 4 Oct 2012 22:23:01 +0000 (22:23 +0000)]
Unreviewed. Chromium rebaselines.

* platform/chromium-mac/fast/images/paint-subrect-grid-expected.png: Copied from LayoutTests/platform/chromium/fast/images/paint-subrect-grid-expected.png.
* platform/chromium-win/fast/images/paint-subrect-grid-expected.png: Renamed from LayoutTests/platform/chromium/fast/images/paint-subrect-grid-expected.png.

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

8 years agoCrash in Safari at com.apple.JavaScriptCore: WTF::StringImpl::is8Bit const + 12
msaboff@apple.com [Thu, 4 Oct 2012 20:27:45 +0000 (20:27 +0000)]
Crash in Safari at com.apple.JavaScriptCore: WTF::StringImpl::is8Bit const + 12
https://bugs.webkit.org/show_bug.cgi?id=98433

Reviewed by Jessie Berlin.

The problem is due to a String with a null StringImpl (i.e. a null string).
Added a length check before the is8Bit() check since length() checks for a null StringImpl.  Changed the
characters16() call to characters() since it can handle a null StringImpl as well.

* API/JSValueRef.cpp:
(JSValueMakeFromJSONString):

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

8 years agoChromium rebaselines after r130411.
rniwa@webkit.org [Thu, 4 Oct 2012 20:18:14 +0000 (20:18 +0000)]
Chromium rebaselines after r130411.

* platform/chromium-linux-x86/editing/pasteboard/paste-xml-expected.txt:
* platform/chromium-linux/editing/pasteboard/4944770-2-expected.txt:
* platform/chromium-linux/editing/pasteboard/paste-xml-expected.txt:
* platform/chromium-linux/editing/pasteboard/smart-drag-drop-expected.txt:
* platform/chromium-linux/editing/pasteboard/subframe-dragndrop-1-expected.txt:
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-text-008-expected.txt: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-xml-expected.txt: Added.
* platform/chromium-mac/editing/pasteboard/paste-xml-expected.txt:
* platform/chromium-win-xp/editing/pasteboard/paste-xml-expected.txt:
* platform/chromium-win/editing/deleting/delete-block-merge-contents-018-expected.txt:
* platform/chromium-win/editing/deleting/delete-block-merge-contents-019-expected.txt:
* platform/chromium-win/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/chromium-win/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/chromium-win/editing/deleting/delete-block-merge-contents-022-expected.txt:
* platform/chromium-win/editing/deleting/merge-no-br-expected.txt:
* platform/chromium-win/editing/execCommand/find-after-replace-expected.txt:
* platform/chromium-win/editing/execCommand/paste-1-expected.txt:
* platform/chromium-win/editing/execCommand/paste-2-expected.txt:
* platform/chromium-win/editing/pasteboard/4944770-2-expected.txt:
* platform/chromium-win/editing/pasteboard/5028447-expected.txt:
* platform/chromium-win/editing/pasteboard/8145-3-expected.txt:
* platform/chromium-win/editing/pasteboard/drag-drop-modifies-page-expected.txt:
* platform/chromium-win/editing/pasteboard/merge-end-borders-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-text-008-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-text-009-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-xml-expected.txt:
* platform/chromium-win/editing/pasteboard/smart-paste-007-expected.txt:
* platform/chromium-win/editing/pasteboard/subframe-dragndrop-1-expected.txt:
* platform/chromium-win/editing/pasteboard/unrendered-br-expected.txt:
* platform/chromium-win/fast/lists/drag-into-marker-expected.txt:

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

8 years agoLayout broken after cloning and re-inserting a table with a misplaced <form>
commit-queue@webkit.org [Thu, 4 Oct 2012 20:09:42 +0000 (20:09 +0000)]
Layout broken after cloning and re-inserting a table with a misplaced <form>
https://bugs.webkit.org/show_bug.cgi?id=86746

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-10-04
Reviewed by Julien Chaffraix.

Source/WebCore:

There is a concept of demotion for a <form> contained in a table. A <form> is demoted if its immediate parent
is either a <table>, table sections (tbody, etc) or a table row (tr). A renderer for such a <form> is created only
if its display is one of the table display types (TABLE, INLINE_TABLE, TABLE_FOOTER_GROUP, etc).
However when a <table> containing a demoted <form> is cloned, the <form> does not retain its demotion state and
results in the table getting improperly rendered.

Test: fast/table/form-with-non-table-display-inside-table-elements.html

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::copyNonAttributePropertiesFromElement):
  Extended the virtual function for HTMLFormElement class specific implementation.
  The function is used to copy any necessary state information(member variables) associated with
  the <form> element being cloned to the current node.
  For HTMLFormElement node the member variable can be classified into five groups based on the
  information they hold:
    1) Variables containing information regarding <form> subtree and elements associated with it.
       These get updated as and when an element is added to the <form> subtree.
    2) Variables containing <form> submit state information.
    3) Flag to hold information if reset() has been called.
    4) Flag(m_wasDemoted) that indicates whether the form is demoted or not, based on which it needs to
       be handled differently during creation of its renderer.
       This information is currently being updated only during the HTML tree construction phase.
    5) Flag(m_wasMalformed) to hold information if the <form> is malformed or not.

  Variables of group (1) will be updated as and when elements are added to the <form> subtree. Whereas,
  (2) and (3) hold instance specific information, thus copying them is not required. Also (5) is currently not
  being used(not set by any code).

  On the other hand, (4) is required to be copied during cloning as this information cannot be accessed
  during the cloning process.

(WebCore):
* html/HTMLFormElement.h:
  Added copyNonAttributePropertiesFromElement() declaration.

LayoutTests:

* fast/table/form-with-non-table-display-inside-table-elements-expected.txt: Added.
* fast/table/form-with-non-table-display-inside-table-elements.html: Added.

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

8 years agoQt rebaseline after r130411.
rniwa@webkit.org [Thu, 4 Oct 2012 20:01:12 +0000 (20:01 +0000)]
Qt rebaseline after r130411.

* platform/qt/editing/deleting/delete-block-merge-contents-018-expected.txt:
* platform/qt/editing/deleting/delete-block-merge-contents-019-expected.txt:
* platform/qt/editing/deleting/delete-block-merge-contents-022-expected.txt:
* platform/qt/editing/deleting/merge-no-br-expected.txt:
* platform/qt/editing/execCommand/find-after-replace-expected.txt:
* platform/qt/editing/execCommand/paste-1-expected.txt:
* platform/qt/editing/execCommand/paste-2-expected.txt:
* platform/qt/editing/pasteboard/4944770-2-expected.txt:
* platform/qt/editing/pasteboard/5006779-expected.txt:
* platform/qt/editing/pasteboard/5028447-expected.txt:
* platform/qt/editing/pasteboard/8145-3-expected.txt:
* platform/qt/editing/pasteboard/merge-end-borders-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/qt/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/qt/editing/pasteboard/paste-text-008-expected.txt:
* platform/qt/editing/pasteboard/paste-text-009-expected.txt:
* platform/qt/editing/pasteboard/smart-paste-007-expected.txt:
* platform/qt/editing/pasteboard/unrendered-br-expected.txt:

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

8 years agoLower minimum table size of WTF::HashTable to reduce memory usage.
kling@webkit.org [Thu, 4 Oct 2012 19:49:15 +0000 (19:49 +0000)]
Lower minimum table size of WTF::HashTable to reduce memory usage.
<http://webkit.org/b/98406>
<rdar://problem/12432140>

Reviewed by Anders Carlsson.

Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries.
This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!)

No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere
from this, we can tweak individual tables to have a larger minimumTableSize.

* wtf/HashTraits.h:

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

8 years agoUse copyLCharsFromUCharSource() for IdentifierLCharFromUCharTranslator translation
benjamin@webkit.org [Thu, 4 Oct 2012 19:34:34 +0000 (19:34 +0000)]
Use copyLCharsFromUCharSource() for IdentifierLCharFromUCharTranslator translation
https://bugs.webkit.org/show_bug.cgi?id=98335

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-10-04
Reviewed by Michael Saboff.

Michael Saboff added an optimized version of UChar->LChar conversion in r125846.
Use this function in JSC::Identifier.

* runtime/Identifier.cpp:
(JSC::IdentifierLCharFromUCharTranslator::translate):

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

8 years agoAttribute and Uniform variable names need translation in shader
dino@apple.com [Thu, 4 Oct 2012 19:31:10 +0000 (19:31 +0000)]
Attribute and Uniform variable names need translation in shader
https://bugs.webkit.org/show_bug.cgi?id=70989

Reviewed by Tim Horton (and Darin Adler).

Source/WebCore:

WebGL specifies some maximum lengths for variable names (attributes
and uniforms). Also, some GL drivers have issues with long names. For
that reason, ANGLE has an option to rewrite the shader, translating
long names into short names. Turning this on helps shaders compile,
but we need to keep a mapping between the original names and the
translated names, so that we bind to the right location from user code
(which won't ever see the translated source).

This provided an opportunity to clean up some other bits of code:
CSS Filters examined the uniform names after a compilation; It can
now use the variable name map. I also added a typedef for the
HashMaps that keep the shader, the source code and the variable name
mappings.

I also opened a followup bug to make sure these tables are deleted
when the associated shaders (or linked programs) go away:
https://bugs.webkit.org/show_bug.cgi?id=98204

Covered by existing tests (with some enhancements):
- fast/canvas/webgl/attrib-location-length-limits.html:
- fast/canvas/webgl/uniform-location-length-limits.html:

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::getSymbolInfo): Extracts all the information on symbols (either attributes
or uniforms) from the newly compiled shader.
(WebCore):
(WebCore::ANGLEWebKitBridge::compileShaderSource): New method name.
* platform/graphics/ANGLEWebKitBridge.h:
(WebCore::getUniforms): Deleted this method.
(WebCore::ANGLEShaderSymbol::isSampler): Make sure the symbol is a uniform.
(ANGLEWebKitBridge):
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo): A new object that
holds the size, type and translated name of a symbol from a WebGL shader.
(ShaderSourceEntry):
(WebCore::GraphicsContext3D::ShaderSourceEntry::ShaderSourceEntry): Now keeps track
of the translated source code and symbol mappings.
(WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap): Helper function to
get the member variable corresponding to the type of symbol you're asking fo.
* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): Calls new method
name which also produces a set of symbols to examine.
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): We now can pass
in some extra compile options to do translation of long symbol names. Also fill the
map of translated symbol names.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::mappedSymbolName): Returns the mapped name for
a shader symbol if it was translated during compilation.
(WebCore):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getUniformLocation):

LayoutTests:

Added subtests to exercise variables that are well under the limits but
not long enough to produce an error. This way we now test all three options:
under the limit, at the limit, over the limit.

Also, the tests are unskipped on Mac.

* fast/canvas/webgl/attrib-location-length-limits-expected.txt:
* fast/canvas/webgl/attrib-location-length-limits.html:
* fast/canvas/webgl/uniform-location-length-limits-expected.txt:
* fast/canvas/webgl/uniform-location-length-limits.html:
* platform/mac/TestExpectations:

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

8 years ago[WK2] Support all attributes of GeolocationPosition
benjamin@webkit.org [Thu, 4 Oct 2012 19:10:18 +0000 (19:10 +0000)]
[WK2] Support all attributes of GeolocationPosition
https://bugs.webkit.org/show_bug.cgi?id=98212

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-10-03
Reviewed by Sam Weinig.

Source/WebKit/mac:

Add an internal constructor for the sake of testing.
A similar API is used on iOS.

* WebView/WebGeolocationPosition.mm:
(-[WebGeolocationPosition initWithGeolocationPosition:]):

Source/WebKit2:

Add complete support for GeolocationPosition.

* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::WebGeolocationPosition):
(WebKit::WebGeolocationPosition::Data::encode):
(WebKit::WebGeolocationPosition::Data::decode):
* Shared/WebGeolocationPosition.h:
(Data):
(WebKit::WebGeolocationPosition::create):
(WebKit::WebGeolocationPosition::canProvideAltitude):
(WebKit::WebGeolocationPosition::altitude):
(WebGeolocationPosition):
(WebKit::WebGeolocationPosition::canProvideAltitudeAccuracy):
(WebKit::WebGeolocationPosition::altitudeAccuracy):
(WebKit::WebGeolocationPosition::canProvideHeading):
(WebKit::WebGeolocationPosition::heading):
(WebKit::WebGeolocationPosition::canProvideSpeed):
(WebKit::WebGeolocationPosition::speed):
WebGeolocationPosition mirror the attributes of WebCore::GeolocationPosition.

* UIProcess/API/C/WKGeolocationPosition.cpp:
(WKGeolocationPositionCreate):
(WKGeolocationPositionCreate_b):
Add a new API exposing all the arguments.

* UIProcess/API/C/WKGeolocationPosition.h:
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):

Tools:

Expand WebKitTestRunner and DumpRenderTree to test all the attributes
of GeolocationPosition.

* DumpRenderTree/TestRunner.cpp:
(setMockGeolocationPositionCallback):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::setMockGeolocationPosition):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::setMockGeolocationPosition):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setMockGeolocationPosition):
* DumpRenderTree/wx/TestRunnerWx.cpp:
(TestRunner::setMockGeolocationPosition):
* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::setPosition):
* WebKitTestRunner/GeolocationProviderMock.h:
(GeolocationProviderMock):
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_platformTypeVariableDeclaration):
Use a proper constructor for the JSValueRef, it is an opaque type, we are not supposed
to build the pointer outself.
This is necessary to support optional JSValueRef properly.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setMockGeolocationPosition):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMockGeolocationPosition):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setMockGeolocationPosition):
* WebKitTestRunner/TestController.h:
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Add a new test for the exposed attributes. It is disabled everywhere else than
Mac because of the missing DRT features.

* fast/dom/Geolocation/coordinates-interface-attributes-expected.txt: Added.
* fast/dom/Geolocation/coordinates-interface-attributes.html: Added.
* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

8 years agoMake the Xvfb driver recognize `X' as a valid X server binary.
rakuco@webkit.org [Thu, 4 Oct 2012 18:58:24 +0000 (18:58 +0000)]
Make the Xvfb driver recognize `X' as a valid X server binary.
https://bugs.webkit.org/show_bug.cgi?id=98434

Reviewed by Dirk Pranke.

The X server binary can also be called `X', so account for that
possibility in the _next_free_display regexp.

Additionally, make the regular expression require at least one
space character after the `ps comm' part.

* Scripts/webkitpy/layout_tests/port/xvfbdriver.py:
(XvfbDriver._next_free_display):
* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.test_next_free_display):

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

8 years agowebkitpy: Accept WEBKITOUTPUTDIR in Port._setup_environ_for_server.
rakuco@webkit.org [Thu, 4 Oct 2012 18:50:23 +0000 (18:50 +0000)]
webkitpy: Accept WEBKITOUTPUTDIR in Port._setup_environ_for_server.
https://bugs.webkit.org/show_bug.cgi?id=98436

Reviewed by Dirk Pranke.

The Xvfb driver (ab)uses Port._setup_environ_for_server() to set
the environment for the server process, and the WEBKITOUTPUTDIR
environment variable was not being passed through, causing the
build directory to be wrongfully set to WebKitBuild/ all the time.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.setup_environ_for_server):

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

8 years agoAfter r130344, OpaqueJSString() creates a empty string which should be a null string
msaboff@apple.com [Thu, 4 Oct 2012 18:49:42 +0000 (18:49 +0000)]
After r130344, OpaqueJSString() creates a empty string which should be a null string
https://bugs.webkit.org/show_bug.cgi?id=98417

Reviewed by Alexey Proskuryakov.

Removed the setting of enclosed string to an empty string from default constructor.
Before changeset r130344, the semantic was the default constructor produced a null
string.

* API/OpaqueJSString.h:
(OpaqueJSString::OpaqueJSString):

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

8 years ago[skia] Drawing a subrect of bitmap image is misaligned
hclam@chromium.org [Thu, 4 Oct 2012 18:40:56 +0000 (18:40 +0000)]
[skia] Drawing a subrect of bitmap image is misaligned
https://bugs.webkit.org/show_bug.cgi?id=95121

Reviewed by Stephen White.

Source/WebCore:

When drawing a subrect of BitmapImage and the subrect is not aligned
to integer boundaries, skia expands it to the closest enclosing integer
rectangle. This creates prominent rendering artifacts when an image
is used as background and its sub-regions are invalidated frequently.

This patch fixes the problem by doing alignment to integer boundaries
and clipping for both cases of RESAMPLE_AWESOME and RESAMPLE_LINEAR.

A clip rect is applied to the canvas using original destination
rectangle, while source and destination rectangles are enlarged
appropriately to ensure source rectangle is aligned.

This patch also fixes a closely related problem. In RESAMPLE_AWESOME
resampling mode the previous algorithm applies different approximated
scale factor for each scaled image fragment. This caused the stitched
image to look ugly.

Scale factor is approximated using entire image size, this gives a
more accurate approximation because of greater denominator and a
consistent scale factor across all fragments.

Changes in Skia enable caching of the scaled image and return the
scaled fragment because scale factor is now consistent for all
fragments.

Tests: fast/images/paint-subrect-grid.html
       fast/images/paint-subrect.html
       fast/images/repaint-subrect-grid.html

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode): Use float for width and height.
(WebCore):
(WebCore::areBoundariesIntegerAligned):
(WebCore::computeBitmapDrawRects):
(WebCore::extractScaledImageFragment):
(WebCore::drawResampledBitmap): New algorithm for drawing scaled image fragment.
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):
(WebCore::BitmapImage::draw): Use SkRect instead of SkIRect.
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/skia/NativeImageSkia.cpp:
Changing the algorithm for extracting a scaled image fragment.
A fragment is now identified by (scaledImageSize, scaledImageSubset).
(WebCore::NativeImageSkia::hasResizedBitmap):
(WebCore::NativeImageSkia::resizedBitmap):
(WebCore::NativeImageSkia::shouldCacheResampling):
(WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
(WebCore):
(WebCore::NativeImageSkia::CachedImageInfo::isEqual):
(WebCore::NativeImageSkia::CachedImageInfo::set):
(WebCore::NativeImageSkia::CachedImageInfo::rectInSubset):
* platform/graphics/skia/NativeImageSkia.h:
(NativeImageSkia):
(CachedImageInfo):

LayoutTests:

3 new tests added.

- fast/images/paint-subrect.html

This test enlarges a 2x1 image in a canvas for easy verification.
2/3 of the image is used as source rectangle to exercise the code path
for partial pixel addressing.

Pixel test result should have 1/3 blue on the left and 2/3 green on the
right with gradient according to interpolation settings.

- fast/images/paint-subrect-grid.html

Draws a 11x11 image into a canvas in 8 fragments with partial pixels.
Canvas should look just like a single image enlarged.

- fast/images/repaint-subrect-grid.html

Scale a 31x31 image to 55x55. A blue square moves across the scaled
image such that the image is partially invalidated. After the animation
the image should look the same.

* fast/images/paint-subrect-expected.txt: Added.
* fast/images/paint-subrect-grid-expected.txt: Added.
* fast/images/paint-subrect-grid.html: Added.
* fast/images/paint-subrect.html: Added.
* fast/images/repaint-subrect-grid-expected.html: Added.
* fast/images/repaint-subrect-grid.html: Added.
* fast/images/resources/grid-large.png: Added.
* fast/images/resources/grid-small.png: Added.
* platform/chromium/TestExpectations: Added image failure expectations.
* platform/chromium/fast/images/paint-subrect-expected.png: Added.
* platform/chromium/fast/images/paint-subrect-grid-expected.png: Added.
* platform/chromium/fast/images/repaint-subrect-grid-expected.png: Added.

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

8 years agoReplaceSelectionCommand should merge text nodes
rniwa@webkit.org [Thu, 4 Oct 2012 18:36:44 +0000 (18:36 +0000)]
ReplaceSelectionCommand should merge text nodes
https://bugs.webkit.org/show_bug.cgi?id=98188

Reviewed by Levi Weintraub.

Source/WebCore:

Added mergeTextNodesAroundPosition to ReplaceSelectionCommand to merge text nodes after the replace in
completeHTMLReplacement. Also fixed a bunch of bugs in other classes and functions to make this work.

This behavior change is tested by existing tests.

* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): When splitting a text node, place the insertionPosition
at the end of the first half. Leaving it at the beginning of the second half confuses the rest of the code in
the function. However, the logic to handle the "insignificant" white spaces needs the position at the start of
the second half. So keep this position.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Update visibleStart after inserting a paragraph separator so that
the logic to cleanup the nested div checks the right condition (right beneath it starting with a long comment).
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Insert a space for smart paste at the appropriate
offset instead of at the end of endNode. Also update the layout before obtaining startDownstream as we may have
modified the DOM by inserting a space for endNode. Finally, a non-breaking space should be treated like a space
isCharacterSmartReplaceExempt for the purpose of smart replace. e.g. if we're inserting "world" after
"hello&nbsp;", we shouldn't be inserting another space between "hello" and "world".
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): Added. Merge text nodes around position, and
adjust position and positionOnlyToBeUpdated accordingly. We need to call updatePositionForNodeRemoval when
positions were before or after the text node.
* editing/ReplaceSelectionCommand.h:
(ReplaceSelectionCommand):

LayoutTests:

Rebaselined tests.

* editing/deleting/merge-paragraphs-with-transparent-background-expected.txt:
* editing/deleting/paste-with-transparent-background-color-expected.txt:
* editing/execCommand/outdent-selection-expected.txt:
* editing/execCommand/remove-list-items-expected.txt:
* editing/inserting/insert-3907422-fix-expected.txt:
* editing/pasteboard/avoid-copying-body-with-background-expected.txt:
* editing/pasteboard/block-wrappers-necessary-expected.txt:
* editing/pasteboard/drag-drop-list-expected.txt:
* editing/pasteboard/merge-end-5-expected.txt:
* editing/pasteboard/paste-before-tab-span-expected.txt:
* editing/pasteboard/paste-into-table-cell-expected.txt:
* editing/pasteboard/paste-text-001-expected.txt:
* editing/pasteboard/paste-text-002-expected.txt:
* editing/pasteboard/paste-text-003-expected.txt:
* editing/pasteboard/paste-text-010-expected.txt:
* editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
* editing/pasteboard/paste-unrendered-select-expected.txt:
* editing/pasteboard/smart-paste-001-expected.txt:
* editing/pasteboard/smart-paste-002-expected.txt:
* editing/pasteboard/smart-paste-003-expected.txt:
* editing/pasteboard/smart-paste-004-expected.txt:
* editing/pasteboard/smart-paste-005-expected.txt:
* editing/pasteboard/smart-paste-006-expected.txt:
* fast/events/ondragenter-expected.txt:
* fast/lists/drag-into-marker.html:
* platform/mac/editing/deleting/delete-block-merge-contents-018-expected.txt:
* platform/mac/editing/deleting/delete-block-merge-contents-019-expected.txt:
* platform/mac/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/mac/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/mac/editing/deleting/delete-block-merge-contents-022-expected.txt:
* platform/mac/editing/deleting/merge-no-br-expected.txt:
* platform/mac/editing/execCommand/find-after-replace-expected.txt:
* platform/mac/editing/execCommand/paste-1-expected.txt:
* platform/mac/editing/execCommand/paste-2-expected.txt:
* platform/mac/editing/pasteboard/4944770-2-expected.txt:
* platform/mac/editing/pasteboard/5006779-expected.txt:
* platform/mac/editing/pasteboard/5028447-expected.txt:
* platform/mac/editing/pasteboard/8145-3-expected.txt:
* platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.txt:
* platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
* platform/mac/editing/pasteboard/merge-end-borders-expected.txt:
* platform/mac/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/mac/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/mac/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/mac/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/mac/editing/pasteboard/paste-text-004-expected.txt:
* platform/mac/editing/pasteboard/paste-text-005-expected.txt:
* platform/mac/editing/pasteboard/paste-text-008-expected.txt:
* platform/mac/editing/pasteboard/paste-text-009-expected.txt:
* platform/mac/editing/pasteboard/smart-drag-drop-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
* platform/mac/editing/pasteboard/subframe-dragndrop-1-expected.txt:
* platform/mac/editing/pasteboard/unrendered-br-expected.txt:

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

8 years agoUnreviewed, fix flexbox-baseline.html to test the new behavior after r130409.
tony@chromium.org [Thu, 4 Oct 2012 17:51:20 +0000 (17:51 +0000)]
Unreviewed, fix flexbox-baseline.html to test the new behavior after r130409.

* css3/flexbox/flexbox-baseline.html:
* platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.txt:

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

8 years agoFix <input type="month"> tests
tony@chromium.org [Thu, 4 Oct 2012 17:46:43 +0000 (17:46 +0000)]
Fix <input type="month"> tests
https://bugs.webkit.org/show_bug.cgi?id=98426

Reviewed by Ojan Vafai.

The month picker uses flexbox and assumes that it will be aligned with
the last line box. This looks visually correct. I will follow up on
www-style to see what the expected behavior is.

Tests: fast/forms/month-multiple-fields tests cover this.

* rendering/RenderFlexibleBox.cpp:
* rendering/RenderFlexibleBox.h:

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

8 years agoUnreviewed, fixing expected results for a test that needs a new baseline.
tony@chromium.org [Thu, 4 Oct 2012 17:29:56 +0000 (17:29 +0000)]
Unreviewed, fixing expected results for a test that needs a new baseline.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

8 years agoUnreviewed, rolling out r130396.
commit-queue@webkit.org [Thu, 4 Oct 2012 17:24:14 +0000 (17:24 +0000)]
Unreviewed, rolling out r130396.
http://trac.webkit.org/changeset/130396
https://bugs.webkit.org/show_bug.cgi?id=98421

This patch is causing crashes on 4 tests on Lion Debug and
Mountain Lion Debug (Requested by jernoble on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-04

Source/WebCore:

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
* rendering/RenderLayerCompositor.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
* testing/InternalSettings.h:
(Backup):

LayoutTests:

* compositing/layer-creation/fixed-position-absolute-descendant-expected.txt: Removed.
* compositing/layer-creation/fixed-position-absolute-descendant.html: Removed.

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

8 years ago[EFL] Fix r140403 by skipping the right test.
rakuco@webkit.org [Thu, 4 Oct 2012 17:21:31 +0000 (17:21 +0000)]
[EFL] Fix r140403 by skipping the right test.

* platform/efl/TestExpectations:

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

8 years agoinline-flex baseline is sometimes wrong
tony@chromium.org [Thu, 4 Oct 2012 16:47:50 +0000 (16:47 +0000)]
inline-flex baseline is sometimes wrong
https://bugs.webkit.org/show_bug.cgi?id=96188

Reviewed by Ojan Vafai.

Source/WebCore:

Implement the necessary methods to get the proper baseline alignment of flexbox.
We were falling back to the inline-block behavior.

Test: css3/flexbox/flexbox-baseline.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::baselinePosition): Used to get the baseline of the box.
Mostly just the first line box baseline.
(WebCore):
(WebCore::RenderFlexibleBox::lastLineBoxBaseline): This is used for getting the baseline when in an inline-block.
We actually don't want the last line, but the flexbox's baseline.
(WebCore::RenderFlexibleBox::firstLineBoxBaseline): Compute the baseline according to the rules in the spec.
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Keep track of the number of children on the
first line so we don't have to re-compute this when getting the baseline.
(WebCore::RenderFlexibleBox::crossAxisExtentForChild): Make const.
(WebCore::RenderFlexibleBox::mainAxisExtentForChild): Make const.
(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis): Make const.
* rendering/RenderFlexibleBox.h: Add a size_t to keep track of how many children are in the first line.

LayoutTests:

Add a new pixel test and mark the test as failing so we can get pixel results from the bots.

* css3/flexbox/flexbox-baseline.html: Added.
* platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.png: Added.
* platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoString::remove will convert an 8 bit string to a 16 bit string
msaboff@apple.com [Thu, 4 Oct 2012 16:45:28 +0000 (16:45 +0000)]
String::remove will convert an 8 bit string to a 16 bit string
https://bugs.webkit.org/show_bug.cgi?id=98299

Reviewed by Benjamin Poulain.

Added an 8 bit path to remove().  Added a private templated helper removeInternal.

* wtf/text/WTFString.cpp:
(WTF::String::removeInternal):
(WTF::String::remove):
* wtf/text/WTFString.h:
(String):

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

8 years ago[EFL] Temporarily skip fast/xsl/xslt-missing-namespace-in-xslt.html.
rakuco@webkit.org [Thu, 4 Oct 2012 16:39:46 +0000 (16:39 +0000)]
[EFL] Temporarily skip fast/xsl/xslt-missing-namespace-in-xslt.html.

As bug 91009 shows, libxml 2.8.0 makes us produce a different test
result. Unskip the test for now until we add that version to
jhbuild.

* platform/efl/TestExpectations:

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

8 years ago[Chromium] Should set unitsPerEm in SimpleFontDataSkia.cpp
wangxianzhu@chromium.org [Thu, 4 Oct 2012 16:37:54 +0000 (16:37 +0000)]
[Chromium] Should set unitsPerEm in SimpleFontDataSkia.cpp
https://bugs.webkit.org/show_bug.cgi?id=98100

Reviewed by Stephen White.

Source/WebCore:

At least on chromium-linux and chromium-android, unitsPerEm was not set
according to the information in the font, causing at least problems in
OpenTypeVerticalData when calculating vertical advance.

Test: fast/writing-mode/vertical-font-vmtx-units-per-em.html

* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

* fast/writing-mode/resources/DroidSansFallback-reduced.ttf: Added.
* fast/writing-mode/vertical-font-vmtx-units-per-em-expected.txt: Added.
* fast/writing-mode/vertical-font-vmtx-units-per-em.html: Added.

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

8 years ago[EFL] Revert some wrong baselines added in r130387.
rakuco@webkit.org [Thu, 4 Oct 2012 16:24:59 +0000 (16:24 +0000)]
[EFL] Revert some wrong baselines added in r130387.

Thanks to Christophe Dumez and Mikhail Pozdnyakov for the help.

* platform/efl/compositing/visibility/visibility-simple-video-layer-expected.txt: Removed.
* platform/efl/fullscreen/parent-flow-inline-with-block-child-expected.txt:

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

8 years agoStandardize on "flush" terminology for compositing layer flushing/syncing
simon.fraser@apple.com [Thu, 4 Oct 2012 16:16:19 +0000 (16:16 +0000)]
Standardize on "flush" terminology for compositing layer flushing/syncing
https://bugs.webkit.org/show_bug.cgi?id=98321

Reviewed by Simon Fraser.

Rename compositing-related methods that refer to "syncing" to instead
refer to "flushing".

Source/WebCore:

* WebCore.exp.in:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::scheduleCompositingLayerFlush):
* page/ChromeClient.h:
(ChromeClient):
* page/FrameView.cpp:
(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::flushCompositingStateIncludingSubframes):
(WebCore::FrameView::paintContents):
* page/FrameView.h:
(FrameView):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleLayerFlush):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

Source/WebKit/blackberry:

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::scheduleCompositingLayerFlush):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::scheduleCompositingLayerFlush):
* src/ChromeClientImpl.h:
(ChromeClientImpl):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::scheduleCompositingLayerFlush):
* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::scheduleCompositingLayerFlush):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scheduleCompositingLayerFlush):
* WebView/WebView.mm:
(-[WebView _flushCompositingChanges]):
(LayerFlushController::flushLayers):
(-[WebView _scheduleCompositingLayerFlush]):
* WebView/WebViewInternal.h:

Source/WebKit/qt:

* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::scheduleCompositingLayerFlush):
* WebCoreSupport/ChromeClientQt.h:
(ChromeClientQt):
* WebCoreSupport/PageClientQt.cpp:
(WebCore::PageClientQGraphicsWidget::syncLayers):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::scheduleCompositingLayerFlush):
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebView.cpp:
(WebView::flushPendingGraphicsLayerChanges):

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::scheduleCompositingLayerFlush):
* WebCoreSupport/ChromeClientWinCE.h:
(ChromeClientWinCE):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::scheduleCompositingLayerFlush):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::flushPendingLayerChanges):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlush):
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

8 years ago[Qt] Add missing LLInt dependencies to the build system
ossy@webkit.org [Thu, 4 Oct 2012 16:13:07 +0000 (16:13 +0000)]
[Qt] Add missing LLInt dependencies to the build system
https://bugs.webkit.org/show_bug.cgi?id=98394

Reviewed by Geoffrey Garen.

* DerivedSources.pri:
* LLIntOffsetsExtractor.pro:

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

8 years agoWeb Inspector: expose object internal properties such as PrimitiveValue or BoundThis
commit-queue@webkit.org [Thu, 4 Oct 2012 16:12:42 +0000 (16:12 +0000)]
Web Inspector: expose object internal properties such as PrimitiveValue or BoundThis
https://bugs.webkit.org/show_bug.cgi?id=94397

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-10-04
Reviewed by Yury Semikhatsky.

Source/WebCore:

Internal property access is built from Injected Script to V8 debug API. JSC binding
has a stub imlpementation. Protocol is updated to explicitly reflect internal properties.

Test: inspector-protocol/runtime-getProperties.html

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::getInternalProperties):
(WebCore):
* bindings/v8/DebuggerScript.js:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::getInternalProperties):
(WebCore):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::getInternalPropertiesCallback):
(WebCore):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::getInternalProperties):
(WebCore):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):

LayoutTests:

A test is added to support new feature. Old test is updated because line number changed.

* inspector-protocol/runtime-getProperties-expected.txt: Added.
* inspector-protocol/runtime-getProperties.html: Added.
* inspector/console/command-line-api-expected.txt:

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

8 years ago[BlackBerry] Update how we compile inspector front-end javascript.
kpiascik@rim.com [Thu, 4 Oct 2012 16:08:34 +0000 (16:08 +0000)]
[BlackBerry] Update how we compile inspector front-end javascript.
https://bugs.webkit.org/show_bug.cgi?id=98413

Reviewed by Rob Buis.

No longer cat all JavaScript together, instead use the lazy init and
only append our custom changes script to the end of inspectorBB.html.

* PlatformBlackBerry.cmake:

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

8 years agoFixed position visibility check does not consider descendants
commit-queue@webkit.org [Thu, 4 Oct 2012 15:57:50 +0000 (15:57 +0000)]
Fixed position visibility check does not consider descendants
https://bugs.webkit.org/show_bug.cgi?id=98144

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-10-04
Reviewed by Simon Fraser.

Source/WebCore:

The check against creating composition layers for invisible fixed positioned
elements is too aggressive in that it does not consider descendants of the
fixed positioned element that may be visible even though the element itself is
out of view.

Fix the problem by calculating the true composited bounds of the fixed
element instead of just using the size of the fixed layer. Because calculating
the true bounds may be expensive, it is only done if the fixed layer itself is
invisible.

Test: compositing/layer-creation/fixed-position-absolute-descendant.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
* rendering/RenderLayerCompositor.h:

LayoutTests:

Added a test for the fixed position layer visibility check.

* compositing/layer-creation/fixed-position-absolute-descendant-expected.txt: Added.
* compositing/layer-creation/fixed-position-absolute-descendant.html: Added.

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

8 years ago[EFL][WK2] Add setting to allow file access from file:// URLs
commit-queue@webkit.org [Thu, 4 Oct 2012 15:52:29 +0000 (15:52 +0000)]
[EFL][WK2] Add setting to allow file access from file:// URLs
https://bugs.webkit.org/show_bug.cgi?id=98121

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-04
Reviewed by Laszlo Gombos.

Source/WebKit2:

Add Ewk setting to set / query permission to access
files from file:// URLs.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/resources/local_file_access.html: Added.
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F): Add unit tests for new ewk setting.

Tools:

Allow file access from file:// URLs by default in Minibrowser
to facilitate testing.

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

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

8 years ago[Qt] Unreviewed gardening after r130385. Skip some failing test.
kadam@inf.u-szeged.hu [Thu, 4 Oct 2012 15:47:13 +0000 (15:47 +0000)]
[Qt] Unreviewed gardening after r130385. Skip some failing test.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt:

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

8 years agoWeb Inspector: When uiSourceCode content has diverged from VM script, call frames...
vsevik@chromium.org [Thu, 4 Oct 2012 15:32:08 +0000 (15:32 +0000)]
Web Inspector: When uiSourceCode content has diverged from VM script, call frames should be shown in temporary script based uiSourceCodes.
https://bugs.webkit.org/show_bug.cgi?id=98385

Reviewed by Pavel Feldman.

Source/WebCore:

When javaScriptSource diverges from VM, ResourceScriptMapping now switches debugging
to temporary VM scripts based uiSourceCode with isDivergedReplacement property set.
Added hasDivergedFromVM and isDivergingFromVM properties to JavaScriptSource.
JavaScriptSourceFrame and ScriptSnippetsModel are updated to process breakpoint changes correctly.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):
* inspector/front-end/JavaScriptSource.js:
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
(WebInspector.JavaScriptSource.prototype.workingCopyChanged):
(WebInspector.JavaScriptSource.prototype.fireHasDivergedFromVMChanged):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
(WebInspector.JavaScriptSourceFrame.prototype._hasDivergedFromVM):
(WebInspector.JavaScriptSourceFrame.prototype.onTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._getBreakpointDecorations):
(WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
(WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVMChanged):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
(WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
(WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._revealExecutionLine):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.formatted):

LayoutTests:

* inspector/debugger/dynamic-script-tag-expected.txt:
* inspector/debugger/resource-script-mapping-expected.txt:

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