profile/ivi/webkit-efl.git
12 years agoEnable CSS grid layout LayoutTests on platform Mac
tony@chromium.org [Thu, 28 Jun 2012 20:37:36 +0000 (20:37 +0000)]
Enable CSS grid layout LayoutTests on platform Mac
https://bugs.webkit.org/show_bug.cgi?id=90113

Reviewed by Ojan Vafai.

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues): Reset the value to NO between tests.

LayoutTests:

Use 1 instead of true, since that's what WebView.mm expects.

* fast/css-grid-layout/containing-block-grids.html:
* fast/css-grid-layout/display-grid-set-get.html:
* fast/css-grid-layout/floating-empty-grids.html:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* platform/mac/Skipped: Unskip tests.

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

12 years ago[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
shawnsingh@chromium.org [Thu, 28 Jun 2012 20:34:47 +0000 (20:34 +0000)]
[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by Adam Barth.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

* WebKit.gypi:
* WebKitUnitTests.gyp:
* public/WebDOMMessageEvent.h:
(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):
* tests/AssociatedURLLoaderTest.cpp:
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Added.
(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):
* tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.
(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):
* tests/WebFrameTest.cpp:
* tests/WebPageNewSerializerTest.cpp:
* tests/WebPageSerializerTest.cpp:
* tests/WebViewTest.cpp:

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

12 years ago[Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
commit-queue@webkit.org [Thu, 28 Jun 2012 20:33:59 +0000 (20:33 +0000)]
[Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
https://bugs.webkit.org/show_bug.cgi?id=90154

Patch by Jocelyn Turcotte <turcotte.j@gmail.com> on 2012-06-28
Reviewed by Noam Rosenthal.

Fix a regression introduced in r120608.
texture2DRect takes texel coordinates, unlike texture2D which needs normalized coordinates.

Pass an additional textureSize uniform and multiply it by the normalized coordinates.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTextureRectangleARB):
* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(WebCore::TextureMapperShaderProgram::textureSizeLocation):
(TextureMapperShaderProgram):

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

12 years agoImprove compositing logging output
simon.fraser@apple.com [Thu, 28 Jun 2012 20:28:42 +0000 (20:28 +0000)]
Improve compositing logging output
https://bugs.webkit.org/show_bug.cgi?id=90199

Reviewed by Tim Horton (w00t!).

Improve the compositing logging channel output in a few
useful ways:
1. Report memory use, rather than megapixels
2. Show element class names

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::backingStoreMemoryEstimate):
* platform/graphics/GraphicsLayer.h:
(GraphicsLayer):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::nameForLayer):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

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

12 years ago[BlackBerry] Add watchlist options for Blackberry and editing.
mifenton@rim.com [Thu, 28 Jun 2012 20:27:24 +0000 (20:27 +0000)]
[BlackBerry] Add watchlist options for Blackberry and editing.
https://bugs.webkit.org/show_bug.cgi?id=90193

Unreviewed.

Add BlackBerry and Editing watchlist and monitor them.

* Scripts/webkitpy/common/config/watchlist:

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

12 years agoUnreviewed gardening.
senorblanco@chromium.org [Thu, 28 Jun 2012 20:22:57 +0000 (20:22 +0000)]
Unreviewed gardening.

Remove a duplicate expectation.

* platform/chromium/TestExpectations:

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

12 years ago[chromium] Fix up more includes in compositor code
jamesr@google.com [Thu, 28 Jun 2012 20:19:52 +0000 (20:19 +0000)]
[chromium] Fix up more includes in compositor code
https://bugs.webkit.org/show_bug.cgi?id=90200

Reviewed by Adrienne Walker.

Adds includes we are using and removes ones that we aren't using.

* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
* platform/graphics/chromium/ContentLayerChromium.cpp:
* platform/graphics/chromium/ProgramBinding.cpp:
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
* platform/graphics/chromium/cc/CCGraphicsContext.h:
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:

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

12 years ago[chromium] svg/custom/clip-path-referencing-use2.svg fails in "drt mode" in DRT
schenney@chromium.org [Thu, 28 Jun 2012 20:13:08 +0000 (20:13 +0000)]
[chromium] svg/custom/clip-path-referencing-use2.svg fails in "drt mode" in DRT
https://bugs.webkit.org/show_bug.cgi?id=85085

Unreviewed Chromium expectations update.

NRWT is not printing the stdout from this test, which is not really
enough to warrant keeping the expectations incorrect. The bug stays
open.

* platform/chromium-mac/svg/custom/clip-path-referencing-use2-expected.txt:
* platform/chromium-win/svg/custom/clip-path-referencing-use2-expected.txt:
* platform/chromium/TestExpectations:

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

12 years ago[CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
commit-queue@webkit.org [Thu, 28 Jun 2012 20:02:07 +0000 (20:02 +0000)]
[CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
https://bugs.webkit.org/show_bug.cgi?id=90163

Patch by Andrei Onea <onea@adobe.com> on 2012-06-28
Reviewed by Andreas Kling.

Source/WebCore:

Latest CSS Regions spec defines the NamedFlow interface as having a function named getContent,
rather than an attribute named contentNodes.
http://www.w3.org/TR/css3-regions/#the-namedflow-interface

Test: fast/regions/webkit-named-flow-get-content.html

* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::getContent):
* dom/WebKitNamedFlow.h:
(WebKitNamedFlow):
* dom/WebKitNamedFlow.idl:

LayoutTests:

Changed test for NameFlow::contentNodes to reflect new spec, which uses
NameFlow::getContent().

* fast/regions/webkit-named-flow-content-nodes-expected.txt: Removed.
* fast/regions/webkit-named-flow-get-content-expected.txt: Added.
* fast/regions/webkit-named-flow-get-content.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-content-nodes.html.

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

12 years agoUnreviewed, upgrade myself to a reviewer!
timothy_horton@apple.com [Thu, 28 Jun 2012 19:56:36 +0000 (19:56 +0000)]
Unreviewed, upgrade myself to a reviewer!

http://www.webkit.org/blog/2082/tim-horton-is-now-a-webkit-reviewer/

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

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

12 years agoREGRESSION(r121232): named properties on document and window may return wrong object
rniwa@webkit.org [Thu, 28 Jun 2012 19:48:29 +0000 (19:48 +0000)]
REGRESSION(r121232): named properties on document and window may return wrong object
https://bugs.webkit.org/show_bug.cgi?id=90133

Reviewed by Andreas Kling.

Source/WebCore:

Fixed the bug. Also replaced hasAnyItem by isEmpty (hasAnyItem() is equivalent to !isEmpty()).

Test: fast/dom/HTMLDocument/named-item-multiple-match.html

* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedPropertyGetter):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::GetNamedProperty):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::isEmpty):
(WebCore::HTMLCollection::hasExactlyOneItem):

LayoutTests:

Add a regression test.

* fast/dom/HTMLDocument/named-item-multiple-match-expected.txt: Added.
* fast/dom/HTMLDocument/named-item-multiple-match.html: Added.

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

12 years ago[Chromium] Chromium's LayoutTestController is missing setBackingScaleFactor
commit-queue@webkit.org [Thu, 28 Jun 2012 19:45:09 +0000 (19:45 +0000)]
[Chromium] Chromium's LayoutTestController is missing setBackingScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=83635

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

Added InvokeCallbackTask, a new derived class of MethodTask. When
setBackingScaleFactor is called, a call to setDeviceScaleFactor in
WebView is made and then postTask is used to invoke the callback
function specified in testRunner.setBackingScaleFactor.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(InvokeCallbackTask):
(InvokeCallbackTask::InvokeCallbackTask):
(InvokeCallbackTask::runIfValid):
(LayoutTestController::setBackingScaleFactor):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):

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

12 years ago[Skia] Computing the resampling mode ignores scale applied to the canvas
commit-queue@webkit.org [Thu, 28 Jun 2012 19:37:20 +0000 (19:37 +0000)]
[Skia] Computing the resampling mode ignores scale applied to the canvas
https://bugs.webkit.org/show_bug.cgi?id=72073

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-28
Reviewed by Stephen White.

Source/WebCore:

Re-basing earlier patch by Daniel Sievers; updated tests.

Take into account canvas scale when computing image resampling mode.

When drawing a bitmap and computing the best resampling mode based
on the requested scale, take into account CSS scale and page scale
that are applied to the canvas. This allows for single-pass scaling
in potentially better quality (RESAMPLE_AWESOME) and also takes
better advantage of the scaled image cache in that codepath.

Existing tests updated to expect different resampling method (and
therefore a different image) whenever canvas scaling changes.

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::paintSkBitmap):

LayoutTests:

Updated tests to expect different image when resampling method changed.

* platform/chromium-linux/fast/borders/border-image-scale-transform-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.png:
* platform/chromium-linux/svg/W3C-I18N/text-anchor-no-markup-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
* platform/chromium-linux/svg/carto.net/scrollbar-expected.png:
* platform/chromium-linux/svg/custom/image-small-width-height-expected.png:
* platform/chromium-linux/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/chromium-linux/transitions/cross-fade-background-image-expected.png:
* platform/chromium/TestExpectations:

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

12 years ago[chromium] Change WebViewImpl::textInputInfo to use root editable element.
commit-queue@webkit.org [Thu, 28 Jun 2012 19:35:39 +0000 (19:35 +0000)]
[chromium] Change WebViewImpl::textInputInfo to use root editable element.
https://bugs.webkit.org/show_bug.cgi?id=90179

Patch by Oli Lan <olilan@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

WebViewImpl::textInputInfo currently returns text value and offsets relative to the
focused node. For contenteditable nodes, this may not give the expected result.

This patch changes the method to return value and offsets for the root editable element.
This also allows the implementation to be simplified somewhat.

This also ensures that the offsets returned will use the same basis as the recently added
method Editor::setSelectionOffsets (and WebViewImpl::setEditableSelectionOffsets).

Testing for textInputInfo has been added to WebViewTest.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo):
* tests/WebViewTest.cpp:
(WebKit::TEST_F):

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

12 years ago[chromium] Should schedule a commit when dropping contents textures
commit-queue@webkit.org [Thu, 28 Jun 2012 19:27:47 +0000 (19:27 +0000)]
[chromium] Should schedule a commit when dropping contents textures
https://bugs.webkit.org/show_bug.cgi?id=90031

Patch by James Robinson <jamesr@chromium.org> on 2012-06-28
Reviewed by Adrienne Walker.

Source/WebCore:

If we're dropping contents textures on the impl thread, we need to schedule a commit to pick up new contents at
the next commit opportunity. Also adds some traces to make debugging issues like this easier.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):

Source/WebKit/chromium:

Adds a somewhat vacuous test unit test for committing when releasing textures.

* tests/CCLayerTreeHostImplTest.cpp:

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

12 years ago[WK2] Add C API to inspect a Web Intent service
commit-queue@webkit.org [Thu, 28 Jun 2012 19:20:28 +0000 (19:20 +0000)]
[WK2] Add C API to inspect a Web Intent service
https://bugs.webkit.org/show_bug.cgi?id=89276

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Anders Carlsson.

