WebKit-https.git
8 years ago[Qt] Repaint counter for accelerated compositing
commit-queue@webkit.org [Tue, 10 Jul 2012 23:06:16 +0000 (23:06 +0000)]
[Qt] Repaint counter for accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=90116

Patch by Helder Correia <helder.correia@nokia.com> on 2012-07-10
Reviewed by Noam Rosenthal.

No new tests, just introducing a debug feature.

For this feature to be enabled, the environment variable
QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.

Important notes:
- Only WebKit2 is targetted for now.
- There is no integration with Preferences. That aproach was
taken initially but revealed complex and overkill for such a
debugging-only functionality. Thus, to disable it simply restart with
the environment variable unset or set to some other value.

A Qt-specific drawRepaintCounter() function was added to
TextureMapperGL. A QImage is used as scratch buffer to paint borders and
counters. It is then uploaded to a BitmapTexture acquired from the pool
and finally draw by TextureMapper. The actual compositing happens inside
LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile
now has a repaint counter which gets incremented in
LayerBackingStore::updateTile().

Source/WebCore:

* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore):
(WebCore::TextureMapperGL::drawRepaintCounter):
* platform/graphics/texmap/TextureMapperGL.h:
* platform/graphics/texmap/TextureMapperImageBuffer.h:

Source/WebKit2:

* UIProcess/texmap/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::updateTile):
(WebKit):
(WebKit::shouldShowTileDebugVisuals):
(WebKit::LayerBackingStore::paintToTextureMapper):
* UIProcess/texmap/LayerBackingStore.h:
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::incrementRepaintCount):
(WebKit::LayerBackingStoreTile::repaintCount):

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

8 years ago[CMAKE] Add missing feature macros
gyuyoung.kim@samsung.com [Tue, 10 Jul 2012 22:53:58 +0000 (22:53 +0000)]
[CMAKE] Add missing feature macros
https://bugs.webkit.org/show_bug.cgi?id=90890

Reviewed by Eric Seidel.

ENABLE_CSS_EXCLUSIONS, ENABLE_CSS_REGIONS, ENABLE_TEXT_AUTOSIZING macros
haven't defined in cmake feature list.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

8 years agotry
wangxianzhu@chromium.org [Tue, 10 Jul 2012 22:49:55 +0000 (22:49 +0000)]
try

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

8 years ago[chromium] Replace use of ManagedTexture with CCScopedTexture for impl thread and...
danakj@chromium.org [Tue, 10 Jul 2012 22:48:37 +0000 (22:48 +0000)]
[chromium] Replace use of ManagedTexture with CCScopedTexture for impl thread and remove implTextureManager from LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=90841

Reviewed by Adrienne Walker.

Source/WebCore:

Remove the TextureManager from LayerRendererChromium, which was the last
instance of the class in the compositor. Instead of using ManagedTexture
objects for RenderPass textures, use instances of CCScopedTexture, which
manage the lifetime of the allocated texture ids. TextureManager will be
removed entirely once all callers of memoryUseBytes() have been removed.

No new tests. No change in behaviour.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderPassTextures):
(WebCore):
(WebCore::LayerRendererChromium::renderPassTextureSize):
(WebCore::LayerRendererChromium::renderPassTextureFormat):
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
(WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId):
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::applyFilters):
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawHeadsUpDisplay):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::isCurrentRenderPass):
(WebCore::LayerRendererChromium::useRenderPass):
(WebCore::LayerRendererChromium::useScopedTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
* platform/graphics/chromium/TrackingTextureAllocator.cpp:
(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
* platform/graphics/chromium/TrackingTextureAllocator.h:
(WebCore::TrackingTextureAllocator::create):
(TrackingTextureAllocator):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCRenderer.h:
(WebCore):
(CCRenderer):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:

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

8 years agoREGRESSION (r109610): Order of values in shorthand animation makes a difference
dino@apple.com [Tue, 10 Jul 2012 22:45:34 +0000 (22:45 +0000)]
REGRESSION (r109610): Order of values in shorthand animation makes a difference
https://bugs.webkit.org/show_bug.cgi?id=84533
<rdar://problem/11831924>
<rdar://problem/11815787>

Reviewed by Simon Fraser.

Source/WebCore:

A previous revision (r109610) updated the parsing of the animation shorthand
to make sure that animation-name wouldn't clobber other styles. The side effect
of this was that we'd no longer find animation-name if it wasn't first in the
list. This commit reverts the change and fixes it in a different way, by always
parsing animation-name as the last property in the shorthand. This means that
keywords for timing functions, fill modes and iteration will match before
animation name. In other words, if you want an animation called "forwards"
you should use the longhand property, because the shorthand will first match
that against animation-fill-mode.

Test: animations/animation-shorthand-name-order.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationShorthand): make a new array of longhand
properties to check for, with name as the last entry rather than the first.
Use this array to test the properties in the shorthand.

LayoutTests:

A new test that exercises many different variants of the animation shorthand
property, putting the animation name in different spots in the list of values.

* animations/animation-shorthand-name-order-expected.txt: Added.
* animations/animation-shorthand-name-order.html: Added.

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

8 years ago[WK2] Add Vibration API support for WebKit2
commit-queue@webkit.org [Tue, 10 Jul 2012 22:14:34 +0000 (22:14 +0000)]
[WK2] Add Vibration API support for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90058

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-10
Reviewed by Anders Carlsson.

Add support for Vibration API to WebKit2.

* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKVibration.cpp: Added.
(WKVibrationGetTypeID):
(WKVibrationSetProvider):
* UIProcess/API/C/WKVibration.h: Added.
* UIProcess/WebVibrationProvider.cpp: Added.
(WebKit):
(WebKit::WebVibrationProvider::vibrate):
(WebKit::WebVibrationProvider::cancelVibration):
* UIProcess/WebVibrationProvider.h: Added.
(WebKit):
(WebVibrationProvider):
* UIProcess/WebVibrationProxy.cpp: Added.
(WebKit):
(WebKit::WebVibrationProxy::create):
(WebKit::WebVibrationProxy::WebVibrationProxy):
(WebKit::WebVibrationProxy::~WebVibrationProxy):
(WebKit::WebVibrationProxy::invalidate):
(WebKit::WebVibrationProxy::initializeProvider):
(WebKit::WebVibrationProxy::didReceiveMessage):
(WebKit::WebVibrationProxy::vibrate):
(WebKit::WebVibrationProxy::cancelVibration):
* UIProcess/WebVibrationProxy.h: Added.
(CoreIPC):
(WebKit):
(WebVibrationProxy):
(WebKit::WebVibrationProxy::clearContext):
(WebKit::WebVibrationProxy::type):
* UIProcess/WebVibrationProxy.messages.in: Added.
* WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added.
(WebKit):
(WebKit::WebVibrationClient::vibrate):
(WebKit::WebVibrationClient::cancelVibration):
(WebKit::WebVibrationClient::vibrationDestroyed):
* WebProcess/WebCoreSupport/WebVibrationClient.h: Added.
(WebKit):
(WebVibrationClient):
(WebKit::WebVibrationClient::WebVibrationClient):
(WebKit::WebVibrationClient::~WebVibrationClient):

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

8 years agoFix a potential bug of BitmapImage::frameCount().
kseo@webkit.org [Tue, 10 Jul 2012 22:11:54 +0000 (22:11 +0000)]
Fix a potential bug of BitmapImage::frameCount().
https://bugs.webkit.org/show_bug.cgi?id=90756

Patch by Huang Dongsung <luxtella@company100.net> on 2012-07-10
Reviewed by Simon Fraser.

If an ImageDecoder is not yet initialized, m_source.frameCount() returns 0. This
does not mean that the frame count is actually 0. So we must set
m_haveFrameCount to true only when m_frameCount is not 0.

The current code is okay because BitmapImage::frameCount() is never called
before the decoder is initialized. However, this no longer holds true once we
introduce parallel image decoders.

No new tests, no behavior change.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameCount):

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

8 years agoBuild fix. Removing unused variable from http://trac.webkit.org/changeset/122264.
ojan@chromium.org [Tue, 10 Jul 2012 22:08:14 +0000 (22:08 +0000)]
Build fix. Removing unused variable from trac.webkit.org/changeset/122264.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeContentLogicalHeightUsing):

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

8 years agoHTMLPropertiesCollection should share more code with HTMLCollection
rniwa@webkit.org [Tue, 10 Jul 2012 22:03:01 +0000 (22:03 +0000)]
HTMLPropertiesCollection should share more code with HTMLCollection
https://bugs.webkit.org/show_bug.cgi?id=90842

Reviewed by Anders Carlsson.

Got rid of HTMLPropertiesCollection::m_cache, and added m_itemRefElements, m_propertyNames, m_propertyCache,
m_hasPropertyNameCache, and m_hasItemRefElements to HTMLPropertiesCollection itself. These are caches specific
to HTMLPropertiesCollection. Note that hasNameCache has been renamed to m_hasPropertyNameCache and itemRefElementPosition
has been replaced by cachedElementsArrayOffset() in HTMLCollectionCacheBase (also used in HTMLFormCollection).

Also deleted all methods on m_cache except updatePropertyCache since caches can be accessed directly from
HTMLPropertiesCollection.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::invalidateCacheIfNeeded):
(WebCore::HTMLCollection::invalidateCache):
* html/HTMLCollection.h:
(HTMLCollection):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
(WebCore):
(WebCore::HTMLPropertiesCollection::updateRefElements):
(WebCore::HTMLPropertiesCollection::itemAfter):
(WebCore::HTMLPropertiesCollection::calcLength):
(WebCore::HTMLPropertiesCollection::cacheFirstItem):
(WebCore::HTMLPropertiesCollection::item):
(WebCore::HTMLPropertiesCollection::findProperties):
(WebCore::HTMLPropertiesCollection::updateNameCache):
(WebCore::HTMLPropertiesCollection::names):
(WebCore::HTMLPropertiesCollection::namedItem):
(WebCore::HTMLPropertiesCollection::hasNamedItem):
* html/HTMLPropertiesCollection.h:
(HTMLPropertiesCollection):
(WebCore::HTMLPropertiesCollection::clearCache):
(WebCore::HTMLPropertiesCollection::updatePropertyCache):

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

8 years agoUnreviewed gardening. Removing duplicated line from TestExpectations.
rafaelw@chromium.org [Tue, 10 Jul 2012 21:58:28 +0000 (21:58 +0000)]
Unreviewed gardening. Removing duplicated line from TestExpectations.

* platform/chromium/TestExpectations:

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

8 years agoAdd support for min-height:auto and min-width:auto
ojan@chromium.org [Tue, 10 Jul 2012 21:45:27 +0000 (21:45 +0000)]
Add support for min-height:auto and min-width:auto
https://bugs.webkit.org/show_bug.cgi?id=88437

Reviewed by Tony Chang.

Source/WebCore:

Right now auto does the same thing as min-height/min-width:0.
For flex-items it should be the same as min-content (followup patch).
http://dev.w3.org/csswg/css3-flexbox/#min-size-auto

Tests: fast/css/auto-min-size.html
       fast/css/deprecated-flexbox-auto-min-size.html

* WebCore.order:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Return 0px for the computed value of auto.

* css/CSSParser.cpp:
(WebCore::CSSParser::validWidth):
(WebCore):
(WebCore::CSSParser::validHeight):
(WebCore::CSSParser::parseValue):
* css/CSSParser.h:
(CSSParser):
Restructure width/height parsing to reduce code duplication and make it easier
to add auto as a valid min value.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::adjustSizeConstraints):
This code was unnecessarily checking intrinsicOrAuto since auto was previously
not an allowed value for minWidth/minHeight.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeightUsing):
(WebCore::RenderBox::computeReplacedLogicalWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
Need to pass a SizeType to all these methods so that we know if the Length
we're working with is a min length since auto has a different meaning now
for min lengths.

* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
(WebCore::RenderFlexibleBox::lineBreakLength):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
* rendering/style/RenderStyle.h:
Default minHeight/minWidth to auto instead of 0px.

LayoutTests:

* fast/css/auto-min-size-expected.txt: Added.
* fast/css/auto-min-size.html: Added.
* fast/css/deprecated-flexbox-auto-min-size.html: Added.
* platform/chromium-linux/fast/css/deprecated-flexbox-auto-min-size-expected.txt: Added.

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

8 years ago[Chromium] IndexedDB: Need test of Typed Arrays
jsbell@chromium.org [Tue, 10 Jul 2012 21:21:34 +0000 (21:21 +0000)]
[Chromium] IndexedDB: Need test of Typed Arrays
https://bugs.webkit.org/show_bug.cgi?id=81979

Reviewed by Tony Chang.

Verify storage of Typed Arrays (Uint8Array and friends). Checks that
these types are stored and read back with types and data intact. Also
add an index to the object store, so that key paths are evaluated
against each type on every write operation.

* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:

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

8 years ago[Chromium-Android] Fix typos in chromium_android.py in r151492
wangxianzhu@chromium.org [Tue, 10 Jul 2012 21:13:28 +0000 (21:13 +0000)]
[Chromium-Android] Fix typos in chromium_android.py in r151492
https://bugs.webkit.org/show_bug.cgi?id=90904

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.setup_test_run):

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

8 years agowebkit-patch rebaseline doesn't work for audio/pixel tests
ojan@chromium.org [Tue, 10 Jul 2012 20:54:21 +0000 (20:54 +0000)]
webkit-patch rebaseline doesn't work for audio/pixel tests
https://bugs.webkit.org/show_bug.cgi?id=90905

Reviewed by Adam Barth.

We just need to pass the correct suffix list to rebaseline-test-internal
and optimize-baselines. By default, pass all suffixes.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(Rebaseline):
(Rebaseline.__init__):
(Rebaseline._suffixes_to_update):
(Rebaseline.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline_multiple_builders_and_tests_command_line):

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

8 years agoRemove LayoutTestController and WebKitTestRunner support for Hixie76 WebSockets
abarth@webkit.org [Tue, 10 Jul 2012 20:39:46 +0000 (20:39 +0000)]
Remove LayoutTestController and WebKitTestRunner support for Hixie76 WebSockets
https://bugs.webkit.org/show_bug.cgi?id=90853

Reviewed by Eric Seidel.

Tools:

WebKit no longer implements the Hixie76 version of the WebSocket
protocol. We don't need to support it in our test framework.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):

LayoutTests:

There's no need to explicitly disable the Hixie76 protocol because it
no longer exists in WebKit.

