Web Inspector: incorrect height of main timeline pane after switching to memory mode
https://bugs.webkit.org/show_bug.cgi?id=90387

Reviewed by Pavel Feldman.

- update cached container height when setting vertical splitter position.

* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.set _setSplitterPosition):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Update MediaStreamTrackList to match the specification
https://bugs.webkit.org/show_bug.cgi?id=90171

Reviewed by Adam Barth.

Source/Platform:

The latest update to the specification added add and remove methods with corresponding callbacks.
The callbacks can be triggered both from JS and from the platform layer.

* chromium/public/WebMediaStreamCenterClient.h:
(WebKit):
(WebMediaStreamCenterClient):

Source/WebCore:

The latest update to the specification added add and remove methods with corresponding callbacks.
The callbacks can be triggered both from JS and from the platform layer.

Test: fast/mediastream/MediaStreamTrackList.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::~MediaStream):
(WebCore::MediaStream::streamEnded):
(WebCore::MediaStream::addTrack):
(WebCore):
(WebCore::MediaStream::removeTrack):
* Modules/mediastream/MediaStream.h:
(MediaStream):
* Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
(WebCore):
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
(WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
(WebCore::MediaStreamTrackEvent::track):
(WebCore::MediaStreamTrackEvent::interfaceName):
* Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
(WebCore):
(MediaStreamTrackEvent):
* Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
* Modules/mediastream/MediaStreamTrackList.cpp:
(WebCore::MediaStreamTrackList::create):
(WebCore::MediaStreamTrackList::MediaStreamTrackList):
(WebCore::MediaStreamTrackList::detachOwner):
(WebCore):
(WebCore::MediaStreamTrackList::add):
(WebCore::MediaStreamTrackList::remove):
(WebCore::MediaStreamTrackList::stop):
(WebCore::MediaStreamTrackList::interfaceName):
(WebCore::MediaStreamTrackList::scriptExecutionContext):
(WebCore::MediaStreamTrackList::eventTargetData):
(WebCore::MediaStreamTrackList::ensureEventTargetData):
* Modules/mediastream/MediaStreamTrackList.h:
(MediaStreamTrackList):
* Modules/mediastream/MediaStreamTrackList.idl:
* WebCore.gypi:
* dom/EventNames.h:
(WebCore):
* dom/EventNames.in:
* dom/EventTargetFactory.in:
* platform/mediastream/MediaStreamCenter.cpp:
(WebCore::MediaStreamCenter::addMediaStreamTrack):
(WebCore):
(WebCore::MediaStreamCenter::removeMediaStreamTrack):
* platform/mediastream/MediaStreamCenter.h:
(MediaStreamCenter):
* platform/mediastream/MediaStreamDescriptor.h:
(MediaStreamDescriptorOwner):
* platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
(WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
(WebCore):
(WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
(WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
(WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
* platform/mediastream/chromium/MediaStreamCenterChromium.h:
(WebKit):
(MediaStreamCenterChromium):
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
(WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
(WebCore):
(WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
(MediaStreamCenterGStreamer):

LayoutTests:

* fast/mediastream/MediaStreamTrackList-expected.txt: Added.
* fast/mediastream/MediaStreamTrackList.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Microdata: Fix build failure after r121580.
https://bugs.webkit.org/show_bug.cgi?id=90378

Reviewed by Ryosuke Niwa.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::properties):
* html/HTMLElement.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up slow HTTP tests on GTK platform

Rubber-stamped by Martin Robinson.

Skip the HTTP tests that take half a minute to run, most oftenly failing
as well. These tests only extend the overall testing time.
Also group the tests failing due to missing authentication handling in DRT,
missing multipart/x-mixed-replace support in libsoup and open a new bug
for the failing http/tests/plugins/plugin-document-has-focus.html test.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Reviewed by Martin Robinson.

Create a new category for test failures that only fail on specific architecture. Tests
under this category are essentially marked as flaky, but in reality only fail on the
build architecture under which they are listed. This is a convenient workaround for
keeping tests from being recognized as newly-passing on architectures where the failure
does not occur.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix posting from garden-o-matic. This broke in moving away from jquery's ajax method
in http://trac.webkit.org/changeset/121617.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/net.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Leopard support from the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=90390

Reviewed by Adam Barth.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(nonChromiumPlatform):
(chromiumPlatform):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/11787030> In vertical writing modes, child following float-clearing block has incorrect logical top
https://bugs.webkit.org/show_bug.cgi?id=90359

Reviewed by Anders Carlsson.

Source/WebCore: 

Test: fast/writing-mode/logical-height-after-clear.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloatsIfNeeded): Changed to use logicalTop() and logicalHeight()
instead of y() and height().

LayoutTests: 

* fast/writing-mode/logical-height-after-clear-expected.html: Added.
* fast/writing-mode/logical-height-after-clear.html: Added.
* platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.png:
* platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.txt:
* platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.png:
* platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] New API tests introduced in r121620 fail
https://bugs.webkit.org/show_bug.cgi?id=90372

Reviewed by Luiz Agostini.

Updated the pixel comparison to produce more predictable results.

* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(compareImages):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move rebaseline-all command from the gardening-server down into webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=90395

Reviewed by Adam Barth.

This is just moving code. It it in preparation for making rebaseline-expectations
use the same code in order to get the parallelism benefits and reduces the amount
of code we have for doing rebaselines.

* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CheckoutTest.test_apply_patch):
Updated due to the change to executive_mock.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_command):
Update to print out the input passed to stdin.
* Scripts/webkitpy/tool/commands/download_unittest.py:
Updated due to executive_mock change.
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineAll):
(RebaselineAll._run_webkit_patch):
(RebaselineAll._builders_to_fetch_from):
(RebaselineAll._rebaseline_commands):
(RebaselineAll._files_to_add):
(RebaselineAll._optimize_baselines):
(RebaselineAll._rebaseline):
(RebaselineAll.execute):
All this code is just copy-pasted except for mechanical changes
(e.g. self.server.tool --> self._tool) and the reading in of the
JSON from stdin instead of the post body.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline_all):
Copied the test-case out of gardeningserver_unittest.py.
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler):
(GardeningHTTPRequestHandler.rebaseline):
(GardeningHTTPRequestHandler.rebaselineall):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(GardeningServerTest.test_rebaselineall):
(GardeningServerTest.test_rebaselineall.run_command):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Array.prototype.pop should throw if property is not configurable
https://bugs.webkit.org/show_bug.cgi?id=75788