Add C API for Web intent service so that it can be queried
on client side.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKIntentServiceInfo.cpp: Added.
(WKIntentServiceInfoGetTypeID):
(WKIntentServiceInfoCopyAction):
(WKIntentServiceInfoCopyType):
(WKIntentServiceInfoCopyHref):
(WKIntentServiceInfoCopyTitle):
(WKIntentServiceInfoCopyDisposition):
* UIProcess/API/C/WKIntentServiceInfo.h: Added.

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

12 years agoThreadingWin: Silence GCC compiler warnings
commit-queue@webkit.org [Thu, 28 Jun 2012 19:15:31 +0000 (19:15 +0000)]
ThreadingWin: Silence GCC compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=89491

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Adam Roben.

* wtf/ThreadingWin.cpp:
(WTF::createThreadInternal):
(WTF::PlatformCondition::timedWait):
(WTF::PlatformCondition::signal): Fix unused-but-set-variable
warnings.

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

12 years agoMake rebaseline-test and rebaseline-expectations work for non-Chromium ports
ojan@chromium.org [Thu, 28 Jun 2012 19:03:06 +0000 (19:03 +0000)]
Make rebaseline-test and rebaseline-expectations work for non-Chromium ports
https://bugs.webkit.org/show_bug.cgi?id=90186

Reviewed by Adam Barth.

This makes rebaselining work for all ports that have a TestExpectations file
in the tree. I didn't test other ports.

This doesn't address 100% of the problem. The rebaseline code puts the expectations
in the most specific directory and relies on optimize-baselines to merge baselines
appropriately. This only works if every platform directory has an equivalent bot
that runs the tests, which is not true for most ports.

* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder._revision_and_build_for_filename):
Some bots have filenames that aren't revision/build number pairs
e.g. they are random junk like aQhxvx. Handle this gracefully.
(Builder._fetch_revision_to_build_map):
(Builder._file_info_list_to_revision_to_build_list):
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(BuilderTest.test_build_and_revision_for_filename):
(BuilderTest.test_file_info_list_to_revision_to_build_list):
* Scripts/webkitpy/layout_tests/port/builders.py:
Update the list of builders. This list needs to be kept up
to date for the rebaseline tool to work.
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._results_url):
(RebaselineExpectations._run_webkit_patch):
(RebaselineExpectations._rebaseline_port):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
Qt port uses qmake to determine the right version. Systems without qmake correctly fallback
to a specific version.

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

12 years agoDon't malloc RenderGeometryMap steps individually
antti@apple.com [Thu, 28 Jun 2012 18:58:21 +0000 (18:58 +0000)]
Don't malloc RenderGeometryMap steps individually
https://bugs.webkit.org/show_bug.cgi?id=90074

Reviewed by Simon Fraser.

Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.

* rendering/RenderGeometryMap.cpp:
(WebCore):
(WebCore::RenderGeometryMap::absolutePoint):
(WebCore::RenderGeometryMap::absoluteRect):
(WebCore::RenderGeometryMap::mapToAbsolute):
(WebCore::RenderGeometryMap::push):
(WebCore::RenderGeometryMap::pushView):
(WebCore::RenderGeometryMap::popMappingsToAncestor):
* rendering/RenderGeometryMap.h:
(WebCore):
(WebCore::RenderGeometryMapStep::RenderGeometryMapStep):

    Move to header.

(RenderGeometryMapStep):
(RenderGeometryMap):

    Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.

(WTF):

    Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
    The type is simple enought to move by memcpy.

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

12 years ago[GTK] Remove Windows support from plugins/gtk/
commit-queue@webkit.org [Thu, 28 Jun 2012 18:15:17 +0000 (18:15 +0000)]
[GTK] Remove Windows support from plugins/gtk/
https://bugs.webkit.org/show_bug.cgi?id=89501

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Martin Robinson.

The GTK+ port now uses plugins/gtk/ on Windows, which leaves
PluginPackageGtk.cpp and PluginViewGtk.cpp solely for XP_UNIX platforms.

* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo):
(WebCore::webkitgtkXError):
(WebCore::PluginPackage::load):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::getRootWindow):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::setXCrossingEventSpecificFields):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::handleFocusOutEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformGetValueStatic):
(WebCore::PluginView::platformGetValue):
(WebCore::getPluginDisplay):
(WebCore::getVisualAndColormap):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformDestroy):

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

12 years agoChange FrameView::scrollContentsFastPath to use m_fixedObjects
simon.fraser@apple.com [Thu, 28 Jun 2012 18:08:46 +0000 (18:08 +0000)]
Change FrameView::scrollContentsFastPath to use m_fixedObjects
https://bugs.webkit.org/show_bug.cgi?id=90045

Reviewed by James Robinson.

FrameView now has a hash set of fixed-position objects, so use
that instead of RenderBlock::positionedObjects(); we'll avoid traversing
through absolutely positioned objects, and this will work better for sticky
positioning in future.

No behavior change, so no new tests.

* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):

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

12 years agoSplit flex into flex-grow/flex-shrink/flex-basis
tony@chromium.org [Thu, 28 Jun 2012 18:06:09 +0000 (18:06 +0000)]
Split flex into flex-grow/flex-shrink/flex-basis
https://bugs.webkit.org/show_bug.cgi?id=86525

Reviewed by Ojan Vafai.

Source/WebCore:

Split flex into 3 separate properties per the spec:
http://dev.w3.org/csswg/css3-flexbox/#flex-components

Tests: css3/flexbox/flex-longhand-parsing.html
       css3/flexbox/flex-property-parsing.html: Updated test results.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore): -webkit-flex is no longer enumerable.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Fix indent.
(WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
(WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
preferred size -> basis) and assign to longhand properties.
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Add new properties.
* css/CSSPropertyNames.in: Add new properties.
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
(WebCore::StylePropertySet::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitFlexShorthand): Add new shorthand.
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.
Handle initial and inherit for flex.

LayoutTests:

If -webkit-flex is set to none, when the user reads the value back out, it is
now 0 0 auto. 'none' is for convenience, not an actual value.

* css3/flexbox/flex-longhand-parsing-expected.txt:
* css3/flexbox/flex-longhand-parsing.html: Test flex-grow, flex-shrink and flex-basis.
* css3/flexbox/flex-property-parsing-expected.txt:
* css3/flexbox/flex-property-parsing.html: Update results for 'none'.
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js: Remove -webkit-flex since it's no longer enumerable.
* svg/css/getComputedStyle-basic-expected.txt:

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

12 years ago[GTK][Win]: Fix plugin drawing to an offscreen buffer
commit-queue@webkit.org [Thu, 28 Jun 2012 18:00:42 +0000 (18:00 +0000)]
[GTK][Win]: Fix plugin drawing to an offscreen buffer
https://bugs.webkit.org/show_bug.cgi?id=89499

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Brent Fulgham.

Take into account that the GTK+ port draws to a backing store and adjust
the target rectangle calculation accordingly.

* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::paint):
(WebCore::PluginView::setNPWindowRect):

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

12 years ago[WK2] platform/mac/editing/spelling/autocorrection-blockquote-crash.html fails.
kling@webkit.org [Thu, 28 Jun 2012 17:14:23 +0000 (17:14 +0000)]
[WK2] platform/mac/editing/spelling/autocorrection-blockquote-crash.html fails.
<http://webkit.org/b/90156>

Skip this test on mac-wk2 for now.

* platform/mac-wk2/Skipped:

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

12 years agoOptimize Dromaeo/dom-attr.html by speeding up Element::getAttribute()
haraken@chromium.org [Thu, 28 Jun 2012 17:07:01 +0000 (17:07 +0000)]
Optimize Dromaeo/dom-attr.html by speeding up Element::getAttribute()
https://bugs.webkit.org/show_bug.cgi?id=90174

Reviewed by Adam Barth.

This patch improves performance of Dromaeo/dom-attr.html by 4.0%.
The patch improves performance of getAttribute() and JavaScript
property setter for DOM objects (e.g. 'div.foo = 123').
The performance improvement becomes larger, as the number of
attributes defined on the DOM object increases.

Without the patch in Chromium/Linux (runs/s)
7679.4, 7739.7, 7634.0, 7726.4, 7663.9

With the patch in Chromium/Linux (runs/s)
7977.7, 8032.2, 8112.8, 7948.1, 7924.5

This patch just changes a type of 'name' of Element::getAttribute(String& name)
from String& to AtomicString&.

The key observation is that AtomicString(String& x) is faster than
operator==(String& x, AtomicString& y). AtomicString(String& x) calculates
a hash of a given String and adds it to a hash table. The calculation
complexity is O(the length of x). On the other hand,
operator==(String& x, AtomicString& y) compares a String and an AtomicString by
StringImpl::equal(StringImpl*, StringImpl*), the calculation complexity of
which is O(2 * min(the length of x, the length of y)).
In addition, the comparison logic is more complicated than the logic
of calculating the hash. Consequently, AtomicString(String& x) is
faster than operator==(String& x, AtomicString& y).

Keeping that in mind, let's estimate the performance of
Element::getAttribute("class") for <div id="A" lang="B" title="C" class="D" dir="E">.
Here "id", "lang", "title", "class" and "dir" are stored as AtomicStrings
in QualifiedName::localName(). Initially, "class" in Element::getAttribute("class")
is a String.

If we use Element::getAttribute(String& name) (i.e. without the patch),
ElementAttributeData::getAttributeItemIndex() executes four
operator==(String&, AtomicString&) by the time it finds the "class" attribute:

(1) if ("class" == "id")       // operator==(String&, AtomicString&)
(2) if ("class" == "lang")     // operator==(String&, AtomicString&)
(3) if ("class" == "title")    // operator==(String&, AtomicString&)
(4) if ("class" == "class")    // operator==(String&, AtomicString&)

On the other hand, if we use Element::getAttribute(AtomicString& name)
(i.e. with the patch), ElementAttributeData::getAttributeItemIndex()
executes one AtomicString(String&) and four operator==(AtomicString&, AtomicString&)
by the time it finds the "class" attribute:

(1) AtomicString("class")      // AtomicString(String&)
(2) if ("class" == "id")       // operator==(AtomicString&, AtomicString&)
(3) if ("class" == "lang")     // operator==(AtomicString&, AtomicString&)
(4) if ("class" == "title")    // operator==(AtomicString&, AtomicString&)
(5) if ("class" == "class")    // operator==(AtomicString&, AtomicString&)

Considering that the overhead of operator==(AtomicString&, AtomicString&) is close
to 0 since it is just a pointer comparison, the latter approach is faster than
the former approach.

Performance improvement will be large for elements that have multiple attributes,
but it is faster even for elements that have only one attribute.
For exmaple, Dromaeo/dom-attr.html tests getAttribute() for an element that has
only one attribute, the result shows 4.0% improvement.

Another example optimized by this patch is 'div.foo = 123', where foo is not
an attribute of div. In this case, before 123 is set, JavaScript calls back
Element::getAttribute() to check whether 'foo' is defined on div by
scanning all the attributes of div.

No tests. No change in behavior.

* dom/Element.cpp:
(WebCore::Element::getAttribute):
* dom/Element.h:
(Element):
(WebCore::Element::getAttributeItemIndex):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
* dom/ElementAttributeData.h:
(ElementAttributeData):
(WebCore::ElementAttributeData::getAttributeItem):
(WebCore::ElementAttributeData::getAttributeItemIndex):

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