* http/tests/websocket/tests/hybi/alert-in-event-handler.html:
* http/tests/websocket/tests/hybi/bad-handshake-crash.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-empty.html:
* http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii.html:
* http/tests/websocket/tests/hybi/binary-type.html:
* http/tests/websocket/tests/hybi/broken-utf8.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
* http/tests/websocket/tests/hybi/client-close.html:
* http/tests/websocket/tests/hybi/close-before-open.html:
* http/tests/websocket/tests/hybi/close-code-and-reason.html:
* http/tests/websocket/tests/hybi/close-event.html:
* http/tests/websocket/tests/hybi/close-on-navigate-new-location.html:
* http/tests/websocket/tests/hybi/close-on-unload-and-force-gc.html:
* http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html:
* http/tests/websocket/tests/hybi/close-on-unload.html:
* http/tests/websocket/tests/hybi/close-unref-websocket.html:
* http/tests/websocket/tests/hybi/close.html:
* http/tests/websocket/tests/hybi/compressed-control-frame.html:
* http/tests/websocket/tests/hybi/cross-origin.html:
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html:
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html:
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html:
* http/tests/websocket/tests/hybi/echo-with-no-extension.html:
* http/tests/websocket/tests/hybi/extensions.html:
* http/tests/websocket/tests/hybi/fragmented-binary-frames.html:
* http/tests/websocket/tests/hybi/fragmented-control-frame.html:
* http/tests/websocket/tests/hybi/fragmented-frames.html:
* http/tests/websocket/tests/hybi/frame-lengths.html:
* http/tests/websocket/tests/hybi/handshake-challenge-randomness.html:
* http/tests/websocket/tests/hybi/handshake-error.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-maxlength.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-cr.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null.html:
* http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html:
* http/tests/websocket/tests/hybi/httponly-cookie.pl:
* http/tests/websocket/tests/hybi/interleaved-fragments.html:
* http/tests/websocket/tests/hybi/invalid-continuation.html:
* http/tests/websocket/tests/hybi/invalid-encode-length.html:
* http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html:
* http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
* http/tests/websocket/tests/hybi/invalid-subprotocols.html:
* http/tests/websocket/tests/hybi/long-control-frame.html:
* http/tests/websocket/tests/hybi/long-invalid-header.html:
* http/tests/websocket/tests/hybi/multiple-connections.html:
* http/tests/websocket/tests/hybi/multiple-subprotocols.html:
* http/tests/websocket/tests/hybi/no-subprotocol.html:
* http/tests/websocket/tests/hybi/null-character.html:
* http/tests/websocket/tests/hybi/pong.html:
* http/tests/websocket/tests/hybi/receive-arraybuffer.html:
* http/tests/websocket/tests/hybi/receive-blob.html:
* http/tests/websocket/tests/hybi/reload-crash.html:
* http/tests/websocket/tests/hybi/reserved-bits.html:
* http/tests/websocket/tests/hybi/reserved-opcodes.html:
* http/tests/websocket/tests/hybi/send-after-close-on-unload.html:
* http/tests/websocket/tests/hybi/send-arraybuffer.html:
* http/tests/websocket/tests/hybi/send-blob.html:
* http/tests/websocket/tests/hybi/send-empty.html:
* http/tests/websocket/tests/hybi/send-file-blob-fail.html:
* http/tests/websocket/tests/hybi/send-file-blob.html:
* http/tests/websocket/tests/hybi/send-object-tostring-check.html:
* http/tests/websocket/tests/hybi/send-throw.html:
* http/tests/websocket/tests/hybi/send.html:
* http/tests/websocket/tests/hybi/server-close.html:
* http/tests/websocket/tests/hybi/set-protocol.html:
* http/tests/websocket/tests/hybi/simple-stress.html:
* http/tests/websocket/tests/hybi/simple.html:
* http/tests/websocket/tests/hybi/sub-protocol.html:
* http/tests/websocket/tests/hybi/too-long-payload.html:
* http/tests/websocket/tests/hybi/unicode.html:
* http/tests/websocket/tests/hybi/unmasked-frames.html:
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html:
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html:
* http/tests/websocket/tests/hybi/url-attribute.html:
* http/tests/websocket/tests/hybi/url-no-trailing-slash.html:
* http/tests/websocket/tests/hybi/url-parsing.html:
* http/tests/websocket/tests/hybi/url-with-credential.html:
* http/tests/websocket/tests/hybi/url-with-empty-query.html:
* http/tests/websocket/tests/hybi/url-with-query.html:
* http/tests/websocket/tests/hybi/websocket-event-target.html:
* http/tests/websocket/tests/hybi/websocket-pending-activity.html:
* http/tests/websocket/tests/hybi/workers/close-code-and-reason.html:
* http/tests/websocket/tests/hybi/workers/close-in-onmessage-crash.html:
* http/tests/websocket/tests/hybi/workers/close-in-shared-worker.html:
* http/tests/websocket/tests/hybi/workers/close-in-worker.html:
* http/tests/websocket/tests/hybi/workers/close.html:
* http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html:
* http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html:
* http/tests/websocket/tests/hybi/workers/no-subprotocol.html:
* http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html:
* http/tests/websocket/tests/hybi/workers/receive-blob.html:
* http/tests/websocket/tests/hybi/workers/send-arraybuffer.html:
* http/tests/websocket/tests/hybi/workers/send-blob.html:
* http/tests/websocket/tests/hybi/workers/shared-worker-simple.html:
* http/tests/websocket/tests/hybi/workers/worker-handshake-challenge-randomness.html:
* http/tests/websocket/tests/hybi/workers/worker-reload.html:
* http/tests/websocket/tests/hybi/workers/worker-simple.html:
* http/tests/websocket/tests/hybi/zero-length-text.html:

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

8 years ago[Chromium-Android] Use default font rendering styles in FontPlatformData::querySystem...
wangxianzhu@chromium.org [Tue, 10 Jul 2012 20:30:01 +0000 (20:30 +0000)]
[Chromium-Android] Use default font rendering styles in FontPlatformData::querySystemForRenderStyle()
https://bugs.webkit.org/show_bug.cgi?id=90826

Reviewed by Adam Barth.

Source/WebCore:

No new tests. The change to this file is refactoring only.

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::querySystemForRenderStyle): Moved the "NoPreference" initialization into PlatformSupport::PlatformSupport::getRenderStyleForStrike().

Source/WebKit/chromium:

* WebKit.gyp:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::getRenderStyleForStrike): Call style.setDefault() on Android or when the font is not specified.

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

8 years agoUnreviewed gardening. Adding the majority of the remaining indexeddb/mozilla tests...
rafaelw@chromium.org [Tue, 10 Jul 2012 20:23:51 +0000 (20:23 +0000)]
Unreviewed gardening. Adding the majority of the remaining indexeddb/mozilla tests which are all flaky and crashing.

* platform/chromium/TestExpectations:

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

8 years agoAudioFIFO not correctly wrapping the write index on push
commit-queue@webkit.org [Tue, 10 Jul 2012 20:21:02 +0000 (20:21 +0000)]
AudioFIFO not correctly wrapping the write index on push
https://bugs.webkit.org/show_bug.cgi?id=90901

Patch by Raymond Toy <rtoy@google.com> on 2012-07-10
Reviewed by Chris Rogers.

No new tests

* platform/audio/AudioFIFO.cpp:
(WebCore::AudioFIFO::push): Wrap the write index, not read index!

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

8 years ago[chromium] Avoid allocating render pass textures that have no content
danakj@chromium.org [Tue, 10 Jul 2012 20:14:36 +0000 (20:14 +0000)]
[chromium] Avoid allocating render pass textures that have no content
https://bugs.webkit.org/show_bug.cgi?id=90702

Reviewed by Adrienne Walker.

Source/WebCore:

When OOM conditions are hit, textures are not allocated for some layers
which can prevent any quads from being present for a render surface.
This is used as a signal to prevent the RenderPass from allocating a
texture.

Replace the CCLayerTreeHostImpl::removePassesWithCachedTextures() method
with a general removeRenderPasses() which takes a culling control object
and will remove passes based on the inputs from the control object.

This new method is used for the old purpose of removing passes with cached
textures, as well as to remove passes that do not have any quad inputs.

Test: CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPassQuad):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass):
(WebCore::CCLayerTreeHostImpl::removeRenderPasses):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(CullRenderPassesWithCachedTextures):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListBegin):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListEnd):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListNext):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::CullRenderPassesWithCachedTextures):
(CCLayerTreeHostImpl):
(CullRenderPassesWithNoQuads):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListBegin):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListEnd):
(WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListNext):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::beginTest):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::didCommit):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::afterTest):
(WTF):

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

8 years ago[Chromium-Android] Use setup_test_runner() instead of start_helper() to setup test...
wangxianzhu@chromium.org [Tue, 10 Jul 2012 19:56:37 +0000 (19:56 +0000)]
[Chromium-Android] Use setup_test_runner() instead of start_helper() to setup test environment
https://bugs.webkit.org/show_bug.cgi?id=90894

Reviewed by Adam Barth.

start_helper() is actually start_pixel_test_helper() since r115601 (bug 81729).
Should use setup_test_runner() to setup test environment for chromium-android.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.setup_test_run): Renamed from start_helper(). Added cache cleanup code.
(ChromiumAndroidPort.clean_up_test_run): Renamed from stop_helper().
(ChromiumAndroidPort._path_to_helper): Returns None as we don't have a helper now.
(ChromiumAndroidPort):
(ChromiumAndroidPort._path_to_forwarder): Original _path_to_helper().
(ChromiumAndroidPort._push_executable):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver.cmd_line):

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

8 years agoMake GC3D and E3D more maintainable for GLES platforms
commit-queue@webkit.org [Tue, 10 Jul 2012 19:52:36 +0000 (19:52 +0000)]
Make GC3D and E3D more maintainable for GLES platforms
https://bugs.webkit.org/show_bug.cgi?id=90567

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-10
Reviewed by Rob Buis.

This patch cleans up code for WebGL on OpenGLES platforms which use
GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
GraphicsContext3DOpenGLCommon, and  GraphicsContext3DOpenGLES, this patch
is an attempt to refactor this code in a way that will help BlackBerry and
other teams support WebGL on mobile platforms with as little use of
"#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
of OpenGLESShims.

This patch is created in large part by Jonathan Feldstein.

No new tests: no new behaviour.

* PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
* Target.pri: Add new Extensions3DOpenGL* to WebGL builds
* platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
(WebCore):
* platform/graphics/OpenGLESShims.h: Added.
* platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
(WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
(WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
(WebCore):
(WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
* platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
(WebCore):
(Extensions3DOpenGL):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
(WebCore):
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::supports):
(WebCore::Extensions3DOpenGLCommon::ensureEnabled):
(WebCore::Extensions3DOpenGLCommon::isEnabled):
(WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
* platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
(WebCore):
(Extensions3DOpenGLCommon):
* platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
(WebCore):
(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
(WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
(WebCore::Extensions3DOpenGLES::createVertexArrayOES):
(WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGLES::isVertexArrayOES):
(WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
(WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
(WebCore::Extensions3DOpenGLES::getExtensions):
* platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
(WebCore):
(Extensions3DOpenGLES):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::validateAttributes):
(WebCore):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
(WebCore::GraphicsContext3D::getExtensions):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::validateDepthStencil):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::isTexture):
(WebCore):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::deleteBuffer):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
(WebCore::GraphicsContext3D::validateAttributes):
(WebCore):
(WebCore::GraphicsContext3D::getExtensions):
(WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore):
(WebCore::GraphicsContext3D::releaseShaderCompiler):

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

8 years agoUnreviewed gardening. Added resource-request-content-while-loading.html to flaky...
rafaelw@chromium.org [Tue, 10 Jul 2012 19:21:19 +0000 (19:21 +0000)]
Unreviewed gardening. Added resource-request-content-while-loading.html to flaky wkbug 83890.

* platform/chromium/TestExpectations:

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

8 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=90646
hyatt@apple.com [Tue, 10 Jul 2012 19:14:25 +0000 (19:14 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=90646
<rdar://problem/11648478> 3-pass pagination slows down pagination

Improve the logical top estimate function for margin collapsing to be more accurate. In particular
make the basic case of <body><p> or <body><h1> no longer be wrong. This estimate being incorrect
is not a big deal most of the time, but when paginating it is a very big deal, since you have to
relayout everything whenever your vertical placement is wrong.

Improving the estimation exposed a bug in an existing layout test. I had to clean up the buggy
code written for negative margin-related float detection and fix an invalid layout test to
actually be correct.

Reviewed by Simon Fraser.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore):
(WebCore::RenderBlock::estimateLogicalTopPosition):
(WebCore::RenderBlock::marginValuesForChild):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=90646

Fix invalid layout test exposed by my changes to logical top estimation.

Reviewed by Simon Fraser.

* fast/block/float/previous-sibling-float-002-expected.html:
* fast/block/float/previous-sibling-float-002.html:

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

8 years agoWeb Inspector: Count inspector memory used to traverse DOM in native memory snapshots.
commit-queue@webkit.org [Tue, 10 Jul 2012 19:10:43 +0000 (19:10 +0000)]
Web Inspector: Count inspector memory used to traverse DOM in native memory snapshots.
https://bugs.webkit.org/show_bug.cgi?id=90456

Inspector may take significant amount of memory when traversing DOM structure.
Take it into account and report under inspector memory.

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-07-10
Reviewed by Pavel Feldman.

* dom/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::calculateContainerSize):
(WebCore::MemoryInstrumentation::reportHashMap):
(WebCore::MemoryInstrumentation::reportHashSet):
(WebCore::MemoryInstrumentation::reportVector):
* inspector/InspectorMemoryAgent.cpp:
(MemoryBlockName):
(WebCore):
(WebCore::domTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

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

8 years agoUnreviewed gardening. tables/mozilla_expected_failures/other/empty_cells.html marked...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:48:43 +0000 (18:48 +0000)]
Unreviewed gardening. tables/mozilla_expected_failures/other/empty_cells.html marked as flaky.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed gardening. platform/chromium/inspector/styles/device-metrics-fit-window...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:27:17 +0000 (18:27 +0000)]
Unreviewed gardening. platform/chromium/inspector/styles/device-metrics-fit-window.html is timing out in debug and now marked as slow.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed gardening. fast/js/dfg-cross-global-object-inline-array-literal.html is...
rafaelw@chromium.org [Tue, 10 Jul 2012 18:15:23 +0000 (18:15 +0000)]
Unreviewed gardening. fast/js/dfg-cross-global-object-inline-array-literal.html is racey (and thus flaky).

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

8 years agoUnreviewed gardening. Adding another flaky test to bug 90469 (storage tests).
rafaelw@chromium.org [Tue, 10 Jul 2012 17:33:49 +0000 (17:33 +0000)]
Unreviewed gardening. Adding another flaky test to bug 90469 (storage tests).

* platform/chromium/TestExpectations:

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

8 years agoImprove webkit-patch rebaseline to work for more cases
ojan@chromium.org [Tue, 10 Jul 2012 17:33:41 +0000 (17:33 +0000)]
Improve webkit-patch rebaseline to work for more cases
https://bugs.webkit.org/show_bug.cgi?id=90504

Reviewed by Adam Barth.

-Makes it work for the build.chromium.org bots.
-Lets you rebaseline all builders instead of just one.
-Lets you pass in the builders or tests to rebaseline.

* Scripts/webkitpy/common/host.py:
(Host.buildbot_for_builder_name):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.__init__):
(Builder.latest_layout_test_results):
Provide a way to get to the LayoutTestResults of the latest build.
Most of the time we only need to get the latest one and the Chromium bots
only expose the full_results.json file for the latest build.

(Builder):
(Builder._fetch_file_from_results):
(Builder.fetch_layout_test_results):
Move these functions into Builder so that Builder and Build can both
fetch layout test results.

(Build.results_zip_url):
(Build.layout_test_results):
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(BuilderTest.test_latest_layout_test_results):
(BuildTest.test_layout_test_results):
* Scripts/webkitpy/common/system/user.py:
(User.prompt_with_multiple_lists):
Prompt with multiple sublists, but still have a global numbering.
This lets the build.chromium.org bots be clearly separated from the
build.webkit.org bots, which helps understand the builder names.

(User):
(User._wait_on_list_response):
(User.prompt_with_list):
* Scripts/webkitpy/common/system/user_unittest.py:
(UserTest.test_prompt_with_multiple_lists):
(UserTest.test_prompt_with_multiple_lists.run_prompt_test):
(UserTest.test_prompt_with_multiple_lists.run_prompt_test.mock_raw_input):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.is_chromium):
Provide a way to tell if a port is a Chromium port that doesn't involve string
manipulation on the port name or builder name.

