WebKit-https.git
7 years agoTemporarily disable assertions related to clip rect computation in RenderLayer
simon.fraser@apple.com [Wed, 30 Jan 2013 17:39:44 +0000 (17:39 +0000)]
Temporarily disable assertions related to clip rect computation in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=108265

Reviewed by Dean Jackson.

These assertions are killing the test bots, so disable them temporarily
until we figure out the underlying bug (tracked by https://bugs.webkit.org/show_bug.cgi?id=103432).

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):

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

7 years agoElement::areAuthorShadowsAllowed should be private
esprehn@chromium.org [Wed, 30 Jan 2013 17:15:18 +0000 (17:15 +0000)]
Element::areAuthorShadowsAllowed should be private
https://bugs.webkit.org/show_bug.cgi?id=108298

Reviewed by Darin Adler.

There's no reason for areAuthorShadowsAllowed to be exposed publically
on Element since it just controls the behavior of createShadowRoot. Make
it private and fix all places where it wasn't in subclasses.

No new tests, just refactoring.

* dom/Element.h:
(WebCore::Element::areAuthorShadowsAllowed): Made private.
* html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):
* svg/SVGElement.h:
(SVGElement):

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

7 years ago[BlackBerry] Webpage was cut off after rotating to landscape and then rotating back...
commit-queue@webkit.org [Wed, 30 Jan 2013 17:12:30 +0000 (17:12 +0000)]
[BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
https://bugs.webkit.org/show_bug.cgi?id=108281
PR 284985

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2013-01-30
Reviewed by Rob Buis.
Internally reviewed by Jacky Jiang.

Return correct fixedLayoutSize when overflow exceeds contents size.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):

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

7 years agoREGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
thiago.santos@intel.com [Wed, 30 Jan 2013 16:58:10 +0000 (16:58 +0000)]
REGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
https://bugs.webkit.org/show_bug.cgi?id=108182

Reviewed by Sam Weinig.

Source/WebKit2:

Send the plugin path to the PluginProcess as a parameter.

* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):

LayoutTests:

Unskip failing tests.

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

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

7 years ago[EFL][WK2] Use C API inside ewk_window_features
christophe.dumez@intel.com [Wed, 30 Jan 2013 16:52:41 +0000 (16:52 +0000)]
[EFL][WK2] Use C API inside ewk_window_features
https://bugs.webkit.org/show_bug.cgi?id=107924

Reviewed by Sam Weinig.

Use C API inside ewk_window_features instead of accessing
internal C++ classes directly, to avoid violating API
layering.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::createNewPage):
* UIProcess/API/efl/EwkView.h:
(EwkView):
* UIProcess/API/efl/ewk_window_features.cpp:
(EwkWindowFeatures::EwkWindowFeatures):
(getWindowFeatureValue):
(EwkWindowFeatures::getWindowFeatureBoolValue):
(EwkWindowFeatures::getWindowFeatureDoubleValue):
(ewk_window_features_geometry_get):
* UIProcess/API/efl/ewk_window_features_private.h:
(EwkWindowFeatures::create):
(EwkWindowFeatures::geometry):
(EwkWindowFeatures::setGeometry):
(EwkWindowFeatures):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):

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

7 years agoWeb Inspector: Script Profiler: Make profiler output typed.
commit-queue@webkit.org [Wed, 30 Jan 2013 16:15:38 +0000 (16:15 +0000)]
Web Inspector: Script Profiler: Make profiler output typed.
https://bugs.webkit.org/show_bug.cgi?id=102792

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-30
Reviewed by Yury Semikhatsky.

Currently fields "head" and "bottomUpHead" of Profile object
returned by Profiler.getCPUProfile is untyped (type = object).

That's not good both for client side (protocol users may
only guess on output content) and backend side (field names
are hardcoded in source code).

This patch defines "head" and "bottomUpHead" to be of new
"CPUProfileNode" type and updates serialization code to use
builders to create output.

* bindings/js/ScriptProfile.cpp: Used buiders for serialization.
* bindings/js/ScriptProfile.h: Ditto.
* bindings/v8/ScriptProfile.cpp: Ditto.
* bindings/v8/ScriptProfile.h: Ditto.
* inspector/Inspector.json: Added and used new ProfileNode type.

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

7 years agoWeb Inspector: remove NativeHeapGraph.js
yurys@chromium.org [Wed, 30 Jan 2013 16:12:32 +0000 (16:12 +0000)]
Web Inspector: remove NativeHeapGraph.js
https://bugs.webkit.org/show_bug.cgi?id=108342

Reviewed by Pavel Feldman.

NativeHeapGraph.js was removed as NativeHeapSnapshot.js provides more
features and shares its implementation with JSHeapSnapshot.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/NativeHeapGraph.js: Removed.
* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
(WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/WebKit.qrc:

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

7 years ago[EFL] Unreviewed gardening
commit-queue@webkit.org [Wed, 30 Jan 2013 15:33:02 +0000 (15:33 +0000)]
[EFL] Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=108341

Add a few failing results for EFL.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2013-01-30

* platform/efl/TestExpectations:

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

7 years agoWeb Inspector: Sidebar splitter is invisible in Elements and Sources panels
commit-queue@webkit.org [Wed, 30 Jan 2013 15:12:28 +0000 (15:12 +0000)]
Web Inspector: Sidebar splitter is invisible in Elements and Sources panels
https://bugs.webkit.org/show_bug.cgi?id=108331

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

This was a regression caused by https://bugs.webkit.org/show_bug.cgi?id=108181.
The splitter element did not get the correct class at the initialization.

* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView):
(WebInspector.SidebarView.prototype._updateSidebarPosition):

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

7 years agoWeb Inspector: Filters on Console panel
commit-queue@webkit.org [Wed, 30 Jan 2013 15:10:57 +0000 (15:10 +0000)]
Web Inspector: Filters on Console panel
https://bugs.webkit.org/show_bug.cgi?id=107813

Source/WebCore:

The problem is that third-party libraries may spam javascript console with internal
messages. Now there's filter context-menu option, which allows to hide/show messages
sent from specific scripts or urls.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.performSearch):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.get this):
(WebInspector.ConsoleView.prototype._consoleMessageAdded):
(WebInspector.ConsoleView.prototype._appendConsoleMessage):
(WebInspector.ConsoleView.prototype._consoleCleared):
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
(WebInspector.ConsoleView.prototype._shouldBeVisible):
(WebInspector.ConsoleView.prototype._updateMessageList):
(WebInspector.ConsoleGroup.prototype.addMessage):
* inspector/front-end/ContextMenu.js:
(WebInspector.ContextMenuItem.prototype.isEnabled):
(WebInspector.ContextMenuItem.prototype.setEnabled):
* inspector/front-end/Settings.js:

LayoutTests:

The problem is that third-party libraries may spam javascript console
with internal  messages. Now there's filter context-menu option, which
allows to hide/show messages sent from specific scripts or urls.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

* http/tests/inspector/console-test.js:
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessages):
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithStyles):
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithClasses):
(initialize_ConsoleTest.InspectorTest.expandConsoleMessages):
(initialize_ConsoleTest.InspectorTest.checkConsoleMessagesDontHaveParameters):
(initialize_ConsoleTest):
* http/tests/inspector/stacktraces/resources/stacktrace-test.js:
(test.addMessage):
(test):
* inspector/console/console-filter-test-expected.txt: Added.
* inspector/console/console-filter-test.html: Added.
* inspector/console/resources/log-source.js: Added.
(log2):

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

7 years ago[Qt] Fix minimal build after r141259.
allan.jensen@digia.com [Wed, 30 Jan 2013 15:07:33 +0000 (15:07 +0000)]
[Qt] Fix minimal build after r141259.

Unreviewed build fix.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearNotificationPermissions):

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

7 years ago[Qt] Unreviewed gardening. Skip some failing tests.
fmalita@chromium.org [Wed, 30 Jan 2013 15:00:04 +0000 (15:00 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=108340.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-01-30

* platform/qt/TestExpectations:

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

7 years ago[GStreamer] USE(NATIVE_FULLSCREEN_VIDEO) support
philn@webkit.org [Wed, 30 Jan 2013 14:55:50 +0000 (14:55 +0000)]
[GStreamer] USE(NATIVE_FULLSCREEN_VIDEO) support
https://bugs.webkit.org/show_bug.cgi?id=106760

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Initial support for NATIVE_FULLSCREEN_VIDEO in the GStreamer media
player. A new FullscreenVideoControllerGStreamer class is
introduced, ports interested to implement native fullscreen video
support should inherit from it (see FullscreenVideoControllerGtk)
and hook it in the MediaPlayerPrivateGStreamer backend.

The GStreamerGWorld port to GStreamer 1.x is partly based on a
patch by Sebastian Dröge <sebastian.droge@collabora.com>.

* GNUmakefile.am: Enable NATIVE_FULLSCREEN_VIDEO support.
* GNUmakefile.list.am: New
FullscreenVideoController{GStreamer,Gtk} modules.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Added.
(WebCore):
(WebCore::playerVolumeChangedCallback): Playbin notify::volume
signal callback.
(WebCore::playerMuteChangedCallback): Playbin notify::mute signal callback.
(WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::~FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
Switch GStreamerGWorld to full screen, hook in to playbin's
notify::volume and mute signals and initialize the full screen window.
(WebCore::FullscreenVideoControllerGStreamer::exitFullscreen):
Destroy the full screen window, disconnect from playbin signals
and switch GStreamerGWorld out of full screen.
(WebCore::FullscreenVideoControllerGStreamer::exitOnUserRequest):
Trigger exit from full screen mode. This method is meant to be
called when the user explicitely requests to exit from full screen
by pressing a key or something similar.
(WebCore::FullscreenVideoControllerGStreamer::togglePlay): Switch
between play and pause states. Useful for child classes.
(WebCore::FullscreenVideoControllerGStreamer::increaseVolume):
Useful for child classes as well.
(WebCore::FullscreenVideoControllerGStreamer::decreaseVolume): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::setVolume): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::timeToString): Ditto.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Added.
(WebCore):
(FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::playStateChanged):
To be implemented by child class to reflect the player's state changed.
(WebCore::FullscreenVideoControllerGStreamer::volumeChanged): To
be implemented by child class as well.
(WebCore::FullscreenVideoControllerGStreamer::muteChanged): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::initializeWindow): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::destroyWindow): Ditto.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::gstGWorldSyncMessageCallback): Adapt for GStreamer video
overlay API changes.
(WebCore::GStreamerGWorld::GStreamerGWorld):
gst_bus_set_sync_handler takes one more argument in GStreamer 1.x.
(WebCore::GStreamerGWorld::enterFullscreen): ffmpegcolorspace was
renamed to videoconvert in GStreamer 1.x and the tee src pad
template was renamed to src_%u. There is no need to send a new
segment query either.
(WebCore):
(WebCore::gstGWorldPadProbeCallback): Remove the platform video
sink branch once the tee source pad starting it has been blocked.
(WebCore::GStreamerGWorld::exitFullscreen): Refactor to use an
asynchronous pad probe.
(WebCore::GStreamerGWorld::removePlatformVideoSink): Refactored
from exitFullscreen.
(WebCore::GStreamerGWorld::setWindowOverlay): Adapt for GStreamer video
overlay API changes.
* platform/graphics/gstreamer/GStreamerGWorld.h:
(GStreamerGWorld):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Hook NATIVE_FULLSCREEN_VIDEO support.
(WebCore::MediaPlayerPrivateGStreamer::volume): Playbin volume
query used by the FullscreenVideoController.
(WebCore):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore):
(MediaPlayerPrivateGStreamer): volume(), muted() and MediaPlayer
accessor methods added. NATIVE_FULLSCREEN_VIDEO methods added as well.
(WebCore::MediaPlayerPrivateGStreamer::canEnterFullscreen):
(WebCore::MediaPlayerPrivateGStreamer::mediaPlayer):
* platform/graphics/gstreamer/PlatformVideoWindow.h: Re-enable
module if NATIVE_FULLSCREEN_VIDEO is turned on.
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Re-enable
GStreamerGWorld support.
(_WebKitVideoSinkPrivate):
(webkitVideoSinkRender):
* platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.

