WebKit-https.git
6 years agoREGRESSION (r129738): Calendar picker is too wide when the input is rtl
keishi@webkit.org [Wed, 10 Oct 2012 11:29:49 +0000 (11:29 +0000)]
REGRESSION (r129738): Calendar picker is too wide when the input is rtl
https://bugs.webkit.org/show_bug.cgi?id=98881

.:

Reviewed by kent Tamura.

* ManualTests/forms/calendar-picker.html: Added isCalendarRTL parameters.

Source/WebCore:

Reviewed by Kent Tamura.

Calendar picker should use param.isCalendarRTL instead of param.isRTL but some were left.

No new tests. Covered by ManualTests/forms/calendar-picker.html.

* Resources/pagepopups/calendarPicker.js:
(CalendarPicker.prototype.fixWindowSize): Calendar picker should use param.isCalendarRTL instead of param.isRTL.
(DaysTable.prototype._handleKey): Ditto.

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

6 years ago[EFL][WK2] Port MiniBrowser to Elementary
commit-queue@webkit.org [Wed, 10 Oct 2012 11:22:29 +0000 (11:22 +0000)]
[EFL][WK2] Port MiniBrowser to Elementary
https://bugs.webkit.org/show_bug.cgi?id=98748

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

.:

Bump EFL librairies dependencies to v1.7
and add Elementary as optional dependency now
that it is needed to build MiniBrowser.

* Source/cmake/FindEet.cmake: Added.
* Source/cmake/FindElementary.cmake: Added.
* Source/cmake/OptionsEfl.cmake:

Tools:

Port MiniBrowser to Elementary to simplify the
code and make future improvements easier. The
URL bar is now an Elementary Entry widget and
supports additional functionality like copy /
paste.

* CMakeLists.txt:
* EWebLauncher/url_bar.c:
(on_urlbar_key_down): Remove WK2-specific code
now that this file is no longer used by MiniBrowser.
* MiniBrowser/efl/CMakeLists.txt:
* MiniBrowser/efl/main.c:
(_Browser_Window):
(window_free):
(window_close):
(view_focus_set):
(on_mouse_down):
(title_set):
(on_title_changed):
(on_url_changed):
(on_close_window):
(on_progress):
(quit):
(on_url_bar_activated):
(on_url_bar_clicked):
(on_window_deletion):
(window_create):
(elm_main):
* efl/jhbuild.modules: Add Elementary to jhbuild and bump
EFL dependencies to 1.7.

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

6 years ago[GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
carlosgc@webkit.org [Wed, 10 Oct 2012 11:16:16 +0000 (11:16 +0000)]
[GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
https://bugs.webkit.org/show_bug.cgi?id=98731

Reviewed by Martin Robinson.

The problem is in the test itself that is using
SingleResourceLoadTest class to load a multiresource document.

* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebViewResourcesHistoryCache): Load only single resource
documents and check also that the main resource given is the
expected one.
(serverCallback): Add another single resource document.

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

6 years ago[WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
commit-queue@webkit.org [Wed, 10 Oct 2012 11:14:40 +0000 (11:14 +0000)]
[WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
https://bugs.webkit.org/show_bug.cgi?id=98882

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

Source/WebKit2:

Properly serialize / deserialize ResourceError.isCancellation
boolean so that it can be used in UIProcess.

* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):

Tools:

Do not display the error page in MiniBrowser if the loading
error corresponds to a cancellation.

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

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

6 years agoAdd behavior tests for input[type=date] with multiple fields
tkent@chromium.org [Wed, 10 Oct 2012 10:52:46 +0000 (10:52 +0000)]
Add behavior tests for input[type=date] with multiple fields
https://bugs.webkit.org/show_bug.cgi?id=98480

Reviewed by Kentaro Hara.

* fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-ax-value-changed-notification-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-ax-value-changed-notification.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-blur-and-focus-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-blur-and-focus-events.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html:
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-spinbutton-change-and-input-events.html: Copied from LayoutTests/fast/forms/time-multiple-fields/time-multiple-fields-spinbutton-change-and-input-events.html.
* fast/forms/date-multiple-fields/date-multiple-fields-wheel-event-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-wheel-event.html: Copied from LayoutTests/fast/forms/time-multiple-fields/time-multiple-fields-spinbutton-change-and-input-events.html.
* fast/forms/date/date-reset-value-expected.html: Added.
* fast/forms/date/date-reset-value.html: Added.

* fast/forms/resources/common-spinbutton-change-and-input-events.js:
(testSpinButtonChangeAndInputEvents):
Uses getElementByPseudoId() to obtain spin button position. The date
type and the time type have their spin button at different positions
because of a picker indicator triangle.
* fast/forms/number/number-spinbutton-change-and-input-events.html:
Need to import comon.js because common-spinbutton-change-and-input-events.js depends on it.
* fast/forms/time-multiple-fields/time-multiple-fields-spinbutton-change-and-input-events.html:
Ditto.

* fast/forms/resources/common-wheel-event.js:
(testWheelEvent): Fix a wrong message.
* fast/forms/time-multiple-fields/time-multiple-fields-wheel-event-expected.txt: Ditto.

* fast/forms/resources/multiple-fields-blur-and-focus-events.js:
Added. Move the code from time-multiple-fields-blur-and-focus-events.html.
* fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html:
Moved the code to multiple-fields-blur-and-focus-events.js.

* platform/chromium/TestExpectations:

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

6 years agoWeb Inspector: Semantically incorrect CSS rules result in broken source code data
apavlov@chromium.org [Wed, 10 Oct 2012 10:50:16 +0000 (10:50 +0000)]
Web Inspector: Semantically incorrect CSS rules result in broken source code data
https://bugs.webkit.org/show_bug.cgi?id=98520

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Pop and throw away rule data from the stack when data have been collected for a semantically invalid CSS rule
(which is not going to be created).

* css/CSSParser.cpp:
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):

LayoutTests:

* inspector/styles/parse-stylesheet-errors-expected.txt:
* inspector/styles/parse-stylesheet-errors.html:

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

6 years ago[EFL][WK2] Add APIs to get/set the DNS prefetching
commit-queue@webkit.org [Wed, 10 Oct 2012 10:41:24 +0000 (10:41 +0000)]
[EFL][WK2] Add APIs to get/set the DNS prefetching
https://bugs.webkit.org/show_bug.cgi?id=98790

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-10-10
Reviewed by Laszlo Gombos.

Add setting APIs for DNS prefetching and a unit test.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_DNS_prefetching_enabled_set):
(ewk_settings_DNS_prefetching_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

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

6 years ago[EFL] Use ewk_view_paint instead of ewk_view_paint_contents in ewk_view_single.
ryuan.choi@samsung.com [Wed, 10 Oct 2012 10:40:52 +0000 (10:40 +0000)]
[EFL] Use ewk_view_paint instead of ewk_view_paint_contents in ewk_view_single.
https://bugs.webkit.org/show_bug.cgi?id=98716

Reviewed by Kenneth Rohde Christiansen.

ewk_view_paint is the wrapper of ScrollView::paint and
ewk_view_paint_contents is the wrapper of FrameView::paintContents.

Because FrameView::paintContents just draw contents,
ewk_view_single should use ewk_view_paint instead of ewk_view_paint_contents
like other ports.

* ewk/ewk_view.cpp:
(ewk_view_paint):
Moved updateLayoutAndStyleIfNeededRecursive to share ewk_view_paint.
* ewk/ewk_view_single.cpp:
(_ewk_view_single_smart_repaints_process):
Modified to call ewk_view_paint.

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

6 years ago[Qt][Mac] GL_ARB_texture_rectangle must be activated when using ANGLE.
zeno.albisser@digia.com [Wed, 10 Oct 2012 10:38:38 +0000 (10:38 +0000)]
[Qt][Mac] GL_ARB_texture_rectangle must be activated when using ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=98387

Check for the availability of GL_ARB_texture_rectangle extension.
In case it is available, we activate the extension for ANGLE.
This is necessary for WebGL on mac, because the GraphicsSurface
on this platform is based on an IOSurface, which requires this extension.

Reviewed by Noam Rosenthal.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::initializeANGLE):

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

6 years ago[Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
jocelyn.turcotte@digia.com [Wed, 10 Oct 2012 10:24:53 +0000 (10:24 +0000)]
[Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
https://bugs.webkit.org/show_bug.cgi?id=98642

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

There was an early return that would prevent gesture recognition if no PageViewportController
has been set on QtWebPageEventHandler. The gesture recognizer are also used to send
GestureEvents to WebCore which this layout test is using.

Make sure that the gesture recognition is done even when no PageViewportController is present.

* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleInputEvent):
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):

LayoutTests:

* platform/qt-5.0-wk2/TestExpectations: Unskip focusout-on-touch.html

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

6 years ago[Qt] WTR: Fix an assert triggered by EventSenderProxy::touchEnd
jocelyn.turcotte@digia.com [Wed, 10 Oct 2012 10:23:39 +0000 (10:23 +0000)]
[Qt] WTR: Fix an assert triggered by EventSenderProxy::touchEnd
https://bugs.webkit.org/show_bug.cgi?id=98735

Reviewed by Kenneth Rohde Christiansen.

ASSERT: "itemForTouchPointId.isEmpty()" in file qt5/qtdeclarative/src/quick/items/qquickwindow.cpp, line 1563
This assert is caused by QQuickWindow not registering our TouchPointReleased
since it expects QTouchEvent::touchPointStates() to be filled by the event's sender.

This patch calculates the touchPointStates like QQuickWindowPrivate::touchEventWithPoints does.

* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::sendTouchEvent):

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

6 years ago[Qt] DumpRenderTree needs a beginDragWithFiles implementation
allan.jensen@digia.com [Wed, 10 Oct 2012 09:53:21 +0000 (09:53 +0000)]
[Qt] DumpRenderTree needs a beginDragWithFiles implementation
https://bugs.webkit.org/show_bug.cgi?id=50902

Reviewed by Simon Hausmann.

Tools:

Implement support for beginDragWithFiles. This function similates dragging without going
though regular event handling. Which allows us to test effects of dropping files on
different elements.

* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::EventSender):
(EventSender::mouseUp):
(EventSender::mouseMoveTo):
(EventSender::beginDragWithFiles):
* DumpRenderTree/qt/EventSenderQt.h:
(EventSender):

LayoutTests:

Move some skipped tests that now passing in DRT to only being skipped in WTR.

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

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

6 years ago[Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
zeno.albisser@digia.com [Wed, 10 Oct 2012 09:48:04 +0000 (09:48 +0000)]
[Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
https://bugs.webkit.org/show_bug.cgi?id=98398

QString(const char*) is deprecated, we should use QStringLiteral instead.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):

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

6 years ago[EFL] Use Evas function instead of memcpy
commit-queue@webkit.org [Wed, 10 Oct 2012 09:20:56 +0000 (09:20 +0000)]
[EFL] Use Evas function instead of memcpy
https://bugs.webkit.org/show_bug.cgi?id=98483

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-10-10
Reviewed by Gyuyoung Kim.

Evas supports evas_object_image_data_copy_set() to copy raw image data.
Change memcpy() with evas_object_image_data_copy_set().

Spell out variable names and refactor variable declaration statements.

No new tests, no functionality was changed.

* ewk/ewk_util.cpp:
(ewk_util_image_from_cairo_surface_add):

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

6 years ago[EFL][WTR][CMake] Add a missing TestNetscapePlugin file
commit-queue@webkit.org [Wed, 10 Oct 2012 08:46:36 +0000 (08:46 +0000)]
[EFL][WTR][CMake] Add a missing TestNetscapePlugin file
https://bugs.webkit.org/show_bug.cgi?id=98637

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-10-10
Reviewed by Kenneth Rohde Christiansen.

PluginScriptableObjectOverridesAllProperties.cpp is used during
plugins/npruntime/overrides-all-properties.html test introduced by r123936.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:

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

6 years ago[Qt] Unreviewed gardening. Skip failing test.
kadam@inf.u-szeged.hu [Wed, 10 Oct 2012 08:31:49 +0000 (08:31 +0000)]
[Qt] Unreviewed gardening. Skip failing test.
https://bugs.webkit.org/show_bug.cgi?id=98876

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-10-10

* platform/qt/TestExpectations: skip fast/text/word-space-with-kerning.html.

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

6 years agoAdd moveDoubleToInts and moveIntsToDouble to MacroAssemblerARM
commit-queue@webkit.org [Wed, 10 Oct 2012 08:31:40 +0000 (08:31 +0000)]
Add moveDoubleToInts and moveIntsToDouble to MacroAssemblerARM
https://bugs.webkit.org/show_bug.cgi?id=98855

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-10-10
Reviewed by Filip Pizlo.

Implement the missing moveDoubleToInts and moveIntsToDouble
methods in the MacroAssemblerARM after r130839.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::moveDoubleToInts):
(MacroAssemblerARM):
(JSC::MacroAssemblerARM::moveIntsToDouble):

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