* Scripts/webkitpy/layout_tests/port/builders.py:
(builder_path_from_name):
(all_builder_names):
Memoizing here is incorrect because the test override _exact_matches,
so these can return different values. In either case, I'm pretty sure these
are not remotely hot codepaths. I manually inspected all call sites and they're
all in high-level calls (e.g. execute calls for webkit-patch commands) and not
called in a loop.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.is_chromium):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._results_url):
(AbstractParallelRebaselineCommand.__init__):
(Rebaseline.__init__):
(Rebaseline):
(Rebaseline._builders_to_pull_from):
(Rebaseline._tests_to_update):
(Rebaseline.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline.mock_builders_to_pull_from):
(test_rebaseline):
(test_rebaseline_command_line_flags):
(test_rebaseline_multiple_builders):
(test_rebaseline_multiple_builders.mock_builders_to_pull_from):
(test_rebaseline_multiple_builders.mock_tests_to_update):
(test_rebaseline_multiple_builders_and_tests_command_line):
* Scripts/webkitpy/tool/mocktool.py:
(MockTool.irc):
(MockTool):
(MockTool.buildbot_for_builder_name):

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

8 years ago[GTK] Fix memory leaks by adopting allocation of GdkPixbuf
commit-queue@webkit.org [Tue, 10 Jul 2012 17:05:24 +0000 (17:05 +0000)]
[GTK] Fix memory leaks by adopting allocation of GdkPixbuf
https://bugs.webkit.org/show_bug.cgi?id=90790

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-10
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Fixed a memory leak in paintGdkPixbuf by adopting an allocation
of GdkPixbuf.

No new tests. No change in behavior.

* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintGdkPixbuf):

Source/WebKit/gtk:

Fixed a memory leak in WebKitFaviconDatabase by adopting an
allocation of GdkPixbuf.

* webkit/webkitfavicondatabase.cpp:
(getIconPixbufSynchronously):

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

8 years agoWeb Inspector: Geolocation override
kpiascik@rim.com [Tue, 10 Jul 2012 17:03:51 +0000 (17:03 +0000)]
Web Inspector: Geolocation override
https://bugs.webkit.org/show_bug.cgi?id=89365

Reviewed by Yong Li.

Source/WebCore:

Added a way to override the geoloation of a client using Web
Inspector.

New tests added.
* LayoutTests/inspector/geolocation-success.html:
* LayoutTests/inspector/getlocation-error.html:

* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController): Now store and
save the Page in m_page.
(WebCore::GeolocationController::positionChanged): Check if position
is overriden in Web Inspector.
* Modules/geolocation/GeolocationController.h:
(GeolocationController): Add member variable m_page for Page*.
* inspector/Inspector.json: Add new methods for setting and clearing
the GeoloationPosition and GeolocationError objects in InspectorPageAgent.
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::checkGeolocationPositionOrErrorImpl):
Add methods to check whether GeolocationPosition or GeolocationError
are set in InspectorPageAgent.
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::checkGeolocationPositionOrError):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent): Initialize new
member variables of GeolocationPosition and GeolocationError.
(WebCore::InspectorPageAgent::setGeolocationData): Set Position and
Error data and call appropriate GeolocaitonController methods.
(WebCore):
(WebCore::InspectorPageAgent::clearGeolocationData):
(WebCore::InspectorPageAgent::sendGeolocationError):
* inspector/InspectorPageAgent.h:
(WebCore::InspectorPageAgent::geolocationPosition): Getter for
GeolocationPosition.
(InspectorPageAgent):
* inspector/front-end/Settings.js: Added new settings for
GeolocationPosition and GeolocationError
* inspector/front-end/SettingsScreen.js: Added new control for
Geolocaiton.
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
(WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput):
(WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if):
(WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition):
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput):
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
* inspector/front-end/UserAgentSupport.js: New GeolocationPosition
Object added along with setting helper methods.  Added new setting
changed handlers for Position and Error.
(WebInspector.UserAgentSupport.GeolocationPosition):
(WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting):
(WebInspector.UserAgentSupport.GeolocationPosition.parseSetting):
(WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput):
(WebInspector.UserAgentSupport.prototype.get _onGeolocationErrorChanged):

LayoutTests:

Added new tests for Web Inspector overriding geolocation.

* inspector/geolocation-error-expected.txt: Added.
* inspector/geolocation-error.html: Added.
* inspector/geolocation-success-expected.txt: Added.
* inspector/geolocation-success.html: Added.

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

8 years agoDelayNode test should cover relate attribute
commit-queue@webkit.org [Tue, 10 Jul 2012 16:56:19 +0000 (16:56 +0000)]
DelayNode test should cover relate attribute
https://bugs.webkit.org/show_bug.cgi?id=90876

Patch by Li Yin <li.yin@intel.com> on 2012-07-10
Reviewed by Chris Rogers.

Let the test cover attributes of DelayNode.

* webaudio/delaynode-expected.txt:
* webaudio/delaynode.html:

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

8 years agoUnreviewed Chromium build fix for mac-release.
leandrogracia@chromium.org [Tue, 10 Jul 2012 16:37:02 +0000 (16:37 +0000)]
Unreviewed Chromium build fix for mac-release.

Fixing clang build after https://bugs.webkit.org/show_bug.cgi?id=90807

* public/WebSurroundingText.h:
(WebKit):

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

8 years agoWeb Inspector: Refactor resource revisions before moving to UISourceCode.
vsevik@chromium.org [Tue, 10 Jul 2012 16:23:09 +0000 (16:23 +0000)]
Web Inspector: Refactor resource revisions before moving to UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=90855

Reviewed by Pavel Feldman.

Revisions are now persisted based on mainFrame.loaderId, not resource.loaderId which makes filtering out stale persisted revisions easier.
Restoring revisions from local storage is separated from filtering out stale persisted revisions.
Resource._clearRevisionHistory and Resource._restoreRevisions are not static anymore.
Renamed localStorage field for persisting revisions: "resource-history" -> "revision-history"

* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.addRevision):
(WebInspector.Resource.prototype._restoreRevisionHistory):
(WebInspector.Resource.prototype._clearRevisionHistory):
(WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
(WebInspector.Resource.prototype.revertAndClearHistory):
(WebInspector.Revision):
(WebInspector.Revision._revisionHistoryRegistry):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut):
(WebInspector.Revision.prototype._persist):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._processCachedResources):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
* inspector/front-end/RevisionHistoryView.js:
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype._revisionAdded):

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

8 years agoEditing: Reproducible crasher when pasting a 0x0 image into Mail
commit-queue@webkit.org [Tue, 10 Jul 2012 16:18:40 +0000 (16:18 +0000)]
Editing: Reproducible crasher when pasting a 0x0 image into Mail
https://bugs.webkit.org/show_bug.cgi?id=90640
<rdar://problem/11141920>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-07-10
Reviewed by Brady Eidson.

Source/WebCore:

0x0 images don't get a resource representation in the WebArchive, so we need a null check

Test: TestWebKitAPI/Tests/mac/0.png
      TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm

* platform/mac/PasteboardMac.mm:
(WebCore::documentFragmentWithImageResource):

Tools:

Test cases for the patch. 0x0 images don't get a resource representation in the WebArchive, so we need a null check.

* TestWebKitAPI/Tests/mac/0.png: Added.
* TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm: Added.
(TestWebKitAPI):
(TestWebKitAPI::TEST):

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

8 years agoWeb Inspector: Make the Tab character 4 spaces width
commit-queue@webkit.org [Tue, 10 Jul 2012 16:11:08 +0000 (16:11 +0000)]
Web Inspector: Make the Tab character 4 spaces width
https://bugs.webkit.org/show_bug.cgi?id=90172

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-07-10
Reviewed by Pavel Feldman.

Do it to match most code editors' behavior.

* inspector/front-end/inspectorCommon.css:
(body):

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

8 years agoREGRESSION (r122168): Layout Test http/tests/misc/script-defer.html is failing
eric@webkit.org [Tue, 10 Jul 2012 16:09:08 +0000 (16:09 +0000)]
REGRESSION (r122168): Layout Test http/tests/misc/script-defer.html is failing
https://bugs.webkit.org/show_bug.cgi?id=90845

Reviewed by Alexey Proskuryakov.

Source/WebCore:

I was a bit overzealous in removing bool returns. This one still makes sense.
This just reverts the wrong part of my previous change.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
* html/parser/HTMLScriptRunner.h:
(HTMLScriptRunner):

LayoutTests:

The test should no longer flake.

* platform/chromium/TestExpectations:
* platform/qt/Skipped:

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

8 years agoWebSurroundingText layout tests should use the same code path as the rest of the...
leandrogracia@chromium.org [Tue, 10 Jul 2012 16:01:26 +0000 (16:01 +0000)]
WebSurroundingText layout tests should use the same code path as the rest of the feature.
https://bugs.webkit.org/show_bug.cgi?id=90807

Reviewed by Adam Barth.

Source/WebKit/chromium:

Replace the offset-based initialize method used only by LayoutTestController
with a point-based version to follow the same code path.

* public/WebSurroundingText.h:
(WebKit):
(WebSurroundingText):
* src/WebSurroundingText.cpp:
(WebKit::WebSurroundingText::initialize):

Tools:

Make the textSurroundingNode method take a pair of point coordinates
instead of a node offset.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::textSurroundingNode):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):

LayoutTests:

Make the textSurroundingNode method take a pair of point coordinates
instead of a node offset.

* platform/chromium/editing/surrounding-text/surrounding-text-expected.txt:
* platform/chromium/editing/surrounding-text/surrounding-text.html:

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

8 years agoInput type=range issue with events not being raised when value set in js
commit-queue@webkit.org [Tue, 10 Jul 2012 15:51:28 +0000 (15:51 +0000)]
Input type=range issue with events not being raised when value set in js
https://bugs.webkit.org/show_bug.cgi?id=84674

Source/WebCore:

Fix dispatching of change and click events for the input slider.
Prior to the fix, change events were not fired if the new value
matched the value at last change notification based on expected
behavior for text fields.  Clicks were not fired if the thumb
element was repositioned under the cursor on mouse down.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-07-10
Reviewed by Kent Tamura.

Tests: fast/events/click-range-slider.html
       fast/events/onchange-range-slider.html

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):

LayoutTests:

Ensure that click and change events are properly triggered for range
sliders.  Prior to the fix, change events were not fired if the new
value matched the value at last change notification based on expected
behavior for text fields.  Clicks were not fired if the thumb element
was positioned under the cursor on mouse down.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-07-10
Reviewed by Kent Tamura.

* fast/events/click-range-slider-expected.txt: Added.
* fast/events/click-range-slider.html: Added.
* fast/events/onchange-range-slider-expected.txt: Added.
* fast/events/onchange-range-slider.html: Added.

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

8 years ago[GTK] Add API to clear the cache to WebKit2 GTK+
carlosgc@webkit.org [Tue, 10 Jul 2012 15:30:55 +0000 (15:30 +0000)]
[GTK] Add API to clear the cache to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90856

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_clear_cache): Call
WKResourceCacheManagerClearCacheForAllOrigins() to clear all
resources currently cached.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

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

8 years agoUnreviewed GTK gardening, adding a text expectation for the
zandobersek@gmail.com [Tue, 10 Jul 2012 14:25:37 +0000 (14:25 +0000)]
Unreviewed GTK gardening, adding a text expectation for the
fast/js/global-constructors.html test. The test is failing because
of the in-progress removal of vendor prefix from DOM MutationObservers.

* platform/gtk/TestExpectations:

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

8 years ago[Qt] Unreviewed gardening, remove unnecessary expectations.
ossy@webkit.org [Tue, 10 Jul 2012 14:10:08 +0000 (14:10 +0000)]
[Qt] Unreviewed gardening, remove unnecessary expectations.

* platform/qt-mac/fast/block/float/float-not-removed-from-next-sibling-expected.txt: Removed.
* platform/qt-mac/fast/block/float/float-not-removed-from-next-sibling2-expected.txt: Removed.
* platform/qt-mac/fast/block/float/float-not-removed-from-next-sibling3-expected.txt: Removed.
* platform/qt-mac/fast/block/float/float-not-removed-from-next-sibling4-expected.txt: Removed.
* platform/qt-mac/plugins/mouse-click-plugin-clears-selection-expected.txt: Removed.
* platform/qt-mac/transforms/svg-vs-css-expected.txt: Removed.
* platform/qt-win/Skipped:
* platform/qt-win/fast/events/panScroll-click-hyperlink-expected.txt: Removed.
* platform/qt/fast/css/first-line-text-decoration-expected.png: Renamed from LayoutTests/platform/qt-linux/fast/css/first-line-text-decoration-expected.png.
* platform/qt/fast/css/first-line-text-decoration-expected.txt: Renamed from LayoutTests/platform/qt-linux/fast/css/first-line-text-decoration-expected.txt.
* platform/qt/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Renamed from LayoutTests/platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.png.
* platform/qt/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Renamed from LayoutTests/platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt.

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