Source/WebKit/qt:

Build fixes for GStreamer NATIVE_FULLSCREEN_VIDEO support. Some
more changes will be needed to use the new
FullscreenVideoController though.

* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::ChromeClientQt):
(WebCore::ChromeClientQt::~ChromeClientQt):
* WebCoreSupport/FullScreenVideoQt.cpp:
(WebCore):
(WebCore::FullScreenVideoQt::FullScreenVideoQt):
(WebCore::FullScreenVideoQt::~FullScreenVideoQt):
(WebCore::FullScreenVideoQt::enterFullScreenForNode):
(WebCore::FullScreenVideoQt::exitFullScreenForNode):
(WebCore::FullScreenVideoQt::isValid):
* WebCoreSupport/FullScreenVideoQt.h:
(WebCore):
(FullScreenVideoQt):

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

7 years ago[Qt] Unreviewed gardening. Skip some failing tests.
kadam@inf.u-szeged.hu [Wed, 30 Jan 2013 14:49:13 +0000 (14:49 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=108340.

* platform/qt/TestExpectations:

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

7 years ago[Qt] Fix Qt/Mac build after r141024 and r141037
zeno.albisser@digia.com [Wed, 30 Jan 2013 14:48:40 +0000 (14:48 +0000)]
[Qt] Fix Qt/Mac build after r141024 and r141037
https://bugs.webkit.org/show_bug.cgi?id=108318

Reviewed by Kentaro Hara.

Source/WebKit2:

* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInvalidate):
    Replace nullptr with 0 to allow compiling without C++11 support.

Source/WTF:

* wtf/Functional.h:
    Make sure Block.h is included and its functionality
    is enabled for Qt on Mac.

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

7 years ago[Chromium] Unreviewed gaedening.
fmalita@chromium.org [Wed, 30 Jan 2013 14:31:51 +0000 (14:31 +0000)]
[Chromium] Unreviewed gaedening.

Updated results after http://trac.webkit.org/changeset/141243.

* platform/chromium-linux/fast/repaint/4774354-expected.png:
* platform/chromium-linux/fast/repaint/4776765-expected.png:
* platform/chromium-linux/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac-lion/fast/repaint/4774354-expected.png:
* platform/chromium-mac-lion/fast/repaint/4776765-expected.png:
* platform/chromium-mac-lion/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/4774354-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/4776765-expected.png:
* platform/chromium-mac/fast/repaint/4774354-expected.png:
* platform/chromium-mac/fast/repaint/4776765-expected.png:
* platform/chromium-mac/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac/fast/repaint/caret-with-transformation-expected.txt: Added.
* platform/chromium-win/fast/repaint/4774354-expected.png:
* platform/chromium-win/fast/repaint/4776765-expected.png:
* platform/chromium-win/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-win/fast/repaint/caret-with-transformation-expected.txt: Added.
* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: beautify file selector dialog to render as two rows
pfeldman@chromium.org [Wed, 30 Jan 2013 14:03:32 +0000 (14:03 +0000)]
Web Inspector: beautify file selector dialog to render as two rows
https://bugs.webkit.org/show_bug.cgi?id=108335

Reviewed by Vsevolod Vlasov.

Go-to-file is now rendered in two rows.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.renderAsTwoRows):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.OpenResourceDialog.show):
* inspector/front-end/ViewportControl.js:
(WebInspector.ViewportControl):
(WebInspector.ViewportControl.prototype.refresh):
* inspector/front-end/filteredItemSelectionDialog.css:
(.filtered-item-list-dialog > input):
(.filtered-item-list-dialog > div.progress):
(.filtered-item-list-dialog > div.container):
(.filtered-item-list-dialog-item):
(.filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.two-rows):
(.filtered-item-list-dialog-item.selected):
(.filtered-item-list-dialog-item span.highlight):

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

7 years ago[Qt][WK1] Support better testing of Web Notifications
allan.jensen@digia.com [Wed, 30 Jan 2013 13:59:04 +0000 (13:59 +0000)]
[Qt][WK1] Support better testing of Web Notifications
https://bugs.webkit.org/show_bug.cgi?id=107696

Reviewed by Jocelyn Turcotte.

Source/WebKit/qt:

Implement support for the DRT to clear notification permissions.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearNotificationPermissions):
* WebCoreSupport/DumpRenderTreeSupportQt.h:
* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::clearCachedPermissions):
(WebCore):
* WebCoreSupport/NotificationPresenterClientQt.h:
(NotificationPresenterClientQt):

Tools:

Do not dump notification output to the console by default, instead allow the
tests that need this feature to enable it.

Implement denyWebNotificationPermission and removeAllWebNotificationPermissions.
Remove unused m_desktopNotificationAllowedOrigins variable.

* DumpRenderTree/qt/TestRunnerQt.cpp:
(TestRunner::TestRunner):
(TestRunner::reset):
(TestRunner::dumpNotifications):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::removeAllWebNotificationPermissions):
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):

LayoutTests:

Unskip the now working tests in http/tests/notifications.
Skip four tests that still fail on WebKit1.
Update tests that need notifications dumped.

* fast/notifications/notifications-click-event.html:
* fast/notifications/notifications-display-close-events.html:
* fast/notifications/notifications-no-icon.html:
* fast/notifications/notifications-replace.html:
* fast/notifications/notifications-rtl.html:
* fast/notifications/notifications-with-permission.html:
* platform/qt-5.0-wk1/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: migrate file selection dialog to the viewport.
pfeldman@chromium.org [Wed, 30 Jan 2013 12:47:39 +0000 (12:47 +0000)]
Web Inspector: migrate file selection dialog to the viewport.
https://bugs.webkit.org/show_bug.cgi?id=108313

Reviewed by Vsevolod Vlasov.

Otherwise it takes too long to render.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown.updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
(WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onClick):
(WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
(WebInspector.FilteredItemSelectionDialog.prototype.itemCount):
(WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
* inspector/front-end/ViewportControl.js: Added.
(WebInspector.ViewportControl):
(WebInspector.ViewportControl.Provider):
(WebInspector.ViewportControl.Provider.prototype.itemCount):
(WebInspector.ViewportControl.Provider.prototype.itemElement):
(WebInspector.ViewportControl.prototype.contentElement):
(WebInspector.ViewportControl.prototype.refresh):
(WebInspector.ViewportControl.prototype._onScroll):
(WebInspector.ViewportControl.prototype.rowsPerViewport):
(WebInspector.ViewportControl.prototype.firstVisibleIndex):
(WebInspector.ViewportControl.prototype.lastVisibleIndex):
(WebInspector.ViewportControl.prototype.renderedElementAt):
(WebInspector.ViewportControl.prototype.scrollItemIntoView):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/filteredItemSelectionDialog.css:
(.js-outline-dialog .container div.item.selected):
(.js-outline-dialog .container div.item span.highlight):
* inspector/front-end/inspector.html:

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

7 years agoWeb Inspector: implement highlight range API
commit-queue@webkit.org [Wed, 30 Jan 2013 12:43:51 +0000 (12:43 +0000)]
Web Inspector: implement highlight range API
https://bugs.webkit.org/show_bug.cgi?id=108317

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/editor/text-editor-highlight-api.html

Introduce RangeHighlightDescriptor class and implement Highlight Range
api.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.removeHighlight):
(WebInspector.DefaultTextEditor.prototype.highlightRange):
(WebInspector.TextEditorMainPanel.prototype.removeHighlight):
(WebInspector.TextEditorMainPanel.prototype.highlightRange):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.highlightRange):
(WebInspector.TextEditor.prototype.removeHighlight):

LayoutTests:

Added test cases to the existed test to cover highlight range
functionality.

* inspector/editor/text-editor-highlight-api-expected.txt: Added.
* inspector/editor/text-editor-highlight-api.html: Added.
* inspector/editor/text-editor-highlight-regexp-expected.txt: Removed.
* inspector/editor/text-editor-highlight-regexp.html: Removed.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 30 Jan 2013 12:39:31 +0000 (12:39 +0000)]
Unreviewed GTK gardening.

* platform/gtk/accessibility/aria-combobox-expected.txt: Rebaselining after r141186.

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

7 years ago[Qt] Remove QT4_UNICODE related code paths
hausmann@webkit.org [Wed, 30 Jan 2013 12:27:34 +0000 (12:27 +0000)]
[Qt] Remove QT4_UNICODE related code paths
https://bugs.webkit.org/show_bug.cgi?id=108316

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days. This also allows for the removal
of TextCodecQt.

* Target.pri:
* platform/KURL.cpp:
(WebCore::appendEncodedHostname):
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps):
* platform/text/qt/TextCodecQt.cpp: Removed.
* platform/text/qt/TextCodecQt.h: Removed.

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.

Source/WTF:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days.

* WTF.gypi:
* WTF.pro:
* wtf/unicode/Unicode.h:
* wtf/unicode/qt4/UnicodeQt4.h: Removed.

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

7 years agoBUILD FIX: Make WebCorePrefix.h build on iOS
ddkilzer@apple.com [Wed, 30 Jan 2013 12:21:29 +0000 (12:21 +0000)]
BUILD FIX: Make WebCorePrefix.h build on iOS
<http://webkit.org/b/108224>

Reviewed by Sam Weinig.

* WebCorePrefix.h:
- Include <wtf/Platform.h>.
- Do not include <CoreServices/CoreServices.h> on iOS.
- Include <Foundation/Foundation.h> instead of <Cocoa/Cocoa.h>
  on iOS.

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

7 years agoBuild fix for WinCE after r141156.
paroga@webkit.org [Wed, 30 Jan 2013 12:20:25 +0000 (12:20 +0000)]
Build fix for WinCE after r141156.

* PlatformWinCE.cmake:

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

7 years ago[Chromium] Fix find in page rects for overflowing content.
jknotten@chromium.org [Wed, 30 Jan 2013 12:13:34 +0000 (12:13 +0000)]
[Chromium] Fix find in page rects for overflowing content.
https://bugs.webkit.org/show_bug.cgi?id=104924

Reviewed by Julien Chaffraix.

If a div has overflowing content, we should only normalise its
coordinates against the renderview or the containing scrollable block.

TEST=WebFrameTest.FindInPageMatchRects

* src/FindInPageCoordinates.cpp:
(WebKit::enclosingScrollableAncestor):
    Helper function to find the enclosing containing block with an overflow clip.
