WebKit-https.git
7 years ago[chromium] Make full texture updates explicit
commit-queue@webkit.org [Wed, 11 Jul 2012 04:42:12 +0000 (04:42 +0000)]
[chromium] Make full texture updates explicit
https://bugs.webkit.org/show_bug.cgi?id=90507

Patch by Brian Anderson <brianderson@chromium.org> on 2012-07-10
Reviewed by Adrienne Walker.

Covered by existing tests.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::updatePart):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTiles):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::appendFullUpdate):
(WebCore::CCTextureUpdater::hasMoreUpdates):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
(CCTextureUpdater):

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

7 years agoCrash in nextLinePosition() due to accessing a removed root line box.
shinyak@chromium.org [Wed, 11 Jul 2012 04:34:54 +0000 (04:34 +0000)]
Crash in nextLinePosition() due to accessing a removed root line box.
https://bugs.webkit.org/show_bug.cgi?id=90484

Reviewed by Abhishek Arya.

Source/WebCore:

When <object> element is reattached, the 'content' style is compared to the old style.
If it is not the same, a flag to recalc style is enabled. Because of this, the recalc style flag
is not cleared in updateLayoutIgnorePendingStyleSheets() in nextLinePosition(), and it causes
the second layout in isEditablePosition(p). Then 'RootInlineBox root' is invalidated, but
it's used after that.

When the content of the same <object> elements are compared, they should be the same.
However, operator== for ContentData is not implemented correctly (it compares a pointer instead of
content). So operator== does not hold for the content of the same <object> elements.

Test: editing/execCommand/crash-extend-selection-forward.html

* rendering/style/ContentData.cpp:
(WebCore::operator==): Compares the instance of data instead of pointer.

LayoutTests:

This testcase should not be triggered in ASAN.

* editing/execCommand/crash-extend-selection-forward-expected.txt: Added.
* editing/execCommand/crash-extend-selection-forward.html: Added.

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

7 years ago[Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI
abarth@webkit.org [Wed, 11 Jul 2012 04:32:34 +0000 (04:32 +0000)]
[Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=90918

Reviewed by Tony Chang.

The rules are similar to what we have added for DumpRenderTree apk.
All references to gtest_target_type can be removed once we enable APK
tests on the all bots.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

7 years agoIndexedDB: Ensure transaction abort events are deterministic in multiprocess ports
jsbell@chromium.org [Wed, 11 Jul 2012 04:24:22 +0000 (04:24 +0000)]
IndexedDB: Ensure transaction abort events are deterministic in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=90412

Reviewed by Tony Chang.

In multi-process ports (e.g. Chromium), transaction aborts triggered on the front-end could
be initiated while a "success" event was in-flight from the back end. This would lead to
apparently flaky behavior when requests would sometimes report success and sometimes report
an error. Address this by having front-end triggered aborts do the abort steps immediately,
then send the async abort request to the back end.

No new tests - behavior in single process ports (and DRT) covered by existing
tests. Will enable currently disabled Chromium tests to be enabled (crbug.com/83226).

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest): Initialize a new m_requestAborted flag, used to prevent
dispatching if an in-flight request comes in after the abort.
(WebCore::IDBRequest::abort): Set flag to prevent double dispatching.
(WebCore::IDBRequest::onError): Handle aborted-then-received-event case.
(WebCore::IDBRequest::onSuccess): Ditto.
(WebCore::IDBRequest::onSuccessWithContinuation): Ditto.
(WebCore::IDBRequest::dispatchEvent): On uncaught error, trigger abort on transaction front-end.
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abort): Do abort steps locally first, then notify back-end.
(WebCore::IDBTransaction::onAbort): If abort wasn't triggered locally, clean up is still necessary.

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

7 years agoREGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing...
jchaffraix@webkit.org [Wed, 11 Jul 2012 03:11:30 +0000 (03:11 +0000)]
REGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing block have a 0px height
https://bugs.webkit.org/show_bug.cgi?id=89209

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/forms/input-in-table-cell-no-value.html

The issue comes from the layout code not properly resetting the overriden heigth between layouts.

The test case relies on a table cell as it requires a 2 pass layout. Between the 2 passes, different
code paths would be taken, leading to previous values being used to over-constrain the inner content.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
Ensure consistent layout by resetting any overriden conditional height.

LayoutTests:

The 2 tests are very close and differ by the use of min-height. This forces some content to be visible in the expected result
but not in the original test case.

* fast/forms/input-in-table-cell-no-value-expected.html: Added.
* fast/forms/input-in-table-cell-no-value.html: Added.

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