Rubber Stamped by Oliver Hunt.

No real bug here any more, but the error we throw sometimes has a misleading message.
 
* runtime/JSArray.cpp:
(JSC::JSArray::pop):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r121497): It switched off and broke many unittests
https://bugs.webkit.org/show_bug.cgi?id=90371

Patch by Csaba Osztrogonác <ossy@webkit.org> on 2012-07-02
Reviewed by Adam Barth.

* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest): Use snowleopard as os_version instead of leopard, because it isn't supported anymore.
* Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
(ChromiumPortTestCase.test_all_test_configurations): Remove leopard testcases, because it isn't supported anymore.
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase): Inherit class PortTestCase from unittest.TestCase instead of object.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][CMake] Integrate API unit tests with CTest
https://bugs.webkit.org/show_bug.cgi?id=87251

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-07-02
Reviewed by Daniel Bates.

.:

Enable CTest on the root CMakeLists.txt as it is expected
to be here. This will create a new build target ("make test")
to run all the API unit tests.

* CMakeLists.txt:

Source/WebKit:

Add every test to the test runner build target.

* PlatformEfl.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/box-decoration-break/box-decoration-break-rendering.html failing on mac bots
https://bugs.webkit.org/show_bug.cgi?id=89620

Reviewed by Simon Fraser.

Remove the border-radius from the test case as it can produce differences between
the test case and the reference html. At first we thought the 3 pixels difference
was only happening on Mac but after investigation it also happens in Qt (at least).
It was not triggered because ImageDiff was called with some tolerance. Turning the
tolerance to 0 on Qt also trigger some pixel differences.

The differences on how the radius is drawn can be explained by the fact that
the reference html and the test case uses two different paths for drawing the border.
The reference on the slice case only draw three borders which leads into the contruction
of three different drawing paths that we use to clip and clip out. We then draw the border with
antialiasing off as we have constructed the outer and inner paths pretty accurately.
The test case in the other hand uses the fast path for drawing the borders. The slice effect
is in fact is happening because the graphics context is clipped to the current InlineFlowBox rect but still
the border has 4 edges and its drawing will happen using the following : create a path with
an outer rounded rectangle and an inner rounded rectangle. The path is then filled with RULE_EVENODD
and anti-aliasing turn on to achieve a nice looking effect.

To conclude the pixel differences are the fact of the two different drawing techniques used here. Fast
drawing and anti-aliasing to get a decent result or more accurate algorithm but slower. The original test
was not about testing the radiuses of the borders but rather if the borders are cloned or sliced. Even
removing the radius still cover the feature.

* fast/box-decoration-break/box-decoration-break-rendering-expected.html:
* fast/box-decoration-break/box-decoration-break-rendering.html:
* platform/mac/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium rebaseline for r121697.