8 years agoUnreviewed, rolling out r122207.
peter@chromium.org [Tue, 10 Jul 2012 13:31:26 +0000 (13:31 +0000)]
Unreviewed, rolling out r122207.
http://trac.webkit.org/changeset/122207
https://bugs.webkit.org/show_bug.cgi?id=90874

Broke the cr-windows bot (Requested by beverloo on #webkit).

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

* DEPS:

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

8 years ago[Qt] REGRESSION(r122175): It broke the Windows build
ossy@webkit.org [Tue, 10 Jul 2012 13:22:27 +0000 (13:22 +0000)]
[Qt] REGRESSION(r122175): It broke the Windows build
https://bugs.webkit.org/show_bug.cgi?id=90850

Reviewed by Noam Rosenthal.

* qmake/mkspecs/features/features.prf: Disable USE(3D_GRAPHICS) on Windows temporarily until proper fix.

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

8 years ago[Qt][ARM] Unreviewed gardening, skip failing/crashing tests to try to make the bot...
ossy@webkit.org [Tue, 10 Jul 2012 13:21:02 +0000 (13:21 +0000)]
[Qt][ARM] Unreviewed gardening, skip failing/crashing tests to try to make the bot green.

* platform/qt-arm/TestExpectations:

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

8 years ago[Qt][NRWT] Enable cascaded TestExpectations
ossy@webkit.org [Tue, 10 Jul 2012 13:05:17 +0000 (13:05 +0000)]
[Qt][NRWT] Enable cascaded TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89108

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-07-10
Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort.expectations_files):
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest._assert_expectations_files):
(QtPortTest.test_expectations_files):

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

8 years agoWeb Inspector: [Extensions API] simplify panel size check in extensions-panel.html
caseq@chromium.org [Tue, 10 Jul 2012 12:23:46 +0000 (12:23 +0000)]
Web Inspector: [Extensions API] simplify panel size check in extensions-panel.html
https://bugs.webkit.org/show_bug.cgi?id=90799

Reviewed by Vsevolod Vlasov.

- use window argument in Panel.onShown() to check panel window size;

* http/tests/inspector/resources/extension-panel.html:
* inspector/extensions/extensions-panel-expected.txt:
* inspector/extensions/extensions-panel.html:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/wincairo/Skipped:

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

8 years agoDon't destroy the decoded data of an image if WebKit is about to render the image.
kseo@webkit.org [Tue, 10 Jul 2012 12:10:47 +0000 (12:10 +0000)]
Don't destroy the decoded data of an image if WebKit is about to render the image.
https://bugs.webkit.org/show_bug.cgi?id=90721

Patch by Huang Dongsung <luxtella@company100.net> on 2012-07-10
Reviewed by Antti Koivisto.

When the cache capacity of the MemoryCache is exceeded, the decoded data of all
the CachedImages are destroyed. Even the images inside the viewport are
destroyed.  However, if the images need to be rendered again due to scoll events
or animation, they must be decoded again. As an extreme case, if there is an
animation with an image when MemoryCache is almost full, the image must be
decoded every frame. This slows down animation and needlessly consumes CPU
cycles.

Therefore, it is better to not destory the decoded data of an image if the image
is inside the viewport because there is high chance that the image needs to be
rendered again soon. This patch reduces the unnecessary repetition of image decoding
on low memory, and also relieves the memory fragmentation because it avoids reallocation
of image frames.

In addition, there is another positive side effect. Currently,
CachedImageClient::willRenderImage() is used only to determine if GIF animation needs
to be paused or not in CachedImage::shouldPauseAnimation(). This patch makes
GIF animation outside the viewort be paused.

This is also a prerequisite for parallel image decoders. Because parallel image
decoders decode an image asynchronously, clients cannot render the image at the time
when the request is made. Clients can draw the image later after receiving image
decoding complete notification. However, there is a problem because MemoryCache can
destroy the decoded data before clients actually render the image. So parallel image decoders
must prevent the decoded data from being destroyed if the image will be rendered
soon.

This patch may consume a little more memory, but furtunately the peak memory usage
is almost the same.

No new tests - no new testable functionality.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::likelyToBeUsedSoon):
(WebCore):
(WebCore::CachedImage::shouldPauseAnimation):
* loader/cache/CachedImage.h:
(CachedImage):
* loader/cache/CachedResource.h:
(CachedResource):
(WebCore::CachedResource::likelyToBeUsedSoon):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willRenderImage):

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

8 years ago[Qt] Unreviewed gardening. Skip a flakey test after r122168.
kkristof@inf.u-szeged.hu [Tue, 10 Jul 2012 12:06:37 +0000 (12:06 +0000)]
[Qt] Unreviewed gardening. Skip a flakey test after r122168.
https://bugs.webkit.org/show_bug.cgi?id=90845.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-07-10

* platform/qt/Skipped:

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

8 years ago[EFL] WebKit DRT and WTR fail to build due to undefined reference to WTF::MD5::*
commit-queue@webkit.org [Tue, 10 Jul 2012 12:02:53 +0000 (12:02 +0000)]
[EFL] WebKit DRT and WTR fail to build due to undefined reference to WTF::MD5::*
https://bugs.webkit.org/show_bug.cgi?id=90868

Unreviewed EFL build fix.

Correct CMake configuration to have EFL's DRT and WebKitTestRunner link
WTF library. This is needed to resolve undefined reference to WTF::MD5::*.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-10

* DumpRenderTree/efl/CMakeLists.txt:
* WebKitTestRunner/PlatformEfl.cmake:

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

8 years agoRTL calendar picker for <input type=date> is too narrow and clipped
tkent@chromium.org [Tue, 10 Jul 2012 11:19:37 +0000 (11:19 +0000)]
RTL calendar picker for <input type=date> is too narrow and clipped
https://bugs.webkit.org/show_bug.cgi?id=90864

Reviewed by Kentaro Hara.

.:

* ManualTests/forms/calendar-picker.html:
- Add isRTL:true for the arabic setting
- Reset the iframe size when the setting is changed.

Source/WebCore:

Tests: ManualTests/forms/calendar-picker.html

* Resources/calendarPicker.js:
(fixWindowSize):
Checks the left edge of elemenets in RTL.
(layout): Add dir=ltr for the manual test, which re-uses the document.

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

8 years agoRe-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS
ossy@webkit.org [Tue, 10 Jul 2012 10:49:47 +0000 (10:49 +0000)]
Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS
https://bugs.webkit.org/show_bug.cgi?id=90612

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2012-07-10
Reviewed by Csaba Osztrogonác.

MinGW was switched to use auto import/export of symbols on r44184.
From my understanding of the documentation, MinGW will not auto-export symbols
unless there are no explicit __declspec(dlexport) in the DLL already.

The issues that originally made us rely on the auto-import feature of MinGW
should now be resolved with the EXPORT_MACROS work. This patch re-enables them.

It also removes the GCC check for internal symbols hiding as the visibility should
already be hidden by default for both MSVC and GCC on Windows anyway.

* wtf/ExportMacros.h:

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

8 years agoUnreviewed gardening after r122204.
ossy@webkit.org [Tue, 10 Jul 2012 10:20:25 +0000 (10:20 +0000)]
Unreviewed gardening after r122204.

* fast/viewport/viewport-legacy-xhtmlmp-expected.txt:

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

8 years agoUnreviewed gardening
hayato@chromium.org [Tue, 10 Jul 2012 10:19:06 +0000 (10:19 +0000)]
Unreviewed gardening
Rebaseline.

* platform/chromium-linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png:

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

8 years agoREGRESSION(r122166): It made 170 tests crash on 32 bit platforms
ossy@webkit.org [Tue, 10 Jul 2012 09:36:13 +0000 (09:36 +0000)]
REGRESSION(r122166): It made 170 tests crash on 32 bit platforms
https://bugs.webkit.org/show_bug.cgi?id=90852

Patch by Filip Pizlo <fpizlo@apple.com> on 2012-07-10
Reviewed by Zoltan Herczeg.

If we can't use the range filter, we should still make sure that the
address is remotely sane, otherwise the hashtables will assert.

* jit/JITStubRoutine.h:
(JSC::JITStubRoutine::passesFilter):

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

8 years agoUnreviewed. Rolled DEPS.
jochen@chromium.org [Tue, 10 Jul 2012 09:32:21 +0000 (09:32 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

8 years agoDFG recompilation heuristics should be based on count, not rate
fpizlo@apple.com [Tue, 10 Jul 2012 09:18:47 +0000 (09:18 +0000)]
DFG recompilation heuristics should be based on count, not rate
https://bugs.webkit.org/show_bug.cgi?id=90146

Reviewed by Oliver Hunt.

Rolling r121511 back in after fixing the DFG's interpretation of op_div
profiling, with Gavin's rubber stamp.

This removes a bunch of code that was previously trying to prevent spurious
reoptimizations if a large enough majority of executions of a code block did
not result in OSR exit. It turns out that this code was purely harmful. This
patch removes all of that logic and replaces it with a dead-simple
heuristic: if you exit more than N times (where N is an exponential function
of the number of times the code block has already been recompiled) then we
will recompile.

This appears to be a broad ~1% win on many benchmarks large and small.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::couldTakeSpecialFastCase):
(CodeBlock):
(JSC::CodeBlock::osrExitCounter):
(JSC::CodeBlock::countOSRExit):
(JSC::CodeBlock::addressOfOSRExitCounter):
(JSC::CodeBlock::offsetOfOSRExitCounter):
(JSC::CodeBlock::adjustedExitCountThreshold):
(JSC::CodeBlock::exitCountThresholdForReoptimization):
(JSC::CodeBlock::exitCountThresholdForReoptimizationFromLoop):
(JSC::CodeBlock::shouldReoptimizeNow):
(JSC::CodeBlock::shouldReoptimizeFromLoopNow):
* bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter::setThreshold):
* bytecode/ExecutionCounter.h:
(ExecutionCounter):
(JSC::ExecutionCounter::clippedThreshold):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeDivSafe):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGOSRExitCompiler.cpp:
(JSC::DFG::OSRExitCompiler::handleExitCounts):
* dfg/DFGOperations.cpp:
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Options.h:
(JSC):

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

8 years agoUnreviewed, rolling out r122178.
ossy@webkit.org [Tue, 10 Jul 2012 08:46:08 +0000 (08:46 +0000)]
Unreviewed, rolling out r122178.
http://trac.webkit.org/changeset/122178
https://bugs.webkit.org/show_bug.cgi?id=90857

browser tests, PrerenderBrowserTest.PrerenderFavicon and other
tests, started to fail (Requested by hayato on #webkit).

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

.:

* Source/autotools/symbols.filter:

Source/WebCore:

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::iconURLs):
(WebCore::Document::addIconURL):
(WebCore::Document::setUseSecureKeyboardEntryWhenActive):
* dom/Document.h:
(Document):
* html/HTMLLinkElement.cpp:
* html/HTMLLinkElement.h:
(HTMLLinkElement):
* testing/Internals.cpp:
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

* win/WebKit2.def:

LayoutTests:

* fast/dom/icon-url-change-expected.txt: Removed.
* fast/dom/icon-url-change.html: Removed.
* fast/dom/icon-url-list-expected.txt: Removed.
* fast/dom/icon-url-list.html: Removed.
* fast/dom/icon-url-property-expected.txt:
* fast/dom/icon-url-property.html:
* platform/chromium/TestExpectations:

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

8 years agoLayoutTestController.dumpConfigurationForViewport should move to Internals
abarth@webkit.org [Tue, 10 Jul 2012 07:55:50 +0000 (07:55 +0000)]
LayoutTestController.dumpConfigurationForViewport should move to Internals
https://bugs.webkit.org/show_bug.cgi?id=45652

Reviewed by Eric Seidel.

Source/WebCore:

This patch replaces LayoutTestController.dumpConfigurationForViewport
with Internals.configurationForViewport. The old
dumpConfigurationForViewport function just ended up calling WebCore
functions anyway, so there's no benefit in implementing the API in the
LayoutTestController.

As a result, these tests can now run on every port.

* testing/Internals.cpp:
(WebCore::Internals::configurationForViewport):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/blackberry:

* WebKitSupport/DumpRenderTreeSupport.cpp:
* WebKitSupport/DumpRenderTreeSupport.h:
(DumpRenderTreeSupport):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

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

Tools:

Remove dumpConfigurationForViewport from LayoutTestController. This API
has been replaced by an API on Internals that does the same thing in a
port-agnostic way.

* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:

LayoutTests:

Update these tests to use the Internals API rather than the
LayoutTestController API.  This changed the output format of the tests
slightly because the LayoutTestController API printed directly to
stdout whereas the new API just returns a string that we pipe to stdout
using alert.

This patch also cleans up some platform-specific results for these
tests that had drifted out of sync a bit. The patch also correctly
marks the legacy tests as failing on GTK instead of checking in bogus
expected results for them.

This patch unskips these tests on Chromium. Once this patch lands, I'll
go through an unskip them on the other ports as well.

