[chromium] Unreviewed, land pixel results on Win/Mac for a new repaint test.

* platform/chromium-mac/css3/flexbox/repaint-during-resize-no-flex-expected.png: Added.
* platform/chromium-win/css3/flexbox/repaint-during-resize-no-flex-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/flexbox/repaint-during-resize-no-flex-expected.png.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] change CMAKE_<CCXX|C>_FLAGS_<RELEASE|DEBUG> from enviroment flags
https://bugs.webkit.org/show_bug.cgi?id=100256

Patch by Michael Carmody <mcarmody@rim.com> on 2012-10-24
Reviewed by Rob Buis.

This allow override of compile flags without having to edit CMake files.

* Source/cmake/OptionsBlackBerry.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
tweak debug logging in webkit-patch optimize-baselines
https://bugs.webkit.org/show_bug.cgi?id=100294

Reviewed by Ojan Vafai.

This changes the logging to print out the baselines found
(and their checksums) even when we don't do anything.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(BaselineOptimizer.optimize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] The mesh should be specified using <column, row> order
https://bugs.webkit.org/show_bug.cgi?id=96285

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

Source/WebCore:

Change StyleResolver and CSSComputedStyleDeclaration to handle the mesh parameters in
column, row order.

Test: css3/filters/custom/custom-filter-mesh-column-row-order.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
    Append the number of columns before the number of rows in the meshParameters
    CSSValueList.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperation):
    Store the second mesh parameter in meshRows instead of meshColumns.

LayoutTests:

Add a test verifying that WebKit interprets the CSS mesh values in column, row order.
Update existing tests for u_meshSize and u_tileSize to expect column, row order.

* css3/filters/custom/custom-filter-mesh-column-row-order-expected.html: Added.
* css3/filters/custom/custom-filter-mesh-column-row-order.html: Added.
* css3/filters/resources/checkerboard.vs: Added.
* css3/filters/resources/u-mesh-size.fs:
* css3/filters/resources/u-tile-size.fs:
* css3/filters/resources/varying-mix-color.fs: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] WorkerContextExecutionProxy doesn't need to track events
https://bugs.webkit.org/show_bug.cgi?id=100295

Reviewed by Eric Seidel.

This code was added when this code was originally upstreamed as part of
the Chromium port. There doesn't appear to be any reason why
WorkerContextExecutionProxy needs to keep a Vector of raw event
pointers. Those points are likely to become dangling, making the rest
of what this code does very sketchy.

* bindings/v8/V8WorkerContextEventListener.cpp:
(WebCore::V8WorkerContextEventListener::callListenerFunction):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::dispose):
* bindings/v8/WorkerContextExecutionProxy.h:
(WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
(WorkerContextExecutionProxy):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Chromium revision 163873 also made
platform/chromium/virtual/gpu/fast/canvas/canvas-incremental-repaint.html slow.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Remove screen-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97474

Reviewed by Adam Barth.

Screen-related functions like screenHorizontalDPI that
used to be on PlatformSupport are now accessed through a new
PlatformPageClient attached to Widget in WebCore-land, which is
implemented by ChromeClientImpl in WebKit-land, which proxies
calls to WebWidgetClient, which is actually implemented in
Chromium-land.

Source/Platform:

* Platform.gypi:
* chromium/public/WebScreenInfo.h: Added.
(WebKit):
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):

Source/WebCore:

* WebCore.gypi:
* platform/Widget.h:
* platform/chromium/PageClientChromium.h: Copied from Source/WebCore/platform/chromium/PlatformWidget.h.
(PageClientChromium):
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::toPlatformPageClient):
(WebCore):
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

* public/WebScreenInfo.h:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::screenInfo):
(WebKit):
* src/ChromeClientImpl.h:
(WebKit):
(WebKit::ChromeClientImpl::platformPageClient):
(ChromeClientImpl):
* src/PlatformSupport.cpp:
(WebCore):
* src/WebPagePopupImpl.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: MediaStream API: Make sure all events are dispatched asynchronously
https://bugs.webkit.org/show_bug.cgi?id=100286

Reviewed by Adam Barth.

This is necessary to safeguard against if the UA uses synchronous UA->WebKit calls,
and the web application calls methods on the RTCPeerConnection in the event callbacks.

Test: fast/mediastream/RTCPeerConnection-events.html
Also tested by the chromium webrtc fuzz tests.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::negotiationNeeded):
(WebCore::RTCPeerConnection::didGenerateIceCandidate):
(WebCore::RTCPeerConnection::didAddRemoteStream):
(WebCore::RTCPeerConnection::didRemoveRemoteStream):
(WebCore::RTCPeerConnection::didAddRemoteDataChannel):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::changeIceState):
(WebCore):
(WebCore::RTCPeerConnection::scheduleDispatchEvent):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):

LayoutTests: MediaStream API: Make sure all RTCPeerConnection events are dispatched asynchronously
https://bugs.webkit.org/show_bug.cgi?id=100286

Reviewed by Adam Barth.

RTCPeerConnection::close is the only function that dispatches an event directly so only test that.

* fast/mediastream/RTCPeerConnection-events-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-events.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Allow pushState and related history APIs to be disabled per context
https://bugs.webkit.org/show_bug.cgi?id=99780

Reviewed by Adam Barth.

Source/WebCore:

Chrome Apps do not support the history API (or navigation in general).
Since pushState is generally feature detected, it's cleanest to disable
it via a V8 per-context feature, so that applications can have the
appropriate fallback behavior (other history APIs are re-mapped to throw
exceptions, since history.back() and the link are not feature detected).

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::pushStateEnabled):
(WebCore):
* dom/ContextFeatures.h:
* dom/Document.cpp:
(WebCore::Document::enqueuePopstateEvent):
* page/History.idl:

Source/WebKit/chromium:

Add pushState context feature.

* public/WebPermissionClient.h:
(WebPermissionClient):
(WebKit::WebPermissionClient::allowPushState):
* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update main frame scroll position immediately for programmatic scrolls
https://bugs.webkit.org/show_bug.cgi?id=98074

Reviewed by Simon Fraser.

Immediately update the main frame scroll position after a programmatic scroll,
so that performing a scrollBy or scrollTo will be instantly reflected in
all of the scroll offset accessors.

No new tests; this will be tested by many scrolling tests once WebKitTestRunner
can use threaded scrolling.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: truncate meter lines properly on windows
https://bugs.webkit.org/show_bug.cgi?id=100062

Reviewed by Tony Chang.

This change adds the code to figure out the terminal width
on windows (it was already there for Unixen) and moves it
to a platform-specific object.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.terminal_width):
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.total_bytes_memory):
(MockPlatformInfo):
(MockPlatformInfo.terminal_width):
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.__init__):
(MeteredStream.number_of_columns):
(MeteredStream.flush):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.__init__):
(Printer._test_status_line):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MathML tests trigger font cache assertions in debug bots
https://bugs.webkit.org/show_bug.cgi?id=100268

Reviewed by Eric Seidel.

Source/WebCore:

Add a FontCachePurgePreventer to fix this.

Tested by existing tests.

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):

LayoutTests:

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disable auto termination of WebKit2 processes on mac
https://bugs.webkit.org/show_bug.cgi?id=100176

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-10-24
Reviewed by Alexey Proskuryakov.

Disable WebKit2 auto termination by taking corresponding assertion
until UI process is enhanced to determine when it is safe to enable it.

* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::InitializeWebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it a compile error to send a sync message as async (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=100285

Reviewed by Sam Weinig.

Add an "isSync" boolean to each generated message struct and add compile asserts to the message senders.

* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendSync):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
* Scripts/webkit2/messages_unittest.py:
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::send):
(WebKit::WebProcessProxy::sendSync):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=100169
We should make TileCache tiles the size of the tile coverage rect 
when we can't do fast scrolling
-and-
<rdar://problem/12505021>

Reviewed by Simon Fraser.

Source/WebCore: 

Some websites that don't do fast scrolling still scroll slower than 
they do with tiled drawing disabled. 
https://bugs.webkit.org/show_bug.cgi?id=99768 addressed some of this 
performance problem, but there is still more ground to make up. This 
patch addresses the remaining issue by making tiles the size of the 
window when we can't do fast scrolling. 

The constructor and create function no longer take a size parameter. 
That's all fully controlled within TileCache now. m_tileSize is no 
longer const.
* platform/graphics/ca/mac/TileCache.h:

Store the current default size as constants so that we can access it 
in both the constructor and adjustTileSizeForCoverageRect().
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):

This new function will set m_tileSize to the size of the tile 
coverage rect if the tile coverage is limited to the visible area. 
Otherwise, the tiles are set to be the default size.
(WebCore::TileCache::adjustTileSizeForCoverageRect):
        
Call adjustTileSizeForCoverageRect().
(WebCore::TileCache::revalidateTiles):

No need to send in a size anymore.
* platform/graphics/ca/mac/WebTileCacheLayer.h:
(WebCore):

LayoutTests: 

New test.
* platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: Added.
* platform/mac/tiled-drawing/tile-coverage-slow-scrolling.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG compileBlahBlahByVal methods for Contiguous and ArrayStorage have only one caller and should be removed
https://bugs.webkit.org/show_bug.cgi?id=100311

Reviewed by Mark Hahnenberg.

Just trying to simplify things before I make them more complicated again.

* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
* dfg/DFGSpeculativeJIT32_64.cpp:
(DFG):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(DFG):
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, expectations and baseline cleanup.

Remove some old baselines for a test that was converted to a reftest,
and remove entries for tests no longer failing on Chromium Mac ML.

* platform/chromium-mac-lion/fast/forms/date/date-reset-value-expected.png: Removed.
* platform/chromium-mac-mountainlion/TestExpectations:
* platform/chromium-mac-snowleopard/fast/forms/date/date-reset-value-expected.png: Removed.
* platform/chromium-mac/fast/forms/date/date-reset-value-expected.png: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, update chromium-mac-mountainlion baselines.

* platform/chromium-mac-lion/media/track/track-cue-rendering-horizontal-expected.png: Copied from LayoutTests/platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png.
* platform/chromium-mac-lion/media/track/track-cue-rendering-horizontal-expected.txt: Copied from LayoutTests/platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt.
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip tiled drawing tests for WK1
https://bugs.webkit.org/show_bug.cgi?id=100312

Reviewed by Beth Dakin.

Skip platform/mac/tiled-drawing tests in the main TestExpections file,
but re-enable it in the WK2 TestExpections file.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pass on exif orientation from ImageSource when using the open-source image decoders
https://bugs.webkit.org/show_bug.cgi?id=100164

Reviewed by Eric Seidel.

The orientation is honored always for image documents, and optionally
for <img> elements if shouldRespectImageOrientation is set (off by
default). However, the feature needs port-specific modifications to
GraphicsContext (without this, webcore will use the rotated bounds but
draw the image as if it hadn't be rotated, resulting in squished
pixels), and most ports don't implement these yet -- so put
turning this on for image documents behind a port-specific #ifdef.

No observable behavior change. Once it's hooked up, it will be tested
by fast/images/exif-orientation.html.

* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::size):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::orientationAtIndex):
* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::orientation):
(WebCore):
* platform/graphics/chromium/DeferredImageDecoder.h:
(DeferredImageDecoder):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::readImageOrientation):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldRespectImageOrientation):


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