(WebKit::toNormalizedRect):
    Pass in the container as an argument.
(WebKit::findInPageRectFromAbsoluteRect):
    Compute the container for toNormalizedRect using enclosingScrollableAncestor.
* tests/WebFrameTest.cpp:
    Add expectations for new tests in WebFrameTest::FindInPageMatchRects and WebFrameTest::FindInPage.
* tests/data/find.html:
    Add test case for <select> element.
* tests/data/find_in_page_frame.html:
    Add test cases:
      - Result 15, 16 tests that containing <div> with style float:left and
        height:0px does not impact coordinate normalization.
      - Result 17, 18 tests that matches with absolute positioning are normalized containing
        relative positioned block, even if there is a closer parent block with overflow clip.
      - Result 19 adds a test case for <select> element.

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

7 years agoWeb Inspector: move heap profiler protocol tests into heap-profiler subfolder
yurys@chromium.org [Wed, 30 Jan 2013 12:07:19 +0000 (12:07 +0000)]
Web Inspector: move heap profiler protocol tests into heap-profiler subfolder
https://bugs.webkit.org/show_bug.cgi?id=108324

Reviewed by Vsevolod Vlasov.

Moved heap profiler protocol tests into LayoutTests/inspector-protocol/heap-profiler

* inspector-protocol/heap-profiler/resources/page-with-function.html: Renamed from LayoutTests/inspector-protocol/resources/page-with-function.html.
* inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Renamed from LayoutTests/inspector-protocol/take-heap-snapshot-expected.txt.
* inspector-protocol/heap-profiler/take-heap-snapshot.html: Renamed from LayoutTests/inspector-protocol/take-heap-snapshot.html.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoWeb Inspector: [Canvas] support instrumenting canvases in iframes (frontend side)
aandrey@chromium.org [Wed, 30 Jan 2013 12:01:07 +0000 (12:01 +0000)]
Web Inspector: [Canvas] support instrumenting canvases in iframes (frontend side)
https://bugs.webkit.org/show_bug.cgi?id=108319

Reviewed by Pavel Feldman.

Add a frame selector to choose between frames with canvases. Show this selector in the status
bar only if there are 2 or more frames with canvses. Otherwise, assume silently the only
frame with canvases (most common use case).

* English.lproj/localizedStrings.js:
* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileType):
(WebInspector.CanvasProfileType.prototype.get statusBarItems):
(WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
(WebInspector.CanvasProfileType.prototype._startFrameCapturing):
(WebInspector.CanvasProfileType.prototype._frameAdded):
(WebInspector.CanvasProfileType.prototype._addFrame):
(WebInspector.CanvasProfileType.prototype._frameRemoved):
(WebInspector.CanvasProfileType.prototype._contextCreated):
(WebInspector.CanvasProfileType.prototype._selectedFrameId):
(WebInspector.CanvasProfileType.prototype._dispatchViewUpdatedEvent):
(WebInspector.CanvasDispatcher):
(WebInspector.CanvasDispatcher.prototype.contextCreated):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileType.prototype.createProfile):
(WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
(WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
(WebInspector.ProfilesPanel.prototype._registerProfileType):
* inspector/front-end/StatusBarButton.js:
(WebInspector.StatusBarComboBox.prototype.size):

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

7 years agoWeb Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
commit-queue@webkit.org [Wed, 30 Jan 2013 11:59:44 +0000 (11:59 +0000)]
Web Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
https://bugs.webkit.org/show_bug.cgi?id=108181

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Sidebar aspect ratio proved to be a better trigger for the sidebar layout change that the docking mode.
Moved the sidebar layout handling completely into WebInspector.SidebarView which now only accepts
two positions: Start (corresponding to Left or Top) and End (corresponding to Right or Bottom).

No new tests.

* inspector/front-end/CSSNamedFlowCollectionsView.js:
(WebInspector.CSSNamedFlowCollectionsView):
* inspector/front-end/DockController.js:
(WebInspector.DockController.prototype._updateUI):
(WebInspector.DockController.prototype._toggleDockState):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.onResize):
* inspector/front-end/FileSystemView.js:
(WebInspector.FileSystemView):
* inspector/front-end/MemoryStatistics.js:
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.createSidebarView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView):
(WebInspector.SidebarView.prototype.setAutoOrientation):
(WebInspector.SidebarView.prototype._updateSidebarPosition):
(WebInspector.SidebarView.prototype.onResize):

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

7 years agoPort SharedTimerWin.cpp to WinCE
paroga@webkit.org [Wed, 30 Jan 2013 11:58:08 +0000 (11:58 +0000)]
Port SharedTimerWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=103724

Reviewed by Brent Fulgham.

Add #if !OS(WINCE) around some parts of the code, so it can be used by the WinCE port too.

* PlatformWinCE.cmake:
* platform/win/SharedTimerWin.cpp:
(WebCore):
(WebCore::TimerWindowWndProc):
(WebCore::initializeOffScreenTimerWindow):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):
* platform/wince/SharedTimerWinCE.cpp: Removed.

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

7 years ago[EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
commit-queue@webkit.org [Wed, 30 Jan 2013 11:56:42 +0000 (11:56 +0000)]
[EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
https://bugs.webkit.org/show_bug.cgi?id=106878

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-30
Reviewed by Benjamin Poulain.

Source/WebKit2:

setContentsToCanvas is responsible for marking canvas for creation or deletion.
The issue here is that the canvas is marked for deletion even though it has not
been created. This causes an assert in LayerTreeRenderer::destroyCanvas.
This patch adds a seperate check to ensure that CoordinatedGraphicsLayer
tries to issue a request for canvas deletion only after request for canvas
creation has been handled.

New test: fast/canvas/webgl/canvas-resize-crash.html

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::fixedToViewport):

LayoutTests:

* fast/canvas/webgl/canvas-resize-crash-expected.txt: Added.
* fast/canvas/webgl/canvas-resize-crash.html: Added.

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

7 years agoUnreviewed GTK build fix.
zandobersek@gmail.com [Wed, 30 Jan 2013 11:55:07 +0000 (11:55 +0000)]
Unreviewed GTK build fix.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Include GraphicsLayerTextureMapper.h
as a forwarding header from WebCore.

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

7 years agoSource/WebCore: ctrl-arrows, ctrl-shift-arrow, ctrl-backspace
commit-queue@webkit.org [Wed, 30 Jan 2013 11:53:04 +0000 (11:53 +0000)]
Source/WebCore: ctrl-arrows, ctrl-shift-arrow, ctrl-backspace

Web Inspector: implmenet Ctrl-Arrow/Ctrl-Backspace in DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=107944

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Add ctrl-arrows/ctrl-shift-arrow/ctrl-backspace shortcuts to jump over
and delete words.

New test: inspector/editor/text-editor-ctrl-movements.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor):
(WebInspector.DefaultTextEditor.prototype._registerShortcuts):
(WebInspector.DefaultTextEditor.prototype.selection):
(WebInspector.DefaultTextEditor.WordMovementController): Added.
(WebInspector.DefaultTextEditor.WordMovementController.prototype._registerShortcuts):
(WebInspector.DefaultTextEditor.WordMovementController.prototype.):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlArrow):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlShiftArrow):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):

LayoutTests: Web Inspector: implmenet Ctrl-Arrow/Ctrl-Backspace in DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=107944

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Add new test to verify ctrl-arrow/ctrl-backspace behavior. Exclude
this test on the platforms that do not currently support eventSender.

* inspector/editor/text-editor-ctrl-movements-expected.txt: Added.
* inspector/editor/text-editor-ctrl-movements.html: Added.
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: do not repaint all lines in highlight regex API in DTE
commit-queue@webkit.org [Wed, 30 Jan 2013 11:49:40 +0000 (11:49 +0000)]
Web Inspector: do not repaint all lines in highlight regex API in DTE
https://bugs.webkit.org/show_bug.cgi?id=108081

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Source/WebCore:

Implement repaintLineRowsAffectedByHighlightDescriptor method that
will go through the visible lineRows and repaint only those of them
which were outdated by highlight change.

Improved test: inspector/editor/text-editor-highlight-regexp.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype.highlightRegex):
(WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptor):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._paintLineRows):

LayoutTests:

Modify layout test to add a verification that highlight does not
repaint more DefaultTextEditor line rows than it needs to.

* inspector/editor/text-editor-highlight-regexp-expected.txt:
* inspector/editor/text-editor-highlight-regexp.html:

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

7 years agoREGRESSION (r139282): Caret repainting is broken for text-align: center'd <input>
commit-queue@webkit.org [Wed, 30 Jan 2013 11:20:31 +0000 (11:20 +0000)]
REGRESSION (r139282): Caret repainting is broken for text-align: center'd <input>
https://bugs.webkit.org/show_bug.cgi?id=108283

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-30
Reviewed by Tim Horton.

Occasionally carets won't be fully erased when blinking.
There used to be 1-pixel padding but removed since r139282.
This patch adds back the same workaround.

Source/WebCore:

Need to rebaseline test expectations.

* editing/FrameSelection.cpp:
(WebCore::repaintCaretForLocalRect):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:

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

7 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:52:58 +0000 (10:52 +0000)]
[EFL] Unreviewed gardening.

More plugin test cases skipped, failing after r141051,
plugins/document-open.html is not crashing, but currently timing out.

* platform/efl-wk2/TestExpectations:

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

7 years ago[HarfBuzz] Remove the HarfBuzz-old code
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:45:58 +0000 (10:45 +0000)]
[HarfBuzz] Remove the HarfBuzz-old code
https://bugs.webkit.org/show_bug.cgi?id=108077

Reviewed by Benjamin Poulain.

.:

Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ since there
won't be a distinction between ng and non-ng HarfBuzz after
removing the old code.

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Removing unused old variant of the HarfBuzz code.

No new tests, no change in functionality.

* GNUmakefile.am: Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ
* WebCore.gypi: Removing ComplexTextControllerHarfBuzz* and HarfBuzzSkia* files,
* platform/graphics/SimpleFontData.h:
(SimpleFontData): USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
* platform/graphics/freetype/FontPlatformData.h:
(FontPlatformData): Removing USE(HARFBUZZ_NG) ifdefs.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
(WebCore):
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Removed.
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Removed.
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore):
(FontPlatformData):
* platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Removed.
* platform/graphics/harfbuzz/HarfBuzzSkia.h: Removed.
* platform/graphics/skia/SimpleFontDataSkia.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
(WebCore):

Source/WebKit/chromium:

Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ since there
won't be a distinction between ng and non-ng HarfBuzz after
removing the old code.

* features.gypi:

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

7 years ago[Qt] Major performance improvement in Qt's PluginDatabase implementation
commit-queue@webkit.org [Wed, 30 Jan 2013 10:34:24 +0000 (10:34 +0000)]
[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140

Patch by David Faure <faure@kde.org> on 2013-01-30
Reviewed by Simon Hausmann.

No new tests, only a performance improvement.

* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
Keep the refcounting as it was before (broken, but otherwise flash crashes).
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.

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

7 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:31:14 +0000 (10:31 +0000)]
[EFL] Unreviewed gardening.

More plugin test cases skipped, failing after r141051,

* platform/efl-wk2/TestExpectations: r140999 leads to assertions in two stacking container tests.
* platform/efl/TestExpectations: r140613 introduced fast/ruby/select-ruby.html - failing on our port.

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