* fast/viewport/viewport-1-expected.txt:
* fast/viewport/viewport-1.html:
* fast/viewport/viewport-10-expected.txt:
* fast/viewport/viewport-10.html:
* fast/viewport/viewport-100-expected.txt:
* fast/viewport/viewport-100.html:
* fast/viewport/viewport-101-expected.txt:
* fast/viewport/viewport-101.html:
* fast/viewport/viewport-102-expected.txt:
* fast/viewport/viewport-102.html:
* fast/viewport/viewport-103-expected.txt:
* fast/viewport/viewport-103.html:
* fast/viewport/viewport-104-expected.txt:
* fast/viewport/viewport-104.html:
* fast/viewport/viewport-105-expected.txt:
* fast/viewport/viewport-105.html:
* fast/viewport/viewport-106-expected.txt:
* fast/viewport/viewport-106.html:
* fast/viewport/viewport-107-expected.txt:
* fast/viewport/viewport-107.html:
* fast/viewport/viewport-108-expected.txt:
* fast/viewport/viewport-108.html:
* fast/viewport/viewport-109-expected.txt:
* fast/viewport/viewport-109.html:
* fast/viewport/viewport-11-expected.txt:
* fast/viewport/viewport-11.html:
* fast/viewport/viewport-110-expected.txt:
* fast/viewport/viewport-110.html:
* fast/viewport/viewport-111-expected.txt:
* fast/viewport/viewport-111.html:
* fast/viewport/viewport-112-expected.txt:
* fast/viewport/viewport-112.html:
* fast/viewport/viewport-113-expected.txt:
* fast/viewport/viewport-113.html:
* fast/viewport/viewport-114-expected.txt:
* fast/viewport/viewport-114.html:
* fast/viewport/viewport-115-expected.txt:
* fast/viewport/viewport-115.html:
* fast/viewport/viewport-116-expected.txt:
* fast/viewport/viewport-116.html:
* fast/viewport/viewport-117-expected.txt:
* fast/viewport/viewport-117.html:
* fast/viewport/viewport-118-expected.txt:
* fast/viewport/viewport-118.html:
* fast/viewport/viewport-119-expected.txt:
* fast/viewport/viewport-119.html:
* fast/viewport/viewport-12-expected.txt:
* fast/viewport/viewport-12.html:
* fast/viewport/viewport-120-expected.txt:
* fast/viewport/viewport-120.html:
* fast/viewport/viewport-121-expected.txt:
* fast/viewport/viewport-121.html:
* fast/viewport/viewport-122-expected.txt:
* fast/viewport/viewport-122.html:
* fast/viewport/viewport-123-expected.txt:
* fast/viewport/viewport-123.html:
* fast/viewport/viewport-124-expected.txt:
* fast/viewport/viewport-124.html:
* fast/viewport/viewport-125-expected.txt:
* fast/viewport/viewport-125.html:
* fast/viewport/viewport-126-expected.txt: Renamed from LayoutTests/platform/gtk/fast/viewport/viewport-126-expected.txt.
* fast/viewport/viewport-126.html:
* fast/viewport/viewport-127-expected.txt: Renamed from LayoutTests/platform/gtk/fast/viewport/viewport-127-expected.txt.
* fast/viewport/viewport-127.html:
* fast/viewport/viewport-128-expected.txt:
* fast/viewport/viewport-128.html:
* fast/viewport/viewport-129-expected.txt:
* fast/viewport/viewport-129.html:
* fast/viewport/viewport-13-expected.txt:
* fast/viewport/viewport-13.html:
* fast/viewport/viewport-130-expected.txt:
* fast/viewport/viewport-130.html:
* fast/viewport/viewport-131-expected.txt:
* fast/viewport/viewport-131.html:
* fast/viewport/viewport-132-expected.txt:
* fast/viewport/viewport-132.html:
* fast/viewport/viewport-14-expected.txt:
* fast/viewport/viewport-14.html:
* fast/viewport/viewport-15-expected.txt:
* fast/viewport/viewport-15.html:
* fast/viewport/viewport-16-expected.txt:
* fast/viewport/viewport-16.html:
* fast/viewport/viewport-17-expected.txt:
* fast/viewport/viewport-17.html:
* fast/viewport/viewport-18-expected.txt:
* fast/viewport/viewport-18.html:
* fast/viewport/viewport-19-expected.txt:
* fast/viewport/viewport-19.html:
* fast/viewport/viewport-2-expected.txt:
* fast/viewport/viewport-2.html:
* fast/viewport/viewport-20-expected.txt:
* fast/viewport/viewport-20.html:
* fast/viewport/viewport-21-expected.txt:
* fast/viewport/viewport-21.html:
* fast/viewport/viewport-22-expected.txt:
* fast/viewport/viewport-22.html:
* fast/viewport/viewport-23-expected.txt:
* fast/viewport/viewport-23.html:
* fast/viewport/viewport-24-expected.txt:
* fast/viewport/viewport-24.html:
* fast/viewport/viewport-25-expected.txt:
* fast/viewport/viewport-25.html:
* fast/viewport/viewport-26-expected.txt:
* fast/viewport/viewport-26.html:
* fast/viewport/viewport-27-expected.txt:
* fast/viewport/viewport-27.html:
* fast/viewport/viewport-28-expected.txt:
* fast/viewport/viewport-28.html:
* fast/viewport/viewport-29-expected.txt:
* fast/viewport/viewport-29.html:
* fast/viewport/viewport-3-expected.txt:
* fast/viewport/viewport-3.html:
* fast/viewport/viewport-30-expected.txt:
* fast/viewport/viewport-30.html:
* fast/viewport/viewport-31-expected.txt:
* fast/viewport/viewport-31.html:
* fast/viewport/viewport-32-expected.txt:
* fast/viewport/viewport-32.html:
* fast/viewport/viewport-33-expected.txt:
* fast/viewport/viewport-33.html:
* fast/viewport/viewport-34-expected.txt:
* fast/viewport/viewport-34.html:
* fast/viewport/viewport-35-expected.txt:
* fast/viewport/viewport-35.html:
* fast/viewport/viewport-36-expected.txt:
* fast/viewport/viewport-36.html:
* fast/viewport/viewport-37-expected.txt:
* fast/viewport/viewport-37.html:
* fast/viewport/viewport-38-expected.txt:
* fast/viewport/viewport-38.html:
* fast/viewport/viewport-39-expected.txt:
* fast/viewport/viewport-39.html:
* fast/viewport/viewport-4-expected.txt:
* fast/viewport/viewport-4.html:
* fast/viewport/viewport-40-expected.txt:
* fast/viewport/viewport-40.html:
* fast/viewport/viewport-41-expected.txt:
* fast/viewport/viewport-41.html:
* fast/viewport/viewport-42-expected.txt:
* fast/viewport/viewport-42.html:
* fast/viewport/viewport-43-expected.txt:
* fast/viewport/viewport-43.html:
* fast/viewport/viewport-44-expected.txt:
* fast/viewport/viewport-44.html:
* fast/viewport/viewport-45-expected.txt:
* fast/viewport/viewport-45.html:
* fast/viewport/viewport-46-expected.txt:
* fast/viewport/viewport-46.html:
* fast/viewport/viewport-47-expected.txt:
* fast/viewport/viewport-47.html:
* fast/viewport/viewport-48-expected.txt:
* fast/viewport/viewport-48.html:
* fast/viewport/viewport-49-expected.txt:
* fast/viewport/viewport-49.html:
* fast/viewport/viewport-5-expected.txt:
* fast/viewport/viewport-5.html:
* fast/viewport/viewport-50-expected.txt:
* fast/viewport/viewport-50.html:
* fast/viewport/viewport-51-expected.txt:
* fast/viewport/viewport-51.html:
* fast/viewport/viewport-52-expected.txt:
* fast/viewport/viewport-52.html:
* fast/viewport/viewport-53-expected.txt:
* fast/viewport/viewport-53.html:
* fast/viewport/viewport-54-expected.txt:
* fast/viewport/viewport-54.html:
* fast/viewport/viewport-55-expected.txt:
* fast/viewport/viewport-55.html:
* fast/viewport/viewport-56-expected.txt:
* fast/viewport/viewport-56.html:
* fast/viewport/viewport-57-expected.txt:
* fast/viewport/viewport-57.html:
* fast/viewport/viewport-58-expected.txt:
* fast/viewport/viewport-58.html:
* fast/viewport/viewport-59-expected.txt:
* fast/viewport/viewport-59.html:
* fast/viewport/viewport-6-expected.txt:
* fast/viewport/viewport-6.html:
* fast/viewport/viewport-60-expected.txt:
* fast/viewport/viewport-60.html:
* fast/viewport/viewport-61-expected.txt:
* fast/viewport/viewport-61.html:
* fast/viewport/viewport-62-expected.txt:
* fast/viewport/viewport-62.html:
* fast/viewport/viewport-63-expected.txt:
* fast/viewport/viewport-63.html:
* fast/viewport/viewport-64-expected.txt:
* fast/viewport/viewport-64.html:
* fast/viewport/viewport-65-expected.txt: Renamed from LayoutTests/platform/gtk/fast/viewport/viewport-65-expected.txt.
* fast/viewport/viewport-65.html:
* fast/viewport/viewport-66-expected.txt:
* fast/viewport/viewport-66.html:
* fast/viewport/viewport-67-expected.txt:
* fast/viewport/viewport-67.html:
* fast/viewport/viewport-68-expected.txt:
* fast/viewport/viewport-68.html:
* fast/viewport/viewport-69-expected.txt:
* fast/viewport/viewport-69.html:
* fast/viewport/viewport-7-expected.txt:
* fast/viewport/viewport-7.html:
* fast/viewport/viewport-70-expected.txt:
* fast/viewport/viewport-70.html:
* fast/viewport/viewport-71-expected.txt:
* fast/viewport/viewport-71.html:
* fast/viewport/viewport-72-expected.txt:
* fast/viewport/viewport-72.html:
* fast/viewport/viewport-73-expected.txt:
* fast/viewport/viewport-73.html:
* fast/viewport/viewport-74-expected.txt:
* fast/viewport/viewport-74.html:
* fast/viewport/viewport-75-expected.txt:
* fast/viewport/viewport-75.html:
* fast/viewport/viewport-76-expected.txt:
* fast/viewport/viewport-76.html:
* fast/viewport/viewport-77-expected.txt:
* fast/viewport/viewport-77.html:
* fast/viewport/viewport-78-expected.txt:
* fast/viewport/viewport-78.html:
* fast/viewport/viewport-79-expected.txt:
* fast/viewport/viewport-79.html:
* fast/viewport/viewport-8-expected.txt:
* fast/viewport/viewport-8.html:
* fast/viewport/viewport-80-expected.txt:
* fast/viewport/viewport-80.html:
* fast/viewport/viewport-81-expected.txt:
* fast/viewport/viewport-81.html:
* fast/viewport/viewport-82-expected.txt: Renamed from LayoutTests/platform/gtk/fast/viewport/viewport-82-expected.txt.
* fast/viewport/viewport-82.html:
* fast/viewport/viewport-83-expected.txt:
* fast/viewport/viewport-83.html:
* fast/viewport/viewport-84-expected.txt: Renamed from LayoutTests/platform/efl/fast/viewport/viewport-87-expected.txt.
* fast/viewport/viewport-84.html:
* fast/viewport/viewport-85-expected.txt:
* fast/viewport/viewport-85.html:
* fast/viewport/viewport-86-expected.txt:
* fast/viewport/viewport-86.html:
* fast/viewport/viewport-87-expected.txt: Renamed from LayoutTests/platform/gtk/fast/viewport/viewport-87-expected.txt.
* fast/viewport/viewport-87.html:
* fast/viewport/viewport-88-expected.txt:
* fast/viewport/viewport-88.html:
* fast/viewport/viewport-9-expected.txt:
* fast/viewport/viewport-9.html:
* fast/viewport/viewport-90-expected.txt:
* fast/viewport/viewport-90.html:
* fast/viewport/viewport-91-expected.txt:
* fast/viewport/viewport-91.html:
* fast/viewport/viewport-legacy-handheldfriendly-expected.txt:
* fast/viewport/viewport-legacy-handheldfriendly.html:
* fast/viewport/viewport-legacy-mobileoptimized-2-expected.txt:
* fast/viewport/viewport-legacy-mobileoptimized-2.html:
* fast/viewport/viewport-legacy-mobileoptimized-3-expected.txt:
* fast/viewport/viewport-legacy-mobileoptimized-3.html:
* fast/viewport/viewport-legacy-mobileoptimized-expected.txt:
* fast/viewport/viewport-legacy-mobileoptimized.html:
* fast/viewport/viewport-legacy-ordering-1-expected.txt:
* fast/viewport/viewport-legacy-ordering-1.html:
* fast/viewport/viewport-legacy-ordering-2-expected.txt:
* fast/viewport/viewport-legacy-ordering-2.html:
* fast/viewport/viewport-legacy-ordering-3-expected.txt:
* fast/viewport/viewport-legacy-ordering-3.html:
* fast/viewport/viewport-legacy-ordering-4-expected.txt:
* fast/viewport/viewport-legacy-ordering-4.html:
* fast/viewport/viewport-legacy-ordering-5-expected.txt:
* fast/viewport/viewport-legacy-ordering-5.html:
* fast/viewport/viewport-legacy-ordering-6-expected.txt:
* fast/viewport/viewport-legacy-ordering-6.html:
* fast/viewport/viewport-legacy-ordering-7-expected.txt:
* fast/viewport/viewport-legacy-ordering-7.html:
* fast/viewport/viewport-legacy-ordering-8-expected.txt:
* fast/viewport/viewport-legacy-ordering-8.html:
* fast/viewport/viewport-legacy-ordering-9-expected.txt:
* fast/viewport/viewport-legacy-ordering-9.html:
* fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype-expected.txt:
* fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html:
* fast/viewport/viewport-legacy-xhtmlmp-ordering-expected.txt:
* fast/viewport/viewport-legacy-xhtmlmp-ordering.html:
* fast/viewport/viewport-legacy-xhtmlmp.html:
* fast/viewport/viewport-warnings-1-expected.txt:
* fast/viewport/viewport-warnings-1.html:
* fast/viewport/viewport-warnings-2-expected.txt:
* fast/viewport/viewport-warnings-2.html:
* fast/viewport/viewport-warnings-3-expected.txt:
* fast/viewport/viewport-warnings-3.html:
* fast/viewport/viewport-warnings-4-expected.txt:
* fast/viewport/viewport-warnings-4.html:
* fast/viewport/viewport-warnings-5-expected.txt:
* fast/viewport/viewport-warnings-5.html:
* fast/viewport/viewport-warnings-6-expected.txt:
* fast/viewport/viewport-warnings-6.html:
* platform/chromium/TestExpectations:
* platform/efl/fast/viewport/viewport-126-expected.txt: Removed.
* platform/efl/fast/viewport/viewport-127-expected.txt: Removed.
* platform/efl/fast/viewport/viewport-65-expected.txt: Removed.
* platform/efl/fast/viewport/viewport-82-expected.txt: Removed.
* platform/efl/fast/viewport/viewport-84-expected.txt: Removed.
* platform/gtk/TestExpectations:
* platform/gtk/fast/viewport/viewport-84-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-handheldfriendly-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-mobileoptimized-2-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-mobileoptimized-3-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-mobileoptimized-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-ordering-5-expected.txt: Removed.
* platform/gtk/fast/viewport/viewport-legacy-ordering-6-expected.txt: Removed.

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

8 years ago[Qt] Skipped a new failing test, because of a missing feature
ossy@webkit.org [Tue, 10 Jul 2012 07:49:19 +0000 (07:49 +0000)]
[Qt] Skipped a new failing test, because of a missing feature
(testRunner.setStorageDatabaseIdleInterval()).

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-07-10
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

8 years agoUnreviewed. Fix GTK+ build after r122175.
carlosgc@webkit.org [Tue, 10 Jul 2012 07:43:17 +0000 (07:43 +0000)]
Unreviewed. Fix GTK+ build after r122175.

* platform/graphics/texmap/TextureMapperLayer.cpp: Include
CString.h when using cairo.

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

8 years ago[Chromium-Mac] Form related layout tests cause timeout
yosin@chromium.org [Tue, 10 Jul 2012 07:38:58 +0000 (07:38 +0000)]
[Chromium-Mac] Form related layout tests cause timeout
https://bugs.webkit.org/show_bug.cgi?id=90851

