[Qt] Keep QT_QPA_PLATFORM_PLUGIN_PATH environment variable in NRWT
https://bugs.webkit.org/show_bug.cgi?id=95194

Reviewed by Simon Hausmann.

* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort.setup_environ_for_server):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayerTreeCoordinatorProxy should use uint64_t for surface key.
https://bugs.webkit.org/show_bug.cgi?id=95175

GraphicsSurface tokens are of type uint64_t.
Therefore LayerTreeCoordinatorProxy must use the same type to
identify a GraphicsSurface/ShareableSurface.

Reviewed by Noam Rosenthal.

* Shared/ShareableSurface.h:
(WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] One shot drawing synchronization broken
https://bugs.webkit.org/show_bug.cgi?id=95179

Patch by Andrew Lo <anlo@rim.com> on 2012-08-28
Reviewed by Antonio Gomes.
Internally reviewed by Arvid Nilsson.

Make sure no backing store blits happen during one shot drawing
synchronization.
Since we always blit during commit now, make sure we don't blit if
we commit after a render.
We no longer need a deferred blit since we don't commit during renderContents
now. Instead, we only commit & blit once after a full render job.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::renderJob):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::blitContents):
(BlackBerry::WebKit::BackingStorePrivate::renderContents):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::visibleScrollJobsCompleted):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Update TestExpectations for fast/canvas/canvas*-shadow.html tests
https://bugs.webkit.org/show_bug.cgi?id=95196

Unreviewed EFL gardening.

Unskip fast/canvas/canvas-strokePath-shadow.html since it is passing
consistently now and already unskip for GTK in r116122.

Move fast/canvas/canvas-fillPath-shadow.html from Skipped file to
TestExpectations.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-28

* platform/efl/Skipped:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip http/tests/misc/acid3.html test case
https://bugs.webkit.org/show_bug.cgi?id=95201

Unreviewed EFL gardening.

Unskip http/tests/misc/acid3.html since it is
passing consistently for EFL port.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-28

* platform/efl/Skipped:
* platform/efl/http/tests/misc/acid3-expected.png: Added.
* platform/efl/http/tests/misc/acid3-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening of failing tests and new baselines
https://bugs.webkit.org/show_bug.cgi?id=95195

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-28

* platform/efl/TestExpectations:
All CSS Sticky tests after r126774 since we don't support it
yet. WebGL inspector also added to the list after r126857 for the same
reason.

* platform/efl/fast/html/details-nested-2-expected.txt:
* platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt: Added.
Needs new baselines after r126787.

* platform/efl/fast/block/float/float-avoidance-expected.png:
* platform/efl/fast/block/float/float-avoidance-expected.txt:
* platform/efl/fast/forms/validation-message-appearance-expected.png:
* platform/efl/fast/forms/validation-message-appearance-expected.txt:
* platform/efl/fast/text/textIteratorNilRenderer-expected.png:
* platform/efl/fast/text/textIteratorNilRenderer-expected.txt:
* platform/efl/http/tests/navigation/javascriptlink-frames-expected.png:
* platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt:
Updated baselines after r126750.

* platform/efl/fast/dom/HTMLMeterElement/meter-clone-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-crash-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-form-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-with-child-crash-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/meter-percent-size-expected.txt: Removed.
* platform/efl/fast/dom/HTMLMeterElement/set-meter-properties-expected.txt: Removed.
Removed since they are the same as global expectations.

* platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.png: Added.
* platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.txt: Added.
* platform/efl/fast/overflow/paged-x-with-column-gap-expected.png: Added.
* platform/efl/fast/overflow/paged-x-with-column-gap-expected.txt: Added.
New baselines after r126840.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK1] Gardening after r126873. Skip a newly added failing test.

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

* platform/qt-5.0-wk1/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Range boundaries should use endOfBlock instead of endOfLine.
https://bugs.webkit.org/show_bug.cgi?id=95135

The original implementation used nextLinePosition to iterate
through the field from the start of each line, and was bounded in
comparison to the endOfLine. This works fine as long as there aren't any
empty lines between paragraphs of text, since these will have
startOfLine == endOfLine and break out.

Also, protect map access with a mutex in case we get a response
before updating the map. Further, we should check the Range pointer
before using it, since its not guaranteed to be valid.

Internally reviewed by Mike Fenton.

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-08-28
Reviewed by Antonio Gomes.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::spellCheckBlock):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] WebKit EFL updates view on HTTP 204 response
https://bugs.webkit.org/show_bug.cgi?id=95199

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

Source/WebKit/efl:

Ignore HTTP responses which have status code equal
to 204 (No Content).

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForResponse):