12 years agoSpeech JavaScript API: Don't dispatch end event after ActiveDOMObject::stop()
hans@chromium.org [Thu, 28 Jun 2012 16:52:40 +0000 (16:52 +0000)]
Speech JavaScript API: Don't dispatch end event after ActiveDOMObject::stop()
https://bugs.webkit.org/show_bug.cgi?id=90176

Reviewed by Adam Barth.

Source/WebCore:

It is probably not safe to dispatch an event on an object that has
been ActiveDOMObject::stop()'ed.

This used to happen in the navigate-away.html test, which I believe
then caused speechgrammar-basics.html (which was typically run
afterwards, by the same worker), to crash flakily. See Bug 89717.

Test: speechgrammar-basics.html should no longer be flaky.

* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didEnd):
(WebCore::SpeechRecognition::stop):
(WebCore::SpeechRecognition::SpeechRecognition):
* Modules/speech/SpeechRecognition.h:

LayoutTests:

speechgrammar-basics.html should no longer be flaky.

* platform/chromium/TestExpectations:

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

12 years ago[GTK] [WK2] Memory leak in ResourceHandleSoup.cpp
commit-queue@webkit.org [Thu, 28 Jun 2012 16:43:23 +0000 (16:43 +0000)]
[GTK] [WK2] Memory leak in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=90168

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-28
Reviewed by Martin Robinson.

Fixed a memory leak in WebCoreSynchronousLoader by using adoptGRef
instead of just getting new reference of GMainLoop.

No new tests. No change in behavior.

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

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

12 years ago[chromium] Do not multiply bounds by contentsScale in TiledLayerChromium and CanvasLa...
danakj@chromium.org [Thu, 28 Jun 2012 16:35:33 +0000 (16:35 +0000)]
[chromium] Do not multiply bounds by contentsScale in TiledLayerChromium and CanvasLayerTextureUpdater
https://bugs.webkit.org/show_bug.cgi?id=90103

Reviewed by Adrienne Walker.

Source/WebCore:

Non-integer scale factors can scale the bounds of a layer such that
different rounding is applied to the width and height in the content
bounds. We should never multiply bounds by contentsScale in order to
work correctly with non-integer scale factors. Instead, always use the
contentBounds/bounds ratio for width and height independently.

Tests: TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringPaint
       TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringInvalidation

* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
(BitmapCanvasLayerTextureUpdater):
* platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
(BitmapSkPictureCanvasLayerTextureUpdater):
* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
(WebCore::CanvasLayerTextureUpdater::paintContents):
* platform/graphics/chromium/CanvasLayerTextureUpdater.h:
(CanvasLayerTextureUpdater):
* platform/graphics/chromium/LayerTextureUpdater.h:
(WebCore::LayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::updatePart):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
(SkPictureCanvasLayerTextureUpdater):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::setNeedsDisplayRect):
(WebCore::TiledLayerChromium::updateTiles):

Source/WebKit/chromium:

* tests/CCTiledLayerTestCommon.cpp:
(WebKitTests::FakeLayerTextureUpdater::prepareToUpdate):
* tests/CCTiledLayerTestCommon.h:
(FakeTiledLayerChromium):
* tests/TiledLayerChromiumTest.cpp:

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

12 years ago[Qt] Make GC's fill{Rounded}Rect use optimized shadow blur code
commit-queue@webkit.org [Thu, 28 Jun 2012 16:14:54 +0000 (16:14 +0000)]
[Qt] Make GC's fill{Rounded}Rect use optimized shadow blur code
https://bugs.webkit.org/show_bug.cgi?id=90082

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-06-28
Reviewed by Noam Rosenthal.

ShadowBlur::drawRectShadow makes use of optimized tiles-based drawPattern, which
is not present when using {begin/end}shadowLayer.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::pushTransparencyLayerInternal):

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

12 years ago[chromium] Introduce way to reload a page using the original request URL
commit-queue@webkit.org [Thu, 28 Jun 2012 16:05:43 +0000 (16:05 +0000)]
[chromium] Introduce way to reload a page using the original request URL
https://bugs.webkit.org/show_bug.cgi?id=89788

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

Adds a new reload method for cases where we need to override the URL
when reloading a page. This is needed for situations where a server
redirects navigation based on information that may have changed since
the last time the page was loaded.

User agents, for example, can cause a server to redirect to the mobile
version of a page.  Changing to the desktop version by switching user agents
requires loading a URL from before the redirect occurred.

Also adds a unit test to confirm that scroll position and page scale are
saved when the reload occurs.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::reloadWithGivenURL):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setClearPageScaleFactorOnLoad):
(WebKit):
(WebKit::WebViewImpl::didCommitLoad):
* src/WebViewImpl.h:
(WebViewImpl):

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

12 years agoWeb Inspector: Provide context menu 'Delete all watch expressions.'
commit-queue@webkit.org [Thu, 28 Jun 2012 15:43:36 +0000 (15:43 +0000)]
Web Inspector: Provide context menu 'Delete all watch expressions.'
https://bugs.webkit.org/show_bug.cgi?id=89735

Patch by Rahul Tiwari <rahultiwari.cse.iitr@gmail.com> on 2012-06-28
Reviewed by Yury Semikhatsky.

Added context menu delete and delete all watch expressions.

No new tests required as its a minor UI related change.

* English.lproj/localizedStrings.js:
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype.updateExpression):
(WebInspector.WatchExpressionsSection.prototype._deleteAllExpressions):
(WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
(WebInspector.WatchExpressionTreeElement.prototype.update):
(WebInspector.WatchExpressionTreeElement.prototype._contextMenu):
(WebInspector.WatchExpressionTreeElement.prototype._deleteAllButtonClicked):

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

12 years agom_cssVariablesEnabled member is not initialized in Page Settings
commit-queue@webkit.org [Thu, 28 Jun 2012 15:33:11 +0000 (15:33 +0000)]
m_cssVariablesEnabled member is not initialized in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=90147

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Simon Hausmann.

Properly initialize the m_cssVariablesEnabled member in Page
Settings.

No new tests, no behavior change.

* page/Settings.cpp:
(WebCore::Settings::Settings):

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

12 years ago[Qt][NRWT] Fix baseline and skipped file search path.
ossy@webkit.org [Thu, 28 Jun 2012 14:43:16 +0000 (14:43 +0000)]
[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Unreviewed trivial typo fix after r121430.

* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest._assert_search_path):
(QtPortTest._assert_skipped_path):

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

12 years ago[Qt][NRWT] Fix baseline and skipped file search path.
ossy@webkit.org [Thu, 28 Jun 2012 14:33:11 +0000 (14:33 +0000)]
[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-06-28
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort._search_paths):
(QtPort):
(QtPort.baseline_search_path):
(QtPort._skipped_file_search_paths):
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest):
(QtPortTest._assert_skipped_path):
(QtPortTest.test_baseline_search_path):
(QtPortTest.test_skipped_file_search_path):

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

12 years ago[Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS)
apavlov@chromium.org [Thu, 28 Jun 2012 14:27:27 +0000 (14:27 +0000)]
[Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS)
https://bugs.webkit.org/show_bug.cgi?id=90167

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::removeUserStyleSheets):
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

DRT should remove user stylesheets from the page group when resetting before running another test.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):

LayoutTests:

Unskip the previously offensive test.

* platform/qt/Skipped:

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

12 years ago[WK2] New fast/events/drag-display-none-element.html fails
ossy@webkit.org [Thu, 28 Jun 2012 14:10:12 +0000 (14:10 +0000)]
[WK2] New fast/events/drag-display-none-element.html fails
https://bugs.webkit.org/show_bug.cgi?id=90177

Unreviewed gardening, skip the new failing test.

* platform/wk2/Skipped:

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

12 years ago[Qt] css3/filters/huge-region-composited.html makes css3/filters/huge-region.html...
ossy@webkit.org [Thu, 28 Jun 2012 13:16:42 +0000 (13:16 +0000)]
[Qt] css3/filters/huge-region-composited.html makes css3/filters/huge-region.html crash
https://bugs.webkit.org/show_bug.cgi?id=90165

[Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS)
https://bugs.webkit.org/show_bug.cgi?id=90167

Unreviewed gardening, skip the guilty tests.

* platform/qt/Skipped:

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

12 years ago[Qt][DRT] Reset AcceleratedCompositingEnabled between tests
ossy@webkit.org [Thu, 28 Jun 2012 13:07:38 +0000 (13:07 +0000)]
[Qt][DRT] Reset AcceleratedCompositingEnabled between tests
https://bugs.webkit.org/show_bug.cgi?id=90164

Reviewed by Simon Hausmann.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):

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

12 years ago[Qt] Restore original value of mock scrollbars between tests
ossy@webkit.org [Thu, 28 Jun 2012 11:39:31 +0000 (11:39 +0000)]
[Qt] Restore original value of mock scrollbars between tests
https://bugs.webkit.org/show_bug.cgi?id=90155

Reviewed by Simon Hausmann.

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setMockScrollbarsEnabled):
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::setMockScrollbarsEnabled):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):

LayoutTests:

* platform/qt/Skipped: Unskip tests which doesn't break anything now.

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

12 years ago[EFL] Gardening after r121388
commit-queue@webkit.org [Thu, 28 Jun 2012 09:57:20 +0000 (09:57 +0000)]
[EFL] Gardening after r121388
https://bugs.webkit.org/show_bug.cgi?id=90145

Unreviewed EFL gardening. The new fast/events/drag-display-none-element.html
test added in r121388 does not pass on EFL port because of missing drag'n'drop support.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-28

* platform/efl/TestExpectations:

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

12 years ago[Qt] plugin is loaded to the web process via MainResourceLoader::substituteMIMETypeFr...
kbalazs@webkit.org [Thu, 28 Jun 2012 09:36:04 +0000 (09:36 +0000)]
[Qt] plugin is loaded to the web process via MainResourceLoader::substituteMIMETypeFromPluginDatabase
https://bugs.webkit.org/show_bug.cgi?id=86489

Reviewed by Simon Hausmann.

Removed the substituteMIMETypeFromPluginDatabase quirk from
MainResourceLoader. It would be possible to fix it in a way
that is compatible with WebKit2, but given that it was a Qt
only fix, and that it's not clear that we still need it, and
it's not even work currently, I decided to remove it. At least
it is -1 platform ifdef in common code.

Just removed a non-tested quirk, no test needed.

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse):

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

12 years ago<http://webkit.org/b/90096> Building within Xcode sometimes does a full rebuild after...
mrowe@apple.com [Thu, 28 Jun 2012 09:30:28 +0000 (09:30 +0000)]
<webkit.org/b/90096> Building within Xcode sometimes does a full rebuild after building via build-webkit

We need to ensure that build-webkit uses the same setting for SHARED_PRECOMPS_DIR
as what Xcode itself will use when building, otherwise switching between the two
can result in the precompiled headers being rebuilt and thus the entire world
rebuilding.

Reviewed by Dan Bernstein.

* Scripts/webkitdirs.pm:
(determineBaseProductDir):

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