7 years ago[TexMap] Remove GraphicsLayer in TextureMapperLayer.
commit-queue@webkit.org [Wed, 30 Jan 2013 10:20:46 +0000 (10:20 +0000)]
[TexMap] Remove GraphicsLayer in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=107073

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Noam Rosenthal.

Source/WebCore:

Remove the dependency of TextureMapperLayer on GraphicsLayer. It is needed to
remove GraphicsLayerTextureMapper in LayerTreeRenderer.

This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).

Covered by existing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::toTextureMapperLayer):
(WebCore):
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::notifyChange):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
    Set BackgroundColorChange to m_changeMask instead of ContentChange.
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::setChildren):
(WebCore::GraphicsLayerTextureMapper::addChild):
(WebCore::GraphicsLayerTextureMapper::addChildAtIndex):
(WebCore::GraphicsLayerTextureMapper::addChildAbove):
(WebCore::GraphicsLayerTextureMapper::addChildBelow):
(WebCore::GraphicsLayerTextureMapper::replaceChild):
(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer):
(WebCore::GraphicsLayerTextureMapper::setPosition):
(WebCore::GraphicsLayerTextureMapper::setAnchorPoint):
(WebCore::GraphicsLayerTextureMapper::setSize):
(WebCore::GraphicsLayerTextureMapper::setTransform):
(WebCore::GraphicsLayerTextureMapper::setChildrenTransform):
(WebCore::GraphicsLayerTextureMapper::setPreserves3D):
(WebCore::GraphicsLayerTextureMapper::setMasksToBounds):
(WebCore::GraphicsLayerTextureMapper::setDrawsContent):
(WebCore::GraphicsLayerTextureMapper::setContentsVisible):
(WebCore::GraphicsLayerTextureMapper::setContentsOpaque):
(WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility):
(WebCore::GraphicsLayerTextureMapper::setOpacity):
(WebCore::GraphicsLayerTextureMapper::setContentsRect):
(WebCore::GraphicsLayerTextureMapper::setContentsToSolidColor):
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
(WebCore::GraphicsLayerTextureMapper::setShowDebugBorder):
(WebCore::GraphicsLayerTextureMapper::setShowRepaintCounter):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
(WebCore::GraphicsLayerTextureMapper::setDebugBorder):
(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
    Flush pending changes into TextureMapperLayer.
(WebCore::GraphicsLayerTextureMapper::addAnimation):
(WebCore::GraphicsLayerTextureMapper::setAnimations):
(WebCore::GraphicsLayerTextureMapper::setFilters):
(WebCore::GraphicsLayerTextureMapper::setBackingStore):
(WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
(WebCore::GraphicsLayerTextureMapper::setRepaintCount):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
(WebCore):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setChildren):
(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore):
(WebCore::TextureMapperLayer::setReplicaLayer):
(WebCore::TextureMapperLayer::setPosition):
(WebCore::TextureMapperLayer::setSize):
(WebCore::TextureMapperLayer::setAnchorPoint):
(WebCore::TextureMapperLayer::setPreserves3D):
(WebCore::TextureMapperLayer::setTransform):
(WebCore::TextureMapperLayer::setChildrenTransform):
(WebCore::TextureMapperLayer::setContentsRect):
(WebCore::TextureMapperLayer::setMasksToBounds):
(WebCore::TextureMapperLayer::setDrawsContent):
(WebCore::TextureMapperLayer::setContentsVisible):
(WebCore::TextureMapperLayer::setContentsOpaque):
(WebCore::TextureMapperLayer::setBackfaceVisibility):
(WebCore::TextureMapperLayer::setOpacity):
(WebCore::TextureMapperLayer::setSolidColor):
(WebCore::TextureMapperLayer::setFilters):
(WebCore::TextureMapperLayer::setDebugVisuals):
(WebCore::TextureMapperLayer::setRepaintCount):
(WebCore::TextureMapperLayer::setContentsLayer):
(WebCore::TextureMapperLayer::setAnimations):
(WebCore::TextureMapperLayer::setFixedToViewport):
(WebCore::TextureMapperLayer::setBackingStore):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::TextureMapperLayer):

Source/WebKit/efl:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

Source/WebKit/gtk:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:

Source/WebKit/qt:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/TextureMapperLayerClientQt.cpp:

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

7 years ago[chromium] move methods from WebTestDelegate to WebTestRunner
jochen@chromium.org [Wed, 30 Jan 2013 10:13:22 +0000 (10:13 +0000)]
[chromium] move methods from WebTestDelegate to WebTestRunner
https://bugs.webkit.org/show_bug.cgi?id=108309

Reviewed by Adam Barth.

By moving more logic to the TestRunner library, we can share more
code with content shell.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::createView):
(WebTestRunner::WebTestProxy::isSmartInsertDeleteEnabled):
(WebTestRunner::WebTestProxy::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::isSmartInsertDeleteEnabled):
(WebTestRunner::WebTestRunner::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::isSmartInsertDeleteEnabled):
(WebTestRunner):
(WebTestRunner::TestRunner::isSelectTrailingWhitespaceEnabled):
(WebTestRunner::TestRunner::setSmartInsertDeleteEnabled):
(WebTestRunner::TestRunner::setSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::createView):
(WebTestRunner::WebTestProxyBase::isSmartInsertDeleteEnabled):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createView):
(WebViewHost::didStartLoading):
(WebViewHost::didStopLoading):
(WebViewHost::isSmartInsertDeleteEnabled):
(WebViewHost::isSelectTrailingWhitespaceEnabled):
(WebViewHost::reset):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years agoUnreviewed. Add Jae Hyun Park to contributor list.
kseo@webkit.org [Wed, 30 Jan 2013 09:50:30 +0000 (09:50 +0000)]
Unreviewed. Add Jae Hyun Park to contributor list.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agogetDecorationRootAndDecoratedRoot should add new user agent shadow roots
esprehn@chromium.org [Wed, 30 Jan 2013 09:41:34 +0000 (09:41 +0000)]
getDecorationRootAndDecoratedRoot should add new user agent shadow roots
https://bugs.webkit.org/show_bug.cgi?id=108301

Reviewed by Hajime Morita.

getDecorationRootAndDecoratedRoot intended to add a second UserAgentShadowRoot
to the input, not just reuse the existing one so it could insert icons into
the inputs. Add back in this behavior for now so we can sort out the right thing
to do.

This behavior is wrong in the current architecture since it means if you had an
input type=submit, add an author shadow root, and then change the type to text
and then the browser decorates it your shadow magically becomes inaccessible since
input.shadowRoot is no longer available. This feature is currently only used for
decorating type=password fields in Chromium with an icon for password generation.

No new tests, there's no way to test this because it's only used in Chromium
by way of the ChromeClient.

* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::getDecorationRootAndDecoratedRoot):

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

7 years ago[chromium] WebConsoleMessage is missing LevelDebug (chromium bug 172416)
jochen@chromium.org [Wed, 30 Jan 2013 09:37:54 +0000 (09:37 +0000)]
[chromium] WebConsoleMessage is missing LevelDebug (chromium bug 172416)
https://bugs.webkit.org/show_bug.cgi?id=108004
http://code.google.com/p/chromium/issues/detail?id=172416

console.debug triggers a NOTREACHED() assertation in Chromium. This
is because WebCore::MessageLevel contains 5 levels, including debug,
where WebConsoleMessage::Level is missing a "debug" level. Add a
WebConsoleMessage::LevelDebug so that it can get passed up to the
renderer even if it doesn't make use of that now.

Requires another patch to chromium itself to fix chromium bug 172416
but this is a prerequisite.

Also add an enum compile time check to AssertMatchingEnums.cpp,

Patch by Kevin Day <kevinday@gmail.com> on 2013-01-28
Reviewed by Jochen Eisinger.

* public/WebConsoleMessage.h:
* src/AssertMatchingEnums.cpp:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::addMessageToConsole):

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

7 years ago[Qt][WK1] Remember denied permission for notifications
allan.jensen@digia.com [Wed, 30 Jan 2013 09:28:19 +0000 (09:28 +0000)]
[Qt][WK1] Remember denied permission for notifications
https://bugs.webkit.org/show_bug.cgi?id=107694

Reviewed by Jocelyn Turcotte.

Store denied permissions. According to the specification, we should
ask the user again if he has already granted or denied permission.

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::requestPermission):
(WebCore::NotificationPresenterClientQt::setNotificationsAllowedForFrame):
* WebCoreSupport/NotificationPresenterClientQt.h:
(NotificationPresenterClientQt):
* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::setNotificationsAllowedForFrame):
* WebCoreSupport/QWebPageAdapter.h:
* WidgetApi/qwebpage.cpp:
(QWebPage::setFeaturePermission):

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

7 years agoCoordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
commit-queue@webkit.org [Wed, 30 Jan 2013 08:22:57 +0000 (08:22 +0000)]
Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107099

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Noam Rosenthal.

Source/WebCore:

Add GraphicsLayerTextureMapper::setBackingStore() so that
LayerTreeRenderer sets a backing store to GraphicsLayerTextureMapper.

Remove three methods of TextureMapperLayer related to a backing store
because they are no longer used.

Covered by existing compositing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
(WebCore):
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::setBackingStore):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):

Source/WebKit2:

Instead of queuing the setting of backing stores in LayerTreeRenderer,
and then setting them directly to TextureMapperLayer, we allow
GraphicsLayerTextureMapper's existing queuing mechanism to handle that.
Instead of a m_pendingSyncBackingStores queue, we have a m_backingStores
queue which can be applied much more easily to the layer tree.

In addition, LayerTreeRenderer::purgeGLResources() does not call
TextureMapperLayer::clearBackingStoresRecursive() because
TextureMapperLayer will be destructed soon.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

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

7 years ago[Chromium] Correct zoom for focused node when using compositor scaling
wangxianzhu@chromium.org [Wed, 30 Jan 2013 08:22:46 +0000 (08:22 +0000)]
[Chromium] Correct zoom for focused node when using compositor scaling
https://bugs.webkit.org/show_bug.cgi?id=107599

Reviewed by Adam Barth.

When applyDeviceScaleFactorInCompositor, targetScale should exclude device scale factor.
When applyPageScaleFactorInCompositor, caret size and content sizes are in css pixels and they should be in the viewport of the new scale.

Reapply r141153. Added font-size in html to ensure same caret size across platforms.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
(WebKit):
(WebKit::WebViewImpl::computeScaleAndScrollForFocusedNode): Extracted from scrollFocusedNodeIntoRect() to ease testing.
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp: Updated test DivScrollEditableTest
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.

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

7 years agoWeb Inspector: DTE adds additional space to the end of line.
commit-queue@webkit.org [Wed, 30 Jan 2013 08:05:23 +0000 (08:05 +0000)]
Web Inspector: DTE adds additional space to the end of line.
https://bugs.webkit.org/show_bug.cgi?id=108192

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Append overlay highlight spans before decorations elements and skip
them in _collectLinesFromDom method.

No new tests.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
(WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):

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

7 years agoUnreviewed GTK build fix after r141175.
zandobersek@gmail.com [Wed, 30 Jan 2013 07:48:12 +0000 (07:48 +0000)]
Unreviewed GTK build fix after r141175.

* Source/autotools/symbols.filter: Export the WebCore::Element::createShadowRoot symbol.

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