7 years agoAdd --no-build option to perf test runner
kbr@google.com [Wed, 11 Jul 2012 02:26:53 +0000 (02:26 +0000)]
Add --no-build option to perf test runner
https://bugs.webkit.org/show_bug.cgi?id=90916

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
    Support --no-build option to perf tests, as in layout tests.

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

7 years ago[Qt] Enable antialiasing for TextureMapper
noam.rosenthal@nokia.com [Wed, 11 Jul 2012 02:21:50 +0000 (02:21 +0000)]
[Qt] Enable antialiasing for TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=90915

Reviewed by Martin Robinson.

Enable the new antialiasing functionality for WebLayerTreeRendering.
This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.

* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::ensureRootLayer):

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

7 years agoEWSTools should be able to build a chromium-ews bot from scratch
abarth@webkit.org [Wed, 11 Jul 2012 02:06:00 +0000 (02:06 +0000)]
EWSTools should be able to build a chromium-ews bot from scratch
https://bugs.webkit.org/show_bug.cgi?id=90912

Reviewed by Eric Seidel.

I've been using this script to kick off the build process for the
chromium-ews bots on Google Compute Engine.

* EWSTools/GoogleComputeEngine: Added.
* EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Added.

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

7 years agoInput elements with type=range do not have default touch handlers.
commit-queue@webkit.org [Wed, 11 Jul 2012 01:47:58 +0000 (01:47 +0000)]
Input elements with type=range do not have default touch handlers.
https://bugs.webkit.org/show_bug.cgi?id=88807

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

Source/WebCore:

This patch adds support for touch event handling on input elements
and dragging a slider with touch start and move events.  Previously,
manipulating a slider on a touch screen required generation of
synthetic mouse events.

Tests: fast/events/touch/touch-slider-no-js-touch-listener.html
       fast/events/touch/touch-slider.html

* dom/Event.cpp:
(WebCore::Event::isTouchEvent):
(WebCore):
* dom/Event.h:
(Event):
* dom/Touch.cpp:
(WebCore::Touch::Touch):
* dom/Touch.h:
(WebCore::Touch::absoluteLocation):
(Touch):
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::isTouchEvent):
(WebCore):
* dom/TouchEvent.h:
(TouchEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore):
(WebCore::InputType::handleTouchEvent):
(WebCore::InputType::hasTouchEventHandler):
* html/InputType.h:
(WebCore):
(ClickHandlingState):
(InputType):
* html/RangeInputType.cpp:
(WebCore):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::hasTouchEventHandler):
* html/RangeInputType.h:
(RangeInputType):
* html/shadow/SliderThumbElement.h:
(SliderThumbElement):

Source/WebKit/chromium:

Adds flag to enable native handling of touch events for input elements
with type=range.

* features.gypi:

LayoutTests:

Add automated test for manipulating an input slider via touch
events.

* fast/events/touch/script-tests/touch-slider-no-js-touch-listener.js: Added.
(checkPosition):
* fast/events/touch/script-tests/touch-slider.js: Added.
(onTouchStart):
(onTouchEnd):
(onKeyDown):
(checkPosition):
* fast/events/touch/touch-slider-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener.html: Added.
* fast/events/touch/touch-slider.html: Added.
* platform/chromium/fast/events/touch/touch-slider-expected.txt: Added.
* platform/chromium/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.

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

7 years ago[Chromium] REGRESSION(r121909): m_currentInputEvent never set
adamk@chromium.org [Wed, 11 Jul 2012 01:13:16 +0000 (01:13 +0000)]
[Chromium] REGRESSION(r121909): m_currentInputEvent never set
https://bugs.webkit.org/show_bug.cgi?id=90914

Reviewed by Abhishek Arya.

The always-null m_currentInputEvent causes a regression when
middle-clicking on a link that calls window.open('...', '_blank');
that new tab should open in the background, but instead opens in the
foreground (see code in ChromeClientImpl::getNavigationPolicy()).

Fix usage of TemporaryChange to specify a local variable name so that
m_currentInputEvent is actually set for the duration of handleInputEvent.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent): Name the TemporaryChange instance.

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

7 years agoRe-factoring recalcColumn in AutoTableLayout.cpp for readability
commit-queue@webkit.org [Wed, 11 Jul 2012 00:41:48 +0000 (00:41 +0000)]
Re-factoring recalcColumn in AutoTableLayout.cpp for readability
https://bugs.webkit.org/show_bug.cgi?id=89636

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-07-10
Reviewed by Julien Chaffraix.

No test case required. Code re-factoring.

* rendering/AutoTableLayout.cpp:
Added a const integer place holder for 32760.