12 years ago[V8] Optimize Integer::New() by caching persistent handles for small integers
haraken@chromium.org [Thu, 28 Jun 2012 08:51:58 +0000 (08:51 +0000)]
[V8] Optimize Integer::New() by caching persistent handles for small integers
https://bugs.webkit.org/show_bug.cgi?id=90043

Reviewed by Adam Barth.

The patch improves performance of Dromaeo/dom-query.html by 3.6%,
and Bindings/scroll-top.html by 17.3%.

The performance results in my Chromium/Linux:

[Dromaeo/dom-query.html]
796310.4 runs/s => 824745.4 runs/s (+3.6%)

[Bindings/scroll-top.html]
204.68 runs/s => 240.15 runs/s (+17.3%)

This patch introduces V8BindingPerIsolateData::IntegerCache (just like
V8BindingPerIsolateData::StringCache) to cache persistent handles
for small integers.

No new tests. No change in behavior.

* bindings/v8/V8Binding.h: Implemented v8Integer() and v8UnsignedInteger(),
which returns cached persistent handles for integers smaller than 64.
(WebCore):
(IntegerCache):
(WebCore::IntegerCache::IntegerCache):
(WebCore::IntegerCache::v8Integer):
(WebCore::IntegerCache::v8UnsignedInteger):
(WebCore::V8BindingPerIsolateData::integerCache):
(V8BindingPerIsolateData):
(WebCore::v8Integer):
(WebCore::v8UnsignedInteger):
* bindings/v8/V8Binding.cpp:
(WebCore):
(WebCore::IntegerCache::createSmallIntegers):
* bindings/v8/WorkerScriptController.cpp:
(~WorkerScriptController): ~V8BindingPerIsolateData() should be called before
isolate->Exit(), since ~V8BindingPerIsolateData() calls V8 APIs that requires
the current isolate.

* bindings/scripts/CodeGeneratorV8.pm: Replaced Integer::New() and Integer::NewFromUnsigned()
with v8Integer() and v8UnsignedInteger().
(GenerateNormalAttrGetter):
(NativeToJSValue):

* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
(WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetter):
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore::TestObjV8Internal::readOnlyIntAttrAttrGetter):
(WebCore::TestObjV8Internal::shortAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedShortAttrAttrGetter):
(WebCore::TestObjV8Internal::intAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr1AttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr2AttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr3AttrGetter):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetter):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetter):
(WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
(WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
(WebCore::TestObjV8Internal::strawberryAttrGetter):
(WebCore::TestObjV8Internal::descriptionAttrGetter):
(WebCore::TestObjV8Internal::idAttrGetter):
(WebCore::TestObjV8Internal::intMethodCallback):
(WebCore::TestObjV8Internal::intMethodWithArgsCallback):
(WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
(WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):

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

12 years agoClassify form control states by their owner forms
tkent@chromium.org [Thu, 28 Jun 2012 08:48:20 +0000 (08:48 +0000)]
Classify form control states by their owner forms
https://bugs.webkit.org/show_bug.cgi?id=89950

Reviewed by Hajime Morita.

Source/JavaScriptCore:

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
Expose WTF::StringBuilder::canShrink()

Source/WebCore:

To improve robustness of the form state restore feature, we classify
form control states by their owner forms. Owner forms are identified by
their action URLs and index numbers in forms with the same action URLs.

Implementation approach:
Extend FormElementKey class to have "formKey" string, which is a
combination of the action URL and an index number, or a fixed string for
no form owner.
FormKeyGenerator class is responsible to generate the "formKey" strings

Test: fast/forms/state-restore-per-form.html

* html/FormController.cpp:
(FormKeyGenerator):
(WebCore::FormKeyGenerator::create): A factory function.
(WebCore::FormKeyGenerator::FormKeyGenerator): A private constructor.
(WebCore::createKey):
A helper for formKey(). This makes strings like "<action URL> #<index>".
(WebCore::FormKeyGenerator::formKey):
Returns a formKey for the specified HTMLFormElement*.
(WebCore::FormKeyGenerator::willDeleteForm):
Unregister HTMLFormElement*. This function is necessary because form
restore feature works during parsing and a script might delete form
elements.
(WebCore::formStateSignature): Bump the version.
(WebCore::FormController::formElementsState):
Records a formKey string for each of control state.
(WebCore::FormController::setStateForNewFormElements):
Loads formKeys from stateVector, and uses them for FormElementKey.
(WebCore::FormController::takeStateForFormElement):
- Construct and destruct FormKeyGenerator if needed.
- Passing a formKey for the specified form control to FormElementKey.
(WebCore::FormController::willDeleteForm):
Delegate to FormKeyGenerator::willDeleteForm.

(WebCore::FormElementKey::FormElementKey): Add formKey argument and member.
(WebCore::FormElementKey::operator=): ditto.
(WebCore::FormElementKey::ref): ditto.
(WebCore::FormElementKey::deref): ditto.
* html/FormController.h:
(FormElementKey): Add formKey argument and member.
(FormController): Add a FormKeyGenerator member which is used during restoring.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement): Notify the death to FormController.

LayoutTests:

* fast/forms/resources/state-restore-per-form-back.html: Added.
* fast/forms/state-restore-per-form-expected.txt:
Added. This contains some FAIL lines. They are expected and will
be fixed in webkit.org/b/89962.
* fast/forms/state-restore-per-form.html: Added.
* fast/forms/state-restore-broken-state-expected.txt:
Updated for the serialization format change.

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

12 years ago[Chromium] Test expectation update
tkent@chromium.org [Thu, 28 Jun 2012 08:44:50 +0000 (08:44 +0000)]
[Chromium] Test expectation update

* platform/chromium/TestExpectations:
platform/chromium/accessibility/add-to-menu-list-crashes.html is passing.

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

12 years agoUnreviewed GTK gardening, removing crash expectation for the
zandobersek@gmail.com [Thu, 28 Jun 2012 08:39:26 +0000 (08:39 +0000)]
Unreviewed GTK gardening, removing crash expectation for the
fast/workers/worker-context-gc.html test as the offending revision
was rolled out in r121417.

* platform/gtk/TestExpectations:

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

12 years agoUnreviewed, rolling out r121395.
zandobersek@gmail.com [Thu, 28 Jun 2012 08:34:47 +0000 (08:34 +0000)]
Unreviewed, rolling out r121395.
http://trac.webkit.org/changeset/121395
https://bugs.webkit.org/show_bug.cgi?id=90143

Patch causes crashes in fast/workers/worker-context-gc.html
(Requested by zdobersek on #webkit).

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

Source/WebCore:

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
* workers/DedicatedWorkerThread.h:
(DedicatedWorkerThread):
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):
* workers/SharedWorkerThread.h:
(SharedWorkerThread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
* workers/WorkerThread.h:
(WorkerThread):

Source/WebKit/chromium:

* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::startWorkerContext):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::startWorkerContext):

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

12 years ago[Qt] KURL assert at fast/loader/opaque-base-url.html
kbalazs@webkit.org [Thu, 28 Jun 2012 07:46:54 +0000 (07:46 +0000)]
[Qt] KURL assert at fast/loader/opaque-base-url.html
https://bugs.webkit.org/show_bug.cgi?id=89468

Reviewed by Simon Hausmann.

Don't use the KURL(ParsedURLStringTag, const String&) constructor.
We cannot be sure that the url in encode was valid and even if it
was the message could have been corrupted.
* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):

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

12 years ago[Platform] Implement functions for localized time format information
yosin@chromium.org [Thu, 28 Jun 2012 07:30:11 +0000 (07:30 +0000)]
[Platform] Implement functions for localized time format information
https://bugs.webkit.org/show_bug.cgi?id=89965

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces three functions for time format:
  1. localizedTimeFormatText()
  2. localizedShortTimeFormatText()
  2. timeAMPMLabels()
for input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.

Having both localizedTimeFormat and localizedShortTimeFormat is for
displaying only two fields hour and minute when step >= 60. There is
no way to remove second field from "h:m:s" pattern string. We don't
know whether ":" after "m" belongs minute or second field.

Test: WebKit/chromium/tests/LocalizedDateICUTest.cpp

* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::LocaleICU):
(WebCore::createFallbackAMPMLabels): Added.
(WebCore::LocaleICU::initializeDateTimeFormat):  Added.
(WebCore::LocaleICU::localizedTimeFormatText):  Added.
(WebCore::LocaleICU::localizedShortTimeFormatText):  Added.
(WebCore::LocaleICU::timeAMPMLabels):  Added.
* platform/text/LocaleICU.h:
(LocaleICU):
* platform/text/LocalizedDate.h:
* platform/text/LocalizedDateICU.cpp:
(WebCore::localizedTimeFormatText):  Added.
(WebCore::localizedShortTimeFormatText):  Added.
(WebCore::timeAMPMLabels):  Added.

Source/WebKit/chromium:

This patch adds new test LocalizedDateICUTest if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
is true.

* WebKit.gypi:
* tests/LocalizedDateICUTest.cpp: Added.
(LocalizedDateICUTest):
(Labels):
(LocalizedDateICUTest::Labels::Labels):
(LocalizedDateICUTest::Labels::operator==):
(LocalizedDateICUTest::Labels::toString):
(LocalizedDateICUTest::labels):
(LocalizedDateICUTest::localizedDateFormatText):
(LocalizedDateICUTest::localizedShortDateFormatText):
(LocalizedDateICUTest::timeAMPMLabels):
(operator<<):
(TEST_F):

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

12 years ago[Qt] Unreviewed gardening, skip a new test to hide an annoying bug
ossy@webkit.org [Thu, 28 Jun 2012 07:25:27 +0000 (07:25 +0000)]
[Qt] Unreviewed gardening, skip a new test to hide an annoying bug
https://bugs.webkit.org/show_bug.cgi?id=87680 (and paint the bot green)

* platform/qt/Skipped:

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

12 years agoUnreviewed GTK gardening, adding a crash expectation for the
zandobersek@gmail.com [Thu, 28 Jun 2012 07:17:42 +0000 (07:17 +0000)]
Unreviewed GTK gardening, adding a crash expectation for the
fast/workers/worker-context-gc.html test that started crashing after r121395.

* platform/gtk/TestExpectations:

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

12 years agoPerformance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
haraken@chromium.org [Thu, 28 Jun 2012 06:29:27 +0000 (06:29 +0000)]
Performance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
https://bugs.webkit.org/show_bug.cgi?id=90059

Reviewed by Ryosuke Niwa.

This patch improves performance of document.getElementsBy*().
e.g. the patch makes Dromaeo/dom-query.html 5.4% faster.

Dromaeo/dom-query.html without the patch (Chromium/Linux):
784714 runs/s, 765947 runs/s, 803109 runs/s, 804450 runs/s

Dromaeo/dom-query.html with the patch (Chromium/Linux):
839245 runs/s, 829867 runs/s, 811032 runs/s, 847486 runs/s

Based on the assumption that document.getElementsByClassName(),
document.getElementsByTagName() and document.getElementsByName()
would be used frequently in the real world, this patch implements
a fast path for Document methods that require to access NodeRareData.
Specifically, this patch caches a pointer to NodeRareData on Document,
by which Document can access NodeRareData without looking up a HashMap.