Reviewed by Kent Tamura.

This patch changed to pass a valid argument to LocaleMac
constructor.

No new tests. No more timeout in tests listed in the bug.

* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::currentLocale): Changed to pass local identifier string
instead of NSLocale object.

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

8 years agoWebSocket: Remove hixie76 protocol implementation
abarth@webkit.org [Tue, 10 Jul 2012 07:31:02 +0000 (07:31 +0000)]
WebSocket: Remove hixie76 protocol implementation
https://bugs.webkit.org/show_bug.cgi?id=88620

Patch by Yuta Kitamura <yutak@chromium.org> on 2012-07-10
Reviewed by Adam Barth.

Source/WebCore:

This change removes code that implements the old hixie-76 WebSocket protocol which
isn't used anymore.

No new tests are added, because the code using the current protocol should not be
affected. Tests for hixie-76 protocol are skipped (these tests will be removed
eventually).

* Modules/websockets/ThreadableWebSocketChannel.h:
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
(ThreadableWebSocketChannelClientWrapper):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::WebSocket):
(WebCore::WebSocket::connect):
(WebCore::WebSocket::send):
(WebCore::WebSocket::protocol):
(WebCore::WebSocket::extensions):
(WebCore::WebSocket::binaryType):
(WebCore::WebSocket::setBinaryType):
(WebCore::WebSocket::didReceiveMessageError):
(WebCore::WebSocket::didClose):
(WebCore::WebSocket::getFramingOverhead):
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::didCloseSocketStream):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::startClosingHandshake):
(WebCore::WebSocketChannel::enqueueTextFrame):
(WebCore::WebSocketChannel::enqueueRawFrame):
(WebCore::WebSocketChannel::enqueueBlobFrame):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::abortOutgoingFrameQueue):
* Modules/websockets/WebSocketChannel.h:
(WebSocketChannel):
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::clientHandshakeMessage):
(WebCore::WebSocketHandshake::clientHandshakeRequest):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::checkResponseHeaders):
* Modules/websockets/WebSocketHandshake.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
(WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
(WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WorkerThreadableWebSocketChannel):
(Peer):
(Bridge):

LayoutTests:

Skip tests under hixie76 directory in all ports, because hixie-76 protocol support is
being dropped. These tests will be removed later.

* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/Skipped:
* platform/wk2/Skipped:

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

8 years agoThreadsafety issues in WebScriptObject
barraclough@apple.com [Tue, 10 Jul 2012 07:08:53 +0000 (07:08 +0000)]
Threadsafety issues in WebScriptObject
https://bugs.webkit.org/show_bug.cgi?id=90849

Reviewed by Filip Pizlo.

WebScriptObject maintains a NSMap of wrapper objects. A race condition exists
between a wrapper being retrieved from the map, and being released - if the
final release on an object is called between a call to getJSWrapper and the
subsequent retain, we may end up with a stale object reference.

We can make this safe by hoisting the removal from the map from delloc up into
release (if the retainCount is 1), and locking release against retrieval from
the map. Since release may be called from another thread, and NSMap is not
threadsafe, we'd better lock around all access to the map (this fix already
necessitates get & remove to be locked, so this just adds 'add', too).

* bindings/objc/WebScriptObject.mm:
(WebCore::createJSWrapper):
    - lock around getJSWrapper, retain.
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
    - lock around addJSWrapper.
(-[WebScriptObject release]):
    - Added; removeJSWrapper for last release, lock & synchronized vs. getJSWrapper.
(-[WebScriptObject dealloc]):
    - removeJSWrapper call hoisted into release.

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

8 years ago[EFL] Battery status code needs refactoring to be reused in WebKit2
commit-queue@webkit.org [Tue, 10 Jul 2012 06:42:40 +0000 (06:42 +0000)]
[EFL] Battery status code needs refactoring to be reused in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90760

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-09
Reviewed by Hajime Morita.

Source/WebCore:

Rename BatteryClientEfl to BatteryProviderEfl and remove dependency
on BatteryController by introducing the BatteryProviderEflClient
interface. This will allow reusing the BatteryProviderEfl class
in WebKit2.