(WebCore::AutoTableLayout::recalcColumn):
 Changes :
 1) Moved the continue statement above the bool cellHasContent for an early return.
 2) Replaced the constant 32760 by a placeholder.
 3) Initialization of columnLayout max and min logical widths is made common for both cells having col span == 1 and span > 1.
 4) Removed redundant check for cell logical width type.

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

7 years agoLine directive test in fast/canvas/webgl/glsl-conformance.html is incorrect
kbr@google.com [Wed, 11 Jul 2012 00:18:35 +0000 (00:18 +0000)]
Line directive test in fast/canvas/webgl/glsl-conformance.html is incorrect
https://bugs.webkit.org/show_bug.cgi?id=90897

Reviewed by Adrienne Walker.

Removed an invalid test and adjusted the test expectations.

* fast/canvas/webgl/glsl-conformance-expected.txt:
* fast/canvas/webgl/glsl-conformance.html:
* platform/chromium/TestExpectations:

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

7 years agoWebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be...
abarth@webkit.org [Tue, 10 Jul 2012 23:53:21 +0000 (23:53 +0000)]
WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
https://bugs.webkit.org/show_bug.cgi?id=90910

Reviewed by Eric Seidel.

Source/WebCore:

We've already removed the code that implements Hixie76 WebSockets. This
patch just removes the WebCore::Setting that used to control which
WebSocket protocol version we'd use.

I've left the WebKit-layer APIs in place, but they now don't do
anything.  I'll remove all the Chromium callers shortly.

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

Source/WebKit/blackberry:

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

Source/WebKit/chromium:

* public/WebSettings.h:
(WebKit::WebSettings::setHixie76WebSocketProtocolEnabled):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):

Source/WebKit/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
(-[WebPreferences isHixie76WebSocketProtocolEnabled]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setHixie76WebSocketProtocolEnabled):
(WebPreferences::hixie76WebSocketProtocolEnabled):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHixie76WebSocketProtocolEnabled):
(WKPreferencesGetHixie76WebSocketProtocolEnabled):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

7 years agoAdd alecflett to the list of committers
commit-queue@webkit.org [Tue, 10 Jul 2012 23:39:33 +0000 (23:39 +0000)]
Add alecflett to the list of committers
https://bugs.webkit.org/show_bug.cgi?id=90903

Patch by Alec Flett <alecflett@chromium.org> on 2012-07-10
Reviewed by Ojan Vafai.

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

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

7 years agoCrash due to SVG animation element not removed from target (before reset)
pdr@google.com [Tue, 10 Jul 2012 23:36:07 +0000 (23:36 +0000)]
Crash due to SVG animation element not removed from target (before reset)
https://bugs.webkit.org/show_bug.cgi?id=90750

Reviewed by Abhishek Arya.

Source/WebCore:

Previously we were not removing an animation element from
SVGDocumentExtensions::m_animatedElements which led to a crash.
This change properly removes animation elements in resetTargetElement
which both fixes this bug and will prevent others from hitting it in
the future.

Test: svg/animations/dynamic-modify-attributename-crash2.svg

* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):

removeAllAnimationElementsFromTarget now adds all the animation elements
to a vector and iterates over it because the changes to resetTargetElement
would have caused us to modify the underlying hashset as we iterated. Note that
before we deleted animationElementsForTarget in removeAllAnimationElementsFromTarget
but that logic is now handled in removeAnimationElementFromTarget which is called
during resetTargetElement.

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::removedFrom):

Because of the changes in resetTargetElement, removedFrom was able to be
refactored. This patch changes removedFrom to call resetTargetElement rather
than have duplicated logic. There is a very small change in logic here:
animationAttributeChanged() is now called in removedFrom().

(WebCore::SVGSMILElement::resetTargetElement):

resetTargetElement now fully resets the target, including removing it from
m_animatedElements. This will prevent future instances of this bug.

LayoutTests:

* svg/animations/dynamic-modify-attributename-crash2-expected.txt: Added.
* svg/animations/dynamic-modify-attributename-crash2.svg: Added.

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

7 years agoAdd the test files that I forgot to commit (AGAIN!) in r122271
dino@apple.com [Tue, 10 Jul 2012 23:22:32 +0000 (23:22 +0000)]
Add the test files that I forgot to commit (AGAIN!) in r122271

        * 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@122277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agobugs.webkit.org has mixed content
abarth@webkit.org [Tue, 10 Jul 2012 23:10:48 +0000 (23:10 +0000)]
bugs.webkit.org has mixed content
https://bugs.webkit.org/show_bug.cgi?id=90907

Reviewed by Eric Seidel.

Now that we detect http XMLHttpRequests as mixed content, I've noticed
that we're loading committers.py over http instead of https.  For
better security, we should use https.

* committers-autocomplete.js:

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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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