The only performance concern is the overhead of the isDocumentNode() check
that this patch added to Node::ensureRareData. However, I could not
observe any performance regression caused by the overhead.

No tests. No change in behavior.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setCachedRareData): I didn't inline this method,
since the inlining slightly regressed performance for some reason.
(WebCore):
* dom/Document.h:
(WebCore):
(WebCore::Document::cachedRareData):
(Document):
(~Document): Moved 'm_document = 0' to the tail of the destructor,
since isDocumentNode() has to return true in clearRareData() that is called
in ~Document().
* dom/Node.cpp:
(WebCore::Node::ensureRareData):
(~Node): Moved the assertion into clearRareData().

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

12 years agoUnreviewed. Fix the build without TEXTURE_MAPPER_GL.
carlosgc@webkit.org [Thu, 28 Jun 2012 06:24:56 +0000 (06:24 +0000)]
Unreviewed. Fix the build without TEXTURE_MAPPER_GL.

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

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

12 years ago[BlackBerry] 0-length response with no content-type shouldn't download
mary.wu@torchmobile.com.cn [Thu, 28 Jun 2012 06:09:50 +0000 (06:09 +0000)]
[BlackBerry] 0-length response with no content-type shouldn't download
https://bugs.webkit.org/show_bug.cgi?id=89860

Reviewed by Rob Buis.

RIM PR# 168419

For 0-length response, if we can't get its mimetype from the filename,
we set the mimetype to "text/plain" instead of "application/octet-stream",
so it won't go to download.

Reviewed internally by Charles Wei.

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

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

12 years agoUnreviewed, rolling out r121398.
ryuan.choi@samsung.com [Thu, 28 Jun 2012 05:36:01 +0000 (05:36 +0000)]
Unreviewed, rolling out r121398.
http://trac.webkit.org/changeset/121398
https://bugs.webkit.org/show_bug.cgi?id=90136

broke efl build (Requested by ryuan on #webkit).

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

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit/efl:

* tests/UnitTestUtils/EWKTestBase.cpp: Removed.
* tests/UnitTestUtils/EWKTestBase.h: Removed.
* tests/UnitTestUtils/EWKTestConfig.h: Removed.
* tests/UnitTestUtils/EWKTestView.cpp: Removed.
* tests/UnitTestUtils/EWKTestView.h: Removed.
* tests/resources/default_test_page.html: Removed.
* tests/test_ewk_view.cpp: Removed.
* tests/test_runner.cpp: Removed.

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

12 years agoUnreviewed, rolling out r121405.
commit-queue@webkit.org [Thu, 28 Jun 2012 05:34:00 +0000 (05:34 +0000)]
Unreviewed, rolling out r121405.
http://trac.webkit.org/changeset/121405
https://bugs.webkit.org/show_bug.cgi?id=90135

broke windows build (Requested by shawnsingh_ on #webkit).

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

* WebKit.gypi:
* WebKitUnitTests.gyp:
* public/WebDOMMessageEvent.h:
* tests/AssociatedURLLoaderTest.cpp:
(WebKit::AssociatedURLLoaderTest::AssociatedURLLoaderTest):
(WebKit::AssociatedURLLoaderTest::SetUp):
(WebKit::AssociatedURLLoaderTest::CheckMethodFails):
(WebKit::AssociatedURLLoaderTest::CheckHeaderFails):
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::registerMockedURLLoad):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
(FrameTestHelpers):
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
(WebKit::SelectPopupMenuTest::registerMockedURLLoad):
(WebKit::SelectPopupMenuTest::loadFrame):
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Removed.
* tests/URLTestHelpers.h: Removed.
* tests/WebFrameTest.cpp:
(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):
(WebKit::TEST_F):
* tests/WebPageNewSerializerTest.cpp:
(WebKit::WebPageNewSerializeTest::registerMockedURLLoad):
(WebPageNewSerializeTest):
(WebKit::WebPageNewSerializeTest::setUpCSSTestPage):
(WebKit::WebPageNewSerializeTest::loadURLInTopFrame):
(WebKit::WebPageNewSerializeTest::resourceVectorContains):
(WebKit::TEST_F):
* tests/WebPageSerializerTest.cpp:
(WebKit::WebPageSerializerTest::registerMockedURLLoad):
(WebKit::WebPageSerializerTest::loadURLInTopFrame):
(WebKit::WebPageSerializerTest::webVectorContains):
(WebKit::TEST_F):
* tests/WebViewTest.cpp:
(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

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

12 years ago[WinCairo] Unreviewed build correction. Accidentally turned on
bfulgham@webkit.org [Thu, 28 Jun 2012 05:17:08 +0000 (05:17 +0000)]
[WinCairo] Unreviewed build correction.  Accidentally turned on
CSS_FILTERS, which is not available in tree.

* win/tools/vsprops/FeatureDefinesCairo.vsprops: Turn CSS_FILTERS
back off for WinCairo target.

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

12 years agoUnreviewed, rolling out r121363, r121367, r121384, and
ossy@webkit.org [Thu, 28 Jun 2012 05:15:45 +0000 (05:15 +0000)]
Unreviewed, rolling out r121363, r121367, r121384, and
r121390.
http://trac.webkit.org/changeset/121363
http://trac.webkit.org/changeset/121367
http://trac.webkit.org/changeset/121384
http://trac.webkit.org/changeset/121390
https://bugs.webkit.org/show_bug.cgi?id=90134

It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT
on #webkit).

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

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort):
(ChromiumPort.__init__):
(ChromiumPort._check_file_exists):
(ChromiumPort.default_results_directory):
(ChromiumPort._driver_class):
(ChromiumPort._build_path):
(ChromiumPort._path_to_image_diff):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest):
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.__init__):
(WebKitPort._webcore_symbols_string):
(WebKitPort._skipped_tests_for_unsupported_features):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(TestWebKitPort._webcore_symbols_string):
(WebKitPortUnitTests.test_default_options):

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

12 years ago[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
shawnsingh@chromium.org [Thu, 28 Jun 2012 05:00:42 +0000 (05:00 +0000)]
[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by James Robinson.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

* WebKit.gypi:
* WebKitUnitTests.gyp:
* public/WebDOMMessageEvent.h:
(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):
* tests/AssociatedURLLoaderTest.cpp:
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Added.
(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):
* tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.
(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):
* tests/WebFrameTest.cpp:
* tests/WebPageNewSerializerTest.cpp:
* tests/WebPageSerializerTest.cpp:
* tests/WebViewTest.cpp:

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

12 years ago[Platform] Implement localizedDecimalSeparator function
yosin@chromium.org [Thu, 28 Jun 2012 04:58:07 +0000 (04:58 +0000)]
[Platform] Implement localizedDecimalSeparator function
https://bugs.webkit.org/show_bug.cgi?id=90036

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces new function localizedDecimalSeparator() when
ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS). It will be used for
displaying millisecond for time fields UI.

Test: WebKit/chromium/tests/LocalizedNumberICUTest.cpp

* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::localizedDecimalSeparator): Added
* platform/text/LocaleICU.h:
(LocaleICU): Added localizedDecimalSeparator.
* platform/text/LocalizedNumber.h:
* platform/text/LocalizedNumberICU.cpp:
(WebCore::localizedDecimalSeparator): Added.
* platform/text/LocalizedNumberNone.cpp:
(WebCore::localizedDecimalSeparator): Added.
* platform/text/mac/LocalizedNumberMac.mm:
(WebCore::localizedDecimalSeparator): Added.

Source/WebKit/chromium:

This patch adds test case for localizedDecimalSeparator().

* tests/LocalizedNumberICUTest.cpp:
(testDecimalSeparator):
(TEST):

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

12 years agoAdd OVERRIDE to functions in UnthrottledTextureUploader class
commit-queue@webkit.org [Thu, 28 Jun 2012 04:49:53 +0000 (04:49 +0000)]
Add OVERRIDE to functions in UnthrottledTextureUploader class
https://bugs.webkit.org/show_bug.cgi?id=90130

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-06-27
Reviewed by James Robinson.

No new tests required.

* platform/graphics/chromium/LayerRendererChromium.cpp:

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

12 years ago[WinCairo] Unreviewed build correction. Resync feature defines with
bfulgham@webkit.org [Thu, 28 Jun 2012 04:08:58 +0000 (04:08 +0000)]
[WinCairo] Unreviewed build correction.  Resync feature defines with
Apple port. Things have drifted apart a little.

* win/tools/vsprops/FeatureDefinesCairo.vsprops: Update to match
Apple port, define some missing features.

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

12 years agopattern="" should only accept the empty string
commit-queue@webkit.org [Thu, 28 Jun 2012 03:58:02 +0000 (03:58 +0000)]
pattern="" should only accept the empty string
https://bugs.webkit.org/show_bug.cgi?id=89569

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Source/WebCore:

An empty pattern attribute was being treated essentially as if the
pattern wasn't present.

No new tests. Covered by existing tests (plus a modified one).

* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
    Check if the pattern attribute is present. If it is then use the
    pattern as is (in the particular case of this bug, an empty pattern
    will only match an empty value).

LayoutTests:

* fast/forms/ValidityState-patternMismatch-expected.txt:
* fast/forms/ValidityState-patternMismatch.html:
    Modified the test to check the results of an empty pattern both with an empty
    value, and with some value specified.

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

12 years ago[BlackBerry] Selection overlay can become visible after it has been hidden
commit-queue@webkit.org [Thu, 28 Jun 2012 03:33:01 +0000 (03:33 +0000)]
[BlackBerry] Selection overlay can become visible after it has been hidden
https://bugs.webkit.org/show_bug.cgi?id=90105

Patch by Andrew Lo <anlo@rim.com> on 2012-06-27
Reviewed by George Staikos.

When SelectionOverlay::hide is called from UI thread,
rather than setting the override opacity, dispatch to the
WebKit thread, which removes the overlay (normal case).

Internal PR164183.
Internally Reviewed by: Arvid Nilsson.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::selectionOverlay):
* Api/WebPage_p.h:
(WebPagePrivate):
* Api/WebSelectionOverlay.h:
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
(BlackBerry::WebKit::SelectionOverlay::hide):
* WebKitSupport/SelectionOverlay.h:
(BlackBerry::WebKit::SelectionOverlay::create):
(SelectionOverlay):

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

12 years agoSource/WebKit: [EFL] Add support for Unit Tests, based on the gtest library.
commit-queue@webkit.org [Thu, 28 Jun 2012 02:17:40 +0000 (02:17 +0000)]
Source/WebKit: [EFL] Add support for Unit Tests, based on the gtest library.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Add configuration for building gtest library, testing framework and unit tests.

* PlatformEfl.cmake:

Source/WebKit/efl: [EFL] Implementation of testing framework and unit tests for WebKit-EFL port.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Testing framework is based on gtest library. Gtest library is part of the WebKit project. Framework is devided into base part and view part.
Base part takes care of efl initialization, defines test macros and prepares test to run. View part is a context of each test.