6 years ago[EFL][WK2] Add History callbacks API
commit-queue@webkit.org [Wed, 10 Oct 2012 08:14:40 +0000 (08:14 +0000)]
[EFL][WK2] Add History callbacks API
https://bugs.webkit.org/show_bug.cgi?id=98594

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-10
Reviewed by Kenneth Rohde Christiansen.

Added History callbacks API to Ewk Context. Added unit tests.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_history_callbacks_set): New public function which lets the client to set History callbacks.
(ewk_context_history_client_get):
(ewk_context_add_visited_link): New public function to mark a URL as visited link.
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_history_client.cpp: Added.
(getEwkHistoryDelegate):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_history_client_private.h: Added.
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_navigation_data.cpp: Added.
(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::~_Ewk_Navigation_Data):
(ewk_navigation_data_ref):
(ewk_navigation_data_unref):
(ewk_navigation_data_title_get):
(ewk_navigation_data_original_request_get):
(ewk_navigation_data_url_get):
(ewk_navigation_data_new):
* UIProcess/API/efl/ewk_navigation_data.h: Added.
* UIProcess/API/efl/ewk_navigation_data_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(addToPageViewMap):
(removeFromPageViewMap):
(_ewk_view_smart_del):
(_ewk_view_initialize):
(ewk_view_from_page_get):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/tests/test_ewk2_context_history_delegate.cpp: Added.
(httpServer):
(navigateWithNavigationData):
(performClientRedirect):
(performServerRedirect):
(updateHistoryTitle):
(populateVisitedLinks):
(onLoadFinishedForRedirection):
(serverCallbackRedirection):
(TEST_F):

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

6 years agoElementAttributeData: tighten member packing on 64-bit.
kling@webkit.org [Wed, 10 Oct 2012 08:04:32 +0000 (08:04 +0000)]
ElementAttributeData: tighten member packing on 64-bit.
<http://webkit.org/b/98861>

Reviewed by Anders Carlsson.

Pack m_isMutable and m_arraySize into the slack from the RefCounted base on 64-bit.
218kB progression on Membuster3.

* dom/ElementAttributeData.h:
(ElementAttributeData):

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

6 years agoUpdate pywebsocket to 0.7.7
bashi@chromium.org [Wed, 10 Oct 2012 07:55:32 +0000 (07:55 +0000)]
Update pywebsocket to 0.7.7
https://bugs.webkit.org/show_bug.cgi?id=98872

Reviewed by Yuta Kitamura.

This version contains server-side permessage-compress extension support.
We need this version to add tests for permessage-compress extension.

I confirmed all tests under http/tests/websocket passed.

* Scripts/webkitpy/thirdparty/mod_pywebsocket/__init__.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py:
(parse_frame):
(FragmentedFrameBuilder.__init__):
(FragmentedFrameBuilder.build):
(create_closing_handshake_body):
(StreamOptions.__init__):
(Stream.__init__):
(Stream._receive_frame._receive_bytes):
(Stream._receive_frame):
(Stream.receive_filtered_frame):
(Stream.send_message):
(Stream._get_message_from_frame):
(Stream):
(Stream._process_close_message):
(Stream._process_ping_message):
(Stream._process_pong_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.get_last_received_opcode):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py:
(Dispatcher.transfer_data):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:
(ExtensionProcessorInterface.name):
(DeflateStreamExtensionProcessor):
(DeflateStreamExtensionProcessor.name):
(_log_compression_ratio):
(_log_decompression_ratio):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.name):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(CompressionExtensionProcessorBase):
(CompressionExtensionProcessorBase.for):
(CompressionExtensionProcessorBase.__init__):
(CompressionExtensionProcessorBase.name):
(CompressionExtensionProcessorBase._get_compression_processor_response):
(CompressionExtensionProcessorBase.set_compression_processor_hook):
(PerFrameCompressionExtensionProcessor):
(PerFrameCompressionExtensionProcessor.__init__):
(PerFrameCompressionExtensionProcessor.name):
(PerFrameCompressionExtensionProcessor._lookup_compression_processor):
(DeflateMessageProcessor):
(DeflateMessageProcessor.__init__):
(DeflateMessageProcessor.name):
(DeflateMessageProcessor.get_extension_response):
(DeflateMessageProcessor.setup_stream_options):
(DeflateMessageProcessor.setup_stream_options._OutgoingMessageFilter):
(DeflateMessageProcessor.setup_stream_options._OutgoingMessageFilter.__init__):
(DeflateMessageProcessor.setup_stream_options._OutgoingMessageFilter.filter):
(DeflateMessageProcessor.setup_stream_options._IncomingMessageFilter):
(DeflateMessageProcessor.setup_stream_options._IncomingMessageFilter.__init__):
(DeflateMessageProcessor.setup_stream_options._IncomingMessageFilter.decompress_next_message):
(DeflateMessageProcessor.setup_stream_options._IncomingMessageFilter.filter):
(DeflateMessageProcessor.setup_stream_options._OutgoingFrameFilter):
(DeflateMessageProcessor.setup_stream_options._OutgoingFrameFilter.__init__):
(DeflateMessageProcessor.setup_stream_options._OutgoingFrameFilter.set_compression_bit):
(DeflateMessageProcessor.setup_stream_options._OutgoingFrameFilter.filter):
(DeflateMessageProcessor.setup_stream_options._IncomingFrameFilter):
(DeflateMessageProcessor.setup_stream_options._IncomingFrameFilter.__init__):
(DeflateMessageProcessor.setup_stream_options._IncomingFrameFilter.filter):
(DeflateMessageProcessor.set_c2s_max_window_bits):
(DeflateMessageProcessor.set_c2s_no_context_takeover):
(DeflateMessageProcessor.enable_outgoing_compression):
(DeflateMessageProcessor.disable_outgoing_compression):
(DeflateMessageProcessor._process_incoming_message):
(DeflateMessageProcessor._process_outgoing_message):
(DeflateMessageProcessor._process_incoming_frame):
(DeflateMessageProcessor._process_outgoing_frame):
(PerMessageCompressionExtensionProcessor):
(PerMessageCompressionExtensionProcessor.__init__):
(PerMessageCompressionExtensionProcessor.name):
(PerMessageCompressionExtensionProcessor._lookup_compression_processor):
(MuxExtensionProcessor):
(MuxExtensionProcessor.__init__):
(MuxExtensionProcessor.name):
(MuxExtensionProcessor.get_extension_response):
(MuxExtensionProcessor.setup_stream_options):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/__init__.py:
(do_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py:
(validate_subprotocol):
(check_request_line):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/draft75.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py:
(Handshaker.do_handshake):
(Handshaker._set_protocol):
(Handshaker._create_stream):
(Handshaker):
(Handshaker._create_handshake_response):
(Handshaker._send_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py:
(send_message):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py: Added.
(MuxUnexpectedException):
(MuxNotImplementedException):
(LogicalConnectionClosedException):
(PhysicalConnectionError):
(PhysicalConnectionError.__init__):
(LogicalChannelError):
(LogicalChannelError.__init__):
(_encode_channel_id):
(_encode_number):
(_create_add_channel_response):
(_create_drop_channel):
(_create_flow_control):
(_create_new_channel_slot):
(_create_fallback_new_channel_slot):
(_parse_request_text):
(_ControlBlock):
(_ControlBlock.__init__):
(_MuxFramePayloadParser):
(_MuxFramePayloadParser.that):
(_MuxFramePayloadParser.__init__):
(_MuxFramePayloadParser.read_channel_id):
(_MuxFramePayloadParser.read_inner_frame):
(_MuxFramePayloadParser._read_number):
(_MuxFramePayloadParser._read_size_and_contents):
(_MuxFramePayloadParser._read_add_channel_request):
(_MuxFramePayloadParser._read_add_channel_response):
(_MuxFramePayloadParser._read_flow_control):
(_MuxFramePayloadParser._read_drop_channel):
(_MuxFramePayloadParser._read_new_channel_slot):
(_MuxFramePayloadParser.read_control_blocks):
(_MuxFramePayloadParser.remaining_data):
(_LogicalRequest):
(_LogicalRequest.__init__):
(_LogicalRequest.is_https):
(_LogicalConnection):
(_LogicalConnection.__init__):
(_LogicalConnection.get_local_addr):
(_LogicalConnection.get_remote_addr):
(_LogicalConnection.get_memorized_lines):
(_LogicalConnection.write):
(_LogicalConnection.write_control_data):
(_LogicalConnection.notify_write_done):
(_LogicalConnection.append_frame_data):
(_LogicalConnection.read):
(_LogicalConnection.set_read_state):
(_LogicalStream):
(_LogicalStream.interprets):
(_LogicalStream.__init__):
(_LogicalStream._create_inner_frame):
(_LogicalStream._write_inner_frame):
(_LogicalStream.replenish_send_quota):
(_LogicalStream.consume_receive_quota):
(_LogicalStream.send_message):
(_LogicalStream._receive_frame):
(_LogicalStream.receive_message):
(_LogicalStream._send_closing_handshake):
(_LogicalStream.send_ping):
(_LogicalStream._send_pong):
(_LogicalStream.close_connection):
(_LogicalStream._drain_received_data):
(_OutgoingData):
(_OutgoingData.__init__):
(_PhysicalConnectionWriter):
(_PhysicalConnectionWriter.__init__):
(_PhysicalConnectionWriter.put_outgoing_data):
(_PhysicalConnectionWriter._write_data):
(_PhysicalConnectionWriter.run):
(_PhysicalConnectionWriter.stop):
(_PhysicalConnectionReader):
(_PhysicalConnectionReader.__init__):
(_PhysicalConnectionReader.run):
(_Worker):
(_Worker.__init__):
(_Worker.run):
(_MuxHandshaker):
(_MuxHandshaker.__init__):
(_MuxHandshaker._create_stream):
(_MuxHandshaker._create_handshake_response):
(_MuxHandshaker._send_handshake):
(_LogicalChannelData):
(_LogicalChannelData.__init__):
(_HandshakeDeltaBase):
(_HandshakeDeltaBase.that):
(_HandshakeDeltaBase.__init__):
(_HandshakeDeltaBase.create_headers):
(_MuxHandler):
(_MuxHandler.are):
(_MuxHandler.__init__):
(_MuxHandler.start):
(_MuxHandler.add_channel_slots):
(_MuxHandler.wait_until_done):
(_MuxHandler.notify_write_done):
(_MuxHandler.send_control_data):
(_MuxHandler.send_data):
(_MuxHandler._send_drop_channel):
(_MuxHandler._send_error_add_channel_response):
(_MuxHandler._create_logical_request):
(_MuxHandler._do_handshake_for_logical_request):
(_MuxHandler._add_logical_channel):
(_MuxHandler._process_add_channel_request):
(_MuxHandler._process_flow_control):
(_MuxHandler._process_drop_channel):
(_MuxHandler._process_control_blocks):
(_MuxHandler._process_logical_frame):
(_MuxHandler.dispatch_message):
(_MuxHandler.notify_worker_done):
(_MuxHandler.notify_reader_done):
(_MuxHandler.fail_physical_connection):
(_MuxHandler.fail_logical_channel):
(use_mux):
(start):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py:
(_StandaloneRequest.get_protocol):
(_StandaloneRequest):
(_alias_handlers):
(WebSocketServer.__init__):
(WebSocketServer._create_sockets):
(WebSocketServer.server_bind):
(WebSocketServer.server_activate):
(WebSocketRequestHandler.parse_request):
(_configure_logging):
(_build_option_parser):
(_main):
(_main.if):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:
(_Deflater.compress):
(_RFC1979Deflater.filter):

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

6 years agoAdd a test to check a step attribute works for a calendar picker
tkent@chromium.org [Wed, 10 Oct 2012 07:33:49 +0000 (07:33 +0000)]
Add a test to check a step attribute works for a calendar picker
https://bugs.webkit.org/show_bug.cgi?id=98866

Reviewed by Yuta Kitamura.

* platform/chromium-android/TestExpectations:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.txt: Added.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step.html: Added.

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

6 years agoUnreviewed, rolling out r130853.
commit-queue@webkit.org [Wed, 10 Oct 2012 07:32:03 +0000 (07:32 +0000)]
Unreviewed, rolling out r130853.
http://trac.webkit.org/changeset/130853
https://bugs.webkit.org/show_bug.cgi?id=98873

The rollout was incorrect (Requested by zdobersek on #webkit).

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

* webkit/webkitwebview.cpp:
(resizeWebViewFromAllocation):
(webkit_web_view_size_allocate):
(webkitWebViewMap):

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

6 years agoText Autosizing: Counteract funky window sizing on Android.
aelias@chromium.org [Wed, 10 Oct 2012 07:23:25 +0000 (07:23 +0000)]
Text Autosizing: Counteract funky window sizing on Android.
https://bugs.webkit.org/show_bug.cgi?id=98809

Reviewed by Adam Barth.

In Chrome for Android, the window sizes provided to WebCore are
currently in physical screen pixels instead of
device-scale-adjusted units. For example window width on a
Galaxy Nexus is 720 instead of 360.  Text autosizing expects
device-independent pixels.  When Chrome for Android cuts over to
the new coordinate space, it will be tied to the setting
applyPageScaleFactorInCompositor.

No new tests.

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

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

6 years ago[Qt] Unreviewed gardening, skip tests to paint the bot green.
ossy@webkit.org [Wed, 10 Oct 2012 07:03:35 +0000 (07:03 +0000)]
[Qt] Unreviewed gardening, skip tests to paint the bot green.

* platform/qt-5.0-wk2/TestExpectations:

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

6 years agoFlush load-and-stall.php output after sleeping
noel.gordon@gmail.com [Wed, 10 Oct 2012 06:58:13 +0000 (06:58 +0000)]
Flush load-and-stall.php output after sleeping
https://bugs.webkit.org/show_bug.cgi?id=98862

Reviewed by Kent Tamura.

Should not be a behavioral change: testing the bots with this change to see if
it helps with chromium linux/win test flakyness.

* http/tests/resources/load-and-stall.php:

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

6 years agoNote test failures after http://trac.webkit.org/changeset/130851. We
abarth@webkit.org [Wed, 10 Oct 2012 06:56:41 +0000 (06:56 +0000)]
Note test failures after trac.webkit.org/changeset/130851. We
plan to follow up in the morning in
https://bugs.webkit.org/show_bug.cgi?id=98867.

* platform/chromium/TestExpectations:

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

6 years agoTests failure on Chromium Mac after r130821.
enrica@apple.com [Wed, 10 Oct 2012 06:38:03 +0000 (06:38 +0000)]
Tests failure on Chromium Mac after r130821.
https://bugs.webkit.org/show_bug.cgi?id=98865

Unreviewed.

Marking tests as failing.

* platform/chromium/TestExpectations:

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

6 years agoRecursively detach SVGElementInstances
pdr@google.com [Wed, 10 Oct 2012 06:31:44 +0000 (06:31 +0000)]
Recursively detach SVGElementInstances
https://bugs.webkit.org/show_bug.cgi?id=98851

Reviewed by Ryosuke Niwa and Abhishek Arya

Before this patch, SVGElementInstance child nodes were not being detached. This
patch makes detach() recursively detach SVGElementInstances.

* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::detach):

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

6 years ago[Chromium] Fix harfbuzz-ng related code after r130231
bashi@chromium.org [Wed, 10 Oct 2012 06:23:34 +0000 (06:23 +0000)]
[Chromium] Fix harfbuzz-ng related code after r130231
https://bugs.webkit.org/show_bug.cgi?id=98858

Reviewed by Kent Tamura.

Replace first/second with key/value.

No new tests. No changes in behavior.

* platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
(WebCore::harfbuzzGetGlyph):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):

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

6 years agoUnreviewed, rolling out r130838.
commit-queue@webkit.org [Wed, 10 Oct 2012 06:10:09 +0000 (06:10 +0000)]
Unreviewed, rolling out r130838.
http://trac.webkit.org/changeset/130838
https://bugs.webkit.org/show_bug.cgi?id=98860

The patch is causing X errors (=> crashes) on GTK 64-bit
Release builder (Requested by zdobersek on #webkit).

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

* webkit/webkitwebview.cpp:
(resizeWebViewFromAllocation):
(webkit_web_view_size_allocate):
(webkitWebViewMap):

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

6 years agoInitialize $written variable in load-and-stall.php script
noel.gordon@gmail.com [Wed, 10 Oct 2012 06:02:55 +0000 (06:02 +0000)]
Initialize $written variable in load-and-stall.php script
https://bugs.webkit.org/show_bug.cgi?id=98854

Reviewed by Kent Tamura.

* http/tests/resources/load-and-stall.php:

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

6 years agoOnly measure text once instead of twice when performing line layout.
enrica@apple.com [Wed, 10 Oct 2012 05:48:51 +0000 (05:48 +0000)]
Only measure text once instead of twice when performing line layout.
https://bugs.webkit.org/show_bug.cgi?id=98317
<rdar://problem/12080821>

Reviewed by Dan Bernstein.

Since we are measuring each word to find out where the line break should occur,
we should cache that information to avoid measuring the run again when
creating the line box. The bulk of the change is in nextLineBreak, where
the measurements are collected and placed in a vector so that they can
be consumed in setLogicalWidthForTextRun where we used to measure the
text one more time.
Each entry in the vector is a WordMeasurement object that contains information
about the start and end offset in the run, the renderer, the measured width
and, possibly, a list of fallback fonts.
When we need to compute the width of the run to create the line box, we add
all the measurements for the given renderer in the run to get the total width.
This optiomization is currently disabled for platforms using HarfBuzz.

* platform/graphics/Font.cpp:
(WebCore::Font::width): Added fallback fonts parameter.
* platform/graphics/Font.h:
(Font): Added fallback fonts parameter to the width static member function.
This method is called when we compute the width using TextLayout.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::width): Added fallback fonts parameter.
(WebCore::Font::width):
(WebCore::ComplexTextController::advance):
* platform/graphics/mac/ComplexTextController.h:
(ComplexTextController): Added fallback fonts parameter to advance method.
* rendering/RenderBlock.h: Added WordMeasures parameter to few methods.
* rendering/RenderBlockLineLayout.cpp:
(WordMeasurement): Added new class to hold measurement information.
(WebCore::setLogicalWidthForTextRun): This is where we compute the run width using the
cached information.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added wordMeasures parameter.
(WebCore::RenderBlock::createLineBoxesFromBidiRuns): Added wordMeasures parameter.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Added declaration of the WordMeasures
vector and its use.
(WebCore::textWidth): Added fallbackFonts parameter, since now we only measure once.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): This method has been modified to collect
the measurements of the individual words and add them to the vector.

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