7 years agoRenderer is recreated unexpectedly after detach in HTMLInputElement
shinyak@chromium.org [Wed, 30 Jan 2013 07:28:38 +0000 (07:28 +0000)]
Renderer is recreated unexpectedly after detach in HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=108150

Reviewed by Kent Tamura.

Source/WebCore:

After r140659, destoryShadowSubtree() may update style in removeChild(). It causes
attaching HTMLInputElement before creating shadowsubtree in HTMLInputElement::updateType().

For safe, destroyShadowSubtree() should be done before detach().

Test: fast/forms/number/number-change-type-on-focus-2.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-change-type-on-focus-2.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-change-type-on-focus-2-expected.txt: Added.

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

7 years agoUnreviewed. EFL Gradening.
gyuyoung.kim@samsung.com [Wed, 30 Jan 2013 06:31:08 +0000 (06:31 +0000)]
Unreviewed. EFL Gradening.

fast/events/constructors/composition-event-constructor.html isn't exist anymore.

* platform/efl/TestExpectations:

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

7 years agoScrollbar and scroll corner composited layers positioned incorrectly
commit-queue@webkit.org [Wed, 30 Jan 2013 06:30:43 +0000 (06:30 +0000)]
Scrollbar and scroll corner composited layers positioned incorrectly
https://bugs.webkit.org/show_bug.cgi?id=108255

Patch by James Robinson <jamesr@chromium.org> on 2013-01-29
Reviewed by Simon Fraser.

ScrollView::updateScrollbars() needs to update the overflow controls composited layers if scrollbars are added
or removed. It was doing this by recording on entry to the function if it had horizontal or vertical scrollbars
and then comparing that to m_horizontal/verticalScrollbar on exit. Unfortunately updateScrollbars is recursive
and exits without running the postamble code when nested on the callstack. As a result, scrollbars may be
added or removed several times during the recursion, possibly leaving the overflow control layers in an
inconsistent state, while ending up with the same set of scrollbars.

This changes the "has anything changed" logic to only compare local state (hasXXXScrollbar vs
newHasXXXScrollbar) so changes in recursive calls are not considered.

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

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

7 years agoConvert deprecatedShadowAncestorNode() to shadowHost() in Editor.cpp
shinyak@chromium.org [Wed, 30 Jan 2013 06:14:58 +0000 (06:14 +0000)]
Convert deprecatedShadowAncestorNode() to shadowHost() in Editor.cpp
https://bugs.webkit.org/show_bug.cgi?id=108287

Reviewed by Hajime Morita.

This is the effort to convert deprecatedShadowAncestorNode() to shadowHost().

Since all the caller object of deprecatedShadowAncestorNode() is in a shadow tree, calling deprecatedShadowAncestorNode()
is equiavalent to calling shadowHost(). Also, for all the occurence of deprecatedShadowAncestorNode(), we don't need to
worry about nested ShadowDOM issues. So directly converting deprecatedShadowAncestorNode() to shadowHost() should be safe.

No new tests, simple refactoring.

* editing/Editor.cpp:
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):

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

7 years agoUpdate the expected generated message results
andersca@apple.com [Wed, 30 Jan 2013 06:07:21 +0000 (06:07 +0000)]
Update the expected generated message results
https://bugs.webkit.org/show_bug.cgi?id=108293

Reviewed by Beth Dakin.

* Scripts/webkit2/messages.py:
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:

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

7 years agoNeed a cr-linux debug EWS bot
commit-queue@webkit.org [Wed, 30 Jan 2013 06:02:05 +0000 (06:02 +0000)]
Need a cr-linux debug EWS bot
https://bugs.webkit.org/show_bug.cgi?id=98957

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Eric Seidel.

Added cr-linux-debug-ews bot to webkit-patch, QueueStatusServer and GCE build scripts.

* EWSTools/GoogleComputeEngine/build-cr-linux-debug-ews.sh: Added.
* QueueStatusServer/app.yaml:
* QueueStatusServer/config/queues.py: Added.
* QueueStatusServer/model/queues.py:
(Queue.__init__):
(Queue.queue_with_name):
(Queue.all):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(ChromiumLinuxDebugEWS):

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

7 years agoBe a little more conservative about emitting table-based switches
ggaren@apple.com [Wed, 30 Jan 2013 05:43:47 +0000 (05:43 +0000)]
Be a little more conservative about emitting table-based switches
https://bugs.webkit.org/show_bug.cgi?id=108292

Reviewed by Filip Pizlo.

Profiling shows we're using op_switch in cases where it's a regression.

* bytecompiler/NodesCodegen.cpp:
(JSC):
(JSC::length):
(JSC::CaseBlockNode::tryTableSwitch):
(JSC::CaseBlockNode::emitBytecodeForBlock):
* parser/Nodes.h:
(CaseBlockNode):

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

7 years agoRubberband scrolling on news.google.com causes text to blink repeatedly
simon.fraser@apple.com [Wed, 30 Jan 2013 05:37:21 +0000 (05:37 +0000)]
Rubberband scrolling on news.google.com causes text to blink repeatedly
https://bugs.webkit.org/show_bug.cgi?id=107326

Reviewed by Beth Dakin.

When in the middle of layout, RenderBlock::updateScrollInfoAfterLayout()
could cause us to re-evaluate reasons for compositing, via the call
to updateLayerCompositingState() in RenderLayer::updateScrollInfoAfterLayout().

At this time, when layout is still happening, it's bad to look at render
geometry to decide when to do compositing (e.g. for fixed position); we might
incorrectly conclude that the layer is outside the viewport.

Fix by having RenderLayerCompositing store in a member whether it's safe
to look at layout information. requiresCompositingForPosition() then consults
this bit, and, if it needs to make decisions based on layout but layout is not
complete, it doesn't change the compositing state of the layer.

Not testable, since dumping the layer tree will update layout and mask the bug.

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

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

7 years agoAdd a failing Mac Lion test expectation per bug 108291.
rniwa@webkit.org [Wed, 30 Jan 2013 05:36:12 +0000 (05:36 +0000)]
Add a failing Mac Lion test expectation per bug 108291.

* platform/mac/TestExpectations:

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

7 years agoIntroducing WTF::TypeSafeEnum and DatabaseError.
mark.lam@apple.com [Wed, 30 Jan 2013 05:17:40 +0000 (05:17 +0000)]
Introducing WTF::TypeSafeEnum and DatabaseError.
https://bugs.webkit.org/show_bug.cgi?id=108279.

Reviewed by Geoffrey Garen.

Source/WebCore:

DatabaseError will be used later in the webdatabase refactoring effort.
It is currently unused.

No new tests.

* GNUmakefile.list.am:
* Modules/webdatabase/DatabaseError.h: Added.
(WebCore):
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/TypeSafeEnum.h: Added.
(WTF):
(TypeSafeEnum):
(WTF::TypeSafeEnum::TypeSafeEnum):
(WTF::TypeSafeEnum::value):
(WTF::TypeSafeEnum::operator==):
(WTF::TypeSafeEnum::operator!=):
(WTF::TypeSafeEnum::operator<):
(WTF::TypeSafeEnum::operator<=):
(WTF::TypeSafeEnum::operator>):
(WTF::TypeSafeEnum::operator>=):

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

7 years agoMove ShadowRoot creation into ElementShadow
esprehn@chromium.org [Wed, 30 Jan 2013 04:55:54 +0000 (04:55 +0000)]
Move ShadowRoot creation into ElementShadow
https://bugs.webkit.org/show_bug.cgi?id=108267

Reviewed by Hajime Morita.

Instead of the ShadowRoot::create method doing crazy factory things and
then needing to assert about the state of the ShadowRoot in addShadowRoot,
just create ShadowRoots from inside ElementShadow.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::createShadowRoot): Use addShadowRoot().
(WebCore::Element::ensureUserAgentShadowRoot): Use addShadowRoot().
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot): Now returns the new ShadowRoot.
* dom/ElementShadow.h:
(ElementShadow):
* dom/ShadowRoot.cpp:
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::create): No longer does the association.
(WebCore::ShadowRoot::setHost): Sets parent tree scope automatically.

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

7 years ago[Chromium] Marking fixed-position-composited-page-scale-down tests as failing.
keishi@webkit.org [Wed, 30 Jan 2013 04:33:31 +0000 (04:33 +0000)]
[Chromium] Marking fixed-position-composited-page-scale-down tests as failing.

Unreviewed. Gardening.

* platform/chromium/TestExpectations:

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

7 years agoRename DBBackend::Server to DatabaseServer.
mark.lam@apple.com [Wed, 30 Jan 2013 04:05:53 +0000 (04:05 +0000)]
Rename DBBackend::Server to DatabaseServer.
https://bugs.webkit.org/show_bug.cgi?id=108278.

Rubber stamped by Geoffrey Garen.

This is only a renaming operation as part of the webdatabase refactoring
effort. There is no semantic change.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/DBBackendServer.cpp: Removed.
* Modules/webdatabase/DBBackendServer.h: Removed.
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::DatabaseManager):
* Modules/webdatabase/DatabaseServer.cpp: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.cpp.
(WebCore::DatabaseServer::initialize):
(WebCore::DatabaseServer::setClient):
(WebCore::DatabaseServer::databaseDirectoryPath):
(WebCore::DatabaseServer::setDatabaseDirectoryPath):
(WebCore::DatabaseServer::fullPathForDatabase):
(WebCore::DatabaseServer::hasEntryForOrigin):
(WebCore::DatabaseServer::origins):
(WebCore::DatabaseServer::databaseNamesForOrigin):
(WebCore::DatabaseServer::detailsForNameAndOrigin):
(WebCore::DatabaseServer::usageForOrigin):
(WebCore::DatabaseServer::quotaForOrigin):
(WebCore::DatabaseServer::setQuota):
(WebCore::DatabaseServer::deleteAllDatabases):
(WebCore::DatabaseServer::deleteOrigin):
(WebCore::DatabaseServer::deleteDatabase):
(WebCore::DatabaseServer::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseServer::databaseChanged):
(WebCore::DatabaseServer::closeDatabasesImmediately):
(WebCore::DatabaseServer::interruptAllDatabasesForContext):
(WebCore::DatabaseServer::canEstablishDatabase):
(WebCore::DatabaseServer::addOpenDatabase):
(WebCore::DatabaseServer::removeOpenDatabase):
(WebCore::DatabaseServer::setDatabaseDetails):
(WebCore::DatabaseServer::getMaxSizeForDatabase):
(WebCore):
* Modules/webdatabase/DatabaseServer.h: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.h.
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/DatabaseStrategy.cpp:
(WebCore::DatabaseStrategy::getDatabaseServer):

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

7 years ago[Chromium] Marking terminate-during-sync-operation.html as crashing after r141166.
keishi@webkit.org [Wed, 30 Jan 2013 04:02:14 +0000 (04:02 +0000)]
[Chromium] Marking terminate-during-sync-operation.html as crashing after r141166.

Unreviwed. Gardening.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Rebaselining probably after r141136.
keishi@webkit.org [Wed, 30 Jan 2013 03:57:33 +0000 (03:57 +0000)]
[Chromium] Rebaselining probably after r141136.

Unreviwed. Gardening.

* platform/chromium-win/http/tests/loading/redirect-methods-expected.txt: Added.

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