Source/WebKit2:

Ignore HTTP responses which have status code equal
to 204 (No Content).

* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForResponseCallback):

LayoutTests:

Unskip http/tests/navigation/response204.html now
that EFL port properly ignores responses with
HTTP status 204 (No content).

* platform/efl-wk2/TestExpectations:
* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Checkerboard observed after pinch zooming page with AC layers
https://bugs.webkit.org/show_bug.cgi?id=95192

PR 199177
The LayerTiler was passing transformed ("pixel") coordinates to
GraphicsLayerClient::contentsVisible(), and that method expects
untransformed ("document") coordinates. When the scale was not 1.0,
this was comparing apples and oranges.

Fixed by packaging up the transformation code into a reusable method
and mapping the "pixel" tile rect to "document" coordinates before the
visibility testing.

Reviewed by Antonio Gomes.

Not currently testable by the BlackBerry testing infrastructure.

* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::shouldPerformRenderJob):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::paintContents):
(WebCore::LayerWebKitThread::mapFromTransformed):
(WebCore):
* platform/graphics/blackberry/LayerWebKitThread.h:
(LayerWebKitThread):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] LLint build fails with -g -02
https://bugs.webkit.org/show_bug.cgi?id=90098

Patch by Alban Browaeys <prahal@yahoo.com> on 2012-08-28
Reviewed by Filip Pizlo.

Avoid duplicate offsets for llint, discarding them.

* offlineasm/offsets.rb:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chrome] Enable track by default.
https://bugs.webkit.org/show_bug.cgi?id=95153

Reviewed by Eric Carlson.

This change turns <track> and TextTrack API on by default for Chrome.