* platform/chromium-linux-x86/fast/multicol/vertical-lr: Added.
* platform/chromium-linux-x86/fast/multicol/vertical-lr/float-avoidance-expected.txt: Added.
* platform/chromium-linux-x86/fast/multicol/vertical-rl/float-avoidance-expected.txt: Added.
* platform/chromium-linux/fast/multicol/vertical-lr/float-avoidance-expected.png:
* platform/chromium-linux/fast/multicol/vertical-lr/float-avoidance-expected.txt: Added.
* platform/chromium-linux/fast/multicol/vertical-rl/float-avoidance-expected.png:
* platform/chromium-linux/fast/multicol/vertical-rl/float-avoidance-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/multicol/vertical-lr/float-avoidance-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/multicol/vertical-rl/float-avoidance-expected.png: Removed.
* platform/chromium-mac/fast/multicol/vertical-lr/float-avoidance-expected.png:
* platform/chromium-mac/fast/multicol/vertical-rl/float-avoidance-expected.png:
* platform/chromium-win-xp/fast/multicol/vertical-lr: Added.
* platform/chromium-win-xp/fast/multicol/vertical-lr/float-avoidance-expected.txt: Added.
* platform/chromium-win-xp/fast/multicol/vertical-rl: Added.
* platform/chromium-win-xp/fast/multicol/vertical-rl/float-avoidance-expected.txt: Added.
* platform/chromium-win/fast/multicol/vertical-lr/float-avoidance-expected.png:
* platform/chromium-win/fast/multicol/vertical-lr/float-avoidance-expected.txt:
* platform/chromium-win/fast/multicol/vertical-rl/float-avoidance-expected.png:
* platform/chromium-win/fast/multicol/vertical-rl/float-avoidance-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Another crashing test on the EWS. We think this is because of the flash
package we have installed.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Delete unused rebaseline method in gardeningserver.py
https://bugs.webkit.org/show_bug.cgi?id=90396

Reviewed by Eric Seidel.

As best I can tell, the only usage was in this unittest.

* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler.updateexpectations):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(GardeningServerTest.test_rebaseline_new_port):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Do not do any logging initialization when logging is disabled
https://bugs.webkit.org/show_bug.cgi?id=90228

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-07-02
Reviewed by Simon Fraser.

Source/WebCore: 

Initializating of the logging channels was taking time on startup. When logging is disabled
(and the LOG macro does nothing), we should aslo disable logging channels and initialization.

This patch #ifdef the Logging initialization with the macro LOG_DISABLED.

* WebCore.exp.in:
* make-export-file-generator: Explicitely adds Assertions.h so that LOG_DISABLED is defined.
* platform/Logging.cpp:
* platform/Logging.h:
* platform/blackberry/LoggingBlackBerry.cpp:
* platform/efl/LoggingEfl.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/gtk/LoggingGtk.cpp:
* platform/mac/LoggingMac.mm:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ensureSessionIsInitialized):
* platform/qt/LoggingQt.cpp:
* platform/win/LoggingWin.cpp:
* platform/wx/LoggingWx.cpp:

Source/WebKit/blackberry: 

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):

Source/WebKit/chromium: 

* src/WebKit.cpp:
(WebKit::enableLogChannel):

Source/WebKit/efl: 

* ewk/ewk_main.cpp:
(_ewk_init_body):

Source/WebKit/gtk: 

* webkit/webkitglobals.cpp:
(webkitInit):

Source/WebKit/mac: 

* Misc/WebIconDatabase.mm:
(-[WebIconDatabase _scaleIcon:toSize:]):
* Misc/WebKitLogging.h:
* Misc/WebKitLogging.m:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _attributeStringFromDOMRange:]):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/qt: 

* WebCoreSupport/InitWebCoreQt.cpp:
(WebCore::initializeWebCoreQt):

Source/WebKit/win: 

* WebView.cpp:
(WebView::initWithFrame):

Source/WebKit/wx: 

* WebView.cpp:
(WebKit::WebView::Create):

Source/WebKit2: 

* Platform/Logging.cpp:
* Platform/Logging.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Compositing layer sync should cause deferred repaints to be fired immediately
https://bugs.webkit.org/show_bug.cgi?id=90401
<rdar://problem/11792028>

Reviewed by Simon Fraser and Antti Koivisto.

If we sync compositing layers and allow the repaint to be deferred, there is time for a
visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.

No new tests, configuration and timing dependent.

* page/FrameView.cpp:
(WebCore::FrameView::syncCompositingStateForThisFrame):
(WebCore::FrameView::checkStopDelayingDeferredRepaints):
(WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
* page/FrameView.h:
(FrameView): Add stopDelayingDeferredRepaints.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutUnit::epsilon() is wrong
https://bugs.webkit.org/show_bug.cgi?id=90083

Patch by Behdad Esfahbod <behdad@behdad.org> on 2012-07-02
Reviewed by Eric Seidel.

Do division in floats, not integers.

No new tests. No code using the affected function.

* platform/FractionalLayoutUnit.h:
(WebCore::FractionalLayoutUnit::epsilon):

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