6 years agoGlyphPageTreeNode should use HashMap<OwnPtr>.
kling@webkit.org [Wed, 10 Oct 2012 05:28:35 +0000 (05:28 +0000)]
GlyphPageTreeNode should use HashMap<OwnPtr>.
<http://webkit.org/b/98845>

Reviewed by Dan Bernstein.

- Replace manual memory management by OwnPtrs.
- Added a GlyphPageTreeNodeMap typedef to make call sites look a bit nicer.
= Changed some hashmap get()/remove() pairs to use the more efficient take() instead.
- Made the constructor private, it has no external clients.

* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::getRoot):
(WebCore::GlyphPageTreeNode::pageCount):
(WebCore::GlyphPageTreeNode::getChild):
(WebCore::GlyphPageTreeNode::pruneCustomFontData):
(WebCore::GlyphPageTreeNode::pruneFontData):
(WebCore::GlyphPageTreeNode::showSubtree):
* platform/graphics/GlyphPageTreeNode.h:
(GlyphPageTreeNode):
(WebCore::GlyphPageTreeNode::GlyphPageTreeNode):

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

6 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 10 Oct 2012 05:25:32 +0000 (05:25 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0-wk1/fast/history/history-back-initial-vs-final-url-expected.txt: Renamed from LayoutTests/platform/qt/fast/history/history-back-initial-vs-final-url-expected.txt.

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

6 years agoSub-fields in input[type=time] should not be focusable if the input is disabled or...
tkent@chromium.org [Wed, 10 Oct 2012 05:20:36 +0000 (05:20 +0000)]
Sub-fields in input[type=time] should not be focusable if the input is disabled or read-only
https://bugs.webkit.org/show_bug.cgi?id=98850

Reviewed by Kentaro Hara.

Source/WebCore:

Covered by additional test cases of
time-multiple-fields/time-multiple-fields-keyboard-events.html and
time-multiple-fields/time-multiple-fields-mouse-events.html.

* html/shadow/DateTimeFieldElement.h:
(FieldOwner): Add isFieldOwnerDisabledOrReadOnly.
* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::isFocusable):
Check isFieldOwnerDisabledOrReadOnly, and calls HTMLElement::isFocusable()
just in case.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::isFieldOwnerDisabledOrReadOnly): Added.
* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement): Declare isFieldOwnerDisabledOrReadOnly.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html:

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

6 years ago[Chromium] Add WebElement::hasHTMLTagName, and deprecate hasTagName
tkent@chromium.org [Wed, 10 Oct 2012 05:07:13 +0000 (05:07 +0000)]
[Chromium] Add WebElement::hasHTMLTagName, and deprecate hasTagName
https://bugs.webkit.org/show_bug.cgi?id=98714

Reviewed by Abhishek Arya.

* public/WebElement.h:
(WebElement):
- Add a comment to tagName().
- Add a comment to hasTagName().
- Declare hasHTMLTagName(), which is useful to check HTML tags.
* src/WebElement.cpp:
(WebKit::WebElement::hasHTMLTagName): Added.

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

6 years ago[chromium] revert fling deacceleration parameter change
rjkroege@chromium.org [Wed, 10 Oct 2012 04:56:22 +0000 (04:56 +0000)]
[chromium] revert fling deacceleration parameter change
https://bugs.webkit.org/show_bug.cgi?id=98820

Reviewed by Adrienne Walker.

After an extended discussion, it has been decided that a previous
adjustment to fling deacceleration parameters should be reverted.

Tested by existing unit tests.

* platform/TouchFlingPlatformGestureCurve.cpp:
(WebCore::TouchFlingPlatformGestureCurve::createForTouchPad):
(WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen):

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

6 years ago[Qt]REGRESSION(r120107): It made http/tests/xmlhttprequest/origin-exact-matching...
ossy@webkit.org [Wed, 10 Oct 2012 04:55:25 +0000 (04:55 +0000)]
[Qt]REGRESSION(r120107): It made http/tests/xmlhttprequest/origin-exact-matching.html fails
https://bugs.webkit.org/show_bug.cgi?id=88913

Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-09
Reviewed by Csaba Osztrogon√°c.

Blind fix to try to fix the test.

* http/tests/xmlhttprequest/access-control-allow-lists-starting-with-comma.html:
* http/tests/xmlhttprequest/resources/access-control-allow-lists.php:

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

6 years ago[EFL] Update EFL baselines after r130840
commit-queue@webkit.org [Wed, 10 Oct 2012 04:50:14 +0000 (04:50 +0000)]
[EFL] Update EFL baselines after r130840
https://bugs.webkit.org/show_bug.cgi?id=98846

Unreviewed EFL gardening.

Update baselines after the cairo update in r130840.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-09

* platform/efl/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
* platform/efl/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png:
* platform/efl/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png:
* platform/efl/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/paths-data-01-t-expected.png:
* platform/efl/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/paths-data-02-t-expected.png:
* platform/efl/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:

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

6 years ago[EFL][WK2] Change parameter and return type of loadUrlSync().
commit-queue@webkit.org [Wed, 10 Oct 2012 04:49:52 +0000 (04:49 +0000)]
[EFL][WK2] Change parameter and return type of loadUrlSync().
https://bugs.webkit.org/show_bug.cgi?id=97920

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-09
Reviewed by Gyuyoung Kim.

loadUrlSync() uses waitUntilLoadFinished() internally, and it has
a parameter and return value for timeout.
To set and check timeout, loadUrlSync() should have those.

A parameter for timeout interval is added to loadUrlSync() and it
returns the result of waitUntilLoadFinished() for checking timeout.

And I added codes to check the result of all the LoadUrlSync()
function calls with ASSERT_TRUE() macro.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

6 years ago[Qt] new test http/tests/cookies/single-quoted-value.html is failing
commit-queue@webkit.org [Wed, 10 Oct 2012 04:48:17 +0000 (04:48 +0000)]
[Qt] new test http/tests/cookies/single-quoted-value.html is failing
https://bugs.webkit.org/show_bug.cgi?id=86066

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Csaba Osztrogon√°c.

Unskipping test.

* platform/qt/TestExpectations:

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

6 years agoextract-localizable-strings script should be able to handle paths to files containing...
commit-queue@webkit.org [Wed, 10 Oct 2012 03:26:56 +0000 (03:26 +0000)]
extract-localizable-strings script should be able to handle paths to files containing whitespaces.
https://bugs.webkit.org/show_bug.cgi?id=98844