Existing Tests: media/track/*

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Adding platform-specific baselines required after r126840.

Adding a platform-specific baseline for a window.performance test
and a failure expectation for a Canvas text drawing test, both required
after r126846 when memory cache started being cleared between tests
for the GTK port.

* platform/gtk/TestExpectations:
* platform/gtk/fast/overflow/paged-x-div-with-column-gap-expected.txt: Added.
* platform/gtk/fast/overflow/paged-x-with-column-gap-expected.txt: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Split some ASSERT(a && b && c) statements into separate lines.
https://bugs.webkit.org/show_bug.cgi?id=95206

Patch by Iain Merrick <husky@chromium.org> on 2012-08-28
Reviewed by James Robinson.

This makes for easier debugging, as you can immediately see which clause
has failed.

No change in behavior, no new tests needed.

* platform/graphics/chromium/cc/CCResourceProvider.cpp:
(WebCore::CCResourceProvider::deleteResource):
(WebCore::CCResourceProvider::upload):
(WebCore::CCResourceProvider::lockForRead):
(WebCore::CCResourceProvider::unlockForRead):
(WebCore::CCResourceProvider::lockForWrite):
(WebCore::CCResourceProvider::unlockForWrite):
(WebCore::CCResourceProvider::transferResource):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r126813.
http://trac.webkit.org/changeset/126813
https://bugs.webkit.org/show_bug.cgi?id=95211

Broke Chromium debug builds (Requested by beverloo on
#webkit).

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

* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Does not regenerate CSS-related sources when configuration changes
https://bugs.webkit.org/show_bug.cgi?id=94927

Reviewed by Eric Seidel.

In bug 94094 the gtk EWS consistently failed to build the patch. The
reason that happens is the .in files have not been touched, so the CSS
property names and value keywords sources are not regenerated. By
adding an explicit dependency on configure.ac and GNUmakefile.am the
problem is fixed (see bug 82465, attachment 160265).

* GNUmakefile.am: add explicit dependency from the CSS-related .in files
on configure.ac and WebCore's GNUmakefile.am

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Report frame bytes by platform ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=94241

Reviewed by James Robinson.

Decoded frame bytes should be reported by the platform ImageSource and
ImageDecoder. BitmapImage used to guess system memory used by a frame
but this is no longer true if a frame is backed by an accelerated
surface or defer-decoded.

Adds ImageSource::frameBytesAtIndex and ImageDecoder::frameBytesAtIndex
such that platform can report memory usage correctly.

No new tests. Refactoring without change of behavior.
Tested on Chromium port with pixel tests without any crash or failure.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
(WebCore::BitmapImage::destroyMetadataAndNotify):
(WebCore::BitmapImage::cacheFrame):
(WebCore::BitmapImage::dataChanged):
* platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
(FrameData):
(BitmapImage):
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore):
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameBytesAtIndex):
(WebCore):
* platform/image-decoders/ImageDecoder.h:
(ImageDecoder):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored and consolidated variable resolution functions
https://bugs.webkit.org/show_bug.cgi?id=95166

Reviewed by Filip Pizlo.

This patch does a few things:

(1) Introduces a new class, JSScope, which is the base class for all
objects that represent a scope in the scope chain.

(2) Refactors and consolidates duplicate implementations of variable
resolution into the JSScope class.

(3) Renames JSStaticScopeObject to JSNameScope because, as distinct from
something like a 'let' scope, JSStaticScopeObject only has storage for a
single name.

These changes makes logical sense to me as-is. I will also use them in an
upcoming optimization.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri: Build!

* bytecode/CodeBlock.cpp:
(JSC): Build fix for LLInt-only builds.

* bytecode/GlobalResolveInfo.h:
(GlobalResolveInfo): Use PropertyOffset to be consistent with other parts
of the engine.

* bytecompiler/NodesCodegen.cpp:
* dfg/DFGOperations.cpp: Use the shared code in JSScope instead of rolling
our own.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::createExceptionScope):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h: Use the shared code in JSScope instead of rolling
our own.

* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION): Use the shared code in JSScope instead of rolling
our own.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt): Use the shared code in JSScope instead of rolling our own. Note
that one of these slow paths calls the wrong helper function. I left it
that way to avoid a behavior change in a refactoring patch.

* parser/Nodes.cpp: Updated for rename.

* runtime/CommonSlowPaths.h:
(CommonSlowPaths): Removed resolve slow paths because were duplicative.

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData): Updated for renames.

* runtime/JSNameScope.cpp: Copied from Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp.
(JSC):
(JSC::JSNameScope::visitChildren):
(JSC::JSNameScope::toThisObject):
(JSC::JSNameScope::put):
(JSC::JSNameScope::getOwnPropertySlot):
* runtime/JSNameScope.h: Copied from Source/JavaScriptCore/runtime/JSStaticScopeObject.h.
(JSC):
(JSC::JSNameScope::create):
(JSC::JSNameScope::createStructure):
(JSNameScope):
(JSC::JSNameScope::JSNameScope):
(JSC::JSNameScope::isDynamicScope): Used do-webcore-rename script here.
It is fabulous!

* runtime/JSObject.h:
(JSObject):
(JSC::JSObject::isNameScopeObject): More rename.

* runtime/JSScope.cpp: Added.
(JSC):
(JSC::JSScope::isDynamicScope):
(JSC::JSScope::resolve):
(JSC::JSScope::resolveSkip):
(JSC::JSScope::resolveGlobal):
(JSC::JSScope::resolveGlobalDynamic):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
* runtime/JSScope.h: Added.
(JSC):
(JSScope):
(JSC::JSScope::JSScope): All the code here is a port from the
Interpreter.cpp implementations of this functionality.

* runtime/JSStaticScopeObject.cpp: Removed.
* runtime/JSStaticScopeObject.h: Removed.

* runtime/JSSymbolTableObject.cpp:
(JSC):
* runtime/JSSymbolTableObject.h:
(JSSymbolTableObject):
* runtime/JSType.h: Updated for rename.

* runtime/Operations.h:
(JSC::resolveBase): Removed because it was duplicative.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Update the TestExpectations to match what the cr-linux-ews
bot sees.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Rename some flow thread methods and region methods/members to make them
more accurate and also change some function signatures so they can be used by RenderMultiColumnSet.
https://bugs.webkit.org/show_bug.cgi?id=95213
        
Reviewed by Simon Fraser.

Rename regionRect()/setRegionRect()/m_regionRect on RenderRegion to be flowThreadPortionRect instead.
The term regionRect() makes it sound like you're painting a rect in the region's coordinate space,
but regionRect() actually represents the portion of the flow thread in the flow thread's coordinate space
that this region "owns."
        
Also fix paintIntoRegion and hitTestRegion to take specific flow thread portion rects to paint. This
allows a region set to paint a portion of a portion, i.e., if a multicolumn set owns part of the flow thread
it has to be able to further break up that part into individual columns and issue multiple paint calls, one
for each column.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::RenderFlowThread::renderRegionForLine):
(WebCore::RenderFlowThread::regionLogicalTopForLine):
(WebCore::RenderFlowThread::regionLogicalWidthForLine):
(WebCore::RenderFlowThread::regionLogicalHeightForLine):
(WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
(WebCore::RenderFlowThread::computeOverflowStateForRegions):
* rendering/RenderFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnCount):
(WebCore::RenderMultiColumnSet::paintColumnContents):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::nodeAtPoint):
(WebCore::RenderRegion::layout):
(WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::setFlowThreadPortionRect):
(WebCore::RenderRegion::flowThreadPortionRect):
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):



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