7 years agoAX: VoiceOver not reading bullets correctly in the text of notes
cfleizach@apple.com [Wed, 30 Jan 2013 03:41:58 +0000 (03:41 +0000)]
AX: VoiceOver not reading bullets correctly in the text of notes
https://bugs.webkit.org/show_bug.cgi?id=107980

Reviewed by Ryosuke Niwa.

Source/WebCore:

Accessibility code should not assume that all list markers end with the same "." suffix.
We need to use the actual suffix.

Test: platform/mac/accessibility/listmarker-suffix.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

LayoutTests:

* platform/mac/accessibility/listmarker-suffix-expected.txt: Added.
* platform/mac/accessibility/listmarker-suffix.html: Added.

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

7 years ago[Chromium] fast/workers/storage crashing after r141166
keishi@webkit.org [Wed, 30 Jan 2013 03:34:41 +0000 (03:34 +0000)]
[Chromium] fast/workers/storage crashing after r141166

Unreviewed. Gardening.

* platform/chromium/TestExpectations:

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

7 years agoReplace unnecessary ArgumentDecoder member functions with decode overloads
weinig@apple.com [Wed, 30 Jan 2013 03:29:27 +0000 (03:29 +0000)]
Replace unnecessary ArgumentDecoder member functions with decode overloads
https://bugs.webkit.org/show_bug.cgi?id=102013

Reviewed by Anders Carlsson.

* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::decode):
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
(CoreIPC::ArgumentDecoder::decode):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
(CoreIPC::ArgumentDecoder::decodeEnum):
(CoreIPC):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::decode):
* Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::Handle::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeTimingFunction):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::decode):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::decode):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::ObjCObjectGraphDecoder::baseDecode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::decode):
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/qt/QtNetworkReplyData.cpp:
(WebKit::QtNetworkReplyData::decode):
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):

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

7 years ago[Chromium] Rebaselining after r141195
keishi@webkit.org [Wed, 30 Jan 2013 03:21:40 +0000 (03:21 +0000)]
[Chromium] Rebaselining after r141195

Unreviewed. Gardening.

* platform/chromium-mac-lion/fast/forms/date/date-appearance-l10n-expected.png:
* platform/chromium-mac-lion/fast/forms/datetime/datetime-appearance-l10n-expected.png:
* platform/chromium-mac-lion/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-l10n-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-l10n-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/datetime/datetime-appearance-l10n-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-l10n-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-l10n-expected.png:
* platform/chromium-mac/fast/forms/datetime/datetime-appearance-l10n-expected.png:
* platform/chromium-mac/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png:
* platform/chromium-mac/fast/forms/month/month-appearance-l10n-expected.png:
* platform/chromium-mac/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png:

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

7 years agoRename AbstractDatabase to DatabaseBackend.
mark.lam@apple.com [Wed, 30 Jan 2013 03:20:27 +0000 (03:20 +0000)]
Rename AbstractDatabase to DatabaseBackend.
https://bugs.webkit.org/show_bug.cgi?id=108275.

Reviewed by Sam Weinig.

This is a pure rename operation as part of the webdatabase refactoring
effort. There is no semantic change in this patch.

Source/WebCore:

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/AbstractDatabase.cpp: Removed.
* Modules/webdatabase/AbstractDatabase.h: Removed.
* Modules/webdatabase/AbstractDatabaseServer.h:
(WebCore):
(AbstractDatabaseServer):
* Modules/webdatabase/DBBackendServer.cpp:
(WebCore::DBBackend::Server::databaseChanged):
(WebCore::DBBackend::Server::addOpenDatabase):
(WebCore::DBBackend::Server::removeOpenDatabase):
(WebCore::DBBackend::Server::getMaxSizeForDatabase):
* Modules/webdatabase/DBBackendServer.h:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::version):
(WebCore::Database::performOpenAndVerify):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp.
(WebCore):
(WebCore::DatabaseBackend::databaseInfoTableName):
(WebCore::DatabaseBackend::DatabaseBackend):
(WebCore::DatabaseBackend::~DatabaseBackend):
(WebCore::DatabaseBackend::closeDatabase):
(WebCore::DatabaseBackend::version):
(WebCore::DatabaseBackend::performOpenAndVerify):
(WebCore::DatabaseBackend::scriptExecutionContext):
(WebCore::DatabaseBackend::securityOrigin):
(WebCore::DatabaseBackend::stringIdentifier):
(WebCore::DatabaseBackend::displayName):
(WebCore::DatabaseBackend::estimatedSize):
(WebCore::DatabaseBackend::fileName):
(WebCore::DatabaseBackend::details):
(WebCore::DatabaseBackend::getVersionFromDatabase):
(WebCore::DatabaseBackend::setVersionInDatabase):
(WebCore::DatabaseBackend::setExpectedVersion):
(WebCore::DatabaseBackend::getCachedVersion):
(WebCore::DatabaseBackend::setCachedVersion):
(WebCore::DatabaseBackend::getActualVersionForTransaction):
(WebCore::DatabaseBackend::disableAuthorizer):
(WebCore::DatabaseBackend::enableAuthorizer):
(WebCore::DatabaseBackend::setAuthorizerReadOnly):
(WebCore::DatabaseBackend::setAuthorizerPermissions):
(WebCore::DatabaseBackend::lastActionChangedDatabase):
(WebCore::DatabaseBackend::lastActionWasInsert):
(WebCore::DatabaseBackend::resetDeletes):
(WebCore::DatabaseBackend::hadDeletes):
(WebCore::DatabaseBackend::resetAuthorizer):
(WebCore::DatabaseBackend::maximumSize):
(WebCore::DatabaseBackend::incrementalVacuumIfNeeded):
(WebCore::DatabaseBackend::interrupt):
(WebCore::DatabaseBackend::isInterrupted):
(WebCore::DatabaseBackend::logErrorMessage):
(WebCore::DatabaseBackend::reportOpenDatabaseResult):
(WebCore::DatabaseBackend::reportChangeVersionResult):
(WebCore::DatabaseBackend::reportStartTransactionResult):
(WebCore::DatabaseBackend::reportCommitTransactionResult):
(WebCore::DatabaseBackend::reportExecuteStatementResult):
(WebCore::DatabaseBackend::reportVacuumDatabaseResult):
* Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabase.h.
(DatabaseBackend):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::databaseChanged):
(WebCore::DatabaseManager::addOpenDatabase):
(WebCore::DatabaseManager::removeOpenDatabase):
(WebCore::DatabaseManager::getMaxSizeForDatabase):
* Modules/webdatabase/DatabaseManager.h:
(DatabaseManager):
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::DatabaseSync::DatabaseSync):
* Modules/webdatabase/DatabaseSync.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::databaseChanged):
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* Modules/webdatabase/DatabaseTracker.h:
(WebCore):
(DatabaseTracker):
* Modules/webdatabase/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::markDatabase):
* Modules/webdatabase/OriginQuotaManager.h:
(WebCore):
(OriginQuotaManager):
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Modules/webdatabase/SQLTransactionClient.h:
(WebCore):
(SQLTransactionClient):
* Modules/webdatabase/chromium/DatabaseObserver.h:
(WebCore):
(DatabaseObserver):
* Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::NotifyDatabaseObserverOnCloseTask::create):
(WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
(NotifyDatabaseObserverOnCloseTask):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
(WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
(DatabaseTracker::CloseOneDatabaseImmediatelyTask):
(WebCore::DatabaseTracker::closeOneDatabaseImmediately):
* Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
(WebCore::NotifyDatabaseChangedTask::create):
(WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
(NotifyDatabaseChangedTask):
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/chromium:

* public/WebDatabase.h:
(WebDatabase):
* src/DatabaseObserver.cpp:
(WebCore::DatabaseObserver::databaseOpened):
(WebCore::DatabaseObserver::databaseModified):
(WebCore::DatabaseObserver::databaseClosed):
(WebCore::DatabaseObserver::reportOpenDatabaseResult):
(WebCore::DatabaseObserver::reportChangeVersionResult):
(WebCore::DatabaseObserver::reportStartTransactionResult):
(WebCore::DatabaseObserver::reportCommitTransactionResult):
(WebCore::DatabaseObserver::reportExecuteStatementResult):
(WebCore::DatabaseObserver::reportVacuumDatabaseResult):
* src/WebDatabase.cpp:
(WebKit::WebDatabase::WebDatabase):

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

7 years agoTidy up Sheriffbot's Sheriffs command's unit tests
commit-queue@webkit.org [Wed, 30 Jan 2013 03:00:50 +0000 (03:00 +0000)]
Tidy up Sheriffbot's Sheriffs command's unit tests
https://bugs.webkit.org/show_bug.cgi?id=108262

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Eric Seidel.

Added the use of MockWeb instead of the filesystem to test the sheriffs command.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Sheriffs._retrieve_webkit_sheriffs):
(Sheriffs.execute):
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest.test_sheriffs):
* Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_0.js: Removed.
* Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_1.js: Removed.
* Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_2.js: Removed.
* Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_malformed.js: Removed.
* Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_zero.js: Removed.

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

7 years agoEnable tests for Windows EWS!
lforschler@apple.com [Wed, 30 Jan 2013 02:43:30 +0000 (02:43 +0000)]
Enable tests for Windows EWS!
https://bugs.webkit.org/show_bug.cgi?id=107968

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years agoUnreviewed, rolling out r141153.
commit-queue@webkit.org [Wed, 30 Jan 2013 02:37:31 +0000 (02:37 +0000)]
Unreviewed, rolling out r141153.
http://trac.webkit.org/changeset/141153
https://bugs.webkit.org/show_bug.cgi?id=108280

Caused WebFrameTest.DivScrollIntoEditableTest to fail on Mac.
(Requested by keishi on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp:
* tests/data/get_scale_for_zoom_into_editable_test.html:

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

7 years ago[WK2] Adjust missing MessageID removals to fix build breaks
gyuyoung.kim@samsung.com [Wed, 30 Jan 2013 02:32:47 +0000 (02:32 +0000)]
[WK2] Adjust missing MessageID removals to fix build breaks
https://bugs.webkit.org/show_bug.cgi?id=108276

Unreviewed to fix build breaks.

Some MessageID removals wasn't adjusted into ConnectionUnix.cpp and coordinated graphics.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::MessageInfo::MessageInfo):
(CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
(CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* UIProcess/WebProcessProxy.cpp:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):

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

7 years agoUnreviewed, rolling out r140983.
commit-queue@webkit.org [Wed, 30 Jan 2013 02:30:56 +0000 (02:30 +0000)]
Unreviewed, rolling out r140983.
http://trac.webkit.org/changeset/140983
https://bugs.webkit.org/show_bug.cgi?id=108277

Unfortunately, this API has one last client (Requested by
abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore):
(WebCore::Notification::create):
* Modules/notifications/Notification.h:
(Notification):
(WebCore::Notification::isHTML):
(WebCore::Notification::setHTML):
(WebCore::Notification::url):
(WebCore::Notification::setURL):
* Modules/notifications/NotificationCenter.h:
(WebCore::NotificationCenter::createHTMLNotification):
(NotificationCenter):
* Modules/notifications/NotificationCenter.idl:
* page/FeatureObserver.h:

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

* src/WebNotification.cpp:
(WebKit::WebNotification::isHTML):
(WebKit::WebNotification::url):
(WebKit::WebNotification::iconURL):
(WebKit::WebNotification::title):
(WebKit::WebNotification::body):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::displayNotification):
(WebCore::NotificationPresenterClientQt::cancel):
(WebCore::NotificationPresenterClientQt::notificationClicked):
(WebCore::NotificationPresenterClientQt::removeReplacedNotificationFromQueue):
(WebCore::NotificationPresenterClientQt::dumpReplacedIdText):
(WebCore::NotificationPresenterClientQt::dumpShowText):

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/Platform.h:

LayoutTests:

* fast/notifications/notifications-with-permission-expected.txt:
* fast/notifications/notifications-with-permission.html:

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

7 years agoObjective-C API: JSObjCClassInfo creates reference cycle with JSContext
mhahnenberg@apple.com [Wed, 30 Jan 2013 02:17:59 +0000 (02:17 +0000)]
Objective-C API: JSObjCClassInfo creates reference cycle with JSContext
https://bugs.webkit.org/show_bug.cgi?id=107839

Reviewed by Geoffrey Garen.

Fixing several ASSERTs that were incorrect along with some of the reallocation of m_prototype and
m_constructor that they were based on.

* API/JSWrapperMap.mm:
(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): We now only allocate those
fields that are null (i.e. have been collected or have never been allocated to begin with).
(-[JSObjCClassInfo reallocateConstructorAndOrPrototype]): Renamed to better indicate that we're
reallocating one or both of the prototype/constructor combo.
(-[JSObjCClassInfo wrapperForObject:]): Call new reallocate function.
(-[JSObjCClassInfo constructor]): Ditto.

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

7 years agoparserAppendChild and parserInsertBefore should ensure that child nodes are in the...
rafaelw@chromium.org [Wed, 30 Jan 2013 02:17:15 +0000 (02:17 +0000)]
parserAppendChild and parserInsertBefore should ensure that child nodes are in the same document
https://bugs.webkit.org/show_bug.cgi?id=108260

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/parser/xml-error-adopted.xml

The check and adoption if the documents don't match is now moved into ContainerNode::parser* from HTMLConstructionSite.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserAppendChild):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::findFosterSite):
(WebCore::HTMLConstructionSite::fosterParent):

LayoutTests:

* fast/parser/xml-error-adopted-expected.txt: Added.
* fast/parser/xml-error-adopted.xml: Added.

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

7 years ago[Chromium] Cannot copy text when selecting readonly (or disabled) input elements
shinyak@chromium.org [Wed, 30 Jan 2013 02:08:28 +0000 (02:08 +0000)]
[Chromium] Cannot copy text when selecting readonly (or disabled) input elements
https://bugs.webkit.org/show_bug.cgi?id=106287

Reviewed by Hajime Morita.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

When an input element is disabled or readonly, its inner element is not editable. So its rootEditableElement
does not exist. In WebViewImpl::caretOrSelectionRange, if rootEditableElement does not exist, it uses
a document element. However, the inner element and document element have a different tree scope, the selection range
cannot be gotten correctly.

We should use ShadowRoot instead of document so that we can stay in the same tree scope.

* WebCore.exp.in:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::rootEditableElementOrTreeScopeRootNode): Added. Returns ShadowRoot so that we can
stay in the same tree scope.
(WebCore):
* editing/FrameSelection.h:
(FrameSelection):
* editing/TextIterator.cpp:
(WebCore::TextIterator::getLocationAndLengthFromRange):
* editing/TextIterator.h:
(TextIterator):

Source/WebKit/chromium:

When an input element is disabled or readonly, its inner element is not editable. So its rootEditableElement
does not exist. In WebViewImpl::caretOrSelectionRange, if rootEditableElement does not exist, it uses
a document element. However, the inner element and document element have a different tree scope, selection range
cannot be gotten correctly.

We should use ShadowRoot instead of document so that we can stay in the same tree scope.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::caretOrSelectionRange):
* tests/WebViewTest.cpp:
* tests/data/selection_disabled.html: Added.
* tests/data/selection_readonly.html: Added.