Patch by Damian Kaleta <dkaleta@apple.com> on 2012-10-09
Reviewed by Dan Bernstein.

* Scripts/extract-localizable-strings: Added ability to handle whitespace.

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

6 years ago[Cairo] Bump Cairo to fix more canvas/philip tests
commit-queue@webkit.org [Wed, 10 Oct 2012 02:15:32 +0000 (02:15 +0000)]
[Cairo] Bump Cairo to fix more canvas/philip tests
https://bugs.webkit.org/show_bug.cgi?id=97658

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-09
Reviewed by Martin Robinson.

Tools:

Bumping cairo to version 1.12.4 which fixes more canvas/philip tests.

* efl/jhbuild.modules:
* gtk/jhbuild.modules:

LayoutTests:

Update platform-specific baselines after the cairo update. Also,
unksip canvas/philip tests which are passing now.

* platform/efl/TestExpectations:
* platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/efl/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/efl/fast/dynamic/window-scrollbars-test-expected.png:
* platform/efl/fast/images/pixel-crack-image-background-webkit-transform-scale-expected.png:
* platform/efl/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/efl/svg/batik/text/smallFonts-expected.png:
* platform/efl/svg/batik/text/smallFonts-expected.txt:
* platform/efl/svg/batik/text/textGlyphOrientationHorizontal-expected.png:
* platform/efl/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
* platform/efl/svg/batik/text/textOnPath-expected.png:
* platform/efl/svg/batik/text/textOnPath-expected.txt:
* platform/efl/svg/batik/text/textOnPath2-expected.png:
* platform/efl/svg/batik/text/textOnPath2-expected.txt:
* platform/efl/svg/batik/text/textOnPath3-expected.png:
* platform/efl/svg/batik/text/textOnPath3-expected.txt:
* platform/efl/svg/batik/text/textOnPathSpaces-expected.png:
* platform/efl/svg/batik/text/textOnPathSpaces-expected.txt:
* platform/efl/svg/batik/text/verticalTextOnPath-expected.png:
* platform/efl/svg/batik/text/verticalTextOnPath-expected.txt:
* platform/efl/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png:
* platform/efl/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
* platform/efl/transforms/2d/transform-fixed-container-expected.png:
* platform/gtk/TestExpectations:
* platform/gtk/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/paths-data-01-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/paths-data-02-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
* platform/gtk/svg/batik/text/smallFonts-expected.png:
* platform/gtk/svg/batik/text/smallFonts-expected.txt:
* platform/gtk/svg/batik/text/textGlyphOrientationHorizontal-expected.png:
* platform/gtk/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
* platform/gtk/svg/batik/text/textOnPath-expected.png:
* platform/gtk/svg/batik/text/textOnPath-expected.txt:
* platform/gtk/svg/batik/text/textOnPath2-expected.png:
* platform/gtk/svg/batik/text/textOnPath2-expected.txt:
* platform/gtk/svg/batik/text/textOnPath3-expected.png:
* platform/gtk/svg/batik/text/textOnPath3-expected.txt:
* platform/gtk/svg/batik/text/textOnPathSpaces-expected.png:
* platform/gtk/svg/batik/text/textOnPathSpaces-expected.txt:
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.png:
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.txt:
* platform/gtk/svg/custom/js-update-path-changes-expected.png:
* platform/gtk/svg/custom/js-update-path-changes-expected.txt:
* platform/gtk/svg/custom/js-update-path-removal-expected.png:
* platform/gtk/svg/custom/js-update-path-removal-expected.txt:
* platform/gtk/svg/custom/path-textPath-simulation-expected.png:
* platform/gtk/svg/custom/path-textPath-simulation-expected.txt:

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

6 years agoTyped arrays should not be 20x slower in the baseline JIT than in the DFG JIT
fpizlo@apple.com [Wed, 10 Oct 2012 02:14:42 +0000 (02:14 +0000)]
Typed arrays should not be 20x slower in the baseline JIT than in the DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=98605

Reviewed by Oliver Hunt and Gavin Barraclough.

This adds typed array get_by_val/put_by_val patching to the baseline JIT. It's
a big (~40%) win on benchmarks that have trouble staying in the DFG JIT. Even
if we fix those benchmarks, this functionality gives us the insurance that we
typically desire with all speculative optimizations: even if we bail to
baseline, we're still reasonably performant.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/MacroAssembler.cpp: Added.
(JSC):
* assembler/MacroAssembler.h:
(MacroAssembler):
(JSC::MacroAssembler::patchableBranchPtr):
* assembler/MacroAssemblerARMv7.h:
(MacroAssemblerARMv7):
(JSC::MacroAssemblerARMv7::moveDoubleToInts):
(JSC::MacroAssemblerARMv7::moveIntsToDouble):
(JSC::MacroAssemblerARMv7::patchableBranchPtr):
* assembler/MacroAssemblerX86.h:
(MacroAssemblerX86):
(JSC::MacroAssemblerX86::moveDoubleToInts):
(JSC::MacroAssemblerX86::moveIntsToDouble):
* bytecode/ByValInfo.h:
(JSC::hasOptimizableIndexingForClassInfo):
(JSC):
(JSC::hasOptimizableIndexing):
(JSC::jitArrayModeForClassInfo):
(JSC::jitArrayModeForStructure):
(JSC::ByValInfo::ByValInfo):
(ByValInfo):
* dfg/DFGAssemblyHelpers.cpp:
(DFG):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::boxDouble):
(JSC::DFG::AssemblyHelpers::unboxDouble):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* jit/JIT.h:
(JIT):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/JSCell.h:
* runtime/JSGlobalData.h:
(JSGlobalData):
(JSC::JSGlobalData::typedArrayDescriptor):
* runtime/TypedArrayDescriptor.h: Added.
(JSC):
(JSC::TypedArrayDescriptor::TypedArrayDescriptor):
(TypedArrayDescriptor):

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

6 years ago[GTK] Plugins don't display
commit-queue@webkit.org [Wed, 10 Oct 2012 02:11:31 +0000 (02:11 +0000)]
[GTK] Plugins don't display
https://bugs.webkit.org/show_bug.cgi?id=98789

Patch by Daniel Drake <dsd@laptop.org> on 2012-10-09
Reviewed by Martin Robinson.

Fix a recent regression where plugin content was not being displayed.
Bringing webkit_web_view_size_allocate in line with the WebKit2
equivalent solves the issue.

* webkit/webkitwebview.cpp:
(resizeWebViewFromAllocation): pass allocation request to children
even when the allocation size does not change.
(webkit_web_view_size_allocate): don't bail too early if the
allocation size does not change.

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

6 years agofast/canvas/canvas-fillRect-gradient-shadow.html failing
commit-queue@webkit.org [Wed, 10 Oct 2012 02:08:02 +0000 (02:08 +0000)]
fast/canvas/canvas-fillRect-gradient-shadow.html failing
https://bugs.webkit.org/show_bug.cgi?id=98760

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-09
Reviewed by Martin Robinson.

Adjust the test case to verify the pixel in the middle of the shadow,
instead of the outer edge, to make sure that the test will not fail
in case if there is any effect around the borders.

* fast/canvas/script-tests/canvas-fillRect-gradient-shadow.js:

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

6 years ago[EFL][WK2] Move timeout callback to the CallbackDataTimer class.
commit-queue@webkit.org [Wed, 10 Oct 2012 01:41:30 +0000 (01:41 +0000)]
[EFL][WK2] Move timeout callback to the CallbackDataTimer class.
https://bugs.webkit.org/show_bug.cgi?id=97861

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-09
Reviewed by Gyuyoung Kim.

Timeout callbacks for waitUntil{LoadFinished,TitleChanged,URIChanged}
can be moved to the CallbackDataTimer class.

Moved the callback implementation to the CallbackDataTimer class.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
(CallbackDataTimer):
(EWK2UnitTest::CallbackDataTimer::timeOutCallback):
(EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo):

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

6 years agoShould reject invalid dates constructed with multiple fields UI
tkent@chromium.org [Wed, 10 Oct 2012 01:40:11 +0000 (01:40 +0000)]
Should reject invalid dates constructed with multiple fields UI
https://bugs.webkit.org/show_bug.cgi?id=98727

Reviewed by Hajime Morita.

Source/WebCore:

In input[type=date] with multiple fields UI, we allow users to set
day-of-month value to 1-31 regardless of the month value. So users can
construct an invalid date such as "2012-02-31". We should sanitize such
values.

This change affects platforms with ENABLE_INPUT_TYPE_DATE &&
ENABLE_INPUT_MULTIPLE_FIELDS_UI.

Test: fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html

* html/BaseDateAndTimeInputType.h:
(BaseDateAndTimeInputType): Make sanitizeValue protected to be called from
BaseMultipleFieldsDateAndTimeInputType.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
Apply sanitizeValue to a value constructed in UI.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
Ditto.

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
* fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html:
  Updated the test. 275760-12 is not a valid month value.

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

6 years agoCheck for null m_frame in NetworkJob
commit-queue@webkit.org [Wed, 10 Oct 2012 01:23:11 +0000 (01:23 +0000)]
Check for null m_frame in NetworkJob
https://bugs.webkit.org/show_bug.cgi?id=98830

Patch by Joe Mason <jmason@rim.com> on 2012-10-09
Reviewed by George Staikos.

PR 220025

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::storeCredentials):

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

6 years ago[Mac] Unreviewed, skipping http/tests/security/svg-image-leak.html
jpfau@apple.com [Wed, 10 Oct 2012 01:21:49 +0000 (01:21 +0000)]
[Mac] Unreviewed, skipping http/tests/security/svg-image-leak.html

* platform/mac/TestExpectations:

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

6 years agoAdd tests to testapi for null OpaqueJSStrings
msaboff@apple.com [Wed, 10 Oct 2012 01:18:57 +0000 (01:18 +0000)]
Add tests to testapi for null OpaqueJSStrings
https://bugs.webkit.org/show_bug.cgi?id=98805

Reviewed by Geoffrey Garen.

Added tests that check that OpaqueJSString, which is wrapped via JSStringRef, properly returns
null strings and that a null string in a JSStringRef will return a NULL JSChar* and 0 length
via the JSStringGetCharactersPtr() and JSStringGetLength() APIs respectively. Added a check that
JSValueMakeFromJSONString() properly handles a null string as well.

* API/tests/testapi.c:
(main):

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

6 years agoUnreviewed Chromium Windows build fix after r130823.
jchaffraix@webkit.org [Wed, 10 Oct 2012 00:30:00 +0000 (00:30 +0000)]
Unreviewed Chromium Windows build fix after r130823.

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(roleToString): Re-added the 'default' label as some cases are not handled.

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

6 years agofilesystem-url-in-iframe test is flaky
abarth@webkit.org [Wed, 10 Oct 2012 00:18:43 +0000 (00:18 +0000)]
filesystem-url-in-iframe test is flaky
https://bugs.webkit.org/show_bug.cgi?id=95246

Reviewed by Eric Seidel.

This test was assuming that the navigation would complete before the
async JavaScript executed, which is true usually (but not always).

* http/tests/security/mixedContent/filesystem-url-in-iframe.html:
* platform/chromium/TestExpectations:

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

6 years agoUpdate the CSS property used to support draggable regions.
jianli@chromium.org [Wed, 10 Oct 2012 00:06:59 +0000 (00:06 +0000)]
Update the CSS property used to support draggable regions.
https://bugs.webkit.org/show_bug.cgi?id=97156

Reviewed by Adam Barth.

Source/JavaScriptCore:

The CSS property to support draggable regions, guarded under
WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
confusion with DASHBOARD_SUPPORT feature.

* Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.

Source/WebCore:

The CSS property to support draggable regions has been changed from
"-webkit-widget-region" to "-webkit-app-region" in the following syntax:
   -webkit-app-region: drag|no-drag

The CSS parsing code for draggable regions is now different from the CSS
parsing code for dashboard regions since we have quite different syntax.

We still try to share as much rendering update code as possible for
these two features. To make the shared code easier to understand for
both features, the name "DashboardRegions" in the shared code is changed
to "AnnotatedRegions" to work for both dashboard regions and draggable
regions.

Note that we still using WIDGET_REGION as feature name in order not to
add more changes to this patch. It will be renamed to a more appropriate
name in next patch. WIDGET_REGION is now only turned on for the chromium
port.

Test: fast/css/draggable-region-parser.html

* Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
* WebCore.exp.in: Update the exported symbol due to renaming.
* css/CSSComputedStyleDeclaration.cpp: Update the CSS parsing.
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp: Update the CSS parsing.
(WebCore::CSSParser::parseValue):
(WebCore):
(WebCore::CSSParser::parseDashboardRegions):
* css/CSSParserValues.cpp: Update the CSS parsing.
(WebCore::CSSParserValue::createCSSValue):
* css/CSSPrimitiveValue.cpp: Update the CSS parsing.
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
* css/CSSPrimitiveValue.h: Update the CSS parsing.
(CSSPrimitiveValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in: Rename the CSS property for draggable region.
* css/CSSValueKeywords.in: Add the keywords supported for the draggable region.
* css/DashboardRegion.h: Remove WIDGET_REGION guard.
(DashboardRegion):
* css/StyleResolver.cpp: Update the CSS parsing.
(WebCore::StyleResolver::collectMatchingRulesForList):
* dom/Document.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::Document::Document):
(WebCore::Document::annotatedRegions):
(WebCore::Document::setAnnotatedRegions):
(WebCore::Document::reportMemoryUsage):
* dom/Document.h: Rename dashboardRegions to annotatedRegions.
(WebCore):
(WebCore::Document::setAnnotatedRegionsDirty):
(WebCore::Document::annotatedRegionsDirty):
(WebCore::Document::hasAnnotatedRegions):
(WebCore::Document::setHasAnnotatedRegions):
(Document):
* page/Chrome.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::ChromeClient::annotatedRegionsChanged):
* page/ChromeClient.h: Rename dashboardRegions to annotatedRegions.
(ChromeClient):
* page/FrameView.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::FrameView::layout):
(WebCore::FrameView::updateAnnotatedRegions):
(WebCore::FrameView::paintContents):
* page/FrameView.h: Rename dashboardRegions to annotatedRegions.
(FrameView):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addAnnotatedRegions):
* rendering/RenderInline.h: Rename dashboardRegions to annotatedRegions.
(RenderInline):
* rendering/RenderLayer.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
* rendering/RenderListBox.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::RenderListBox::setHasVerticalScrollbar):
* rendering/RenderObject.cpp: Rename dashboardRegions to annotatedRegions.
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::addAnnotatedRegions):
(WebCore::RenderObject::collectAnnotatedRegions):
* rendering/RenderObject.h: Rename dashboardRegions to annotatedRegions.
(WebCore::AnnotatedRegionValue::operator==):
(WebCore::AnnotatedRegionValue::operator!=):
(AnnotatedRegionValue):
(RenderObject):
* rendering/style/RenderStyle.cpp: Update the CSS parsing.
(WebCore::RenderStyle::diff):
(WebCore):
* rendering/style/RenderStyle.h: Update the CSS parsing.
* rendering/style/RenderStyleConstants.h: Update the CSS parsing.
* rendering/style/StyleDashboardRegion.h: Update the CSS parsing.
* rendering/style/StyleRareNonInheritedData.cpp: Update the CSS parsing.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h: Update the CSS parsing.
(WebCore):
(StyleRareNonInheritedData):

Source/WebKit/chromium:

Update the code to use the new name annotatedRegions to work for
both features.

* public/WebDraggableRegion.h: Rename dashboardRegions to annotatedRegions.
(WebDraggableRegion):
* src/ChromeClientImpl.cpp: Rename dashboardRegions to annotatedRegions.
(WebKit::ChromeClientImpl::annotatedRegionsChanged):
* src/ChromeClientImpl.h: Rename dashboardRegions to annotatedRegions.
(ChromeClientImpl):
* src/WebDocument.cpp: Rename dashboardRegions to annotatedRegions.
(WebKit::WebDocument::draggableRegions):

Source/WebKit/mac:

The CSS property to support draggable regions, guarded under
WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
confusion with DASHBOARD_SUPPORT feature.

Also update the code to use the new name annotatedRegions to work for
both features.

* Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
* WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
* WebCoreSupport/WebChromeClient.mm: Rename dashboardRegions to annotatedRegions.
(WebChromeClient::annotatedRegionsChanged):
* WebView/WebView.mm: Rename dashboardRegions to annotatedRegions.
(-[WebView _dashboardRegions]):

Source/WebKit2:

The CSS property to support draggable regions, guarded under
WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
confusion with DASHBOARD_SUPPORT feature.

Also update the code to use the new name annotatedRegions to work for
both features.

* Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Rename dashboardRegions to annotatedRegions.
(WebKit::WebChromeClient::annotatedRegionsChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
(WebChromeClient):

LayoutTests:

Update the test and rename the files due to CSS property name and
syntax changes.

* fast/css/draggable-region-parser-expected.txt: Added.
* fast/css/draggable-region-parser.html: Added.
* fast/css/widget-region-parser-expected.txt: Removed.
* fast/css/widget-region-parser.html: Removed.
* platform/efl/TestExpectations: Rename the skipped test.
* platform/gtk/TestExpectations: Rename the skipped test.
* platform/mac/TestExpectations: Skip the renamed test since WIDGET_REGION is off.
* platform/qt/TestExpectations: Rename the skipped test.
* platform/win/TestExpectations: Rename the skipped test.
* platform/wincairo/TestExpectations: Rename the skipped test.

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

6 years agoUnreviewed, adding forgotten files.
fpizlo@apple.com [Wed, 10 Oct 2012 00:00:39 +0000 (00:00 +0000)]
Unreviewed, adding forgotten files.

* bytecode/ByValInfo.h: Added.
(JSC):
(JSC::isOptimizableIndexingType):
(JSC::jitArrayModeForIndexingType):
(JSC::ByValInfo::ByValInfo):
(ByValInfo):
(JSC::getByValInfoBytecodeIndex):
* runtime/IndexingType.cpp: Added.
(JSC):
(JSC::indexingTypeToString):

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

6 years agoFix coding style of layout test fast/dom/timer-throttling-hidden-page.html
commit-queue@webkit.org [Tue, 9 Oct 2012 23:49:07 +0000 (23:49 +0000)]
Fix coding style of layout test fast/dom/timer-throttling-hidden-page.html
https://bugs.webkit.org/show_bug.cgi?id=98828

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-10-09
Reviewed by Ojan Vafai.

Replaced tab characters with spaces, fixed position of braces and renamed
variables to be more explanatory.

* fast/dom/timer-throttling-hidden-page.html:

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

6 years agoJSC should infer when indexed storage is contiguous, and optimize for it
fpizlo@apple.com [Tue, 9 Oct 2012 23:39:53 +0000 (23:39 +0000)]
JSC should infer when indexed storage is contiguous, and optimize for it
https://bugs.webkit.org/show_bug.cgi?id=97288

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This introduces a new kind of indexed property storage called Contiguous,
which has the following properties:

- No header bits beyond IndexedHeader. This results in a 16 byte reduction
  in memory usage per array versus an ArrayStorage array. It also means
  that the total memory usage for an empty array is now just 3 * 8 on both
  32-bit and 64-bit. Of that, only 8 bytes are array-specific; the rest is
  our standard object header overhead.

- No need for hole checks on store. This results in a ~4% speed-up on
  Kraken and a ~1% speed-up on V8v7.

- publicLength <= vectorLength. This means that doing new Array(blah)
  immediately allocates room for blah elements.

- No sparse map or index bias.

If you ever do things to an array that would require publicLength >
vectorLength, a sparse map, or index bias, then we switch to ArrayStorage
mode. This seems to never happen in any benchmark we track, and is unlikely
to happen very frequently on any website.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::JumpList::append):
* assembler/MacroAssembler.h:
(MacroAssembler):
(JSC::MacroAssembler::patchableBranchTest32):
* bytecode/ByValInfo.h: Added.
(JSC):
(JSC::isOptimizableIndexingType):
(JSC::jitArrayModeForIndexingType):
(JSC::ByValInfo::ByValInfo):
(ByValInfo):
(JSC::getByValInfoBytecodeIndex):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::getByValInfo):
(JSC::CodeBlock::setNumberOfByValInfos):
(JSC::CodeBlock::numberOfByValInfos):
(JSC::CodeBlock::byValInfo):
* bytecode/SamplingTool.h:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::fromObserved):
(JSC::DFG::modeAlreadyChecked):
(JSC::DFG::modeToString):
* dfg/DFGArrayMode.h:
(DFG):
(JSC::DFG::modeUsesButterfly):
(JSC::DFG::modeIsJSArray):
(JSC::DFG::isInBoundsAccess):
(JSC::DFG::mayStoreToTail):
(JSC::DFG::mayStoreToHole):
(JSC::DFG::modeIsPolymorphic):
(JSC::DFG::polymorphicIncludesContiguous):
(JSC::DFG::polymorphicIncludesArrayStorage):
(JSC::DFG::canCSEStorage):
(JSC::DFG::modeSupportsLength):
(JSC::DFG::benefitsFromStructureCheck):
(JSC::DFG::isEffectful):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getArrayLengthElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::byValIsPure):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
(DFG):
* dfg/DFGSpeculativeJIT.h:
(DFG):
(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::putByValWillNeedExtraRegister):
(JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileContiguousGetByVal):
(DFG):
(JSC::DFG::SpeculativeJIT::compileArrayStorageGetByVal):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compileArrayStoragePutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileContiguousGetByVal):
(DFG):
(JSC::DFG::SpeculativeJIT::compileArrayStorageGetByVal):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compileArrayStoragePutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(SamplingScope):
(JSC::SamplingScope::SamplingScope):
(JSC::SamplingScope::~SamplingScope):
(JSC):
(JSC::Interpreter::execute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JSC::ByValCompilationInfo::ByValCompilationInfo):
(ByValCompilationInfo):
(JSC):
(JIT):
(JSC::JIT::compileGetByVal):
(JSC::JIT::compilePutByVal):
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateJSArray):
(JSC::JIT::emitArrayProfileStoreToHoleSpecialCase):
(JSC):
(JSC::arrayProfileSaw):
(JSC::JIT::chooseArrayMode):
* jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_get_argument_by_val):
(JSC::JIT::emit_op_new_array):
(JSC::JIT::emitSlow_op_new_array):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitSlow_op_get_argument_by_val):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitArrayStorageGetByVal):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitArrayStorageGetByVal):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
* jit/JITStubs.cpp:
(JSC::getByVal):
(JSC):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::putByVal):
* jit/JITStubs.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/ArrayConventions.h:
(JSC::isDenseEnoughForVector):
* runtime/ArrayPrototype.cpp:
(JSC):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
* runtime/Butterfly.h:
(Butterfly):
(JSC::Butterfly::fromPointer):
(JSC::Butterfly::pointer):
(JSC::Butterfly::publicLength):
(JSC::Butterfly::vectorLength):
(JSC::Butterfly::setPublicLength):
(JSC::Butterfly::setVectorLength):
(JSC::Butterfly::contiguous):
(JSC::Butterfly::fromContiguous):
* runtime/ButterflyInlineMethods.h:
(JSC::Butterfly::unshift):
(JSC::Butterfly::shift):
* runtime/IndexingHeaderInlineMethods.h:
(JSC::IndexingHeader::indexingPayloadSizeInBytes):
* runtime/IndexingType.cpp: Added.
(JSC):
(JSC::indexingTypeToString):
* runtime/IndexingType.h:
(JSC):
(JSC::hasContiguous):
* runtime/JSArray.cpp:
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::setLength):
(JSC):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
(JSC::JSArray::sortNumericVector):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sort):
(JSC::JSArray::sortVector):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSC::JSArray::shiftCountForShift):
(JSC::JSArray::shiftCountForSplice):
(JSArray):
(JSC::JSArray::shiftCount):
(JSC::JSArray::unshiftCountForShift):
(JSC::JSArray::unshiftCountForSplice):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::isLengthWritable):
(JSC::createContiguousArrayButterfly):
(JSC):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::haveABadTime):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::arrayStructureWithArrayStorage):
(JSC::JSGlobalObject::addressOfArrayStructureWithArrayStorage):
(JSC::constructEmptyArray):
* runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::createInitialContiguous):
(JSC):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::ensureIndexedStorageSlow):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::setPrototype):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthContiguousWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::countElementsInContiguous):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureContiguousLengthSlow):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/JSObject.h:
(JSC::JSObject::getArrayLength):
(JSC::JSObject::getVectorLength):
(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::tryGetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::canSetIndexQuicklyForPutDirect):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::hasSparseMap):
(JSC::JSObject::inSparseIndexingMode):
(JSObject):
(JSC::JSObject::ensureContiguous):
(JSC::JSObject::ensureIndexedStorage):
(JSC::JSObject::ensureContiguousLength):
(JSC::JSObject::indexingData):
(JSC::JSObject::relevantLength):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/Options.cpp:
(JSC::Options::initialize):
* runtime/Structure.cpp:
(JSC::Structure::needsSlowPutIndexing):
(JSC):
(JSC::Structure::suggestedArrayStorageTransition):
* runtime/Structure.h:
(Structure):
* runtime/StructureTransitionTable.h:
(JSC::newIndexingType):