* tests/UnitTestUtils/EWKTestBase.cpp: Added.
(EWKUnitTests):
(EWKUnitTests::EWKTestBase::init):
(EWKUnitTests::EWKTestBase::shutdown):
(EWKUnitTests::EWKTestBase::shutdownAll):
(EWKUnitTests::EWKTestBase::startTest):
(EWKUnitTests::EWKTestBase::endTest):
(EWKUnitTests::EWKTestBase::createTest):
(EWKUnitTests::EWKTestBase::runTest):
* tests/UnitTestUtils/EWKTestBase.h: Added.
(EWKUnitTests):
(EWKTestBase):
* tests/UnitTestUtils/EWKTestConfig.h: Added.
(Config):
* tests/UnitTestUtils/EWKTestView.cpp: Added.
(EWKUnitTests):
(EWKUnitTests::EWKTestEcoreEvas::EWKTestEcoreEvas):
(EWKUnitTests::EWKTestEcoreEvas::evas):
(EWKUnitTests::EWKTestEcoreEvas::show):
(EWKUnitTests::EWKTestView::EWKTestView):
(EWKUnitTests::EWKTestView::init):
(EWKUnitTests::EWKTestView::show):
(EWKUnitTests::EWKTestView::mainFrame):
(EWKUnitTests::EWKTestView::evas):
(EWKUnitTests::EWKTestView::bindEvents):
* tests/UnitTestUtils/EWKTestView.h: Added.
(EWKUnitTests):
(EWKTestEcoreEvas):
(EWKTestView):
(EWKUnitTests::EWKTestView::webView):
* tests/resources/default_test_page.html: Added.
* tests/test_ewk_view.cpp: Added.
(ewkViewEditableGetCb):
(TEST):
(ewkViewUriGetCb):
* tests/test_runner.cpp: Added.
(parseCustomArguments):
(main):

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

12 years ago[chromium] Improve keyboardEvent() so a web page could receive a DOM3 spec compliant...
commit-queue@webkit.org [Thu, 28 Jun 2012 02:06:13 +0000 (02:06 +0000)]
[chromium] Improve keyboardEvent() so a web page could receive a DOM3 spec compliant keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=89637

Patch by Yusuke Sato <yusukes@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

This is a Gtk port of http://crrev.com/142209.

Normalizes event->state to make it Windows/Mac compatible. Since the
way of setting modifier mask on X is very different than Windows/Mac
as shown in http://crbug.com/127142#c8, the normalization is necessary.

* src/gtk/WebInputEventFactory.cpp:
(WebKit):
(WebKit::normalizeEventState):
(WebKit::WebInputEventFactory::keyboardEvent):

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

12 years ago[chromium] Use SkColor in compositor internals
jamesr@google.com [Thu, 28 Jun 2012 02:03:24 +0000 (02:03 +0000)]
[chromium] Use SkColor in compositor internals
https://bugs.webkit.org/show_bug.cgi?id=90108

Reviewed by Adrienne Walker.

Source/WebCore:

As the title says, cutting dependencies. If we support color spaces in the compositor we will probably need to
use a more sophisticated type, but for our current use SkColor is sufficient and matches our API better.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundColor):
(WebCore::LayerChromium::setDebugBorderColor):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::backgroundColor):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawSolidColorQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
(CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::color):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundColor):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::hasDebugBorders):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
(WebCore::CCLayerImpl::backgroundColor):
(WebCore::CCLayerImpl::debugBorderColor):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setBackgroundColor):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::backgroundColor):
(WebCore::CCLayerTreeHostImpl::setBackgroundColor):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::appendQuadInternal):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsToFillScreen):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
(CCRenderPass):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
(WebCore::CCSolidColorDrawQuad::create):
(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
(CCSolidColorDrawQuad):
(WebCore::CCSolidColorDrawQuad::color):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setBackgroundColor):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/LayerChromiumTest.cpp:

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

12 years agoIndexedDB: should make the LevelDB persistant to the directory indicated in PageGroup...
charles.wei@torchmobile.com.cn [Thu, 28 Jun 2012 01:58:22 +0000 (01:58 +0000)]
IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
https://bugs.webkit.org/show_bug.cgi?id=88338

Reviewed by David Levin.

Source/WebCore:

If the indexedDB runs in main thread it can access the GroupSettings via the document;
otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
to the indexedDB running in WorkerContext.

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
* workers/DedicatedWorkerThread.h:
(DedicatedWorkerThread):
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::groupSettings):
(WebCore):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):
* workers/SharedWorkerThread.h:
(SharedWorkerThread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::groupSettings):
(WebCore):
* workers/WorkerThread.h:
(WorkerThread):

Source/WebKit/chromium:

* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::startWorkerContext):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::startWorkerContext):

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

12 years ago[Win] jscore-tests flakey
msaboff@apple.com [Thu, 28 Jun 2012 01:14:20 +0000 (01:14 +0000)]
[Win] jscore-tests flakey
https://bugs.webkit.org/show_bug.cgi?id=88118

Reviewed by Jessie Berlin.

jsDriver.pl on windows intermittently doesn't get the returned value from jsc,
instead it gets 126.  Added a new option to jsc (-x) which prints the exit
code before exiting.  jsDriver.pl uses this option on Windows and parses the
exit code output for the exit code, removing it before comparing the actual
and expected outputs.  Filed a follow on "FIXME" defect:
[WIN] Intermittent failure for jsc return value to propagate through jsDriver.pl
https://bugs.webkit.org/show_bug.cgi?id=90119

* jsc.cpp:
(CommandLine::CommandLine):
(CommandLine):
(printUsageStatement):
(parseArguments):
(jscmain):
* tests/mozilla/jsDriver.pl:
(execute_tests):

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

12 years agoUnreviewed, rolling out r121359.
commit-queue@webkit.org [Thu, 28 Jun 2012 01:09:22 +0000 (01:09 +0000)]
Unreviewed, rolling out r121359.
http://trac.webkit.org/changeset/121359
https://bugs.webkit.org/show_bug.cgi?id=90115

Broke many inspector tests (Requested by jpfau on #webkit).

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

Source/JavaScriptCore:

* interpreter/Interpreter.h:
(JSC::StackFrame::toString):

Source/WebCore:

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):

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

12 years agoImplement selectedOptions attribute of HTMLSelectElement.
alexis.menard@openbossa.org [Thu, 28 Jun 2012 01:05:27 +0000 (01:05 +0000)]
Implement selectedOptions attribute of HTMLSelectElement.
https://bugs.webkit.org/show_bug.cgi?id=80631

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add a new collection as a member of HTMLSelectElement which is
used to store the selected elements. Extend HTMLCollection to
support the new collection type needed by this feature. Make sure
that we invalidate the collection when the select state of an
option changes as the select state change does not trigger a dom
tree version change.

Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions

Test: fast/dom/HTMLSelectElement/select-selectedOptions.html

* html/CollectionType.h:
* html/HTMLCollection.cpp:
(WebCore::shouldIncludeChildren):
(WebCore::HTMLCollection::clearCache):
(WebCore):
(WebCore::HTMLCollection::isAcceptableElement):
* html/HTMLCollection.h:
(HTMLCollection):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelectedState):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectedOptions):
(WebCore):
(WebCore::HTMLSelectElement::invalidateSelectedItems):
(WebCore::HTMLSelectElement::setRecalcListItems):
* html/HTMLSelectElement.h:
(WebCore):
(HTMLSelectElement):
* html/HTMLSelectElement.idl:

LayoutTests:

New tests to cover the feature.

* fast/dom/HTMLSelectElement/select-selectedOptions-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedOptions.html: Added.
* fast/dom/htmlcollection-non-html-expected.txt:
* fast/dom/htmlcollection-non-html.html:

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

12 years agoJavascript SHA-512 gives wrong hash on second and subsequent runs unless Web Inspecto...
fpizlo@apple.com [Thu, 28 Jun 2012 00:49:55 +0000 (00:49 +0000)]
Javascript SHA-512 gives wrong hash on second and subsequent runs unless Web Inspector Javascript Debugging is on
https://bugs.webkit.org/show_bug.cgi?id=90053
<rdar://problem/11764613>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The problem is that the code was assuming that the recovery should be Undefined if the source of
the SetLocal was !shouldGenerate(). But that's wrong, since the DFG optimizer may skip around a
UInt32ToNumber node (hence making it !shouldGenerate()) and keep the source of that node alive.
In that case we should base the recovery on the source of the UInt32ToNumber. The logic for this
was already in place but the fast check for !shouldGenerate() broke it.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

LayoutTests:

Reviewed by Mark Hahnenberg.

* fast/js/dfg-uint32-to-number-skip-then-exit-expected.txt: Added.
* fast/js/dfg-uint32-to-number-skip-then-exit.html: Added.
* fast/js/script-tests/dfg-uint32-to-number-skip-then-exit.js: Added.
(foo):

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

12 years agoFix typo in r121384 :(
dpranke@chromium.org [Thu, 28 Jun 2012 00:48:05 +0000 (00:48 +0000)]
Fix typo in r121384 :(

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.default_test_timeout_ms):

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

12 years ago[chromium] Rebase image mismatch caused by 121371.
hclam@chromium.org [Thu, 28 Jun 2012 00:32:02 +0000 (00:32 +0000)]
[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

* platform/chromium-linux/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.

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

12 years agoFix crash in Frame::nodeImage.
dcheng@chromium.org [Thu, 28 Jun 2012 00:09:03 +0000 (00:09 +0000)]
Fix crash in Frame::nodeImage.
https://bugs.webkit.org/show_bug.cgi?id=89911

Reviewed by Abhishek Arya.

Source/WebCore:

We were caching a pointer to a RenderObject and then calling updateLayout(). Instead, we
need to get a pointer to the RenderObject again after updateLayout().

Test: fast/events/drag-display-none-element.html

* page/Frame.cpp:
(WebCore::Frame::nodeImage):
* page/mac/FrameMac.mm:
(WebCore::Frame::snapshotDragImage):
(WebCore::Frame::nodeImage):

LayoutTests:

* fast/events/drag-display-none-element-expected.txt: Added.
* fast/events/drag-display-none-element.html: Added.

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

12 years agoUnreviewed, rolling out r121380.
tony@chromium.org [Thu, 28 Jun 2012 00:04:32 +0000 (00:04 +0000)]
Unreviewed, rolling out r121380.
http://trac.webkit.org/changeset/121380
https://bugs.webkit.org/show_bug.cgi?id=86525

Hits an ASSERT in debug.

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFlex):
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StyleBuilder.cpp:
(ApplyPropertyFlex):
(WebCore::ApplyPropertyFlex::applyInheritValue):
(WebCore::ApplyPropertyFlex::applyInitialValue):
(WebCore::ApplyPropertyFlex::applyValue):
(WebCore::ApplyPropertyFlex::createHandler):
(WebCore::ApplyPropertyFlex::getFlexValue):
(WebCore):
(WebCore::StyleBuilder::StyleBuilder):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitFlexFlowShorthand):
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
(WebCore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

* css3/flexbox/flex-longhand-parsing-expected.txt: Removed.
* css3/flexbox/flex-longhand-parsing.html: Removed.
* css3/flexbox/flex-property-parsing-expected.txt:
* css3/flexbox/flex-property-parsing.html:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* svg/css/getComputedStyle-basic-expected.txt:

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

12 years agoHTMLFieldSetElement::m_documentVersion is not initialized
commit-queue@webkit.org [Wed, 27 Jun 2012 23:53:16 +0000 (23:53 +0000)]
HTMLFieldSetElement::m_documentVersion is not initialized
https://bugs.webkit.org/show_bug.cgi?id=90038

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Initialised m_documentVersion member as HTMLFieldSetElement::elements can return an wrong collection.

Covered by existing tests.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
Initialised m_documentVersion.

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

12 years ago[Mac] Fix test expectation introduced in r121299
jpfau@apple.com [Wed, 27 Jun 2012 23:50:13 +0000 (23:50 +0000)]
[Mac] Fix test expectation introduced in r121299

Unreviewed.

* platform/mac/editing/spelling/autocorrection-blockquote-crash-expected.txt:

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

12 years agonrwt: default timeout for debug bots broke in r121363
dpranke@chromium.org [Wed, 27 Jun 2012 23:49:47 +0000 (23:49 +0000)]
nrwt: default timeout for debug bots broke in r121363
https://bugs.webkit.org/show_bug.cgi?id=90112

Unreviewed, build fix.

I forgot to account for release and debug having different
default values :(.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.default_test_timeout_ms):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort):
(WebKitPort.default_test_timeout_ms):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(WebKitPortUnitTests.test_default_options):

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