No new tests. Already tested by batterystatus/*.

* PlatformEfl.cmake:
* platform/efl/BatteryProviderEfl.cpp: Renamed from Source/WebCore/platform/efl/BatteryClientEfl.cpp.
(WebCore):
(WebCore::BatteryProviderEfl::BatteryProviderEfl):
(WebCore::BatteryProviderEfl::batteryStatus):
(WebCore::BatteryProviderEfl::startUpdating):
(WebCore::BatteryProviderEfl::stopUpdating):
(WebCore::BatteryProviderEfl::setBatteryStatus):
(WebCore::BatteryProviderEfl::timerFired):
(WebCore::BatteryProviderEfl::getBatteryStatus):
(WebCore::BatteryProviderEfl::setBatteryClient):
* platform/efl/BatteryProviderEfl.h: Copied from Source/WebCore/platform/efl/BatteryClientEfl.h.
(WebCore):
(BatteryProviderEfl):
(WebCore::BatteryProviderEfl::~BatteryProviderEfl):
* platform/efl/BatteryProviderEflClient.h: Added.
(WebCore):
(BatteryProviderEflClient):

Source/WebKit:

Add BatteryClientEfl to PlatformEfl.cmake.

* PlatformEfl.cmake:

Source/WebKit/efl:

Add BatteryClientEfl to WebKit, which uses BatteryProviderEfl from
WebCore internally.

* WebCoreSupport/BatteryClientEfl.cpp: Added.
(BatteryClientEfl::BatteryClientEfl):
(BatteryClientEfl::setController):
(BatteryClientEfl::startUpdating):
(BatteryClientEfl::stopUpdating):
(BatteryClientEfl::batteryControllerDestroyed):
(BatteryClientEfl::didChangeBatteryStatus):
* WebCoreSupport/BatteryClientEfl.h: Renamed from Source/WebCore/platform/efl/BatteryClientEfl.h.
(WebCore):
(BatteryClientEfl):
(BatteryClientEfl::~BatteryClientEfl):
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

8 years agoUnreviewed gardening.
hayato@chromium.org [Tue, 10 Jul 2012 05:55:48 +0000 (05:55 +0000)]
Unreviewed gardening.
Fix a wrong fix of r122194.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):

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

8 years agoAdd ENABLE_DIALOG_ELEMENT and skeleton files
commit-queue@webkit.org [Tue, 10 Jul 2012 05:45:21 +0000 (05:45 +0000)]
Add ENABLE_DIALOG_ELEMENT and skeleton files
https://bugs.webkit.org/show_bug.cgi?id=90521

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-07-09
Reviewed by Kent Tamura.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added.
The feature is diabled by default.

No new tests, as there is no behavior change.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog.
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::dialogElementEnabled):
(WebCore::RuntimeEnabledFeatures::setDialogElementEnabled):
* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::dialogElementEnabled):
(WebCore):
* dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off.
* html/HTMLDialogElement.cpp: Added.
(WebCore):
(WebCore::HTMLDialogElement::HTMLDialogElement):
(WebCore::HTMLDialogElement::create):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::show):
* html/HTMLDialogElement.h: Added.
(WebCore):
(HTMLDialogElement):
* html/HTMLDialogElement.idl: Added.
* html/HTMLElementsAllInOne.cpp:
* html/HTMLTagNames.in:
* page/DOMWindow.idl:

Source/WebKit/chromium:

* features.gypi:
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableDialogElement):
(WebKit):
(WebKit::WebRuntimeFeatures::isDialogElementEnabled):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

8 years agoUnreviewed gardening.
hayato@chromium.org [Tue, 10 Jul 2012 05:22:11 +0000 (05:22 +0000)]
Unreviewed gardening.
Remove an assertion starting to fail on interactive_ui_tests on Chromium OS.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):

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

8 years agoUnreviewed gardening.
hayato@chromium.org [Tue, 10 Jul 2012 04:56:23 +0000 (04:56 +0000)]
Unreviewed gardening.
Build fix after r122175

* WebCore.gypi: Remove Source/WebCore/platform/graphics/qt/Extensions3DQt.{cpp,h}

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

8 years agoImprove the boilerplate generated by prepare-ChangeLog
tkent@chromium.org [Tue, 10 Jul 2012 04:35:05 +0000 (04:35 +0000)]
Improve the boilerplate generated by prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=89560

Reviewed by Ryosuke Niwa.

Produce the following boilerplate:

> 2012-06-20  Kent Tamura  <tkent@chromium.org>
>
>         Need a short description (Oops!).
>         Need the bug URL (Oops!).
>
>         Reviewed by NOBODY (Oops!).
>
>         Additional information of the change such as approach, rationale. Please add per-function descriptions below. (Oops!).
>
>         No new tests (Oops!).

* Scripts/prepare-ChangeLog:
(generateNewChangeLogs): Generate the updated template.
* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.update_with_unreviewed_message):
Update the pattern for the beginning of the boilerplate.
(ChangeLog.set_short_description_and_bug_url):
- Use self._changelog_indent
- Update the pattern for the description line
- Skip the bug boilerplate.
We substitute the specified bug URL to the description boilerplate
because we need to add it even if the bug URL boilerplate is missing.
* Scripts/webkitpy/common/checkout/changelog_unittest.py: Update the boilerplate data.
(test_set_short_description_and_bug_url):
- Update the description boilerplate.
- Add a test for a case with both of the description boilerplace and the
  bug URL boilerplate.
* Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:
(PrepareChangeLogTest.test_ensure_bug_url): Update the expected boilerplate.

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

8 years agoImprove performance of RenderInline::absoluteQuads for deeply nested inlines.
ddkilzer@apple.com [Tue, 10 Jul 2012 04:34:13 +0000 (04:34 +0000)]
Improve performance of RenderInline::absoluteQuads for deeply nested inlines.
https://bugs.webkit.org/show_bug.cgi?id=90715

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-07-09
Reviewed by Maciej Stachowiak.

No new tests: functionality unchanged.

* rendering/RenderInline.cpp: Cache transformation from local to absolute coordinates using a
RenderGeometryMap and use it for subsequent mappings.
(WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext):
(WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::operator()):

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

8 years ago[Chromium-Mac] Implement functions for localized time format information
yosin@chromium.org [Tue, 10 Jul 2012 04:31:39 +0000 (04:31 +0000)]
[Chromium-Mac] Implement functions for localized time format information
https://bugs.webkit.org/show_bug.cgi?id=90237

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces following localized time format related
functions:
  - localizeTimeFormatText()
  - localizeShortTimeFormatText()
  - timeAMPMLabels
for Mac OSX in feature flag: ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

These function will be used by input type "time" with multiple input
fields UI.

Note: ICU version of localized time format functions are implemented
in https://bugs.webkit.org/show_bug.cgi?id=89965

Tests: WebKit/chromium/tests/LocaleMacTest.cpp

* platform/text/mac/LocaleMac.h:
(LocaleMac): Added time format related functions and variables.
* platform/text/mac/LocaleMac.mm:
(WebCore::createDateTimeFormatter): Added. A helper function for creating date time formatter.
(WebCore::LocaleMac::createShortDateFormatter): Changed to use createDateTimeFormatter.
(WebCore::LocaleMac::createTimeFormatter): Added.
(WebCore::LocaleMac::createShortTimeFormatter): Added.
(WebCore::LocaleMac::timeFormatText): Added.
(WebCore::LocaleMac::shortTimeFormatText): Added.
(WebCore::LocaleMac::timeAMPMLabels): Added.

Source/WebKit/chromium:

* tests/LocaleMacTest.cpp:
(LocaleMacTest):
(LocaleMacTest::timeFormatText):
(LocaleMacTest::shortTimeFormatText):
(LocaleMacTest::timeAMPMLabel):
(TEST_F):

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

8 years ago[CSS Shaders] The FECustomFilter is not making the GL context active
achicu@adobe.com [Tue, 10 Jul 2012 03:27:37 +0000 (03:27 +0000)]
[CSS Shaders] The FECustomFilter is not making the GL context active
https://bugs.webkit.org/show_bug.cgi?id=90840

Reviewed by Dean Jackson.

I've added a couple of makeContextCurrent() in the FECustomFilter related classes.
Also, removed the assumption that GraphicsContext3D::create() never returns 0.

No new tests, this was crashing on existing tests.

* platform/graphics/filters/CustomFilterCompiledProgram.cpp:
(WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
(WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
* platform/graphics/filters/CustomFilterGlobalContext.cpp:
(WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
* platform/graphics/filters/CustomFilterMesh.cpp:
(WebCore::CustomFilterMesh::CustomFilterMesh):
(WebCore::CustomFilterMesh::~CustomFilterMesh):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::deleteRenderBuffers):
(WebCore::FECustomFilter::platformApplySoftware):
(WebCore::FECustomFilter::initializeContext):
* platform/graphics/filters/FECustomFilter.h:
(FECustomFilter):

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

8 years agoREGRESSION(r114862-r114886): Fix a crash by switching the input type to hidden.
tkent@chromium.org [Tue, 10 Jul 2012 03:18:15 +0000 (03:18 +0000)]
REGRESSION(r114862-r114886): Fix a crash by switching the input type to hidden.
https://bugs.webkit.org/show_bug.cgi?id=90774

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/forms/hidden/change-type-to-hidden-after-updating-value.html

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
Pass a copy of the existing Attribute object.

LayoutTests:

* fast/forms/hidden/change-type-to-hidden-after-updating-value.html: Added.
* fast/forms/hidden/change-type-to-hidden-after-updating-value-expected.txt: Added.

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

8 years ago[GStreamer] cache video dimensions
philn@webkit.org [Tue, 10 Jul 2012 02:38:21 +0000 (02:38 +0000)]
[GStreamer] cache video dimensions
https://bugs.webkit.org/show_bug.cgi?id=90733

Reviewed by Martin Robinson.

Invalidate the cached video dimensions whenever the video-sink sink pad caps
change and let ::naturalSize() lazily recalculate them.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(MediaPlayerPrivateGStreamer):

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

8 years agoUnreviewed gardening. Update TestExpectations.
hayato@chromium.org [Tue, 10 Jul 2012 02:29:49 +0000 (02:29 +0000)]
Unreviewed gardening. Update TestExpectations.

* platform/chromium/TestExpectations: http/tests/misc/script-defer.html started failing after r122168.

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

8 years ago[chromium] Merge updates and idle updates into one pass
commit-queue@webkit.org [Tue, 10 Jul 2012 02:29:15 +0000 (02:29 +0000)]
[chromium] Merge updates and idle updates into one pass
https://bugs.webkit.org/show_bug.cgi?id=90324

Patch by Eric Penner <epenner@google.com> on 2012-07-09
Reviewed by Adrienne Walker.

Source/WebCore:

We no longer need to do painting is passes in order
to allocate memory in the right order. So this merges
updates and idle updates into one pass.

Covered by existing unit tests (some of which are
updated with this patch).

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::needMoreUpdates):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::needMoreUpdates):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::updateLayerRect):
* platform/graphics/chromium/TiledLayerChromium.h:
(TiledLayerChromium):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::resetPaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(ContentLayerChromiumWithUpdateTracking):
(WTF::CCLayerTreeHostTestOpacityChange::afterTest):
* tests/CCTiledLayerTestCommon.h:
(FakeTiledLayerChromium):
* tests/TiledLayerChromiumTest.cpp:

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

8 years ago[Platform] Introduce LocaleMac class
yosin@chromium.org [Tue, 10 Jul 2012 02:16:27 +0000 (02:16 +0000)]
[Platform] Introduce LocaleMac class
https://bugs.webkit.org/show_bug.cgi?id=90248

Reviewed by Kent Tamura.

Source/WebCore:

This patch moves implementation of localized date format related
functions into LocaleMac class as of LocaleWin class for ease of
maintain and using specific locale in testing rather than system
default locale.

Tests: WebKit/chromium/tests/LocaleMacTest.cpp

* WebCore.gyp/WebCore.gyp: Include LocaleMac.mm
* WebCore.gypi:
* platform/text/mac/LocaleMac.h: Replace LocaleWin to LocaleMac.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):
(WebCore::LocaleMac::~LocaleMac):
(WebCore::LocaleMac::create):
(WebCore::LocaleMac::currentLocale):
(WebCore::LocaleMac::createShortDateFormatter):
(WebCore::LocaleMac::parseDate):
(WebCore::LocaleMac::formatDate):
(WebCore::LocaleMac::dateFormatText):
(WebCore::LocaleMac::monthLabels):
(WebCore::LocaleMac::weekDayShortLabels):
(WebCore::LocaleMac::firstDayOfWeek):
* platform/text/mac/LocalizedDateMac.cpp:
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):
(WebCore::localizedDateFormatText):
(WebCore::monthLabels):
(WebCore::weekDayShortLabels):
(WebCore::firstDayOfWeek):
* platform/text/mac/LocalizedDateMac.mm: Removed.

Source/WebKit/chromium:

This patch added tests for LocaleMac class.

* WebKit.gypi:
* tests/LocaleMacTest.cpp: Added.
(LocaleMacTest):
(LocaleMacTest::dateComponents):
(LocaleMacTest::msForDate):
(LocaleMacTest::formatDate):
(LocaleMacTest::parseDate):
(LocaleMacTest::dateFormatText):
(LocaleMacTest::firstDayOfWeek):
(LocaleMacTest::monthLabel):
(LocaleMacTest::weekDayShortLabel):
(TEST_F):

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

8 years agoForgot to actually add these files in r122152
dino@apple.com [Tue, 10 Jul 2012 02:14:10 +0000 (02:14 +0000)]
Forgot to actually add these files in r122152

* compositing/tile-cache-must-flatten-expected.html: Added.
* compositing/tile-cache-must-flatten.html: Added.

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

8 years agoUnreviewed, roll out http://trac.webkit.org/changeset/121511
fpizlo@apple.com [Tue, 10 Jul 2012 01:50:44 +0000 (01:50 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/121511
It made in-browser V8v7 10% slower.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::countSpeculationSuccess):
(JSC::CodeBlock::countSpeculationFailure):
(JSC::CodeBlock::speculativeSuccessCounter):
(JSC::CodeBlock::speculativeFailCounter):
(JSC::CodeBlock::forcedOSRExitCounter):
(JSC::CodeBlock::addressOfSpeculativeSuccessCounter):
(JSC::CodeBlock::addressOfSpeculativeFailCounter):
(JSC::CodeBlock::addressOfForcedOSRExitCounter):
(JSC::CodeBlock::offsetOfSpeculativeSuccessCounter):
(JSC::CodeBlock::offsetOfSpeculativeFailCounter):
(JSC::CodeBlock::offsetOfForcedOSRExitCounter):
(JSC::CodeBlock::largeFailCountThreshold):
(JSC::CodeBlock::largeFailCountThresholdForLoop):
(JSC::CodeBlock::shouldReoptimizeNow):
(JSC::CodeBlock::shouldReoptimizeFromLoopNow):
* bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter::setThreshold):
* bytecode/ExecutionCounter.h:
(ExecutionCounter):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGOSRExitCompiler.cpp:
(JSC::DFG::OSRExitCompiler::handleExitCounts):
* dfg/DFGOperations.cpp:
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Options.h:
(JSC):

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

8 years agoUnreviewed gardening.
hayato@chromium.org [Tue, 10 Jul 2012 01:46:43 +0000 (01:46 +0000)]
Unreviewed gardening.
Update TestExpectations.

* platform/chromium/TestExpectations: Mark fast/forms/select/select-state-restore.html as flaky on WIN DEBUG.

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

8 years ago[chromium] Create CCScopedTexture class for creating/freeing textures
danakj@chromium.org [Tue, 10 Jul 2012 01:43:31 +0000 (01:43 +0000)]
[chromium] Create CCScopedTexture class for creating/freeing textures
https://bugs.webkit.org/show_bug.cgi?id=89485

Reviewed by Adrienne Walker.

Source/WebCore:

This class provides a standard way to create texture ids in a way that
ensures they will be freed later.

Also includes a CCTexture base class that holds textureId, size, and
format together in a struct that can be used in place of storing an
unsigned textureId in other classes.

Unit tests: CCScopedTexureTest.NewScopedTexture
            CCScopedTexureTest.CreateScopedTexture
            CCScopedTexureTest.ScopedTextureIsDeleted
            CCScopedTexureTest.LoseScopedTexture

* WebCore.gypi:
* platform/graphics/chromium/cc/CCScopedTexture.cpp: Added.
(WebCore):
(WebCore::CCScopedTexture::CCScopedTexture):
(WebCore::CCScopedTexture::~CCScopedTexture):
(WebCore::CCScopedTexture::allocate):
(WebCore::CCScopedTexture::free):
(WebCore::CCScopedTexture::leak):
* platform/graphics/chromium/cc/CCScopedTexture.h: Added.
(WebCore):
(CCScopedTexture):
(WebCore::CCScopedTexture::create):
* platform/graphics/chromium/cc/CCTexture.cpp: Added.
(WebCore):
(WebCore::CCTexture::setDimensions):
(WebCore::CCTexture::bytes):
(WebCore::CCTexture::memorySizeBytes):
* platform/graphics/chromium/cc/CCTexture.h: Added.
(WebCore):
(CCTexture):
(WebCore::CCTexture::CCTexture):
(WebCore::CCTexture::id):
(WebCore::CCTexture::size):
(WebCore::CCTexture::format):
(WebCore::CCTexture::setId):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCScopedTextureTest.cpp: Added.
(WebKitTests):
(WebKitTests::TEST):
(TrackingTextureAllocator):
(WebKitTests::TrackingTextureAllocator::TrackingTextureAllocator):
(WebKitTests::TrackingTextureAllocator::numTextures):

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

8 years agoIndexedDB: deleteDatabase fails if transaction running in other database
jsbell@chromium.org [Tue, 10 Jul 2012 01:39:55 +0000 (01:39 +0000)]
IndexedDB: deleteDatabase fails if transaction running in other database
https://bugs.webkit.org/show_bug.cgi?id=90822

Reviewed by Tony Chang.

Source/WebCore:

The IDBLevelDBBackingStore was preventing a deleteDatabase() from running
if any other database was running a transaction. Fix by just creating a scratch
LevelDBTransaction for the delete steps.

Test: storage/indexeddb/deletedatabase-transaction.html

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::deleteDatabase): Use a LevelDBTransaction
directly.

LayoutTests:

* storage/indexeddb/deletedatabase-transaction-expected.txt: Added.
* storage/indexeddb/deletedatabase-transaction.html: Added.

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

8 years ago.: Expose an export for the iconUrl list so Internals can use it
commit-queue@webkit.org [Tue, 10 Jul 2012 01:37:36 +0000 (01:37 +0000)]
.: Expose an export for the iconUrl list so Internals can use it
https://bugs.webkit.org/show_bug.cgi?id=88665

Patch by Pete Williamson <petewil@google.com> on 2012-07-09
Reviewed by Kent Tamura.

* Source/autotools/symbols.filter: export iconURLs

Source/WebCore: Changed the behavior of iconURLs to always recalculate the list.
https://bugs.webkit.org/show_bug.cgi?id=88665

Patch by Pete Williamson <petewil@google.com> on 2012-07-09
Reviewed by Kent Tamura..

As it turns out, it can contain stale URLs in the case that some script
manipulates the DOM, which breaks scripts trying to reset the favicon
URL. Also added a method in Internals to allow tests to get the list of
icon

Tests: fast/dom/icon-url-change.html
       fast/dom/icon-url-list.html

* WebCore.exp.in: export Document::iconURLs on the mac for the Internals class
* dom/Document.cpp:
(WebCore::Document::iconURLs): Changed the method to recalculate the iconURL list every time
(WebCore::Document::addIconURL): we no longer need to add to the internal list since we recalculate it
(WebCore::Document::setUseSecureKeyboardEntryWhenActive): removed extra whitespace
* dom/Document.h:
(Document): removed the addIconURL method which is no longer used
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::iconType): exposed the icon type with an accessor
(WebCore):
(WebCore::HTMLLinkElement::iconSizes): exposed the icon sizes with an accessor
* html/HTMLLinkElement.h:
(HTMLLinkElement): declared the icon type and size accessors
* testing/Internals.cpp:
(WebCore::Internals::iconURLs): made a method to be used by unit tests for inspecting the icon URL list
(WebCore):
* testing/Internals.h:
(Internals): declared the method for unit testing the icon URL list
* testing/Internals.idl: exported the Document::iconURLs function

Source/WebKit2: Export the iconURL list to make it available to the Internals class for testing
https://bugs.webkit.org/show_bug.cgi?id=88665

Patch by Pete Williamson <petewil@google.com> on 2012-07-09
Reviewed by Kent Tamura.

* win/WebKit2.def: export the DocumentL::iconURLs function

LayoutTests: Add some new unit tests to test the favicon changing dynamically
https://bugs.webkit.org/show_bug.cgi?id=88665

Patch by Pete Williamson <petewil@google.com> on 2012-07-09
Reviewed by Kent Tamura.

* fast/dom/icon-url-change-expected.txt: Added.
* fast/dom/icon-url-change.html: Added a new test for changing the favicon dynamically
* fast/dom/icon-url-list-expected.txt: Added.
* fast/dom/icon-url-list.html: Added a new test for multiple favicons in the HTML header
* fast/dom/icon-url-property-expected.txt: update unit test expectations
* fast/dom/icon-url-property.html: update and enable existing favicon test
* platform/chromium/TestExpectations: reenable the url-property test

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

8 years agoGcc build fix after r122174.
rniwa@webkit.org [Tue, 10 Jul 2012 01:35:06 +0000 (01:35 +0000)]
Gcc build fix after r122174.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::decrementAccessCount):

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

8 years agoEditing: Autocorrection in blockquotes causes text to break out of quote
commit-queue@webkit.org [Tue, 10 Jul 2012 01:25:09 +0000 (01:25 +0000)]
Editing: Autocorrection in blockquotes causes text to break out of quote
https://bugs.webkit.org/show_bug.cgi?id=90487
<rdar://problem/11769020>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-07-09
Reviewed by Enrica Casucci.

Source/WebCore:

Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html

SpellingCorrectionCommand uses ReplaceSelectionCommand to replace the misspelled word with the auto-corrected word. Specifically, ReplaceSelectionCommand does a smart copy, where it breaks out of blockquotes. Thus, the fix is to substitute ReplaceSelectionCommand with InserTextCommand.

* editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::doApply):

LayoutTests:

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

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

8 years ago90506
noam.rosenthal@nokia.com [Tue, 10 Jul 2012 01:06:52 +0000 (01:06 +0000)]
90506

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

8 years agoConsider closing unused localStorage database after a timeout.
commit-queue@webkit.org [Tue, 10 Jul 2012 01:03:37 +0000 (01:03 +0000)]
Consider closing unused localStorage database after a timeout.
https://bugs.webkit.org/show_bug.cgi?id=90713

For a localStorage, if there is no active document referencing to it for certain amount of time (300 seconds),
we can close the underlying sqlite database.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-07-09
Reviewed by Brady Eidson.

Source/WebCore:

Test: storage/domstorage/storage-close-database-on-idle.html

* storage/Storage.cpp:
(WebCore::Storage::Storage): increment storageArea access count when a DOMWindow is referencing it.
(WebCore::Storage::~Storage): decrement storageArea access count when DOMWindow is done with it.
* storage/StorageArea.h:
(StorageArea):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::StorageAreaImpl):
(WebCore::StorageAreaImpl::incrementAccessCount):
(WebCore):
(WebCore::StorageAreaImpl::decrementAccessCount): schedule closeDatabaseTimer if there is no active document
    referencing to this storageArea.
(WebCore::StorageAreaImpl::closeDatabaseTimerFired): close the underlying sqlite database.
* storage/StorageAreaImpl.h:
(StorageAreaImpl):
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::sync): if m_syncCloseDatabase flag is set and the database is not opened, bail out.
* storage/StorageTracker.cpp:
(WebCore):
(WebCore::StorageTracker::StorageTracker):
* storage/StorageTracker.h:
(WebCore::StorageTracker::storageDatabaseIdleInterval):
(WebCore::StorageTracker::setStorageDatabaseIdleInterval):  set the timeout value that we will wait before closing the
    database.  This is currently used by DumpRenderTree only.
(StorageTracker):

Source/WebKit/mac:

* Storage/WebStorageManager.mm:
(+[WebStorageManager setStorageDatabaseIdleInterval:]): add a new method for DumpRenderTree to set the timeout
    that we will wait before closing database.
(initializeLocalStoragePath):
* Storage/WebStorageManagerPrivate.h:

Tools:

* DumpRenderTree/LayoutTestController.cpp: add a JS method setStorageDatabaseIdleInterval to testRunner
    to set a different timeout value for closing localStorage database.
(setStorageDatabaseIdleIntervalCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setStorageDatabaseIdleInterval): add empty method.
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setStorageDatabaseIdleInterval): ditto.
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::setStorageDatabaseIdleInterval): ditto.
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::setStorageDatabaseIdleInterval): ditto.

LayoutTests:

* platform/chromium/TestExpectations: the test needs setCacheModel implementation, skip it in chromium.
* storage/domstorage/storage-close-database-on-idle-expected.txt: Added.
* storage/domstorage/storage-close-database-on-idle.html: Added.
* storage/resources/storage-close-data-on-idle-switch.html: Added.

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

8 years agoIndexedDB: A null or undefined storeNames argument to IDBDatabase::transaction()...
jsbell@chromium.org [Tue, 10 Jul 2012 00:48:10 +0000 (00:48 +0000)]
IndexedDB: A null or undefined storeNames argument to IDBDatabase::transaction() should be coerced to string
https://bugs.webkit.org/show_bug.cgi?id=90474

Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/transaction-basics.html

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBDatabase.idl:

LayoutTests:

* storage/indexeddb/resources/transaction-basics.js:
(testInvalidMode):
(testDegenerateNames.request.onsuccess):
(testDegenerateNames.verifyDegenerateNames):
(testDegenerateNames):
* storage/indexeddb/transaction-basics-expected.txt:

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

8 years agoIndexedDB: Remove obsolete accessor plumbing
jsbell@chromium.org [Tue, 10 Jul 2012 00:41:16 +0000 (00:41 +0000)]
IndexedDB: Remove obsolete accessor plumbing
https://bugs.webkit.org/show_bug.cgi?id=90812

Reviewed by Tony Chang.

Source/WebCore:

No new tests - just deleting code.

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction): Since backend mode() is disconnected, can no
longer assert that front-end/back-end modes match; not worth it to keeping the plumbing.

Source/WebKit/chromium:

* public/WebIDBCursor.h: Remove direction.
* public/WebIDBDatabase.h: Remove name, version, objectStoreNames;
(WebKit::WebIDBDatabase::metadata):
* public/WebIDBIndex.h: Remove name, keyPath, unique, multiEntry;
* public/WebIDBObjectStore.h: Remove name, keyPath, indexNames, autoIncrement;
* src/IDBDatabaseBackendProxy.cpp: Remove plumbing.
* src/IDBDatabaseBackendProxy.h: Remove plumbing.
(IDBDatabaseBackendProxy):
* src/IDBIndexBackendProxy.cpp: Remove plumbing.
* src/IDBIndexBackendProxy.h: Remove plumbing.
(IDBIndexBackendProxy):
* src/IDBObjectStoreBackendProxy.cpp: Remove plumbing.
* src/IDBObjectStoreBackendProxy.h: Remove plumbing.
(IDBObjectStoreBackendProxy):
* src/IDBTransactionBackendProxy.cpp: Remove plumbing.
* src/IDBTransactionBackendProxy.h: Assert stub is not used - only needed
by real IDBTransactionBackendImpl
(WebKit::IDBTransactionBackendProxy::mode):
* src/WebIDBTransactionImpl.cpp: Remove plumbing.
* src/WebIDBTransactionImpl.h: Remove plumbing.

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

8 years agoUnreviewed, rolling out r122161.
commit-queue@webkit.org [Tue, 10 Jul 2012 00:20:51 +0000 (00:20 +0000)]
Unreviewed, rolling out r122161.
http://trac.webkit.org/changeset/122161
https://bugs.webkit.org/show_bug.cgi?id=90837

failed to compile on chromium webkit linux bot (Requested by
shawnsingh on #webkit).

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

* 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):
(WebKit::TEST_F):
* 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: https://svn.webkit.org/repository/webkit/trunk@122171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Remove HashMap workaround for layers with id=0 in CCDamageTracker
danakj@chromium.org [Tue, 10 Jul 2012 00:17:24 +0000 (00:17 +0000)]
[chromium] Remove HashMap workaround for layers with id=0 in CCDamageTracker
https://bugs.webkit.org/show_bug.cgi?id=90825

Reviewed by Adrienne Walker.

Layer ids are no longer allowed to be 0, and the behaviour is guarded
with asserts, so this workaround is not needed any longer.

* platform/graphics/chromium/cc/CCDamageTracker.h:
(CCDamageTracker):

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

8 years agoPointer Lock requestPointerLock rejects locking an element not in a document.
scheib@chromium.org [Tue, 10 Jul 2012 00:08:36 +0000 (00:08 +0000)]
Pointer Lock requestPointerLock rejects locking an element not in a document.
https://bugs.webkit.org/show_bug.cgi?id=90821

Reviewed by Adrienne Walker.

Source/WebCore:

Test: pointer-lock/lock-element-not-in-dom.html

* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):

LayoutTests:

* pointer-lock/lock-element-not-in-dom-expected.txt: Added.
* pointer-lock/lock-element-not-in-dom.html: Added.

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

8 years agodocument.write of scripts that also document.write sometimes writes async
eric@webkit.org [Mon, 9 Jul 2012 23:48:14 +0000 (23:48 +0000)]
document.write of scripts that also document.write sometimes writes async
https://bugs.webkit.org/show_bug.cgi?id=89102

Reviewed by Adam Barth.

Source/WebCore:

When a script tag is first encountered, the TreeBuilder holds the element and returns
out to the outer HTMLDocumentParser parse loop.  The HTMLDocumentParser then takes
the script element and passes it to the HTMLScriptRunner for execution. However, if the
script is an "external script" the HTMLScriptRunner may have to wait for that parser
blocking script to load, and may store the script in its own m_parserBlockingScript member.

While the HTMLScriptRunner has this not-yet-loaded-script the parser is also blocked.
Because the "paused" state of the parser was held as a separate bool on the TreeBuilder
we'd have to be careful to update it to reflect the current state of this pending script
on the HTMLScriptRunner.

This patch removes this separate "paused" bool and makes the HTMLDocumentParser responsible
for the "paused" state of the parser through the isWaitingForScripts() function which
knows how to check both the TreeBuilder and the ScriptRunner for possible parser-blocking scripts.

I suspect this change may actually fix a bunch of edge cases where we were not
checking for the HTMLScriptRunner's parser blocking script and thus incorrectly ending
the parser, or not starting the pre-load scanner, etc.

As part of this change I also renamed m_haveParsingBlockingScript in HTMLScriptRunner to match
the naming style used elsewhere in the parser, as well as removed all the "bool" return values
for these parse/execute functions as they are no longer useful (or correct). The correct way
is always to check HTMLDocumentParser::isWaitingForScripts().

Test: fast/parser/cached-script-document-write.html

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::canTakeNextToken):
(WebCore::HTMLDocumentParser::isWaitingForScripts):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
(WebCore::HTMLDocumentParser::notifyFinished):
(WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::hasParserBlockingScript):
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
(HTMLScriptRunner):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::hasParserBlockingScript):

LayoutTests:

* fast/parser/cached-script-document-write-expected.txt: Added.
* fast/parser/cached-script-document-write.html: Added.
* fast/parser/resources/cached-script-document-write.js: Added.

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

8 years agoSource/JavaScriptCore: DFG may get stuck in an infinite fix point if it constant...
fpizlo@apple.com [Mon, 9 Jul 2012 23:28:53 +0000 (23:28 +0000)]
Source/JavaScriptCore: DFG may get stuck in an infinite fix point if it constant folds a mispredicted node
https://bugs.webkit.org/show_bug.cgi?id=90829
<rdar://problem/11823843>

Reviewed by Oliver Hunt.

If a node is shown to have been mispredicted during CFA, then don't allow constant
folding to make the graph even more degenerate. Instead, pull back on constant folding
and allow the normal OSR machinery to fix our profiling so that a future recompilation
doesn't see the same mistake.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::trySetConstant):
(AbstractState):
* dfg/DFGPhase.h:
(JSC::DFG::Phase::name):
(Phase):
(JSC::DFG::runAndLog):
(DFG):
(JSC::DFG::runPhase):

LayoutTests: DFG may get stuck in an infinite fix point if it constant folds a mispredicted node
https://bugs.webkit.org/show_bug.cgi?id=90829

Reviewed by Oliver Hunt.

* fast/js/dfg-constant-fold-misprediction-expected.txt: Added.
* fast/js/dfg-constant-fold-misprediction.html: Added.
* fast/js/script-tests/dfg-constant-fold-misprediction.js: Added.
(foo):

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

8 years agoIt should be possible to jettison JIT stub routines even if they are currently running
fpizlo@apple.com [Mon, 9 Jul 2012 23:26:54 +0000 (23:26 +0000)]
It should be possible to jettison JIT stub routines even if they are currently running
https://bugs.webkit.org/show_bug.cgi?id=90731

Reviewed by Gavin Barraclough.

This gives the GC awareness of all JIT-generated stubs for inline caches. That
means that if you want to delete a JIT-generated stub, you don't have to worry
about whether or not it is currently running: if there is a chance that it might
be, the GC will kindly defer deletion until non-running-ness is proved.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/Instruction.h:
(JSC):
(PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
* bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::fromStructureStubInfo):
* bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::stubRoutine):
(PutByIdAccess):
(JSC::PolymorphicPutByIdList::currentSlowPathTarget):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::reset):
* dfg/DFGRepatch.cpp:
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::tryBuildGetByIDProtoList):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
* heap/ConservativeRoots.cpp:
(JSC):
(DummyMarkHook):
(JSC::DummyMarkHook::mark):
(JSC::ConservativeRoots::add):
(CompositeMarkHook):
(JSC::CompositeMarkHook::CompositeMarkHook):
(JSC::CompositeMarkHook::mark):
* heap/ConservativeRoots.h:
(JSC):
(ConservativeRoots):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::deleteUnmarkedCompiledCode):
* heap/Heap.h:
(JSC):
(Heap):
* heap/JITStubRoutineSet.cpp: Added.
(JSC):
(JSC::JITStubRoutineSet::JITStubRoutineSet):
(JSC::JITStubRoutineSet::~JITStubRoutineSet):
(JSC::JITStubRoutineSet::add):
(JSC::JITStubRoutineSet::clearMarks):
(JSC::JITStubRoutineSet::markSlow):
(JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
(JSC::JITStubRoutineSet::traceMarkedStubRoutines):
* heap/JITStubRoutineSet.h: Added.
(JSC):
(JITStubRoutineSet):
(JSC::JITStubRoutineSet::mark):
* heap/MachineStackMarker.h:
(JSC):
* interpreter/RegisterFile.cpp:
(JSC::RegisterFile::gatherConservativeRoots):
* interpreter/RegisterFile.h:
(JSC):
* jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
* jit/ExecutableAllocator.h:
(JSC):
* jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC):
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
* jit/GCAwareJITStubRoutine.cpp: Added.
(JSC):
(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
(JSC::GCAwareJITStubRoutine::~GCAwareJITStubRoutine):
(JSC::GCAwareJITStubRoutine::observeZeroRefCount):
(JSC::GCAwareJITStubRoutine::deleteFromGC):
(JSC::GCAwareJITStubRoutine::markRequiredObjectsInternal):
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::MarkingGCAwareJITStubRoutineWithOneObject):
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::~MarkingGCAwareJITStubRoutineWithOneObject):
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::markRequiredObjectsInternal):
(JSC::createJITStubRoutine):
* jit/GCAwareJITStubRoutine.h: Added.
(JSC):
(GCAwareJITStubRoutine):
(JSC::GCAwareJITStubRoutine::markRequiredObjects):
(MarkingGCAwareJITStubRoutineWithOneObject):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
* jit/JITStubRoutine.cpp: Added.
(JSC):
(JSC::JITStubRoutine::~JITStubRoutine):
(JSC::JITStubRoutine::observeZeroRefCount):
* jit/JITStubRoutine.h: Added.
(JSC):
(JITStubRoutine):
(JSC::JITStubRoutine::JITStubRoutine):
(JSC::JITStubRoutine::createSelfManagedRoutine):
(JSC::JITStubRoutine::code):
(JSC::JITStubRoutine::asCodePtr):
(JSC::JITStubRoutine::ref):
(JSC::JITStubRoutine::deref):
(JSC::JITStubRoutine::startAddress):
(JSC::JITStubRoutine::endAddress):
(JSC::JITStubRoutine::addressStep):
(JSC::JITStubRoutine::canPerformRangeFilter):
(JSC::JITStubRoutine::filteringStartAddress):
(JSC::JITStubRoutine::filteringExtentSize):
(JSC::JITStubRoutine::passesFilter):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC::getPolymorphicAccessStructureListSlot):

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

8 years agofast/js/global-constructors.html is flaky and mostly useless
fpizlo@apple.com [Mon, 9 Jul 2012 23:21:56 +0000 (23:21 +0000)]
fast/js/global-constructors.html is flaky and mostly useless
https://bugs.webkit.org/show_bug.cgi?id=90833

Unreviewed, skip flaky and useless test.

* platform/mac/Skipped:

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

8 years agoUnreviewed gardening. Marked webgl/glsl-conformance tests failing after dependency...
rafaelw@chromium.org [Mon, 9 Jul 2012 23:10:05 +0000 (23:10 +0000)]
Unreviewed gardening. Marked webgl/glsl-conformance tests failing after dependency roll in chromium.

* platform/chromium/TestExpectations:

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

8 years agoMicrodata tests are flaky
rniwa@webkit.org [Mon, 9 Jul 2012 23:07:09 +0000 (23:07 +0000)]
Microdata tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=90830

Reviewed by Antti Koivisto.

The bug was caused by SpaceSplitString's not copying on write properly.
Even if there was exactly one owner of the SpaceSplitString, we should still not modify
m_data since m_data is associated with a particular m_keyString in sharedDataMap().

The only situation in which we can safely modify m_data is when m_data's m_keyString is null
meaning that it had been unique'ed. Furthermore, this optimization had not been used for
class lists because class list's refCount is always zero as its ref and deref are forwarded
to the associated Element's ref and deref. This fix re-enables the optimization for class lists.

This behavior change is tested by existing microdata API tests. Without this patch,
some tests such as properties-collection-add-remove-property.html fail on the first run
when several tests were ran in the same WebKit instance.

* dom/SpaceSplitString.h:
(WebCore::SpaceSplitStringData::isUnique):
(WebCore::SpaceSplitString::ensureUnique):

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

8 years ago[BlackBerry] PagePopupBlackBerry::closePopup() should always clear the pointer in...
commit-queue@webkit.org [Mon, 9 Jul 2012 23:05:17 +0000 (23:05 +0000)]
[BlackBerry] PagePopupBlackBerry::closePopup() should always clear the pointer in WebPagePrivate
https://bugs.webkit.org/show_bug.cgi?id=90817

Patch by Yong Li <yoli@rim.com> on 2012-07-09
Reviewed by Rob Buis.

PR# 174085.
PagePopupBlackBerry::closePopup() should always clear the pointer in WebPagePrivate to avoid crashes.
This patch also removes unused variable m_parentPopup and its setter.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Remove m_parentPopup.
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::closePagePopup):
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::init): Remove the setParentPopup() call.
(WebCore::PagePopupBlackBerry::closePopup): Clear the reference in WebPagePrivate.
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::setValueAndClosePopup): Add an assert for valid m_element.

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