Source/WTF:

Moved out this helpful math utility to MathExtras, since we now use it in
multiple places.

* wtf/MathExtras.h:
(timesThreePlusOneDividedByTwo):

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

6 years ago[chromium] Add drop event for plugins.
commit-queue@webkit.org [Tue, 9 Oct 2012 23:28:58 +0000 (23:28 +0000)]
[chromium] Add drop event for plugins.
https://bugs.webkit.org/show_bug.cgi?id=98827

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-10-09
Reviewed by Adam Barth.

Source/WebKit/chromium:

Add conversion for drop events.

* public/WebDragStatus.h:
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleDragEvent):

Tools:

Update the test plugin to receive drop events.

* DumpRenderTree/chromium/TestWebPlugin.cpp:
(TestWebPlugin::handleDragStatusUpdate):

LayoutTests:

Updated the test to verify that a plugin can receive drop events. Note
that the plugin needs contentEditable set to true.

* platform/chromium/plugins/drag-events-expected.txt:
* platform/chromium/plugins/drag-events.html:

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

6 years agoUnreviewed, rolling out r130811 and r130821.
commit-queue@webkit.org [Tue, 9 Oct 2012 23:21:08 +0000 (23:21 +0000)]
Unreviewed, rolling out r130811 and r130821.
http://trac.webkit.org/changeset/130811
http://trac.webkit.org/changeset/130821
https://bugs.webkit.org/show_bug.cgi?id=98831

Broke date-suggestion-picker-appearance-with-scroll-bar.html
(Requested by abarth|gardening on #webkit).

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

Source/WebCore:

* WebCore.exp.in:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::computeRelativePosition):
* dom/Node.cpp:
(WebCore::Node::convertToPage):
(WebCore::Node::convertFromPage):
* editing/FrameSelection.cpp:
(WebCore::CaretBase::absoluteBoundsForLocalRect):
* editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::absoluteRect):
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::absoluteCaretBounds):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
* page/FrameView.cpp:
(WebCore::FrameView::convertFromRenderer):
(WebCore::FrameView::convertToRenderer):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuads):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads):
(WebCore::RenderBox::absoluteContentBox):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::mapAbsoluteToLocalPoint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::absolutePoint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::convertToLayerCoords):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsVisible):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::showPopup):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteFocusRingQuads):
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::absoluteToLocal):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::localToAbsoluteQuad):
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::absoluteQuadsForRange):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::mapAbsoluteToLocalPoint):
(WebCore::RenderView::selectionBounds):
* rendering/RenderView.h:
(RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
(WebCore::RenderSVGModelObject::absoluteQuads):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
(WebCore::RenderSVGText::absoluteQuads):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):

Source/WebKit/chromium:

* src/FindInPageCoordinates.cpp:
(WebKit::toNormalizedRect):
* src/LinkHighlight.cpp:
(WebKit::convertTargetSpaceQuadToCompositedLayer):
* src/WebInputEventConversion.cpp:
(WebKit::convertLocationForRenderObject):

Source/WebKit/mac:

* WebView/WebFullScreenController.mm:
(screenRectOfContents):
* WebView/WebRenderNode.mm:
(copyRenderNode):

Source/WebKit2:

* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::screenRectOfContents):

LayoutTests:

* fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html: Removed.
* platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Removed.
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Removed.
* platform/chromium-mac/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Removed.
* platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Removed.
* platform/mac-lion/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-4.8/TestExpectations:
* platform/qt/TestExpectations:
* platform/win-wk2/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoAX: 5 accessibility tests just need minor tweaks to pass on chromium
dmazzoni@google.com [Tue, 9 Oct 2012 23:15:21 +0000 (23:15 +0000)]
AX: 5 accessibility tests just need minor tweaks to pass on chromium
https://bugs.webkit.org/show_bug.cgi?id=98311

Reviewed by Chris Fleizach.

Tools:

Update roleToString on Chromium to include all missing roles,
which enables some layout tests to pass.

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(roleToString):

LayoutTests:

Modifies tests so that they log data that tends to vary between
platforms using debug(), rather than asserting a platform-specific
value. Gets rid of "forks" of tests in the gtk directory. Adds
expectations and unskips 5 tests on Chromium.

* accessibility/aria-list-and-listitem.html:
* accessibility/aria-option-role.html:
* accessibility/aria-tab-roles.html:
* platform/chromium/TestExpectations:
* platform/chromium/accessibility/aria-fallback-roles-expected.txt: Renamed from LayoutTests/platform/chromium-win/accessibility/aria-fallback-roles-expected.txt.
* platform/chromium/accessibility/aria-list-and-listitem-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-list-and-listitem-expected.txt.
* platform/chromium/accessibility/aria-option-role-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-option-role-expected.txt.
* platform/chromium/accessibility/aria-tab-roles-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-tab-roles-expected.txt.
* platform/gtk/accessibility/aria-list-and-listitem-expected.txt:
* platform/gtk/accessibility/aria-list-and-listitem.html: Removed.
* platform/gtk/accessibility/aria-option-role-expected.txt:
* platform/gtk/accessibility/aria-option-role.html: Removed.
* platform/mac/accessibility/aria-list-and-listitem-expected.txt:
* platform/mac/accessibility/aria-option-role-expected.txt:
* platform/mac/accessibility/aria-tab-roles-expected.txt:

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

6 years agoRolling back unintended change to iframe-copy-on-scroll.html from previous commit.
leviw@chromium.org [Tue, 9 Oct 2012 22:45:51 +0000 (22:45 +0000)]
Rolling back unintended change to iframe-copy-on-scroll.html from previous commit.

* compositing/iframes/iframe-copy-on-scroll.html:

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

6 years agoUnreviewed gardening. Updating test expectations after r130811.
leviw@chromium.org [Tue, 9 Oct 2012 22:31:12 +0000 (22:31 +0000)]
Unreviewed gardening. Updating test expectations after r130811.

* compositing/iframes/iframe-copy-on-scroll.html:
* platform/chromium-mac-snowleopard/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
* platform/chromium-mac/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
* platform/chromium-mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
* platform/chromium/TestExpectations:

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

6 years agoUnreviewed, rolling out r130812.
commit-queue@webkit.org [Tue, 9 Oct 2012 22:24:31 +0000 (22:24 +0000)]
Unreviewed, rolling out r130812.
http://trac.webkit.org/changeset/130812
https://bugs.webkit.org/show_bug.cgi?id=98826

Caused fast/text/shaping/shaping-selection-rect to fail
(Requested by abarth|gardening on #webkit).

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

* platform/graphics/Font.cpp:
(WebCore::Font::width):
* platform/graphics/Font.h:
(Font):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::width):
(WebCore::Font::width):
(WebCore::ComplexTextController::advance):
* platform/graphics/mac/ComplexTextController.h:
(ComplexTextController):
* rendering/RenderBlock.h:
(WebCore):
(LineBreaker):
(RenderBlock):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::createLineBoxesFromBidiRuns):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::textWidth):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

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

6 years agowebkit-patch rebaseline-expectations doesn't work w/o failures specified
dpranke@chromium.org [Tue, 9 Oct 2012 22:19:37 +0000 (22:19 +0000)]
webkit-patch rebaseline-expectations doesn't work w/o failures specified
https://bugs.webkit.org/show_bug.cgi?id=98810

Reviewed by Ojan Vafai.

If you try to mark a test as foo.html [ Rebaseline ] it wasn't
getting picked up for rebaselining; we needed to think the test
was failing.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.get_rebaselining_failures):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(RebaseliningTest.test_get_rebaselining_failures):

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

6 years agoDOM/textarea-edit.html spends 35% of time in numGraphemeClusters
rniwa@webkit.org [Tue, 9 Oct 2012 22:19:16 +0000 (22:19 +0000)]
DOM/textarea-edit.html spends 35% of time in numGraphemeClusters
https://bugs.webkit.org/show_bug.cgi?id=98711

Reviewed by Kent Tamura.

Since the number of characters is always greater than the number of grapheme clusters,
we can avoid calling computeLengthForSubmission when the number of characters is less
than maxlength. We still have to count the number of LFs since they all need to be
converted into CRLFs. This improves WebKit's score on DOM/textarea-edit.html by 45%.

* html/HTMLTextAreaElement.cpp:
(WebCore::computeLengthForSubmission):
(WebCore::numberOfLineBreaks):
(WebCore::upperBoundForLengthForSubmission): Added.
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
(WebCore::HTMLTextAreaElement::tooLong):

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

6 years agoMake CachedResourceLoader RefCounted and have both Document
japhet@chromium.org [Tue, 9 Oct 2012 21:58:25 +0000 (21:58 +0000)]
Make CachedResourceLoader RefCounted and have both Document
and DocumentLoader hold RefPtrs. This is in preparation for
caching main resources.
https://bugs.webkit.org/show_bug.cgi?id=86787

Reviewed by Adam Barth.

No new tests, no functionality changes at this time.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::Document): Only create our own CachedResourceLoader
    if we were given a null frame.
(WebCore::Document::~Document):
(WebCore::Document::cachedResourceLoader):
(WebCore):
* dom/Document.h:
(Document):
* loader/DocumentLoader.cpp: Throughout, use our m_cachedResourceLoader instead
    of the Document's pointer.
(WebCore::DocumentLoader::DocumentLoader): Create a CachedResourceLoader.
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::subresource):
(WebCore::DocumentLoader::getSubresources):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::cachedResourceLoader):
(DocumentLoader):
* loader/SubresourceLoader.cpp: Remove m_document, since it only existed to keep alive and access the CachedResourceLoader.
    It can now be accessed from m_documentLoader.
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::~SubresourceLoader):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::releaseResources):
* loader/SubresourceLoader.h:
(SubresourceLoader):
* loader/cache/CachedResourceLoader.cpp: Handle the possibility of a null Document in several places.
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::frame):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
(WebCore::CachedResourceLoader::loadDone):
* loader/cache/CachedResourceLoader.h:
(WebCore):
(WebCore::CachedResourceLoader::create): Add create(), make constructor private.
(CachedResourceLoader):
(WebCore::CachedResourceLoader::document):
(WebCore::CachedResourceLoader::setDocument):
(WebCore::CachedResourceLoader::clearDocumentLoader):

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

6 years agoCSS Style is not recalculated when media attribute of style element is changed
commit-queue@webkit.org [Tue, 9 Oct 2012 21:53:22 +0000 (21:53 +0000)]
CSS Style is not recalculated when media attribute of style element is changed
https://bugs.webkit.org/show_bug.cgi?id=96752

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-10-09
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

When "media" attribute of style element is changed, style should be recalculated.
This patch modifies HTMLStyleElement::parseAttribute, so that when the media attribute
is updated, new MediaQuerySet is created and applied to the style element then, document
style is recalculated. Since media query set is updated for CSSStyleSheet, CSSOM wrapper
for media query should be updated as well in order to sync with new media query set value.

Test: fast/media/mq-js-update-media.html

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::setMediaQueries):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):

LayoutTests:

Added test to verify that when "media" attribute for style element is updated,
style is recalculated.

* fast/media/mq-js-update-media.html: Added.

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

6 years ago[chromium][Android] Add WebSecurityOrigin::grantLoadLocalResources()
benm@google.com [Tue, 9 Oct 2012 21:50:42 +0000 (21:50 +0000)]
[chromium][Android] Add WebSecurityOrigin::grantLoadLocalResources()
https://bugs.webkit.org/show_bug.cgi?id=97689

Reviewed by Adam Barth.

Source/WebCore:

In addition to the WebKit/chromium side of the change, remove the
ASSERT in SecurityOrigin::grantLoadLocalResources(). Android WebView
is a legitimate user of this API in cases where neither of the
ASSERT'd conditions hold.

* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::grantLoadLocalResources): Remove ASSERT.

Source/WebKit/chromium:

This change exposes the WebCore::SecurityOrigin::grantLoadLocalResources()
function to the Chromium WebKit API layer. This is needed in Chromium
to implement the Android WebView.loadDataWithBaseUrl function in a
compatible manner.

Please see crbug.com/152223 for further information and the chromium
side patch.

* public/WebSecurityOrigin.h:
(WebSecurityOrigin): Add grantLoadLocalResources() API.
* src/WebSecurityOrigin.cpp:
(WebKit::WebSecurityOrigin::grantLoadLocalResources):
    Implement the API by calling through to the WebCore function
    of the same name.
(WebKit):

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

6 years agoBuild fix for Qt Windows.
jonlee@apple.com [Tue, 9 Oct 2012 21:49:06 +0000 (21:49 +0000)]
Build fix for Qt Windows.