12 years ago[chromium] Rebase image mismatch caused by 121371.
hclam@chromium.org [Wed, 27 Jun 2012 23:27:48 +0000 (23:27 +0000)]
[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

* platform/chromium-mac-snowleopard/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
* platform/chromium-mac/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
* platform/chromium-win/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.

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

12 years agoDFG disassembly should be easier to read
fpizlo@apple.com [Wed, 27 Jun 2012 23:16:10 +0000 (23:16 +0000)]
DFG disassembly should be easier to read
https://bugs.webkit.org/show_bug.cgi?id=90106

Reviewed by Mark Hahnenberg.

Did a few things:

- Options::showDFGDisassembly now shows OSR exit disassembly as well.

- Phi node dumping doesn't attempt to do line wrapping since it just made the dump harder
  to read.

- DFG graph disassembly view shows a few additional node types that turn out to be
  essential for understanding OSR exits.

Put together, these changes reinforce the philosophy that anything needed for computing
OSR exit is just as important as the machine code itself. Of course, we still don't take
that philosophy to its full extreme - for example Phantom nodes are not dumped. We may
revisit that in the future.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithDisassembly):
* assembler/LinkBuffer.h:
(JSC):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dump):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpBlockHeader):
* dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
* dfg/DFGOSRExitCompiler.cpp:
* jit/JIT.cpp:
(JSC::JIT::privateCompile):

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

12 years agoJSLock should be per-JSGlobalData
mhahnenberg@apple.com [Wed, 27 Jun 2012 23:08:26 +0000 (23:08 +0000)]
JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* API/APIShims.h:
(APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Added an extra parameter to the constructor to
determine whether we should ref the JSGlobalData or not. We want to ref all the time except for in the
HeapTimer class because timerDidFire could run after somebody has started to tear down that particular
JSGlobalData, so we wouldn't want to resurrect the ref count of that JSGlobalData from 0 back to 1 after
its destruction has begun.
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APIEntryShim::init): Factored out common initialization code for the various APIEntryShim constructors.
Also moved the timeoutChecker stop and start here because we need to start after we've grabbed the API lock
and before we've released it, which can only done in APIEntryShim.
(JSC::APICallbackShim::~APICallbackShim): We no longer need to synchronize here.
* API/JSContextRef.cpp:
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::tryAllocateSlowCase):
* heap/Heap.cpp:
(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):
* heap/Heap.h: Changed m_activityCallback and m_sweeper to be raw pointers rather than OwnPtrs because they
are now responsible for their own lifetime. Also changed the order of declaration of the GCActivityCallback
and the IncrementalSweeper to make sure they're the last things that get initialized during construction to
prevent any issues with uninitialized memory in the JSGlobalData/Heap they might care about.
(Heap):
* heap/HeapTimer.cpp: Refactored to allow for thread-safe operation and shutdown.
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC):
(JSC::HeapTimer::didStartVMShutdown): Called at the beginning of ~JSGlobalData. If we're on the same thread
that the HeapTimer is running on, we kill the HeapTimer ourselves. If not, then we set some state in the
HeapTimer and schedule it to fire immediately so that it can notice and kill itself.
(JSC::HeapTimer::timerDidFire): We grab our mutex and check our JSGlobalData pointer. If it has been zero-ed
out, then we know the VM has started to shutdown and we should kill ourselves. Otherwise, grab the APIEntryShim,
but without ref-ing the JSGlobalData (we don't want to bring the JSGlobalData's ref-count from 0 to 1) in case
we were interrupted between releasing our mutex and trying to grab the APILock.
* heap/HeapTimer.h:
(HeapTimer):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::doWork): We no longer need the API shim here since HeapTimer::timerDidFire handles
all of that for us.
(JSC::IncrementalSweeper::create):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateSlowCase):
* heap/WeakBlock.cpp:
(JSC::WeakBlock::reap):
* jsc.cpp:
(functionGC):
(functionReleaseExecutableMemory):
(jscmain):
* runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::evaluate):
* runtime/GCActivityCallback.h:
(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData): Signals to the two HeapTimers (GCActivityCallback and IncrementalSweeper)
that the VM has started shutting down. It then waits until the HeapTimer is done with whatever activity
it needs to do before continuing with any further destruction. Also asserts that we do not currently hold the
APILock because this could potentially cause deadlock when we try to signal to the HeapTimers using their mutexes.
(JSC::JSGlobalData::sharedInstance): Protect the initialization for the shared instance with the GlobalJSLock.
(JSC::JSGlobalData::sharedInstanceInternal):
* runtime/JSGlobalData.h: Change to be ThreadSafeRefCounted so that we don't have to worry about refing and
de-refing JSGlobalDatas on separate threads since we don't do it that often anyways.
(JSGlobalData):
(JSC::JSGlobalData::apiLock):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):
* runtime/JSLock.cpp:
(JSC):
(JSC::GlobalJSLock::GlobalJSLock): For accessing the shared instance.
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder): MutexLocker for JSLock. Also refs the JSGlobalData to keep it alive so that
it can successfully unlock it later without it disappearing from underneath it.
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(JSC::JSLock::lock): Uses the spin lock for guarding the lock count and owner thread fields. Uses the mutex for
actually waiting for long periods.
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):
* runtime/JSLock.h:
(JSC):
(GlobalJSLock):
(JSLockHolder):
(JSLock):
(DropAllLocks):
* runtime/WeakGCMap.h:
(JSC::WeakGCMap::set):
* testRegExp.cpp:
(realMain):

Source/WebCore:

No new tests. Current regression tests are sufficient.

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* bindings/js/GCController.cpp:
(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):
* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSSQLStatementErrorCallback::handleEvent):
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::handleEvent):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::evaluate):
* bindings/js/JSMutationCallbackCustom.cpp:
(WebCore::JSMutationCallback::handleEvent):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
* bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
(WebCore::JSRequestAnimationFrameCallback::handleEvent):
* bindings/js/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::evaluate):
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::windowScriptObject):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):
* bindings/js/ScriptValue.cpp:
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):
* bindings/objc/WebScriptObject.mm:
(_didExecute):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementation):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):
* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):
* bridge/c/c_runtime.cpp:
(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jni_objc.mm:
(JSC::Bindings::dispatchJNICall):
* bridge/jni/jsc/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertValueToJValue):
* bridge/jni/jsc/JavaClassJSC.cpp:
(JavaClass::JavaClass):
(JavaClass::~JavaClass):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::stringValue):
* bridge/jni/jsc/JavaMethodJSC.cpp:
(appendClassName):
(JavaMethod::signature):
* bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):
* bridge/jsc/BridgeJSC.cpp:
(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):
* bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
* bridge/qt/qt_runtime_qt4.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::gcProtect):
(JSC::Bindings::RootObject::gcUnprotect):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* plugins/PluginView.cpp:
(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):
* plugins/blackberry/PluginViewBlackBerry.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):
* plugins/efl/PluginViewEfl.cpp:
(WebCore::PluginView::dispatchNPEvent):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::clearMemoryCaches):
* WebCoreSupport/ClientExtension.cpp:
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::installDomFunction):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* ewk/ewk_frame.cpp:
(ewk_frame_script_execute):
* ewk/ewk_view.cpp:
(ewk_view_js_object_add):