Source/WebKit/win:

* WebKit.vcproj/WebKitExports.def.in:

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

7 years agoINPUT_MULTIPLE_FIELDS_UI: The content should not overflow the <input> boundary
tkent@chromium.org [Wed, 30 Jan 2013 02:05:22 +0000 (02:05 +0000)]
INPUT_MULTIPLE_FIELDS_UI: The content should not overflow the <input> boundary
https://bugs.webkit.org/show_bug.cgi?id=108069

Reviewed by Hajime Morita.

Source/WebCore:

To avoid the overflow, we do:
A) Specify overflow:hidden to <input>.

However, we need to make sub-fields and buttons workable even if the
width is smaller than the intrinsic size. So, we do:
B) Make DateTimeEditElement shrinkable, and
C) Make the sub-fields scrollable horizontally like input[type=text].

To achieve B, we need to remove -webkit-date-and-time-container (D)
because width property for <input> can shrink only the direct child
elements.

Tests: fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html
and new test cases in fast/forms/date/date-appearance-basic.html.

* css/html.css:
(input[type="date"]):
Change -webkit-align-items value. (D)
Specify overflow:hidden. (A)
(input[type="datetime"]): Ditto.
(input[type="datetime-local"]): Ditto.
(input[type="month"]): Ditto.
(input[type="time"]): Ditto.
(input[type="week"]): Ditto.
(input::-webkit-datetime-edit):
Add min-width:0 (B), and overflow:hidden. (C)
Remove unnecessary white-space:pre because of white-space:nowrap below.
(input::-webkit-datetime-edit-fields-wrapper):
Added. This is the child of -webkit-datetime-edit, and contains
sub-fields. (C)
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
Remove -webkit-date-and-time-container, and append DateTimeEditElement,
spin button, and picker indicator element to the ShadowRoot. (D)
(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldApplyLocaleDirection):
<input> for multiple fields UI should have the direction of the browser
locale. This is a replacement of the code for dir attribute in
updateInnerTextValue below. (D)
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
Remove the code to set dir= to -webkit-date-and-time-container.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
Declare shouldApplyLocaleDirection. (D)
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
Calls setHasCustomCallbacks for customStyleForRenderer. (D)
(WebCore::HTMLInputElement::customStyleForRenderer):
Set direction to RenderStyle if shouldApplyLocaleDirection is true. This
is a replacement of the dir setting code in
BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue. (D)
* html/HTMLInputElement.h:
(HTMLInputElement): Declare customStyleForRenderer. (D)
* html/InputType.cpp:
(WebCore::InputType::shouldApplyLocaleDirection):
Add default implmentation of shouldApplyLocaleDirection. (D)
* html/InputType.h:
(InputType): Declare shouldApplyLocaleDirection. (D)

* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitLiteral):
Add elements to -webkit-datetime-edit-fields-wrapper element. (C)
(WebCore::DateTimeEditElement::fieldsWrapperElement):
A helper to get -webkit-datetime-edit-fields-wrapper element. (C)
(WebCore::DateTimeEditElement::addField):
Add elements to -webkit-datetime-edit-fields-wrapper element. (C)
(WebCore::DateTimeEditElement::customStyleForRenderer):
- Iterate over children of -webkit-datetime-edit-fields-wrapper element. (C)
- Set width property instead of min-width. (B)
(WebCore::DateTimeEditElement::layout):
- Prepare -webkit-datetime-edit-fields-wrapper element. (C)
- Handle children of -webkit-datetime-edit-fields-wrapper element. (C)
- Need to do style recalc because child structure is changed. (C)
* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement): Declare fieldsWrapperElement. (C)

LayoutTests:

* fast/forms/date/date-appearance-basic-expected.txt:
* fast/forms/date/date-appearance-basic.html:
Add test cases for small width and small height.
* fast/forms/time-multiple-fields/time-multiple-fields-focus-style.html:
Update the code because of shadow tree structure change.
* fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html:
Added.
* fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll-expected.txt:
Added.
* platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium/TestExpectations:
 - date-appearance-basic.html: New test cases are added.
 - *-appearance-pseudo-element.html: :before :after position is slightly
   changed because of the -webkit-align-items change.
 - suggestion-picker/*.html: RTL behavior is changed. The direction of
   suggestion pickers matches to the direction of the input content
   (browser locale).

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

7 years agoUnreviewed. More Windows7 gardening.
roger_fong@apple.com [Wed, 30 Jan 2013 01:51:10 +0000 (01:51 +0000)]
Unreviewed. More Windows7 gardening.

* platform/win/TestExpectations:

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

7 years ago[v8] Enable binding integrity on linux
tsepez@chromium.org [Wed, 30 Jan 2013 01:48:13 +0000 (01:48 +0000)]
[v8] Enable binding integrity on linux
https://bugs.webkit.org/show_bug.cgi?id=108242

Reviewed by Adam Barth.

Source/WebCore:

Patch is correct if existing tests pass.

* html/TextMetrics.idl:
Suppress check to allow link on linux.

Source/WebKit/chromium:

* features.gypi:

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

7 years agoMake precise size classes more precise
ggaren@apple.com [Wed, 30 Jan 2013 01:44:28 +0000 (01:44 +0000)]
Make precise size classes more precise
https://bugs.webkit.org/show_bug.cgi?id=108270

Reviewed by Mark Hahnenberg.

Size inference makes this profitable.

I chose 8 byte increments because JSString is 24 bytes. Otherwise, 16
byte increments might be better.

* heap/Heap.h:
(Heap): Removed firstAllocatorWithoutDestructors because it's unused now.

* heap/MarkedBlock.h:
(MarkedBlock): Updated constants.

* heap/MarkedSpace.h:
(MarkedSpace):
(JSC): Also reduced the maximum precise size class because my testing
has shown that the smaller size classes are much more common. This
offsets some of the size class explosion caused by reducing the precise
increment.

* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions): No need for this ASSERT anymore
because we don't rely on firstAllocatorWithoutDestructors anymore, since
we pick size classes dynamically now.

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

7 years agoRemove MessageID parameter from Connection::sendMessage
andersca@apple.com [Wed, 30 Jan 2013 01:38:28 +0000 (01:38 +0000)]
Remove MessageID parameter from Connection::sendMessage
https://bugs.webkit.org/show_bug.cgi?id=108269

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
* Platform/CoreIPC/Connection.h:
(Connection):
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):

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

7 years agoAdd some hardening to methodTable()
oliver@apple.com [Wed, 30 Jan 2013 01:31:37 +0000 (01:31 +0000)]
Add some hardening to methodTable()
https://bugs.webkit.org/show_bug.cgi?id=108253

Reviewed by Mark Hahnenberg.

When accessing methodTable() we now always make sure that our
structure _could_ be valid.  Added a separate method to get a
classes methodTable during destruction as it's not possible to
validate the structure at that point.  This separation might
also make it possible to improve the performance of methodTable
access more generally in future.

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::callDestructor):
* runtime/JSCell.h:
(JSCell):
* runtime/JSCellInlines.h:
(JSC::JSCell::methodTableForDestruction):
(JSC):
(JSC::JSCell::methodTable):

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

7 years agoofflineasm BaseIndex handling is broken on ARM due to MIPS changes
fpizlo@apple.com [Wed, 30 Jan 2013 01:18:28 +0000 (01:18 +0000)]
offlineasm BaseIndex handling is broken on ARM due to MIPS changes
https://bugs.webkit.org/show_bug.cgi?id=108261

Reviewed by Oliver Hunt.

Backends shouldn't override each other's methods. That's not cool.

* offlineasm/mips.rb:

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

7 years ago[chromium] Disable layout tests impacted by page scale change
aelias@chromium.org [Wed, 30 Jan 2013 01:14:10 +0000 (01:14 +0000)]
[chromium] Disable layout tests impacted by page scale change
https://bugs.webkit.org/show_bug.cgi?id=108232

Unreviewed, gardening.

After https://codereview.chromium.org/12045002/, these
tests are expected to fail.  Disabling and creating bugs for follow-up.

* platform/chromium/TestExpectations:

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

7 years agoDon't updateTileCoverageMap() from setScrollingModeIndication if we don't need to.
timothy_horton@apple.com [Wed, 30 Jan 2013 01:10:45 +0000 (01:10 +0000)]
Don't updateTileCoverageMap() from setScrollingModeIndication if we don't need to.

Reviewed by Simon Fraser.

Only do the work if the tiled scrolling indicator/map is enabled.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setScrollingModeIndication):

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

7 years agoAX: Add support for aria-autocomplete="list" on ARIA combobox
cfleizach@apple.com [Wed, 30 Jan 2013 00:59:59 +0000 (00:59 +0000)]
AX: Add support for aria-autocomplete="list" on ARIA combobox
https://bugs.webkit.org/show_bug.cgi?id=108228

Reviewed by Ryosuke Niwa.

Source/WebCore:

Comboboxes behave much like textfields, and so they need
to respond like text controls.

Test: platform/mac/accessibility/combox-box-value.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isTextControl):
(WebCore):
* accessibility/AccessibilityObject.h:
(AccessibilityObject):

LayoutTests:

* platform/mac/accessibility/combox-box-value-expected.txt: Added.
* platform/mac/accessibility/combox-box-value.html: Added.

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

7 years agocloop.rb shouldn't use a method called 'dump' for code generation
fpizlo@apple.com [Wed, 30 Jan 2013 00:59:21 +0000 (00:59 +0000)]
cloop.rb shouldn't use a method called 'dump' for code generation
https://bugs.webkit.org/show_bug.cgi?id=108251

Reviewed by Mark Hahnenberg.

Revert http://trac.webkit.org/changeset/141178 and rename 'dump' to 'clDump'.

Also made trivial build fixes for !ENABLE(JIT).

* offlineasm/cloop.rb:
* runtime/Executable.h:
(ExecutableBase):
(JSC::ExecutableBase::intrinsicFor):
* runtime/JSGlobalData.h:

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

7 years ago[chromium] Do not mark translation-unit-local functions as extern "C"
thakis@chromium.org [Wed, 30 Jan 2013 00:57:56 +0000 (00:57 +0000)]
[chromium] Do not mark translation-unit-local functions as extern "C"
https://bugs.webkit.org/show_bug.cgi?id=108218

Reviewed by Adam Barth.

Requested by darin in https://bugs.webkit.org/show_bug.cgi?id=107845
This also allows enabling -Wreturn-type-c-linkage again, but I'd like to
wait for the next clang roll (which tweaks this warning) before undoing
r140800 (which removed that warning).

No behavior change.

* bindings/v8/npruntime.cpp:

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

7 years agoStop generating the message kind enum
andersca@apple.com [Wed, 30 Jan 2013 00:57:34 +0000 (00:57 +0000)]
Stop generating the message kind enum
https://bugs.webkit.org/show_bug.cgi?id=108258

Reviewed by Beth Dakin.

* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
(CoreIPC::Connection::waitForAndDispatchImmediately):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Scripts/webkit2/messages.py:
(surround_in_condition):
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
* Scripts/webkit2/model.py:
(Message.__init__):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):

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

7 years agoMockWeb should be able to serve mock web content
commit-queue@webkit.org [Wed, 30 Jan 2013 00:56:46 +0000 (00:56 +0000)]
MockWeb should be able to serve mock web content
https://bugs.webkit.org/show_bug.cgi?id=108240

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Dirk Pranke.

Added the ability to have MockWeb serve mock web data.

* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
* Scripts/webkitpy/common/net/web_mock.py:
(MockWeb.__init__):
(MockWeb.get_binary):

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

7 years agoUnreviewed. Skip a bunch of tests on Win7 in preparation of turning on EWS testers.
roger_fong@apple.com [Wed, 30 Jan 2013 00:50:01 +0000 (00:50 +0000)]
Unreviewed. Skip a bunch of tests on Win7 in preparation of turning on EWS testers.
https://bugs.webkit.org/show_bug.cgi?id=108249

* platform/win/TestExpectations:

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

7 years agoFix erroneous semicolon causing build failure: if statement has empty body [-Werror...
commit-queue@webkit.org [Wed, 30 Jan 2013 00:43:55 +0000 (00:43 +0000)]
Fix erroneous semicolon causing build failure: if statement has empty body [-Werror,-Wempty-body]
https://bugs.webkit.org/show_bug.cgi?id=108241

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-29
Reviewed by Anders Carlsson.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addExistingWebPage): Remove erroneous
semicolon following the if condition.

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

7 years agoRemoved GGC because it has been disabled for a long time
ggaren@apple.com [Wed, 30 Jan 2013 00:36:50 +0000 (00:36 +0000)]
Removed GGC because it has been disabled for a long time
https://bugs.webkit.org/show_bug.cgi?id=108245

Reviewed by Filip Pizlo.

../JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGRepatch.cpp:
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* heap/CardSet.h: Removed.
* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::collect):
* heap/Heap.h:
(Heap):
(JSC::Heap::shouldCollect):
(JSC::Heap::isWriteBarrierEnabled):
(JSC):
(JSC::Heap::writeBarrier):
* heap/MarkedBlock.h:
(MarkedBlock):
(JSC):
* heap/MarkedSpace.cpp:
(JSC):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier):

../WebCore:

* ForwardingHeaders/heap/CardSet.h: Removed.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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

7 years agoRemove redundant AST dump method from cloop.rb, since they are already defined in...
fpizlo@apple.com [Wed, 30 Jan 2013 00:30:33 +0000 (00:30 +0000)]
Remove redundant AST dump method from cloop.rb, since they are already defined in ast.rb
https://bugs.webkit.org/show_bug.cgi?id=108247

Reviewed by Oliver Hunt.

Makes offlineasm dumping easier to read and less likely to cause assertion failures.
Also fixes the strange situation where cloop.rb and ast.rb both defined dump methods,
but cloop.rb was winning.

* offlineasm/cloop.rb:

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

7 years agoRemove almost everything from MessageID
andersca@apple.com [Wed, 30 Jan 2013 00:22:23 +0000 (00:22 +0000)]
Remove almost everything from MessageID
https://bugs.webkit.org/show_bug.cgi?id=108244

Reviewed by Beth Dakin.

* Platform/CoreIPC/MessageID.h:
(CoreIPC::MessageID::MessageID):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC):
(CoreIPC::Connection::sendOutgoingMessage):
(CoreIPC::createMessageDecoder):
(CoreIPC::Connection::receiveSourceEventHandler):

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

7 years agoObjective-C API: JSObjCClassInfo creates reference cycle with JSContext
mhahnenberg@apple.com [Wed, 30 Jan 2013 00:07:38 +0000 (00:07 +0000)]
Objective-C API: JSObjCClassInfo creates reference cycle with JSContext
https://bugs.webkit.org/show_bug.cgi?id=107839

Reviewed by Oliver Hunt.

JSContext has a JSWrapperMap, which has an NSMutableDictionary m_classMap, which has values that
are JSObjCClassInfo objects, which have strong references to two JSValue *'s, m_prototype and
m_constructor, which in turn have strong references to the JSContext, creating a reference cycle.
We should make m_prototype and m_constructor Weak<JSObject>. This gets rid of the strong reference
to the JSContext and also prevents clients from accidentally creating reference cycles by assigning
to the prototype of the constructor. If Weak<JSObject> fields are ever garbage collected, we will
reallocate them.

* API/JSContext.mm:
(-[JSContext wrapperMap]):
* API/JSContextInternal.h:
* API/JSWrapperMap.mm:
(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
(-[JSObjCClassInfo dealloc]):
(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]):
(-[JSObjCClassInfo allocateConstructorAndPrototype]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):

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

7 years agoRefactor ShadowRoot exception handling
esprehn@chromium.org [Wed, 30 Jan 2013 00:02:15 +0000 (00:02 +0000)]
Refactor ShadowRoot exception handling
https://bugs.webkit.org/show_bug.cgi?id=108209

Reviewed by Dimitri Glazkov.

Source/WebCore:

Many of the exception cases for ShadowRoot are actually impossible and
should be asserts instead. We can also move the one case of exception logic,
for elements that don't allow author shadows into Element::createShadowRoot
instead of having it all over the ShadowRoot and ElementShadow classes. This
is the first step in centralizing all ShadowRoot creation inside ElementShadow.

No new tests, covered by existing tests.

* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
(WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
* dom/ElementShadow.h:
(ElementShadow):
* dom/ShadowRoot.cpp:
(WebCore::determineUsageType): Merge with Element::createShadowRoot.
(WebCore):
(WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
(WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
* dom/ShadowRoot.h:
(ShadowRoot):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::getDecorationRootAndDecoratedRoot):
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::createShadowRoot):

Source/WebKit/win:

* WebKit.vcproj/WebKitExports.def.in: Swap ShadowRoot::create export with Element::createShadowRoot.

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

7 years agoGet rid of MessageID::is()
andersca@apple.com [Wed, 30 Jan 2013 00:00:39 +0000 (00:00 +0000)]
Get rid of MessageID::is()
https://bugs.webkit.org/show_bug.cgi?id=108234

Reviewed by Beth Dakin.

Add explicit message receiver name equality checks instead of using MessageID::is.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* Platform/CoreIPC/MessageID.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):

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

7 years agoAllow clients to ask for the WebView/WKView placeholder view when in full screen...
jer.noble@apple.com [Tue, 29 Jan 2013 23:54:46 +0000 (23:54 +0000)]
Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
https://bugs.webkit.org/show_bug.cgi?id=103558
<rdar://problem/12763112>

Reviewed by Benjamin Poulain.

Source/WebKit/mac:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WebFullScreenController and WebView.

* WebView/WebFullScreenController.h:
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController webViewPlaceholder]): Added simple accessor.
* WebView/WebView.mm:
(-[WebView fullScreenPlaceholderView]): Added simple accessor.

Source/WebKit2:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WKFullScreenWindowController and WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView fullScreenPlaceholderView]): Added simple accessor.
* UIProcess/API/mac/WKViewPrivate.h:
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.

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

7 years agorun-api-tests should have an option to specify root
jberlin@webkit.org [Tue, 29 Jan 2013 23:35:54 +0000 (23:35 +0000)]
run-api-tests should have an option to specify root
https://bugs.webkit.org/show_bug.cgi?id=108210

Reviewed by Ryosuke Niwa.

* Scripts/run-api-tests:
Add the option and use it to set the configuration product directory. Since it is supposed
to point to the built products, do not build the products if root is specified (this mimics
the behavior of run-javascriptcore-tests).

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