* html/HTMLPlugInElement.h: Include Image.h.

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

6 years ago[Chromium] Chromium DEPS has a stray directory, turning our Win bots red
jchaffraix@webkit.org [Tue, 9 Oct 2012 21:35:32 +0000 (21:35 +0000)]
[Chromium] Chromium DEPS has a stray directory, turning our Win bots red
https://bugs.webkit.org/show_bug.cgi?id=98817

Reviewed by Dirk Pranke.

* DEPS: Removed the stray directory which solved the redness on several of our bots.

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

6 years agoOnly measure text once instead of twice when performing line layout.
enrica@apple.com [Tue, 9 Oct 2012 21:35:11 +0000 (21:35 +0000)]
Only measure text once instead of twice when performing line layout.
https://bugs.webkit.org/show_bug.cgi?id=98317
<rdar://problem/12080821>

Reviewed by Dan Bernstein.

Since we are measuring each word to find out where the line break should occur,
we should cache that information to avoid measuring the run again when
creating the line box. The bulk of the change is in nextLineBreak, where
the measurements are collected and placed in a vector so that they can
be consumed in setLogicalWidthForTextRun where we used to measure the
text one more time.
Each entry in the vector is a WordMeasurement object that contains information
about the start and end offset in the run, the renderer, the measured width
and, possibly, a list of fallback fonts.
When we need to compute the width of the run to create the line box, we add
all the measurements for the given renderer in the run to get the total width.

* platform/graphics/Font.cpp:
(WebCore::Font::width): Added fallback fonts parameter.
* platform/graphics/Font.h:
(Font): Added fallback fonts parameter to the width static member function.
This method is called when we compute the width using TextLayout.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::width): Added fallback fonts parameter.
(WebCore::Font::width):
(WebCore::ComplexTextController::advance):
* platform/graphics/mac/ComplexTextController.h:
(ComplexTextController): Added fallback fonts parameter to advance method.
* rendering/RenderBlock.h: Added WordMeasures parameter to few methods.
* rendering/RenderBlockLineLayout.cpp:
(WordMeasurement): Added new class to hold measurement information.
(WebCore::setLogicalWidthForTextRun): This is where we compute the run width using the
cached information.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added wordMeasures parameter.
(WebCore::RenderBlock::createLineBoxesFromBidiRuns): Added wordMeasures parameter.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Added declaration of the WordMeasures
vector and its use.
(WebCore::textWidth): Added fallbackFonts parameter, since now we only measure once.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): This method has been modified to collect
the measurements of the individual words and add them to the vector.

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

6 years ago[Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel
leviw@chromium.org [Tue, 9 Oct 2012 21:31:55 +0000 (21:31 +0000)]
[Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel
https://bugs.webkit.org/show_bug.cgi?id=98571

Reviewed by Emil A Eklund.

Source/WebCore:

Refactoring all coordinate-switching functionality to use a single "mode" flag
as opposed to having a bunch of boolean values. This enables the same set of
options across the board, and a consistent interface. This was previously
done for mapLocalToContainer.

The imptetus for this for this stems from the one logical change in this patch
which only effects sub-pixel layout. FrameView::convertToRenderer and
convertFromRenderer return IntPoint coordinates, and need to also snap transform
offsets to determine proper rects for scrolling.

Unlabeled functions below are simply being updated to these new interfaces.

Test: fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html

* WebCore.exp.in:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
* dom/Element.cpp:
(WebCore::Element::boundsInRootViewSpace):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::computeRelativePosition):
* dom/Node.cpp:
(WebCore::Node::convertToPage):
(WebCore::Node::convertFromPage):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
* page/FrameView.cpp:
(WebCore::FrameView::convertToRenderer): Now pixel-snaps offsets before passing
them to TransformState, which transforms the coordinates.
(WebCore::FrameView::convertFromRenderer): Ditto.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuads):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::mapAbsoluteToLocalPoint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::absolutePoint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::showPopup):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::absoluteToLocal):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
* rendering/RenderObject.h:
(RenderObject): MapLocalToContainerFlags is now MapCoordinatesFlags since it's
now used for other conversion methods.
(WebCore::RenderObject::localToAbsoluteQuad):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::mapAbsoluteToLocalPoint):
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):

LayoutTests:

Tests scrolling of sub-pixel layers on sub-pixel platforms (Chromium).

* fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html: Added.
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
* platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
The repaint rect shrinks safely by one pixel.
* platform/chromium/TestExpectations:
* platform/mac-lion/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-4.8/TestExpectations:
* platform/qt/TestExpectations:
* platform/win-wk2/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years ago[WK2] Have plugins render offscreen to capture snapshot
jonlee@apple.com [Tue, 9 Oct 2012 21:23:32 +0000 (21:23 +0000)]
[WK2] Have plugins render offscreen to capture snapshot
https://bugs.webkit.org/show_bug.cgi?id=98326
<rdar://problem/12426658>

Reviewed by Simon Fraser.

Source/WebCore:

Change updateSnapshot() to use a PassRefPtr<Image> instead of Image*. WebKit2 ultimately
hands the image off to RenderSnapshottedPlugin. A CachedImage instance then manages the
lifetime of the Image.

* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::updateSnapshot):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateSnapshot):
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): Updated to use the PassRefPtr<Image>
pointer.
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn):

Source/WebKit2:

Keep the plugin rendering without compositing to easily grab the snapshot.

PluginView now has two variables referring to snapshots, but are unrelated. The timer
is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
should the plugin run JS during painting.

* WebProcess/Plugins/PluginView.cpp:
(WebKit): Add a named constant for the time delay before a snapshot is taken.
(WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
(WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
destroyPluginAndReset() for reuse.
(WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
In addition to destroying the plugin, the destructor cancels pending loads and streams.
(WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
to generate or display a poster, don't setup the compositing layer and start the timer.
(WebKit::PluginView::paint): Avoid painting if the plugin is not running.
(WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
(WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
until the plugin is running.
(WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
an Image that WebCore can render, and destroy the plugin.

Rename m_snapshot to m_transientPaintingSnapshot.
* WebProcess/Plugins/PluginView.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::paint):
(WebKit::PluginView::notifyWidget):
(WebKit::PluginView::pluginSnapshotTimerFired):

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

6 years agoThese tests also fail with ImageOnlyFailures.
abarth@webkit.org [Tue, 9 Oct 2012 21:20:35 +0000 (21:20 +0000)]
These tests also fail with ImageOnlyFailures.

* platform/chromium/TestExpectations:

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

6 years agoThis test now appears to fail on the bots because
abarth@webkit.org [Tue, 9 Oct 2012 21:17:47 +0000 (21:17 +0000)]
This test now appears to fail on the bots because
http://trac.webkit.org/changeset/130799 removed the ImageOnlyFailure
attribute.

* platform/chromium/TestExpectations:

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

6 years agoUnreviewed. Move this file to where the build systems think it should
abarth@webkit.org [Tue, 9 Oct 2012 21:09:43 +0000 (21:09 +0000)]
Unreviewed. Move this file to where the build systems think it should
be. See https://bugs.webkit.org/show_bug.cgi?id=94755

* platform/graphics/CustomFilterConstants.h: Removed.
* platform/graphics/filters/CustomFilterConstants.h: Copied from Source/WebCore/platform/graphics/CustomFilterConstants.h.

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

6 years agoUse computeLogical* methods instead of updateLogical* methods in RenderImage
tony@chromium.org [Tue, 9 Oct 2012 20:38:54 +0000 (20:38 +0000)]
Use computeLogical* methods instead of updateLogical* methods in RenderImage
https://bugs.webkit.org/show_bug.cgi?id=98802

Reviewed by Eric Seidel.

We were storing the old values of width/height, calling updateLogical{Width,Height}, then restoring
the old values.  Instead, use the computeLogical{Width,Height} methods so we don't have to overwrite
the current values.

No new tests, this is just a refactoring.

* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):

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

6 years agoVCSUtils.pm doesn't support SVN 1.7 diff files
dbates@webkit.org [Tue, 9 Oct 2012 20:36:23 +0000 (20:36 +0000)]
VCSUtils.pm doesn't support SVN 1.7 diff files
<https://bugs.webkit.org/show_bug.cgi?id=80762>

Reviewed by Eric Seidel.

Implement support for the SVN 1.7 diff format.

* Scripts/VCSUtils.pm:
(parseChunkRange): Modified to support parsing an SVN 1.7 chunk range
that begins and ends with "##" (e.g. ## -0,0 +1,7 ##). For comparison,
earlier versions of SVN parsed chunk ranges of the form "@@ -0,0 +1,7 @@".

(parseSvnDiffHeader): Modified to parse an SVN 1.7 binary diff; SVN 1.7
has an unusual display format for a binary diff. It repeats the first
two lines of the diff header.

(parseSvnProperty): Modified to ignore both an SVN 1.7 chunk range and
lines of the form "\ No newline at end of property". SVN 1.7 emits the latter
message after a property value that doesn't end in a newline.

(parseSvnPropertyValue): Stop parsing an SVN property value when we encounter
a line of the form "\ No newline at end of property" (emitted by svn diff as of
SVN 1.7).

* Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl:
  - Added the following unit tests:
  "Line count is 0"
  "New line count is 1"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl:
  - Added the following unit tests:
  "svn:executable followed by custom property using SVN 1.7 syntax"
  "svn:executable followed by custom property without newline using SVN 1.7 syntax"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
  - Updated test results for test "binary file".
  - Added unit test "binary file using SVN 1.7 syntax".

* Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl:
  - Added the following unit tests:
  "simple: add svn:executable using SVN 1.7 syntax"
  "simple: delete svn:executable using SVN 1.7 syntax"
  "add svn:mime-type and add svn:executable using SVN 1.7 syntax"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
  - Added the following unit tests:
  "singe-line '+' change using SVN 1.7 syntax"
  "single-line '-' change using SVN 1.7 syntax"

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

6 years ago[BlackBerry] Cleanup FatFingers.cpp
rwlbuis@webkit.org [Tue, 9 Oct 2012 20:35:19 +0000 (20:35 +0000)]
[BlackBerry] Cleanup FatFingers.cpp
https://bugs.webkit.org/show_bug.cgi?id=98806

Reviewed by Antonio Gomes.

Cleanup namespace usage and sync up FatFingers.cpp.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::compareDistanceBetweenPoints):
(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForClickableElement):
(BlackBerry::WebKit::FatFingers::checkForText):
(BlackBerry::WebKit::FatFingers::getNodesFromRect):
(BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):

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

6 years ago[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa...
enrica@apple.com [Tue, 9 Oct 2012 20:28:21 +0000 (20:28 +0000)]
[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura-
background-canvas.html failing on the Mac after r130443
https://bugs.webkit.org/show_bug.cgi?id=98545

Reviewed by Tony Chang.

Adding back the ! removed by mistake before submitting r130779.

* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):

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

6 years agoUnreviewed, rolling out r128488.
jamesr@google.com [Tue, 9 Oct 2012 20:28:00 +0000 (20:28 +0000)]
Unreviewed, rolling out r128488.
http://trac.webkit.org/changeset/128488
https://bugs.webkit.org/show_bug.cgi?id=96678

The bot is fixed now

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
(.):

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

6 years ago[BlackBerry] EGL Context deleted prematurely in GraphicsContext3D destructor
commit-queue@webkit.org [Tue, 9 Oct 2012 20:12:15 +0000 (20:12 +0000)]
[BlackBerry] EGL Context deleted prematurely in GraphicsContext3D destructor
https://bugs.webkit.org/show_bug.cgi?id=98796

Patch by Artem Simonov <asimonov@rim.com> on 2012-10-09
Reviewed by George Staikos.

Reordered destruction of GraphicsContext3D so that the compositing layer is
destroyed first.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):

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

6 years agoDisable hinting when webkit-font-smoothing:antialiased is used on Mac.
commit-queue@webkit.org [Tue, 9 Oct 2012 20:06:21 +0000 (20:06 +0000)]
Disable hinting when webkit-font-smoothing:antialiased is used on Mac.
https://bugs.webkit.org/show_bug.cgi?id=98061

Patch by Ben Wagner <bungeman@chromium.org> on 2012-10-09
Reviewed by Stephen White.

Normal anti-aliased text matches subpixel anti-aliased text.
However, text marked with webkit-font-smoothing:antialiased should be drawn without hinting to match Safari.
See crbug.com/152304 .

Test is fast/css/font-smoothing.html, but DRT runs with font smoothing disabled, so no change visible.

* platform/graphics/skia/FontSkia.cpp:
(WebCore::setupPaint):
Set kNo_Hinting when webkit-font-smoothing is antialiased.

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

6 years ago[Chromium] More TestExpectation updates for Android
peter@chromium.org [Tue, 9 Oct 2012 20:06:18 +0000 (20:06 +0000)]
[Chromium] More TestExpectation updates for Android
https://bugs.webkit.org/show_bug.cgi?id=98818

Unreviewed test expectation updates.

List more failures (all with bugs assigned) in the TestExpectation file for
Android. Move an older block around, considering we may want to re-triage it.

* platform/chromium/TestExpectations:

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

6 years agoUnreviewed Chromium gardening.
jchaffraix@webkit.org [Tue, 9 Oct 2012 19:55:59 +0000 (19:55 +0000)]
Unreviewed Chromium gardening.

* platform/chromium/TestExpectations:
Removed this entry: there was no need for new baselines.

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

6 years ago[CSS Shaders] Create constants for vertex attribute sizes and offsets
commit-queue@webkit.org [Tue, 9 Oct 2012 19:48:55 +0000 (19:48 +0000)]
[CSS Shaders] Create constants for vertex attribute sizes and offsets
https://bugs.webkit.org/show_bug.cgi?id=94755

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-10-09
Reviewed by Dean Jackson.

Factor out the vertex attribute size and offset constants into a new file,
CustomFilterConstants.h. Replace literals in CustomFilterMeshGenerator with the constants.

I could have added the constants to CustomFilterMeshGenerator.h, but this would make
FECustomFilter depend on CustomFilterMeshGenerator.

I also could have added the constants to CustomFilterMesh.h, but this would make
CustomFilterMeshGenerator depend on CustomFilterMesh.

No new tests. No change in behavior.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/CustomFilterConstants.h: Added.
(WebCore):
* platform/graphics/filters/CustomFilterMeshGenerator.h:
(WebCore::CustomFilterMeshGenerator::floatsPerVertex):
    Use the new constants instead of literal values.
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramAndBuffers):
    Pull the constant definitions out of here.

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

6 years agodfg-cross-global tests are flaky because they misuse js-test-pre.js
abarth@webkit.org [Tue, 9 Oct 2012 19:44:15 +0000 (19:44 +0000)]
dfg-cross-global tests are flaky because they misuse js-test-pre.js
https://bugs.webkit.org/show_bug.cgi?id=98813

Reviewed by Daniel Bates.

These tests have a race between js-test-pre's "done" message and the
timeout. This patch change then to use jsTestIsAsync and finishJSTest()
appropriately.

* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-elements.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-size.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array.js:

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

6 years agoMarkupAccumulator should optimally handle 8 bit Strings
msaboff@apple.com [Tue, 9 Oct 2012 19:26:57 +0000 (19:26 +0000)]
MarkupAccumulator should optimally handle 8 bit Strings
https://bugs.webkit.org/show_bug.cgi?id=98224

Reviewed by Ryosuke Niwa.

Updated appendCharactersReplacingEntities to take a string, offset and length and process 8 or 16 bit
data as appropriate.  Also made it a member function of MarkupAccumulator.

No new tests, behavior covered by existing tests.

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
(WebCore::MarkupAccumulator::appendAttributeValue):
(WebCore::MarkupAccumulator::appendNodeValue):
* editing/MarkupAccumulator.h:
(MarkupAccumulator):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::urlToMarkup):

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

6 years agoIndexedDB: Overflowing key generator should throw ConstraintError
jsbell@chromium.org [Tue, 9 Oct 2012 19:25:44 +0000 (19:25 +0000)]
IndexedDB: Overflowing key generator should throw ConstraintError
https://bugs.webkit.org/show_bug.cgi?id=98807

Reviewed by Tony Chang.

Source/WebCore:

After the WebKit implementation landed throwing DataError, public-webapps
consensus was that the exception thrown should be ConstraintError. Trivial
change, and we pass one more W3C test submission.

Test: storage/indexeddb/key-generator.html

* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):

LayoutTests:

Verify that overflowing key generator throws ConstraintError.

* storage/indexeddb/key-generator-expected.txt:
* storage/indexeddb/resources/key-generator.js:

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

6 years ago[chromium] Don't run perf/mouse-event on debug builds
dpranke@chromium.org [Tue, 9 Oct 2012 19:23:59 +0000 (19:23 +0000)]
[chromium] Don't run perf/mouse-event on debug builds

Unreviewed, expectations change.

We don't normally run any perf tests on a debug build, but this
one was getting run due to an improperly scoped expectation
overriding the wontfix rule.

* platform/chromium/TestExpectations:

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

6 years agoXvfbDriver unit test is flaky on Linux builders
zandobersek@gmail.com [Tue, 9 Oct 2012 19:23:10 +0000 (19:23 +0000)]
XvfbDriver unit test is flaky on Linux builders
https://bugs.webkit.org/show_bug.cgi?id=98346

Reviewed by Adam Barth.

Temporarily skip the XvfbDriver test case that tests
the display number of the next free display. The test
is flaky on Linux builders.

* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.disabled_test_next_free_display):

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

6 years agoIndexedDB: open-in-upgradeneeded layout test
dgrogan@chromium.org [Tue, 9 Oct 2012 19:18:32 +0000 (19:18 +0000)]
IndexedDB: open-in-upgradeneeded layout test
https://bugs.webkit.org/show_bug.cgi?id=95912

Reviewed by Tony Chang.

* storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt: Added.
* storage/indexeddb/intversion-open-in-upgradeneeded.html: Added.
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js: Added.
(test):
(deleteSuccess):
(upgradeNeeded1.transaction.oncomplete):
(upgradeNeeded1):
(openSuccess1):
(onVersionChange):
(onBlocked):
(upgradeNeeded2):
(openSuccess2):

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

6 years agoDon't duplicated build numbers when merging flakiness dashboard JSON
ojan@chromium.org [Tue, 9 Oct 2012 19:16:59 +0000 (19:16 +0000)]
Don't duplicated build numbers when merging flakiness dashboard JSON
https://bugs.webkit.org/show_bug.cgi?id=98812

Reviewed by Dirk Pranke.

In general, build numbers are not unique, but we should basically never
get the same build number uploaded twice in a row. This is a workaround
for https://bugs.webkit.org/show_bug.cgi?id=97643, which frequently hits this
because we update results_small.json and timeout updating results.json and then
we retry the whole request.

* TestResultServer/model/jsonresults.py:
(JsonResults.merge):
* TestResultServer/model/jsonresults_unittest.py:
(JsonResultsTest.test_merge_duplicate_build_number):

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

6 years agoFix the order of the statements in my previous build fix.
mrobinson@webkit.org [Tue, 9 Oct 2012 19:16:22 +0000 (19:16 +0000)]
Fix the order of the statements in my previous build fix.

Reviewed by Gustavo Noronha Silva.

My previous build build fix for ResourceHandleSoup ordered the assignment
of the local ResourceHandleInternal incorrectly. Instead of being before
both assertions, it should be interspersed among them.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):

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