Source/WebKit/gtk:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* DOM/WebDOMOperations.mm:
(JSC):
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::wantsAllStreams):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebView.mm:
(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* Api/qwebframe.cpp:
(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* WebCoreStatistics.cpp:
(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
* WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
* WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::objectCount):
* WebView.cpp:
(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

* Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):

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

12 years agoSplit flex into flex-grow/flex-shrink/flex-basis
tony@chromium.org [Wed, 27 Jun 2012 23:05:19 +0000 (23:05 +0000)]
Split flex into flex-grow/flex-shrink/flex-basis
https://bugs.webkit.org/show_bug.cgi?id=86525

Reviewed by Ojan Vafai.

Source/WebCore:

Split flex into 3 separate properties per the spec:
http://dev.w3.org/csswg/css3-flexbox/#flex-components

Tests: css3/flexbox/flex-longhand-parsing.html
       css3/flexbox/flex-property-parsing.html: Updated test results.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore): -webkit-flex is no longer enumerable.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Fix indent.
(WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
(WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
preferred size -> basis) and assign to longhand properties.
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Add new properties.
* css/CSSPropertyNames.in: Add new properties.
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
(WebCore::StylePropertySet::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitFlexShorthand): Add new shorthand.
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.

LayoutTests:

If -webkit-flex is set to none, when the user reads the value back out, it is
now 0 0 auto. 'none' is for convenience, not an actual value.

* css3/flexbox/flex-longhand-parsing-expected.txt:
* css3/flexbox/flex-longhand-parsing.html: Test flex-grow, flex-shrink and flex-basis.
* css3/flexbox/flex-property-parsing-expected.txt:
* css3/flexbox/flex-property-parsing.html: Update results for 'none'.
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js: Remove -webkit-flex since it's no longer enumerable.
* svg/css/getComputedStyle-basic-expected.txt:

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

12 years agoMake Element::elementRareData() and Element::ensureElementRareData() private
haraken@chromium.org [Wed, 27 Jun 2012 22:51:47 +0000 (22:51 +0000)]
Make Element::elementRareData() and Element::ensureElementRareData() private
https://bugs.webkit.org/show_bug.cgi?id=90060

Reviewed by Andreas Kling.

This is a simple refactoring. Element::elementRareData() and
Element::ensureElementRareData() can be private methods.

No tests. No change in behavior.

* dom/Element.h:
(Element):

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

12 years ago[chromium] Delete unused includes and forward declarations from compositor code
jamesr@google.com [Wed, 27 Jun 2012 22:16:49 +0000 (22:16 +0000)]
[chromium] Delete unused includes and forward declarations from compositor code
https://bugs.webkit.org/show_bug.cgi?id=90102

Reviewed by Adrienne Walker.

* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/ShaderChromium.h:
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTiles):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:

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

12 years agoIndexedDB: make IDBKey immutable
commit-queue@webkit.org [Wed, 27 Jun 2012 22:13:53 +0000 (22:13 +0000)]
IndexedDB: make IDBKey immutable
https://bugs.webkit.org/show_bug.cgi?id=90016

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

Make all members of IDBKey const, so that this can be considered
an immutable, and thus safe to copy and/or stop ref-counting.

No new tests, existing tests show this works.

* Modules/indexeddb/IDBKey.cpp:
(WebCore::IDBKey::compare):
* Modules/indexeddb/IDBKey.h:
(WebCore::IDBKey::createInvalid):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
(WebCore::IDBKey::createMultiEntryArray):
(WebCore::IDBKey::createArray):
(WebCore::IDBKey::date):
(WebCore::IDBKey::IDBKey):
(IDBKey):

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

12 years ago[V8] Improve variable resolution order on window
arv@chromium.org [Wed, 27 Jun 2012 22:00:55 +0000 (22:00 +0000)]
[V8] Improve variable resolution order on window
https://bugs.webkit.org/show_bug.cgi?id=84247

Reviewed by Ojan Vafai.

This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.

This is the second (third?) try. Last time there was a bug in the V8 code related to the split window.
I added a test that tests the failure that caused this to be rolled back last time.

Source/WebCore:

Tests: fast/dom/Window/es52-globals.html
       fast/dom/Window/window-property-shadowing-onclick.html

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

* fast/dom/Window/es52-globals-expected.txt: Added.
* fast/dom/Window/es52-globals.html: Added.
* fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.
* fast/dom/Window/window-property-shadowing-onclick.html: Added.
* platform/chromium/fast/dom/Window/es52-globals-expected.txt: Added.
* platform/chromium/fast/dom/Window/window-property-shadowing-name-expected.txt: Added.
* platform/chromium/fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.

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

12 years ago[chromium] Use categorized TRACE_EVENTN() macros in compositor code
jamesr@google.com [Wed, 27 Jun 2012 21:50:49 +0000 (21:50 +0000)]
[chromium] Use categorized TRACE_EVENTN() macros in compositor code
https://bugs.webkit.org/show_bug.cgi?id=90100

Reviewed by Adrienne Walker.

Specify the category in all traces in the compositor. Patch generated mostly by the sed command
's/TRACE_EVENT(\(.*\), this, 0)/TRACE_EVENT0("cc", \1)/'.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::finish):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tileCheckerboardProgram):
(WebCore::LayerRendererChromium::solidColorProgram):
(WebCore::LayerRendererChromium::headsUpDisplayProgram):
(WebCore::LayerRendererChromium::renderPassProgram):
(WebCore::LayerRendererChromium::renderPassProgramAA):
(WebCore::LayerRendererChromium::renderPassMaskProgram):
(WebCore::LayerRendererChromium::renderPassMaskProgramAA):
(WebCore::LayerRendererChromium::tileProgram):
(WebCore::LayerRendererChromium::tileProgramOpaque):
(WebCore::LayerRendererChromium::tileProgramAA):
(WebCore::LayerRendererChromium::tileProgramSwizzle):
(WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tileProgramSwizzleAA):
(WebCore::LayerRendererChromium::textureProgram):
(WebCore::LayerRendererChromium::textureProgramFlip):
(WebCore::LayerRendererChromium::textureIOSurfaceProgram):
(WebCore::LayerRendererChromium::videoYUVProgram):
(WebCore::LayerRendererChromium::videoStreamTextureProgram):
* platform/graphics/chromium/LayerTextureSubImage.cpp:
(WebCore::LayerTextureSubImage::uploadWithTexSubImage):
(WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
* platform/graphics/chromium/TextureCopier.cpp:
(WebCore::AcceleratedTextureCopier::copyTexture):
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::evictTexture):
* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::setActive):
(WebCore::CCFrameRateController::onTimerTick):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::didLoseContext):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::animateLayers):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::compositeAndReadback):
(WebCore::CCSingleThreadProxy::stop):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::initializeContext):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsAnimate):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
(WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
(WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::acquireLayerTextures):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

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

12 years agox86 disassembler confuses immediates with addresses
fpizlo@apple.com [Wed, 27 Jun 2012 21:45:08 +0000 (21:45 +0000)]
x86 disassembler confuses immediates with addresses
https://bugs.webkit.org/show_bug.cgi?id=90099

Reviewed by Mark Hahnenberg.

Prepend "$" to immediates to disambiguate between immediates and addresses. This is in
accordance with the gas and AT&T syntax.

* disassembler/udis86/udis86_syn-att.c:
(gen_operand):

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

12 years agowebkitpy: fix a couple of issues running under cygwin
dpranke@chromium.org [Wed, 27 Jun 2012 21:25:33 +0000 (21:25 +0000)]
webkitpy: fix a couple of issues running under cygwin
https://bugs.webkit.org/show_bug.cgi?id=90035

Reviewed by Eric Seidel.

These were causing unit tests to fail on cygwin (apple win bot).

* Scripts/webkitpy/layout_tests/port/chromium.py:
* Scripts/webkitpy/performance_tests/perftest.py:

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

12 years agoAdd a comment clarifying Options::showDisassembly versus Options::showDFGDisassembly.
fpizlo@apple.com [Wed, 27 Jun 2012 21:25:23 +0000 (21:25 +0000)]
Add a comment clarifying Options::showDisassembly versus Options::showDFGDisassembly.

Rubber stamped by Mark Hahnenberg.

* runtime/Options.cpp:
(JSC::Options::initializeOptions):

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

12 years ago[chromium] ScrollbarLayerChromium should support painting forward-track and back...
wjmaclean@chromium.org [Wed, 27 Jun 2012 21:24:54 +0000 (21:24 +0000)]
[chromium] ScrollbarLayerChromium should support painting forward-track and back-track in different styles.
https://bugs.webkit.org/show_bug.cgi?id=89908

Reviewed by Adrienne Walker.

Source/WebCore:

Test: platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::update):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(ScrollbarLayerChromium):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore):
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::setBackTrackTextureId):
(WebCore::CCScrollbarLayerImpl::setForeTrackTextureId):
(CCScrollbarLayerImpl):

LayoutTests:

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

* platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
* platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.txt: Added.
* platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html: Added.

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

12 years agoREGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
commit-queue@webkit.org [Wed, 27 Jun 2012 21:18:53 +0000 (21:18 +0000)]
REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
https://bugs.webkit.org/show_bug.cgi?id=89871

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-27
Reviewed by Simon Hausmann.

Added proper event synchronization to the test case.

* UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:

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

12 years ago[Chromium] DumpRenderTree on Android should call SkUseTestFontConfigFile once available
abarth@webkit.org [Wed, 27 Jun 2012 21:14:11 +0000 (21:14 +0000)]
[Chromium] DumpRenderTree on Android should call SkUseTestFontConfigFile once available
https://bugs.webkit.org/show_bug.cgi?id=89801

Reviewed by Nate Chapin.

Let's call SkUseTestFontConfigFile now that it exists.

* DumpRenderTree/chromium/TestShellAndroid.cpp:
(platformInit):

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

12 years agoUnreviewed GTK gardening, adding a new baseline that's required
zandobersek@gmail.com [Wed, 27 Jun 2012 21:12:46 +0000 (21:12 +0000)]
Unreviewed GTK gardening, adding a new baseline that's required
after the Gamepad API has been turned on in r121332.

* platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Added.

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

12 years agoFix typo introduced in r121363.
dpranke@chromium.org [Wed, 27 Jun 2012 21:09:36 +0000 (21:09 +0000)]
Fix typo introduced in r121363.

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._symbols_string):

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

12 years ago[Chromium] IndexedDB: Expose WebIDBTransaction::commit() method in public API
jsbell@chromium.org [Wed, 27 Jun 2012 21:05:44 +0000 (21:05 +0000)]
[Chromium] IndexedDB: Expose WebIDBTransaction::commit() method in public API
https://bugs.webkit.org/show_bug.cgi?id=90089

Reviewed by James Robinson.

Prep work for http://webkit.org/b/89379 which requires empty transactions to
trigger a commit from the front-end.

* public/WebIDBTransaction.h:
(WebKit::WebIDBTransaction::commit):

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

12 years agoMoving from committers to reviewers :-)
mhahnenberg@apple.com [Wed, 27 Jun 2012 21:02:28 +0000 (21:02 +0000)]
Moving from committers to reviewers :-)

Rubber stamped by Filip Pizlo.

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

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

12 years ago[chromium] Expose device scale factor in WebPluginContainer
commit-queue@webkit.org [Wed, 27 Jun 2012 21:00:59 +0000 (21:00 +0000)]
[chromium] Expose device scale factor in WebPluginContainer
https://bugs.webkit.org/show_bug.cgi?id=87874

Patch by Josh Horwich <jhorwich@chromium.org> on 2012-06-27
Reviewed by Adam Barth.

* public/WebPluginContainer.h:
(WebPluginContainer):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::deviceScaleFactor):
(WebKit):
(WebKit::WebPluginContainerImpl::pageScaleFactor):
(WebKit::WebPluginContainerImpl::pageZoomFactor):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

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

12 years agoDerive ChromiumPort from WebKitPort to add support for missing symbols to skip tests
dpranke@chromium.org [Wed, 27 Jun 2012 20:52:58 +0000 (20:52 +0000)]
Derive ChromiumPort from WebKitPort to add support for missing symbols to skip tests
https://bugs.webkit.org/show_bug.cgi?id=89706

Reviewed by Adam Barth.

Based on the original patch by Raymond Toy.

This patch changes ChromiumPort to derive from webkit.WebKitPort
instead of base.Port. This is a long-awaited change and a
precursor to merging base.Port and webkit.WebKitPort, but is
driven by the desire to dynamically detect whether the MP3 and
AAC codecs are compiled into DRT on Chromium, for which we
wanted to re-use the existing logic in WebKit port for determine
what to skip at compile time.

Most of the changes are shuffling things around so that we don't
change any other logic and so we override the necessary methods
in WebKitPort (and try to follow the same method definition
order where possible).

Also, on the Chromium port the mp3 and aac codecs are actually
defined in a separate library, so scanning webcore isn't
sufficient. This patch generalizes the symbol lookup to handle
multiple libraries, and uses different libraries as appropriate
for Chromium.

The only functional/visible changes should be in the value
returned for skipped_layout_tests().

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort):
(ChromiumPort.__init__):
(ChromiumPort.driver_name):
(ChromiumPort._driver_class):
(ChromiumPort._missing_symbol_to_skipped_tests):
(ChromiumPort.skipped_layout_tests):
(ChromiumPort.setup_test_run):
(ChromiumPort._path_to_image_diff):
(ChromiumPort._convert_path):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest.test_missing_symbol_to_skipped_tests):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._modules_to_search_for_symbols):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumLinuxPort._modules_to_search_for_symbols):
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumLinuxPort._modules_to_search_for_symbols):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort):
(WebKitPort.__init__):
(WebKitPort._symbols_string):
(WebKitPort._modules_to_search_for_symbols):

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