6 years agoNeed implement isWordTextBreak for QT, and WinCE for visual word movement functionality
commit-queue@webkit.org [Tue, 9 Oct 2012 19:14:28 +0000 (19:14 +0000)]
Need implement isWordTextBreak for QT, and WinCE for visual word movement functionality
https://bugs.webkit.org/show_bug.cgi?id=81136

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Caio Marcelo de Oliveira Filho.

Uskipping tests that are passing after the merge https://gitorious.org/qtwebkit/testfonts/merge_requests/1

* platform/qt/TestExpectations:

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

6 years agoRTL: selection.modify("move", "forward", "line") when cursor is at start of a line...
commit-queue@webkit.org [Tue, 9 Oct 2012 19:08:20 +0000 (19:08 +0000)]
RTL: selection.modify("move", "forward", "line") when cursor is at start of a line does not move down a line
https://bugs.webkit.org/show_bug.cgi?id=51517

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Caio Marcelo de Oliveira Filho.

Unskipping a test that is passing, with testfonts change in https://gitorious.org/qtwebkit/testfonts/merge_requests/1

* platform/qt/TestExpectations:

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

6 years agoNote that this test is flaky.
abarth@webkit.org [Tue, 9 Oct 2012 19:06:58 +0000 (19:06 +0000)]
Note that this test is flaky.

* platform/chromium/TestExpectations:

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

6 years agoRevert change to TestExpectations in http://trac.webkit.org/changeset/130779.
abarth@webkit.org [Tue, 9 Oct 2012 18:59:21 +0000 (18:59 +0000)]
Revert change to TestExpectations in trac.webkit.org/changeset/130779.
These tests still give the wrong results.

* platform/chromium/TestExpectations:

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

6 years agoUnreviewed Chromium gardening.
jchaffraix@webkit.org [Tue, 9 Oct 2012 18:56:40 +0000 (18:56 +0000)]
Unreviewed Chromium gardening.

* platform/chromium/TestExpectations:
Fix new-run-webkit-tests --lint-test-files after r130778.

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=98457
bdakin@apple.com [Tue, 9 Oct 2012 18:47:49 +0000 (18:47 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=98457
ScrollingStateNodes should be referenced via IDs on
RenderLayerBacking

Reviewed by Simon Fraser.

This patch associates all ScrollingStateNodes with a
RenderLayerBacking via a HashMap from RenderLayerBackings to
ScrollingStateNodes on ScrollingCoordinator. Prior to this patch, the
root ScrollingStateNode was created immediately upon creation of the
ScrollingCoordinator, and it was constantly re-used for every main
FrameView. This doesn't work in the new model since that doesn't
allow that ScrollingStateNode to have a definite association with a
RenderLayerBacking. So this patch does also introduce some lifetime
differences with the ScrollingStateNodes.

If a page is going into the page cache, we should clear the state
tree. When the page is in the cache, we won't have access to the
RenderLayerBacking, and we don't want to be doing anything with the
ScrollingStateNodes anyway.
* dom/Document.cpp:
(WebCore::Document::setInPageCache):

When a page is restored from the page cache, call
frameViewRootLayerDidChange() to re-create the state tree.
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):

This new FrameView function will return the scrollLayerID for a given FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::scrollLayerID):
(WebCore):
* page/FrameView.h:
(FrameView):

There is a lot of unfortunate fiddling with the terrible
if-defs in ScrollingCoordinator. I added a FIXME to the header
noting how we can avoid this in the future.
* page/scrolling/ScrollingCoordinator.cpp:

All of this code used to refer to the rootStateNode directly.
Instead, now it looks up the proper ScrollingStateNode for the given
FrameView in the HashMap.
(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition):
(WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::ScrollingCoordinator::setScrollLayerForNode):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::ScrollingCoordinator::setScrollParametersForNode):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCountForNode):

Returns the existing ScrollingStateNode for a given FrameView by
looking it up in the HashMap.
(WebCore::ScrollingCoordinator::stateNodeForFrameView):

This is called when a RenderLayerBacking is destroyed. At that time,
its associated ScrollingStateNode is destroyed.
(WebCore::ScrollingCoordinator::detachFromStateTree):

clearStateTree() clears the HashMap and destroys all of the nodes in
the current state tree.
(WebCore::ScrollingCoordinator::clearStateTree):

Creates a new root state node for the given FrameView.
(WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):

Some new functions for the new node stuff.
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinatorNone.cpp:
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::supportsFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
(WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
(WebCore::ScrollingCoordinator::detachFromStateTree):
(WebCore::ScrollingCoordinator::clearStateTree):
(WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):
(WebCore::setScrollParameters):
(WebCore::setWheelEventHandlerCount):

New remove functions are used when the sate tree is cleared and when
a RenderLayerBacking is destroyed.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::removeChild):
(WebCore):
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::isScrollingStateScrollingNode):
(ScrollingStateNode):
(WebCore::ScrollingStateNode::parent):

New convenience function for casting to ScrollingStateScrollingNodes.
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::toScrollingStateScrollingNode):
(WebCore):

No longer automatically create a root node upon creation of the
ScrollingStateTree. We now want to wait to create the root node until
we have a RenderLayerBacking to associate it with.
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::removeNode):
(WebCore):
* page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::setRootStateNode):
(ScrollingStateTree):

RenderLayerBacking has a new data member called m_scrollLayerID. If
this RenderLayerBacking is represented in the scrolling tree, then
the ID with be unique and non-zero.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::generateScrollLayerID):
(WebCore):
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
(WebCore::RenderLayerBacking::scrollLayerID):

Move the call to ScrollingCooridinator::frameViewRootLayerDidChange()
from RenderLayerCompositor::attachRootLayer() to
RenderLayerCompositor:: updateBacking(). The problem with the old call
site is that there is no backing at that time, so we are trying to set
state on the root scrolling state node before we have enough
information to create that node and add it to the HashMap.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::attachRootLayer):

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