WebKit-https.git
6 years agoAdd some dictionary lookup tests
timothy_horton@apple.com [Sun, 8 Feb 2015 02:43:40 +0000 (02:43 +0000)]
Add some dictionary lookup tests
https://bugs.webkit.org/show_bug.cgi?id=141355

Reviewed by Darin Adler.

Tests: platform/mac/editing/dictionary-lookup/dictionary-lookup-input.html
       platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection.html
       platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection.html
       platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl.html
       platform/mac/editing/dictionary-lookup/dictionary-lookup.html

* WebCore.exp.in:
Remove an unneeded export.

* editing/mac/DictionaryLookup.h:
Use OBJC_CLASS instead of @class so that this can be included in pure-C++ files.

* testing/Internals.cpp:
(WebCore::Internals::rangeForDictionaryLookupAtLocation):
* testing/Internals.h:
* testing/Internals.idl:
Expose rangeForDictionaryLookupAtHitTestResult fairly directly to JavaScript.

* platform/mac/editing/dictionary-lookup/dictionary-lookup-expected.txt: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-input-expected.txt: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-input.html: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection-expected.txt: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-inside-selection.html: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection-expected.txt: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-outside-selection.html: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl-expected.txt: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup-rtl.html: Added.
* platform/mac/editing/dictionary-lookup/dictionary-lookup.html: Added.
* platform/mac/editing/dictionary-lookup/lookup-test.js: Added.
(runTest):
Add tests for various cases that we've had trouble with in the past.

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

6 years agoAdd Vector::removeFirstMatching() / removeAllMatching() methods taking lambda functions
cdumez@apple.com [Sun, 8 Feb 2015 02:28:48 +0000 (02:28 +0000)]
Add Vector::removeFirstMatching() / removeAllMatching() methods taking lambda functions
https://bugs.webkit.org/show_bug.cgi?id=141321

Reviewed by Darin Adler.

Source/JavaScriptCore:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebCore:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebKit/win:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WebKit2:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

Source/WTF:

Add Vector::removeFirstMatching() / removeAllMatching() methods taking
lambda functions to match the element(s) to remove. This simplifies the
code a bit. Vector::removeAllMatching() is also more efficient than the
manual removal alternative.

* wtf/Vector.h:

Tools:

Use new Vector::removeFirstMatching() / removeAllMatching() methods.

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

6 years agoUnreviewed gardening.
zalan@apple.com [Sun, 8 Feb 2015 01:31:58 +0000 (01:31 +0000)]
Unreviewed gardening.
Remove svg/custom/use-events-crash.svg. It has no value anymore.
See webkit.org/b/141108

* platform/gtk/svg/custom/use-events-crash-expected.png: Removed.
* platform/gtk/svg/custom/use-events-crash-expected.txt: Removed.
* platform/ios-sim-deprecated/svg/custom/use-events-crash-expected.txt: Removed.
* platform/ios-simulator/svg/custom/use-events-crash-expected.txt: Removed.
* platform/mac-mountainlion/svg/custom/use-events-crash-expected.txt: Removed.
* platform/mac/svg/custom/use-events-crash-expected.png: Removed.
* platform/mac/svg/custom/use-events-crash-expected.txt: Removed.
* svg/custom/use-events-crash.svg: Removed.

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

6 years agohttp/tests/xmlhttprequest/event-listener-gc.html is flaky
ap@apple.com [Sun, 8 Feb 2015 00:53:49 +0000 (00:53 +0000)]
http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Darin Adler.

This test relies on a zero-delay timer being a lot faster than fetching from network.
Force a layout before starting the test, because otherwise, the layout can significantly
delay the timer (I've seen 50-60 milliseconds being a common delay in debug builds).

Also, changed the resource URL to avoid Apache error log spew.

* http/tests/xmlhttprequest/event-listener-gc.html:

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

6 years ago[iOS] Make Simulator class testable
ddkilzer@apple.com [Sun, 8 Feb 2015 00:44:06 +0000 (00:44 +0000)]
[iOS] Make Simulator class testable
<http://webkit.org/b/141358>

Rubber-stamped by Darin Adler.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.xcode_simctl_list): Move `xcrun simctl list`
command to here from Simulator.refresh() in xcode/simulator.py
so that the output of the command can be mocked.

* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.__init__): Set self.expected_xcode_simctl_list
to None.
(MockPlatformInfo.xcode_simctl_list): Add method that returns
self.expected_xcode_simctl_list expectation.

* Scripts/webkitpy/xcode/simulator.py: Add missing copyright
and license header.
(Simulator.__init__): Add optional 'host' parameter to make it
possible to pass in a mock object for testing.  Set self._host
to 'host' parameter or create Host() object.
(Simulator.refresh): Call new PlatformInfo.xcode_simctl_list()
method.

* Scripts/webkitpy/xcode/simulator_unittest.py: Add unit test
for current code.
(SimulatorTest):
(SimulatorTest.setUp):
(SimulatorTest._set_expected_xcrun_simctl_list):
(SimulatorTest.test_simulator_device_types):
(test_invalid_device_types_header):
(test_invalid_runtimes_header):
(test_invalid_devices_header):

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

6 years agofast/images/animated-gif-iframe-webkit-transform.html is flaky
cdumez@apple.com [Sun, 8 Feb 2015 00:32:54 +0000 (00:32 +0000)]
fast/images/animated-gif-iframe-webkit-transform.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141323

Reviewed by Alexey Proskuryakov.

Use shouldBecomeEqual() instead of shouldBe() to check for initial test
conditions. This should address the flakiness.

* fast/images/animated-gif-iframe-webkit-transform-expected.txt:
* fast/images/animated-gif-iframe-webkit-transform.html:
* platform/mac/TestExpectations:

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

6 years agoAdd API::HistoryClient and split some things out of API::NavigationClient
timothy_horton@apple.com [Sat, 7 Feb 2015 23:46:18 +0000 (23:46 +0000)]
Add API::HistoryClient and split some things out of API::NavigationClient
https://bugs.webkit.org/show_bug.cgi?id=141264

Reviewed by Darin Adler.

* UIProcess/API/APIHistoryClient.h: Added.
(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didNavigateWithNavigationData): Deleted.
(API::NavigationClient::didPerformClientRedirect): Deleted.
(API::NavigationClient::didPerformServerRedirect): Deleted.
(API::NavigationClient::didUpdateHistoryTitle): Deleted.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createHistoryClient):
(WebKit::NavigationState::HistoryClient::HistoryClient):
(WebKit::NavigationState::HistoryClient::~HistoryClient):
(WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData):
(WebKit::NavigationState::HistoryClient::didPerformClientRedirect):
(WebKit::NavigationState::HistoryClient::didPerformServerRedirect):
(WebKit::NavigationState::HistoryClient::didUpdateHistoryTitle):
(WebKit::NavigationState::NavigationClient::didNavigateWithNavigationData): Deleted.
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect): Deleted.
(WebKit::NavigationState::NavigationClient::didPerformServerRedirect): Deleted.
(WebKit::NavigationState::NavigationClient::didUpdateHistoryTitle): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setHistoryClient):
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):
* UIProcess/WebPageProxy.h:
Add a API::HistoryClient and move the few things that belong on it out of API::NavigationClient.
Adjust accordingly in WebPageProxy and NavigationState.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setNavigationDelegate:]):
(-[WKWebView setUIDelegate:]):
(-[WKWebView _setHistoryDelegate:]):
Lazily push the NavigationState/UIDelegate clients down to WebPageProxy upon
installation of a delegate, so that alternative (C SPI) delegate setters can
be separately created.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoSource/WebCore:
darin@apple.com [Sat, 7 Feb 2015 23:17:26 +0000 (23:17 +0000)]
Source/WebCore:
Stop dispatching events to with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Test: svg/custom/use-event-retargeting.html

* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules): Replaced the code that retargeted
events at SVGElementInstance objects with code that retargets them at the use
element instead. Also wrote the code in a simpler way.

LayoutTests:
Stop dispatching events with SVGElementInstance objects as their targets
https://bugs.webkit.org/show_bug.cgi?id=141108

Reviewed by Anders Carlsson.

Many tests are no longer relevant once we aren't doing this any more.

* platform/gtk/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
* platform/gtk/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
* platform/gtk/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
* platform/ios-sim-deprecated/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
* platform/ios-simulator/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
* platform/mac-mountainlion/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
* platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.png: Removed.
* platform/mac/svg/custom/use-instanceRoot-modifications-expected.png: Removed.
* platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt: Removed.
* svg/custom/use-instanceRoot-modifications.svg: Removed.
* svg/custom/use-instanceRoot-with-use-removed-expected.txt: Removed.
* svg/custom/use-instanceRoot-with-use-removed.svg: Removed.

* svg/custom/resources/use-instanceRoot-event-bubbling.js: Updated this test to expect
the events to be dispatched with the SVGUseElement as the target. I talked this over with
Sam Weinig and we decided this is good behavior for now, and it almost matches what the
spec says. Might be worth refining later.
* svg/custom/use-instanceRoot-event-bubbling-expected.txt: Updated expected results.
* svg/custom/use-instanceRoot-event-bubbling.xhtml: Tweaked the test a little. It still
could use improvement; it's like half a "repaint test", which is strange.

* svg/custom/use-event-retargeting-expected.txt: Added. Got this test from Blink.
* svg/custom/use-event-retargeting.html: Added. Ditto.

* svg/custom/use-events-crash.svg: Added some more events, a second click, so that we
don't hang with the context menu up when running this. Also converted line endings to
use LF instead of CRLF.

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

6 years ago[Mac] Set -contentsScale on AVPlayerLayer to allow AVPlayer to select the appropriate...
jer.noble@apple.com [Sat, 7 Feb 2015 22:48:36 +0000 (22:48 +0000)]
[Mac] Set -contentsScale on AVPlayerLayer to allow AVPlayer to select the appropriate HLS variant.
https://bugs.webkit.org/show_bug.cgi?id=141354
rdar://problem/19717591

Reviewed by Darin Adler.

AVPlayer will try to determine the correct HLS variant based on the bounds of an AVPlayerLayer.
When not in a layer tree, AVFoundation is not able to determine the correct mapping from logical
units to pixel values. To provide AVPlayer with that scaling value, set -contentsScale based on
both the current device scale and the current page scale.

Since this needs to be set at initialization time, before the AVPlayer is has any AVPlayerItems,
add some plumbing up from MediaPlayer to as the HTMLMediaElement for the appropriate contents
scale.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerContentsScale):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerContentsScale):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsScale):

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

6 years agoASan complains about plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image...
ap@apple.com [Sat, 7 Feb 2015 20:21:24 +0000 (20:21 +0000)]
ASan complains about plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html
https://bugs.webkit.org/show_bug.cgi?id=141352
rdar://problem/19717490

Reviewed by Anders Carlsson.

* dom/Document.cpp: (WebCore::Document::ensurePlugInsInjectedScript): This string
is not null terminated.

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

6 years agoAnd as a further followup restore the 8bit test too.
antti@apple.com [Sat, 7 Feb 2015 19:50:42 +0000 (19:50 +0000)]
And as a further followup restore the 8bit test too.

* NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::hashString):

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

6 years agoUse longer hashes for cache keys
antti@apple.com [Sat, 7 Feb 2015 19:45:15 +0000 (19:45 +0000)]
Use longer hashes for cache keys
https://bugs.webkit.org/show_bug.cgi?id=141356

Rubber-stamped by Darin Adler.

Folloup and build fix.

* NetworkProcess/cache/NetworkCacheCoders.h:
* NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::hashString):

    Use containsOnlyASCII instead of is8Bit so both paths always compute the same hash.

* NetworkProcess/cache/NetworkCacheKey.h:

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

6 years agoRemove a printf.
antti@apple.com [Sat, 7 Feb 2015 19:19:43 +0000 (19:19 +0000)]
Remove a printf.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::retrieve):

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

6 years agoUse longer hashes for cache keys
antti@apple.com [Sat, 7 Feb 2015 19:18:30 +0000 (19:18 +0000)]
Use longer hashes for cache keys
https://bugs.webkit.org/show_bug.cgi?id=141356

Reviewed by Darin Adler.

The current key hashes are 32bit. We should use longer hashes to eliminate collisions.

This patch switches us to using MD5 digests for the cache key hashes. As a result the file names for the cache
entries grow from 8 to 32 character.

Note that we don't need a cryptographic hash (full cache keys are verified against the entries).
MD5 just happens to be fast, convenient and available.

The patch also moves the whole cache hierarchy down to a versioned subdirectory ("WebKitCache/Version 2")
and deletes any old style cache files if they exist.

* NetworkProcess/cache/NetworkCacheCoders.cpp:
(WebKit::NetworkCacheCoder<MD5::Digest>::encode):
(WebKit::NetworkCacheCoder<MD5::Digest>::decode):
* NetworkProcess/cache/NetworkCacheCoders.h:
* NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCacheKey::NetworkCacheKey):
(WebKit::hashString):
(WebKit::NetworkCacheKey::computeHash):
(WebKit::NetworkCacheKey::hashAsString):
(WebKit::NetworkCacheKey::stringToHash):
* NetworkProcess/cache/NetworkCacheKey.h:
(WebKit::NetworkCacheKey::shortHash):
(WebKit::NetworkCacheKey::toShortHash):

    32bit hash to use in the bloom filter.

(WebKit::NetworkCacheKey::hashStringLength):
* NetworkProcess/cache/NetworkCacheStorage.h:

    Bump the version.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::traverseCacheFiles):
(WebKit::makeVersionedDirectoryPath):
(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
(WebKit::NetworkCacheStorage::deleteOldVersions):

    Wipe out the version 1 cache.

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

6 years agorun-jsc-stress-tests --remote should use the default ssh port
ossy@webkit.org [Sat, 7 Feb 2015 17:01:37 +0000 (17:01 +0000)]
run-jsc-stress-tests --remote should use the default ssh port
https://bugs.webkit.org/show_bug.cgi?id=141287

Reviewed by Darin Adler.

* Scripts/run-jsc-stress-tests: Extended URI module to be able to handle ssh scheme with the default 22 port number.

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

6 years agoREGRESSION (OS X 10.10.2): http/tests/media/video-query-url.html frequently times out
ap@apple.com [Sat, 7 Feb 2015 08:32:54 +0000 (08:32 +0000)]
REGRESSION (OS X 10.10.2): http/tests/media/video-query-url.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=141085

* platform/mac-wk2/TestExpectations: Added an expectation.

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

6 years agoASSERT repaintContainer->hasLayer() in WebCore::RenderObject::repaintUsingContainer
zalan@apple.com [Sat, 7 Feb 2015 04:35:58 +0000 (04:35 +0000)]
ASSERT repaintContainer->hasLayer() in WebCore::RenderObject::repaintUsingContainer
https://bugs.webkit.org/show_bug.cgi?id=140750

Reviewed by Simon Fraser.

There's a short period of time when RenderObject::layer() still returns a valid pointer
even though we already cleared the hasLayer() flag.
Do not use the layer as repaint container in such cases.

Source/WebCore:

Test: compositing/repaint-container-assertion-when-toggling-compositing.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::enclosingLayer):

LayoutTests:

* compositing/repaint-container-assertion-when-toggling-compositing-expected.txt: Added.
* compositing/repaint-container-assertion-when-toggling-compositing.html: Added.

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

6 years agodashboard: BuildbotTesterQueueView crashesOnly logic is wrong
dburkart@apple.com [Sat, 7 Feb 2015 04:35:30 +0000 (04:35 +0000)]
dashboard: BuildbotTesterQueueView crashesOnly logic is wrong
https://bugs.webkit.org/show_bug.cgi?id=141349

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update):

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

6 years agoHave SQLiteStatement::database() return a reference
cdumez@apple.com [Sat, 7 Feb 2015 03:06:58 +0000 (03:06 +0000)]
Have SQLiteStatement::database() return a reference
https://bugs.webkit.org/show_bug.cgi?id=141348

Reviewed by Andreas Kling.

Have SQLiteStatement::database() return a reference as it can never
return null.

Source/WebCore:

* loader/icon/IconDatabase.cpp:
(WebCore::readySQLiteStatement):
* platform/sql/SQLiteStatement.h:
(WebCore::SQLiteStatement::database):

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::SQLiteIDBCursor::internalAdvanceOnce):

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

6 years agoAdd youtube-nocookie URL to isYouTubeURL predicate
bfulgham@apple.com [Sat, 7 Feb 2015 01:38:15 +0000 (01:38 +0000)]
Add youtube-nocookie URL to isYouTubeURL predicate
https://bugs.webkit.org/show_bug.cgi?id=141347
<rdar://problem/19430657>

Reviewed by Eric Carlson.

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::isYouTubeURL): Update for additional youtube-nocookie site.

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

6 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@179772 268f45cc-cd09-0410...
said@apple.com [Sat, 7 Feb 2015 01:24:48 +0000 (01:24 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@179772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConvert the compositing overlap map to use LayoutRects
simon.fraser@apple.com [Sat, 7 Feb 2015 01:11:07 +0000 (01:11 +0000)]
Convert the compositing overlap map to use LayoutRects
https://bugs.webkit.org/show_bug.cgi?id=141346
Source/WebCore:

rdar://problem/18206365

Reviewed by Zalan Bujtas.

If two compositing layers were adjoining but not overlapping, but happened to
have non-integral offsets, then using enclosing IntRects in the overlap map
would cause us to think they are overlapping, and create unnecessary backing store.

Fix by converting the overlap map to use LayoutRects.

Test: compositing/layer-creation/subpixel-adjacent-layers-overlap.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::OverlapMapContainer::add):
(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::add):
(WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::append):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderLayerCompositor.h:

LayoutTests:

Reviewed by Zalan Bujtas.

Test with adjacent layers on non-pixel boundaries.

* compositing/layer-creation/subpixel-adjacent-layers-overlap-expected.txt: Added.
* compositing/layer-creation/subpixel-adjacent-layers-overlap.html: Added.

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

6 years agoRef-ify various getters that return HTMLCollection.
akling@apple.com [Sat, 7 Feb 2015 01:08:52 +0000 (01:08 +0000)]
Ref-ify various getters that return HTMLCollection.
<https://webkit.org/b/141336>

Reviewed by Anders Carlsson.

Make all the getters that return HTMLCollection objects (and never return nullptr)
return Ref instead of RefPtr.

Removed a couple of useless null checks that were exposed by this change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::getDocumentLinks):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* dom/Document.cpp:
(WebCore::Document::ensureCachedCollection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
(WebCore::Document::all):
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
(WebCore::Document::iconURLs):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::ensureCachedHTMLCollection):
* dom/Element.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions):
* html/HTMLDataListElement.cpp:
(WebCore::HTMLDataListElement::options):
* html/HTMLDataListElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::children):
* html/HTMLElement.h:
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::elements):
* html/HTMLFieldSetElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elements):
* html/HTMLFormElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::areas):
* html/HTMLMapElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectedOptions):
(WebCore::HTMLSelectElement::options):
* html/HTMLSelectElement.h:
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::rows):
(WebCore::HTMLTableElement::tBodies):
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::insertCell):
(WebCore::HTMLTableRowElement::deleteCell):
(WebCore::HTMLTableRowElement::cells):
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::insertRow):
(WebCore::HTMLTableSectionElement::deleteRow):
(WebCore::HTMLTableSectionElement::rows):
* html/HTMLTableSectionElement.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::updateTickMarkValues):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):

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

6 years ago[iOS] Implement audio track selection in fullscreen.
bfulgham@apple.com [Sat, 7 Feb 2015 00:39:59 +0000 (00:39 +0000)]
[iOS] Implement audio track selection in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=131236
<rdar://problem/16552632>

Reviewed by Eric Carlson.

* platform/ios/WebVideoFullscreenModelVideoElement.h:
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::selectAudioMediaOption): Provide implementation.
(WebVideoFullscreenModelVideoElement::updateLegibleOptions): Add audio track information
to menu displayed to user.

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

6 years agoDFG SSA shouldn't have SetArgument nodes
fpizlo@apple.com [Fri, 6 Feb 2015 23:37:39 +0000 (23:37 +0000)]
DFG SSA shouldn't have SetArgument nodes
https://bugs.webkit.org/show_bug.cgi?id=141342

Reviewed by Mark Lam.

I was wondering why we kept the SetArgument around for captured
variables. It turns out we did so because we thought we had to, even
though we didn't have to. The node is meaningless in SSA.

* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):

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

6 years agoThe delta value in the chart pane sometimes doens't show '+' for a positive delta
rniwa@webkit.org [Fri, 6 Feb 2015 23:31:30 +0000 (23:31 +0000)]
The delta value in the chart pane sometimes doens't show '+' for a positive delta
https://bugs.webkit.org/show_bug.cgi?id=141340

Reviewed by Andreas Kling.

The bug was caused by computeStatus prefixing the value delta with '+' if it's greater than 0 after
it had already been formatted. Fixed the bug by using a formatter that always emits a sign symbol.

* public/v2/app.js:
(App.Pane.computeStatus):
(App.createChartData):

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

6 years agoUnreviewed build fix. currentPoint wasn't defined when selectedPoints was used to...
rniwa@webkit.org [Fri, 6 Feb 2015 22:55:57 +0000 (22:55 +0000)]
Unreviewed build fix. currentPoint wasn't defined when selectedPoints was used to find points.

* public/v2/app.js:
(App.PaneController._updateDetails):

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

6 years agoUnreviewed. Commit the forgotten change.
rniwa@webkit.org [Fri, 6 Feb 2015 22:47:31 +0000 (22:47 +0000)]
Unreviewed. Commit the forgotten change.

* public/include/manifest.php:

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

6 years agoNew perf dashboard should have multiple dashboard pages
rniwa@webkit.org [Fri, 6 Feb 2015 22:43:08 +0000 (22:43 +0000)]
New perf dashboard should have multiple dashboard pages
https://bugs.webkit.org/show_bug.cgi?id=141339

Reviewed by Chris Dumez.

Added the support for multiple dashboard pages. Also added the status of the latest data point.
e.g. "5% better than target"

* public/v2/app.css: Tweaked the styles to work around the fact Ember.js creates empty script elements.
Also hid the border lines around charts on the dashboard page for a cleaner look.

* public/v2/app.js:
(App.IndexRoute): Added. Navigate to /dashboard/<defaultDashboardName> once the manifest.json is loaded.
(App.IndexRoute.beforeModel): Added.
(App.DashboardRoute): Added.
(App.DashboardRoute.model): Added. Return the dashboard specified by the name.
(App.CustomDashboardRoute): Added. This route is used for a customized dashboard specified by "grid".
(App.CustomDashboardRoute.model): Create a dashboard model from "grid" query parameter.
(App.CustomDashboardRoute.renderTemplate): Use the dashboard template.
(App.DashboardController): Renamed from App.IndexController.
(App.DashboardController.modelChanged): Renamed from gridChanged. Removed the code to deal with "grid"
and "defaultDashboard" as these are taken care of by newly added routers.
(App.DashboardController.computeGrid): Renamed from updateGrid. No longer updates "grid" since this is
now done in actions.toggleEditMode.
(App.DashboardController.actions.toggleEditMode): Navigate to CustomDashboardRoute when start editing
an existing dashboard.

(App.Pane.computeStatus): Moved from App.PaneController so that to be called in App.Pane.latestStatus.
Also moved the code to compute the delta with respect to the previous data point from _updateDetails.
(App.Pane._relativeDifferentToLaterPointInTimeSeries): Ditto.
(App.Pane.latestStatus): Added. Used by the dashboard template to show the status of the latest result.

(App.createChartData): Added deltaFormatter to show less significant digits for differences.

(App.PaneController._updateDetails): Updated per changes to computeStatus.

* public/v2/chart-pane.css: Added style rules for the status labels on the dashboard.

* public/v2/data.js:
(TimeSeries.prototype.lastPoint): Added.

* public/v2/index.html: Prefetch manifest.json as soon as possible, show the latest data points' status
on the dashboard, and enumerate all predefined dashboards.

* public/v2/interactive-chart.js:
(App.InteractiveChartComponent._relayoutDataAndAxes): Slightly adjust the offset at which we show unit
for the dashboard page.

* public/v2/manifest.js:
(App.Dashboard): Inherit from App.NameLabelModel now that each predefined dashboard has a name.
(App.MetricSerializer.normalizePayload): Parse all predefined dashboards instead of a single dashboard.
IDs are generated for each dashboard for forward compatibility.
(App.Manifest):
(App.Manifest.dashboardByName): Added.
(App.Manifest.defaultDashboardName): Added.
(App.Manifest._fetchedManifest): Create dashboard model objects for all predefined ones.

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

6 years ago[MSE] Implement Append Error algorithm.
commit-queue@webkit.org [Fri, 6 Feb 2015 22:14:20 +0000 (22:14 +0000)]
[MSE] Implement Append Error algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139439

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-02-06
Reviewed by Jer Noble.

If Source Buffer has not received first init segment, then it shall call endOfStream after receiving
Media Segment, as per Media Source spec. (from 17 July 2014) in paragraph 3.5.1 point 6.1.
Source/WebCore:

Based this change on Editor's Draft 12 December 2014, as it clarifies order of events.

Test: media/media-source/media-source-append-media-segment-without-init.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::streamEndedWithError):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::validateInitializationSegment):
(WebCore::SourceBuffer::appendError):
* Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added test which after creating SourceBuffer sends media sample, without any init segments.
Updated existing tests, so they correctly expect updateend and error as per Append Error algorithm.

* media/media-source/media-source-append-failed-expected.txt:
* media/media-source/media-source-append-failed.html:
* media/media-source/media-source-append-media-segment-without-init-expected.txt: Added.
* media/media-source/media-source-append-media-segment-without-init.html: Added.
* media/media-source/media-source-multiple-initialization-segments-expected.txt:
* media/media-source/media-source-multiple-initialization-segments.html:

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

6 years agoREGRESSION: Lookup doesn't work in RTL
timothy_horton@apple.com [Fri, 6 Feb 2015 21:54:45 +0000 (21:54 +0000)]
REGRESSION: Lookup doesn't work in RTL
https://bugs.webkit.org/show_bug.cgi?id=141338
<rdar://problem/19738407>

Reviewed by Dan Bernstein.

* editing/Editor.cpp:
(WebCore::Editor::scanSelectionForTelephoneNumbers):
* editing/mac/DictionaryLookup.mm:
(WebCore::rangeExpandedAroundPositionByCharacters):
Positions are independent of writing direction, so we don't
need to (and shouldn't) do anything special for RTL here.

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

6 years agoCorrect expectations for inspector/css/selector-dynamic-specificity.html.
ap@apple.com [Fri, 6 Feb 2015 21:48:41 +0000 (21:48 +0000)]
Correct expectations for inspector/css/selector-dynamic-specificity.html.

"Slow Pass Timeout" is not currently valid - if we expect a flaky timeout, we need
to expect it within the regular period of time with "Pass Timeout".

* platform/mac-wk2/TestExpectations:

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

6 years agoIt should be possible to use the DFG SetArgument node to indicate that someone set...
fpizlo@apple.com [Fri, 6 Feb 2015 21:39:04 +0000 (21:39 +0000)]
It should be possible to use the DFG SetArgument node to indicate that someone set the value of a local out-of-band
https://bugs.webkit.org/show_bug.cgi?id=141337

Reviewed by Mark Lam.

This mainly involved ensuring that SetArgument behaves just like SetLocal from a CPS standpoint, but with a special case for those SetArguments that
are associated with the prologue.

* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::canonicalizeSet):
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):
(JSC::DFG::CPSRethreadingPhase::specialCaseArguments):
(JSC::DFG::CPSRethreadingPhase::canonicalizeSetLocal): Deleted.
(JSC::DFG::CPSRethreadingPhase::canonicalizeSetArgument): Deleted.

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

6 years agoWeb Inspector: REGRESSION: CSS Resource appears as empty after editing it via Styles...
jonowells@apple.com [Fri, 6 Feb 2015 21:33:26 +0000 (21:33 +0000)]
Web Inspector: REGRESSION: CSS Resource appears as empty after editing it via Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=140586

Reviewed by Timothy Hatcher.

Update SourceCode#_processContent to properly handle the promise returned from CSSAgent so that the content
will properly update when a style has changed. Properly clear the existing _requestContentPromise on the
stylesheet so that the content will update correctly.

* UserInterface/Controllers/CSSStyleManager.js: Drive-by style updates.
(WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
* UserInterface/Models/CSSStyleSheet.js: Drive-by inheritance style update.
(WebInspector.CSSStyleSheet.prototype.requestContentFromBackend): Remove unnecessary backend promise function call.
* UserInterface/Models/Resource.js: Drive-by removal of unused variable.
* UserInterface/Models/SourceCode.js:
(WebInspector.SourceCode.prototype.markContentAsStale): Clear _requestContentPromise.
(WebInspector.SourceCode.prototype._processContent): Handle `parameters.text` correctly.

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

6 years agoReport network process crashes during layout tests
ap@apple.com [Fri, 6 Feb 2015 21:21:08 +0000 (21:21 +0000)]
Report network process crashes during layout tests
https://bugs.webkit.org/show_bug.cgi?id=139646

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a way to get network process pid, modeled after how we do this for web process.

* UIProcess/API/C/mac/WKContextPrivateMac.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetNetworkProcessIdentifier):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessCrashed): Don't reset m_networkProcess until
after calling the client, so that the client could retrieve its pid.
(WebKit::WebProcessPool::networkProcessIdentifier):
* UIProcess/WebProcessPool.h:

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::networkProcessName):
(WTR::TestController::networkProcessDidCrash):
* WebKitTestRunner/TestController.h:

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

6 years agoMachineThreads should be ref counted.
mark.lam@apple.com [Fri, 6 Feb 2015 20:57:45 +0000 (20:57 +0000)]
MachineThreads should be ref counted.
<https://webkit.org/b/141317>

Reviewed by Filip Pizlo.

The VM's MachineThreads registry object is being referenced from other
threads as a raw pointer.  In a scenario where the VM is destructed on
the main thread, there is no guarantee that another thread isn't still
holding a reference to the registry and will eventually invoke
removeThread() on it on thread exit.  Hence, there's a possible use
after free scenario here.

The fix is to make MachineThreads ThreadSafeRefCounted, and have all
threads that references keep a RefPtr to it to ensure that it stays
alive until the very last thread is done with it.

* API/tests/testapi.mm:
(useVMFromOtherThread): - Renamed to be more descriptive.
(useVMFromOtherThreadAndOutliveVM):
- Added a test that has another thread which uses the VM outlive the
  VM to confirm that there is no crash.

  However, I was not actually able to get the VM to crash without this
  patch because I wasn't always able to the thread destructor to be
  called.  With this patch applied, I did verify with some logging that
  the MachineThreads registry is only destructed after all threads
  have removed themselves from it.

(threadMain): Deleted.

* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::gatherStackRoots):
* heap/Heap.h:
(JSC::Heap::machineThreads):
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeCurrentThread):
* heap/MachineStackMarker.h:

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

6 years agoSupport overriding the deviceScaleFactor per WKWebView/WKView
timothy@apple.com [Fri, 6 Feb 2015 20:46:19 +0000 (20:46 +0000)]
Support overriding the deviceScaleFactor per WKWebView/WKView
https://bugs.webkit.org/show_bug.cgi?id=141311

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _intrinsicDeviceScaleFactor]):
(-[WKView _setOverrideDeviceScaleFactor:]):
(-[WKView _overrideDeviceScaleFactor]):

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

6 years agoUnreviewed, rolling out r179743.
commit-queue@webkit.org [Fri, 6 Feb 2015 20:25:05 +0000 (20:25 +0000)]
Unreviewed, rolling out r179743.
https://bugs.webkit.org/show_bug.cgi?id=141335

caused missing symbols in non-WebKit clients of WTF::Vector
(Requested by kling on #webkit).

Reverted changeset:

"Remove WTF::fastMallocGoodSize()."
https://bugs.webkit.org/show_bug.cgi?id=141020
http://trac.webkit.org/changeset/179743

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

6 years agoREGRESSION(r179706): Caused memory corruption on some tests (Requested by _ap_ on...
mjs@apple.com [Fri, 6 Feb 2015 18:56:48 +0000 (18:56 +0000)]
REGRESSION(r179706): Caused memory corruption on some tests (Requested by _ap_ on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=141324

Reviewed by Alexey Proskuryakov.

No new tests. This is caught by existing tests under ASAN, and I don't know how to reproduce
it without ASAN.

* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Give up
and just always invalidate the next line. It's too hard to come up
with the condition that catches all needed cases, doesn't itself
cause a crash, and isn't overzealous. And we do this for the
previous line anyway.  Also clean up the code a bit since it
confusingly reuses a variable, and declares it uninitialized, for
no good reason.

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

6 years agohttp/tests/xmlhttprequest/event-listener-gc.html is flaky
ap@apple.com [Fri, 6 Feb 2015 18:50:25 +0000 (18:50 +0000)]
http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Tweaked test output a little, hopefully this will shed some light on what happens in failure case.

* http/tests/xmlhttprequest/event-listener-gc-expected.txt:
* http/tests/xmlhttprequest/event-listener-gc.html:

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

6 years agorun-jsc-stress-tests --remote should create remote directory before copying the bundle
ossy@webkit.org [Fri, 6 Feb 2015 16:27:54 +0000 (16:27 +0000)]
run-jsc-stress-tests --remote should create remote directory before copying the bundle
https://bugs.webkit.org/show_bug.cgi?id=141329

Reviewed by Michael Saboff.

* Scripts/run-jsc-stress-tests:

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

6 years agoRemove BytecodeGenerator::preserveLastVar() and replace it with a more robust mechani...
fpizlo@apple.com [Fri, 6 Feb 2015 16:04:39 +0000 (16:04 +0000)]
Remove BytecodeGenerator::preserveLastVar() and replace it with a more robust mechanism for preserving non-temporary registers
https://bugs.webkit.org/show_bug.cgi?id=141211

Reviewed by Mark Lam.

Previously, the way non-temporary registers were preserved (i.e. not reclaimed anytime
we did newTemporary()) by calling preserveLastVar() after all non-temps are created. It
would raise the refcount on the last (highest-numbered) variable created, and rely on
the fact that register reclamation started at higher-numbered registers and worked its
way down. So any retained register would block any lower-numbered registers from being
reclaimed.

Also, preserveLastVar() sets a thing called m_firstConstantIndex. It's unused.

This removes preserveLastVar() and makes addVar() retain each register it creates. This
is more explicit, since addVar() is the mechanism for creating non-temporary registers.

To make this work I had to remove an assertion that Register::setIndex() can only be
called when the refcount is zero. This method might be called after a var is created to
change its index. This previously worked because preserveLastVar() would be called after
we had already made all index changes, so the vars would still have refcount zero. Now
they have refcount 1. I think it's OK to lose this assertion; I can't remember this
assertion ever firing in a way that alerted me to a serious issue.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::preserveLastVar): Deleted.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::addVar):
* bytecompiler/RegisterID.h:
(JSC::RegisterID::setIndex):

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

6 years ago[GTK] Remove WebKitWebView::close-notification signal
carlosgc@webkit.org [Fri, 6 Feb 2015 14:50:20 +0000 (14:50 +0000)]
[GTK] Remove WebKitWebView::close-notification signal
https://bugs.webkit.org/show_bug.cgi?id=141330

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

In favor of a WebKitNotification::closed signal and
webkit_notification_close() method that both applications and
WebKit can use to close a notification. This also fixes the
onclose event that was not fired when the notification was
closed. It also brings back padding space in WebKitWebViewClass.

* UIProcess/API/gtk/WebKitNotification.cpp:
(webkit_notification_class_init): Add WebKitNotification::closed signal.
(webkit_notification_close): Emit WebKitNotification::closed.
* UIProcess/API/gtk/WebKitNotification.h:
* UIProcess/API/gtk/WebKitNotificationProvider.cpp:
(WebKitNotificationProvider::notificationCloseCallback): Callback
for WebKitNotification::closed signal that notifies the WebProcess
and removes the notification from the map.
(WebKitNotificationProvider::show): Connect to WebKitNotification::closed.
(WebKitNotificationProvider::cancelNotificationByID): Call webkit_notification_close().
* UIProcess/API/gtk/WebKitNotificationProvider.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(notifyNotificationClosed): The user closed the annotation, call
webkit_notification_close().
(webNotificationClosed): The WebKitNotification has been closed,
close the libnotify notification if it hasn't been closed yet.
(webkitWebViewShowNotification): Create the libnotifiy
notification if needed and associate it to the WebKitNotification
as user data. Connect to the closed signal of both, the libnotifiy
notification and the WebKit notification.
(webkitWebViewCloseNotification): Deleted.
(webkit_web_view_class_init): Remove close-notification signal and
the default hanlder.
(webkitWebViewEmitCloseNotification): Deleted.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add webkit_notification_close.

Tools:

Update notifications unit tests according to the API changes, and
add a test case to check that onclose event is fired when a
notification is closed by the user.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewNotification):

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

6 years agoASSERTION FAILED: !m_adoptionIsRequired in WTF::RefCountedBase::ref
carlosgc@webkit.org [Fri, 6 Feb 2015 14:46:17 +0000 (14:46 +0000)]
ASSERTION FAILED: !m_adoptionIsRequired in WTF::RefCountedBase::ref
https://bugs.webkit.org/show_bug.cgi?id=141035

Reviewed by Sergio Villar Senin.

Rename PrinterListGtk::singleton() as PrinterListGtk::getOrCreate(), and
make it return nullptr when the shared PrinterListGtk object is
still being created. This can happen if the nested loop used by
gtk_enumerate_printers dispatches a GSource that starts a new
synchronous print operation. In that case we just ignore the
second print operation, since there's already one ongoing.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print): Return early if
PrinterListGtk::getOrCreate() return nullptr.
* WebProcess/WebPage/gtk/PrinterListGtk.cpp:
(WebKit::PrinterListGtk::getOrCreate): Return nullptr if the
PrinterListGtk is still enumerating the printers.
(WebKit::PrinterListGtk::PrinterListGtk): Initialize
m_enumeratingPrinters to true before calling
gtk_enumerate_printers, and to false once it finishes.
(WebKit::PrinterListGtk::singleton): Deleted.
(WebKit::PrinterListGtk::enumeratePrintersFunction): Deleted.
* WebProcess/WebPage/gtk/PrinterListGtk.h:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Add an
assertion here since PrinterListGtk::getOrCreate() should never
return nullptr at this point.

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

6 years agoRemove WTF::fastMallocGoodSize().
akling@apple.com [Fri, 6 Feb 2015 10:03:56 +0000 (10:03 +0000)]
Remove WTF::fastMallocGoodSize().
<https://webkit.org/b/141020>

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::grow):

Source/WTF:

bmalloc's good-size API just returns exactly whatever you pass it,
so it's of no utility to us anymore.

This gets rid of a bunch of pointless out-of-line calls in Vector
construction and growth.

* wtf/Compression.cpp:
(WTF::GenericCompressedData::create):
* wtf/FastMalloc.cpp:
(WTF::fastMallocGoodSize): Deleted.
* wtf/FastMalloc.h:
* wtf/Vector.h:
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):

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

6 years agohttp/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html is flaky
ap@apple.com [Fri, 6 Feb 2015 08:31:30 +0000 (08:31 +0000)]
http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141325

* platform/mac-wk2/TestExpectations: Mark it as such.

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

6 years agoinspector/css/selector-dynamic-specificity.html is very slow on Yosemite
ap@apple.com [Fri, 6 Feb 2015 08:14:11 +0000 (08:14 +0000)]
inspector/css/selector-dynamic-specificity.html is very slow on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=141252

* platform/mac-wk2/TestExpectations: Add weaker expectations for debug builds.

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

6 years agoTest gardening for issues uncovered by disabling retries on debug bots.
ap@apple.com [Fri, 6 Feb 2015 04:32:46 +0000 (04:32 +0000)]
Test gardening for issues uncovered by disabling retries on debug bots.

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

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

6 years agoRemove duplicate loop after r179532
diorahman@rockybars.com [Fri, 6 Feb 2015 04:07:09 +0000 (04:07 +0000)]
Remove duplicate loop after r179532
https://bugs.webkit.org/show_bug.cgi?id=141300

Reviewed by Benjamin Poulain.

No new tests, no behavior changed.

* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):

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

6 years agoUnreviewed, rolling out r179725.
commit-queue@webkit.org [Fri, 6 Feb 2015 03:55:10 +0000 (03:55 +0000)]
Unreviewed, rolling out r179725.
https://bugs.webkit.org/show_bug.cgi?id=141320

caused 2 layout tests to fail (Requested by zalan on #webkit).

Reverted changeset:

"[MSE] Implement Append Error algorithm."
https://bugs.webkit.org/show_bug.cgi?id=139439
http://trac.webkit.org/changeset/179725

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

6 years ago[iOS] Run a full garbage collection on memory warning.
akling@apple.com [Fri, 6 Feb 2015 03:14:22 +0000 (03:14 +0000)]
[iOS] Run a full garbage collection on memory warning.
<https://webkit.org/b/141313>
<rdar://problem/19738024>

Reviewed by Chris Dumez.

Make sure that we run a full GC when trying to free up memory, as this might
be our last chance to execute before the kernel suspends this process.

This aligns WebKit2 with the old WebKit1 behavior.

* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):

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

6 years agoNull deref in ViewGestureController::beginSwipeGesture when swiping while script...
timothy_horton@apple.com [Fri, 6 Feb 2015 02:21:40 +0000 (02:21 +0000)]
Null deref in ViewGestureController::beginSwipeGesture when swiping while script is navigating
https://bugs.webkit.org/show_bug.cgi?id=141308
<rdar://problem/18460046>

Reviewed by Simon Fraser.

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::trackSwipeGesture):
If script navigates (history.back, probably other cases too) while in the middle of
building up enough scroll events to start a swipe, it can destroy the history item
that we were planning to swipe to. If this happens, bail from the swipe.

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

6 years agoUnreviewed, EFL gardening. Unskip 4 passing tests regarding webgl.
gyuyoung.kim@samsung.com [Fri, 6 Feb 2015 01:34:07 +0000 (01:34 +0000)]
Unreviewed, EFL gardening. Unskip 4 passing tests regarding webgl.

Those tests were marked with *CRASH* on r179465 though, it looks
wrong.

* platform/efl/TestExpectations:

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

6 years agoDon't pass architecture to development plug-in XPC services
ap@apple.com [Fri, 6 Feb 2015 01:24:25 +0000 (01:24 +0000)]
Don't pass architecture to development plug-in XPC services
https://bugs.webkit.org/show_bug.cgi?id=141309

Reviewed by Anders Carlsson.

We now have separate services for 32-bit and 64-bit.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::reexec):
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToReExecService):

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

6 years agoMove commits viewer to the end of details view
rniwa@webkit.org [Fri, 6 Feb 2015 01:23:31 +0000 (01:23 +0000)]
Move commits viewer to the end of details view
https://bugs.webkit.org/show_bug.cgi?id=141315

Rubber-stamped by Andreas Kling.

Show the difference instead of the old value per kling's request.

* public/v2/app.js:
(App.PaneController._updateDetails):
* public/v2/index.html:

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

6 years agoMove commits viewer to the end of details view
rniwa@webkit.org [Fri, 6 Feb 2015 01:14:40 +0000 (01:14 +0000)]
Move commits viewer to the end of details view
https://bugs.webkit.org/show_bug.cgi?id=141315

Reviewed by Andreas Kling.

Improved the way list of commits are shown per kling's request.

* public/v2/app.js:
(App.PaneController._updateDetails): Always show the old value even when a single point is selected.

* public/v2/chart-pane.css: Updated the style for the commits viewer.

* public/v2/commits-viewer.js:
(App.CommitsViewerComponent): Added "visible" property to hide the list of commits.
(App.CommitsViewerComponent.actions.toggleVisibility): Added. Toggles "visible" property.

* public/v2/index.html: Updated the template for commits viewer to support "visible" property. Also
moved the commits viewers out of the details tables so that they don't interleave revision data.

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

6 years agoCodeCache is not thread safe when adding the same source from two different threads
msaboff@apple.com [Fri, 6 Feb 2015 01:12:00 +0000 (01:12 +0000)]
CodeCache is not thread safe when adding the same source from two different threads
https://bugs.webkit.org/show_bug.cgi?id=141275

Reviewed by Mark Lam.

The issue for this bug is that one thread, takes a cache miss in CodeCache::getGlobalCodeBlock,
but in the process creates a cache entry with a nullptr UnlinkedCodeBlockType* which it
will fill in later in the function.  During the body of that function, it allocates
objects that may garbage collect.  During that garbage collection, we drop the all locks.
While the locks are released by the first thread, another thread can enter the VM and might
have exactly the same source and enter CodeCache::getGlobalCodeBlock() itself.  When it
looks up the code block, it sees it as a cache it and uses the nullptr UnlinkedCodeBlockType*
and crashes.  This fixes the problem by not dropping the locks during garbage collection.
There are other likely scenarios where we have a data structure like this code cache in an
unsafe state for arbitrary reentrance.

Moved the functionality of DelayedReleaseScope directly into Heap.  Changed it into
a simple list that is cleared with the new function Heap::releaseDelayedReleasedObjects.
Now we accumulate objects to be released and release them when all locks are dropped or
when destroying the Heap.  This eliminated the dropping and reaquiring of locks associated
with the old scope form of this list.

Given that all functionality of DelayedReleaseScope is now used and referenced by Heap
and the lock management no longer needs to be done, just made the list a member of Heap.
We do need to guard against the case that releasing an object can create more objects
by calling into JS.  That is why releaseDelayedReleasedObjects() is written to remove
an object to release so that we aren't recursively in Vector code.  The other thing we
do in releaseDelayedReleasedObjects() is to guard against recursive calls to itself using
the m_delayedReleaseRecursionCount.  We only release at the first entry into the function.
This case is already tested by testapi.mm.

* heap/DelayedReleaseScope.h: Removed file

* API/JSAPIWrapperObject.mm:
* API/ObjCCallbackFunction.mm:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::doSweep):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::didFinishIterating):
* heap/MarkedSpace.h:
* heap/Heap.cpp:
(JSC::Heap::collectAllGarbage):
(JSC::Heap::zombifyDeadObjects):
Removed references to DelayedReleaseScope and DelayedReleaseScope.h.

* heap/Heap.cpp:
(JSC::Heap::Heap): Initialized m_delayedReleaseRecursionCount.
(JSC::Heap::lastChanceToFinalize): Call releaseDelayedObjectsNow() as the VM is going away.
(JSC::Heap::releaseDelayedReleasedObjects): New function that released the accumulated
delayed release objects.

* heap/Heap.h:
(JSC::Heap::m_delayedReleaseObjects): List of objects to be released later.
(JSC::Heap::m_delayedReleaseRecursionCount): Counter to indicate that
releaseDelayedReleasedObjects is being called recursively.
* heap/HeapInlines.h:
(JSC::Heap::releaseSoon): Changed location of list to add delayed release objects.

* runtime/JSLock.cpp:
(JSC::JSLock::willReleaseLock):
Call Heap::releaseDelayedObjectsNow() when releasing the lock.

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

6 years agoUse deleteEmptyDirectory() in NetworkCacheStorage::clear()
cdumez@apple.com [Fri, 6 Feb 2015 01:07:51 +0000 (01:07 +0000)]
Use deleteEmptyDirectory() in NetworkCacheStorage::clear()
https://bugs.webkit.org/show_bug.cgi?id=141314

Reviewed by Antti Koivisto.

Use deleteEmptyDirectory() in NetworkCacheStorage::clear() to simplify
the code a little bit.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::clear):

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

6 years agoFix ASSERTION FAILED: !root->needsLayout() in FrameView::layout()
commit-queue@webkit.org [Fri, 6 Feb 2015 01:05:08 +0000 (01:05 +0000)]
Fix ASSERTION FAILED: !root->needsLayout() in FrameView::layout()
https://bugs.webkit.org/show_bug.cgi?id=141032

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-02-05
Reviewed by Darin Adler.

This patch moves the !root->needsLayout() assert statement above
updateLayerPositionsAfterLayout() that can modify dirty bit system
when we have RenderMarquee.

* page/FrameView.cpp:
(WebCore::FrameView::layout):

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

6 years ago[MSE] Implement Append Error algorithm.
commit-queue@webkit.org [Fri, 6 Feb 2015 00:57:41 +0000 (00:57 +0000)]
[MSE] Implement Append Error algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139439

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-02-05
Reviewed by Jer Noble.

If Source Buffer has not received first init segment, then it shall call endOfStream after receiving
Media Segment, as per Media Source spec. (from 17 July 2014) in paragraph 3.5.1 point 6.1.
Source/WebCore:

Based this change on Editor's Draft 12 December 2014, as it clarifies order of events.

Test: media/media-source/media-source-append-media-segment-without-init.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::streamEndedWithError):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::validateInitializationSegment):
(WebCore::SourceBuffer::appendError):
* Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added test which after creating SourceBuffer sends media sample, without any init segments.

* media/media-source/media-source-append-media-segment-without-init-expected.txt: Added.
* media/media-source/media-source-append-media-segment-without-init.html: Added.

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

6 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Fri, 6 Feb 2015 00:33:49 +0000 (00:33 +0000)]
[Mac] Unreviewed gardening.
Mark inspector/css/selector-specificity.html flaky with Crash too (already marked with Timeout).

* platform/mac/TestExpectations:

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

6 years agoDashboard doesn't consider building ASan a productive step
ap@apple.com [Fri, 6 Feb 2015 00:30:27 +0000 (00:30 +0000)]
Dashboard doesn't consider building ASan a productive step
https://bugs.webkit.org/show_bug.cgi?id=141312

Reviewed by Simon Fraser.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

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

6 years ago[iOS] Remove False Positive dispatch_source Leak in WebMemoryPressureHandler singleton
commit-queue@webkit.org [Thu, 5 Feb 2015 23:47:35 +0000 (23:47 +0000)]
[iOS] Remove False Positive dispatch_source Leak in WebMemoryPressureHandler singleton
https://bugs.webkit.org/show_bug.cgi?id=141307

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-05
Reviewed by Anders Carlsson.

* UIProcess/ios/WebMemoryPressureHandlerIOS.h:
* UIProcess/ios/WebMemoryPressureHandlerIOS.mm:
(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):
We want to keep the dispatch_source around, so just tie it to the
singleton so that it is not reported as a leak.

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

6 years agoTestExpectations gardening.
ap@apple.com [Thu, 5 Feb 2015 23:36:06 +0000 (23:36 +0000)]
TestExpectations gardening.

* platform/win/TestExpectations: These two canvas tests fail on Windows only.

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

6 years agoTestExpectations gardening.
ap@apple.com [Thu, 5 Feb 2015 23:35:19 +0000 (23:35 +0000)]
TestExpectations gardening.

* TestExpectations: Updated expectations for tests that pass.

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

6 years agoTestExpectations gardening.
ap@apple.com [Thu, 5 Feb 2015 23:27:55 +0000 (23:27 +0000)]
TestExpectations gardening.

* platform/mac/TestExpectations: Updated expectatiosn for tests that sometimes pass.

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

6 years ago[iOS] webkitpy.xcode.simulator.Runtime.from_identifier() returns wrong result for...
dbates@webkit.org [Thu, 5 Feb 2015 23:15:30 +0000 (23:15 +0000)]
[iOS] webkitpy.xcode.simulator.Runtime.from_identifier() returns wrong result for non-existent runtime
https://bugs.webkit.org/show_bug.cgi?id=141306

Reviewed by Alexey Proskuryakov.

The function webkitpy.xcode.simulator.Runtime.from_identifier always returns a Runtime object
corresponding to the last-most runtime parsed from the output of `simctl list` for any non-
existent runtime.

* Scripts/webkitpy/xcode/simulator.py:
(Runtime.from_identifier):

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

6 years ago<rdar://problem/18216390> ASSERTION FAILED: !m_visibleDescendantStatusDirty in WebCor...
ap@apple.com [Thu, 5 Feb 2015 23:01:36 +0000 (23:01 +0000)]
<rdar://problem/18216390> ASSERTION FAILED: !m_visibleDescendantStatusDirty in WebCore::RenderLayer::isVisuallyNonEmpty()

fullscreen/full-screen-iframe-legacy.html is another affected test.

* TestExpectations: Marked it as flakily crashing.

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

6 years ago[Win] 64-bit build fix after r179702 and r179709
bfulgham@apple.com [Thu, 5 Feb 2015 22:58:56 +0000 (22:58 +0000)]
[Win] 64-bit build fix after r179702 and r179709

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoWeb Inspector: REGRESSION: Inline SourceMap resources show empty content when opened.
jonowells@apple.com [Thu, 5 Feb 2015 22:47:40 +0000 (22:47 +0000)]
Web Inspector: REGRESSION: Inline SourceMap resources show empty content when opened.
https://bugs.webkit.org/show_bug.cgi?id=141225

Reviewed by Timothy Hatcher.

Change WebInspector.SourceMapResource.prototype.requestContentFromBackend to correctly and consistently handle
calls to NetworkAgent. The helper function sourceMapResourceLoaded will now properly handle parameters as a single
payload, including manual calls in the case where the source map content is in a data URI. Also
WebInspector.SourceCode.prototype._processContent now properly handles an error string used for displaying
resource loading error messages in the resource content view.

* UserInterface/Models/Resource.js: drive-by style fix.

* UserInterface/Models/SourceCode.js:
(WebInspector.SourceCode.prototype._processContent):
Properly handle error string.

* UserInterface/Models/SourceMapResource.js:
(WebInspector.SourceMapResource.prototype.requestContentFromBackend):
(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
Formerly sourceMapResourceLoadError, now handles parameters from the NetworkAgent correctly.

(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
This function now handles NetworkAgent errors only.

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

6 years agoLayoutTestRelay does not install DumpRenderTree.app/WebKitTestRunnerApp.app
dbates@webkit.org [Thu, 5 Feb 2015 22:46:30 +0000 (22:46 +0000)]
LayoutTestRelay does not install DumpRenderTree.app/WebKitTestRunnerApp.app
https://bugs.webkit.org/show_bug.cgi?id=139746
<rdar://problem/19283658>

Reviewed by Alexey Proskuryakov.

Fixes an issues where LayoutTestRelay may fail to install DumpRenderTree.app/WebKitTestRunnerApp.app
if the simulator device is not in state Booted.

Currently run-webkit-test --ios-sim executes LayoutTestRelay immediately after
launching/relaunching the iOS Simulator app and a simulator app can only be installed
on a device that is in the Booted state. LayoutTestRelay may run before the
device is booted and hence fail to install DumpRenderTree.app/WebKitTestRunnerApp.app.
We should defer executing LayoutTestRelay until the simulator device booted by
iOS Simulator is in the Booted state.

* Scripts/webkitpy/port/ios.py: Import webkitpy.xcode.simulator.Simulator to avoid prefixing
Simulator methods with the module name, simulator.
(IOSSimulatorPort.setup_test_run): Wait for the simulator device to be in the Booted state
after launching iOS Simulator. Also, wait until the simulator device is in the Shutdown state
before launching iOS Simulator to boot it.
(IOSSimulatorPort.testing_device): Fix up caller since we now import webkitpy.xcode.simulator.Simulator.
(IOSSimulatorPort.simulator_path): Deleted; moved this function to class Simulator and renamed to device_directory().
* Scripts/webkitpy/xcode/simulator.py:
(Device.__init__): Remove parameter state and an instance variable of the same name, which represented
the state of the device when we created this object as part of parsing the output of `simctl list`. Callers
interested in the state of the device are more likely interested in the current state of the device as
opposed to the state of the device when the Device object was created.
(Device.state): Added; turn around and call Simulator.device_state() for the current state of the device.
(Device.path): Extracted implementation into Simulator.device_directory() so that it can be called
from both this function and Simulator.device_state().
(Device.create): Use Simulator.wait_until_device_is_in_state() to simplify the implementation of this function.
(Simulator.DeviceState): Added; class of constants.
(Simulator.wait_until_device_is_in_state): Added; this function does not return until the specified
device is in the specified state.
(Simulator.device_state): Added; parses the state of the device from the appropriate CoreSimulator device.plist file.
(Simulator.device_directory): Added.
(Simulator._parse_devices): Do not pass argument state to Device constructor as it no longer accepts it.

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

6 years agoNew perf dashboard should compare results to baseline and target
rniwa@webkit.org [Thu, 5 Feb 2015 22:34:13 +0000 (22:34 +0000)]
New perf dashboard should compare results to baseline and target
https://bugs.webkit.org/show_bug.cgi?id=141286

Reviewed by Chris Dumez.

Compare the selected value against baseline and target values as done in v1. e.g. "5% below target"
Also use d3.format to format the selected value to show four significant figures.

* public/v2/app.js:
(App.Pane.searchCommit):
(App.Pane._fetch): Create time series here via createChartData so that _computeStatus can use them
to compute the status text without having to recreate them.
(App.createChartData): Added.
(App.PaneController._updateDetails): Use 3d.format on current and old values.
(App.PaneController._computeStatus): Added. Computes the status text.
(App.PaneController._relativeDifferentToLaterPointInTimeSeries): Added.
(App.AnalysisTaskController._fetchedManifest): Use createChartData as done in App.Pane._fetch. Also
format the values using chartData.formatter.

* public/v2/chart-pane.css: Enlarge the status text. Show the status text in red if it's worse than
the baseline and in blue if it's better than the target.

* public/v2/data.js:
(TimeSeries.prototype.findPointAfterTime): Added.

* public/v2/index.html: Added a new tbody for the status text and the selected value. Also fixed
the bug that we were not showing the old value's unit.

* public/v2/interactive-chart.js:
(App.InteractiveChartComponent._constructGraphIfPossible): Use chartData.formatter. Also cleaned up
the code to show the baseline and the target lines.

* public/v2/manifest.js:
(App.Manifest.fetchRunsWithPlatformAndMetric): Added smallerIsBetter.

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

6 years agoUnreviewed attempt to fix Windows build after r179702.
cdumez@apple.com [Thu, 5 Feb 2015 22:17:38 +0000 (22:17 +0000)]
Unreviewed attempt to fix Windows build after r179702.

Export a couple of extra symbols.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoSwitch to file backed buffer when resource is cached to disk
antti@apple.com [Thu, 5 Feb 2015 22:17:22 +0000 (22:17 +0000)]
Switch to file backed buffer when resource is cached to disk
https://bugs.webkit.org/show_bug.cgi?id=141295

Reviewed by Chris Dumez.

Wire the DidCacheResource mechanism to the new disk cache.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):

    Send DidCacheResource message to the web process so it can switch the resource to file backing.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::store):
(WebKit::NetworkCache::update):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::DispatchPtr::DispatchPtr):
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::Data::Data):
(WebKit::mapFile):
(WebKit::decodeEntry):
(WebKit::retrieveActive):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):

    Map files larger than a memory page after a successful store.

(WebKit::NetworkCacheStorage::update):
(WebKit::encodeEntry): Deleted.

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

6 years ago[WK2] Properly check for mmap() error case
cdumez@apple.com [Thu, 5 Feb 2015 22:13:10 +0000 (22:13 +0000)]
[WK2] Properly check for mmap() error case
https://bugs.webkit.org/show_bug.cgi?id=141304

Reviewed by Anders Carlsson.

mmap() returns MAP_FAILED, which is (void*)-1, not a null pointer in
case of failure. This patch updates several wrong error checks in
WebKit2.

* Platform/IPC/ArgumentEncoder.cpp:
(IPC::allocBuffer):
(IPC::ArgumentEncoder::reserve):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendOutgoingMessage):

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

6 years agoCrash due to failing to dirty a removed text node's line box
mjs@apple.com [Thu, 5 Feb 2015 21:55:45 +0000 (21:55 +0000)]
Crash due to failing to dirty a removed text node's line box
https://bugs.webkit.org/show_bug.cgi?id=136544

Reviewed by David Hyatt.
Source/WebCore:

Test: fast/text/remove-text-node-linebox-not-dirty-crash.html

* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Make the check for dirtying the next
line box a bit more inclusive to avoid a case of a line box for a destroyed render object not
being dirtied. In particular, when the text node's parent has no line boxes but contains BRs.

LayoutTests:

* fast/text/remove-text-node-linebox-not-dirty-crash-expected.txt: Added.
* fast/text/remove-text-node-linebox-not-dirty-crash.html: Added.

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

6 years agoClean up WebInspectorProxy and use simpler inspector levels design
burg@cs.washington.edu [Thu, 5 Feb 2015 21:52:11 +0000 (21:52 +0000)]
Clean up WebInspectorProxy and use simpler inspector levels design
https://bugs.webkit.org/show_bug.cgi?id=141135

Reviewed by Timothy Hatcher.

Inspector levels used to be managed by keeping a set of WebPageGroup
instances and doing pointer comparisons to check whether the inspected
view is itself a web inspector instance. This is unnecessary, as we
can maintain a mapping from WebPageProxy* to its corresponding level.

When an inspector instance is created, it is inserted into the mapping
along with its level. An inspector's level is 1 unless its inspected page
is in the mapping, then it is one greater that the inspected page's level.

The level is provided by inspectorLevel(), rather than a member variable.
WebInspectorProxy is created in the constructor of WebPageProxy. Thus, there
would be no chance to add the inspector page's level to the mapping before the
next level inspector tries to look it up when initializing its members.

This patch introduces other miscellaneous cleanups, such as naming m_page
to m_inspectedPage, using Ref and using an enum class for the attachment side.

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorGetPage):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(resizeWebKitWebViewBaseFromAllocation):
* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::pageLevelMap):
(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::inspectorLevel):
(WebKit::WebInspectorProxy::inspectorPageGroupIdentifier):
(WebKit::WebInspectorProxy::inspectorPagePreferences):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::isFront):
(WebKit::WebInspectorProxy::connect):
(WebKit::WebInspectorProxy::show):
(WebKit::WebInspectorProxy::hide):
(WebKit::WebInspectorProxy::close):
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
(WebKit::WebInspectorProxy::showConsole):
(WebKit::WebInspectorProxy::showResources):
(WebKit::WebInspectorProxy::showMainResourceForFrame):
(WebKit::WebInspectorProxy::attachBottom):
(WebKit::WebInspectorProxy::attachRight):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::togglePageProfiling):
(WebKit::WebInspectorProxy::isInspectorPage):
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::remoteFrontendConnected):
(WebKit::WebInspectorProxy::remoteFrontendDisconnected):
(WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::didClose):
(WebKit::WebInspectorPageGroups::singleton): Deleted.
(WebKit::WebInspectorPageGroups::inspectorLevel): Deleted.
(WebKit::WebInspectorPageGroups::isInspectorPageGroup): Deleted.
(WebKit::WebInspectorPageGroups::inspectorPageGroupLevel): Deleted.
(WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel): Deleted.
(WebKit::WebInspectorPageGroups::createInspectorPageGroup): Deleted.
(WebKit::WebInspectorProxy::~WebInspectorProxy): Deleted.
(WebKit::WebInspectorProxy::inspectorPageGroup): Deleted.
(WebKit::WebInspectorProxy::setAttachedWindowHeight): Deleted.
(WebKit::WebInspectorProxy::enableRemoteInspection): Deleted.
(WebKit::WebInspectorProxy::open): Deleted.
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::create):
(WebKit::WebInspectorProxy::inspectedPage):
(WebKit::WebInspectorProxy::page): Deleted.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::dockButtonClicked):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter attachRight:]):
(-[WKWebInspectorProxyObjCAdapter attachBottom:]):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::windowFrameDidChange):
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(-[WKWebInspectorProxyObjCAdapter close]): Deleted.

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

6 years ago[WK2][Cocoa] Populate m_contentsFilter bloom filter from the main dispatch queue...
cdumez@apple.com [Thu, 5 Feb 2015 21:48:16 +0000 (21:48 +0000)]
[WK2][Cocoa] Populate m_contentsFilter bloom filter from the main dispatch queue NetworkCacheStorage::initialize()
https://bugs.webkit.org/show_bug.cgi?id=141297

Reviewed by Antti Koivisto.

Populate m_contentsFilter bloom filter from the main dispatch queue
NetworkCacheStorage::initialize() to avoid thread-safety issues.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::initialize):

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

6 years agoUse deleteFile() in NetworkCacheStorageCocoa.mm
cdumez@apple.com [Thu, 5 Feb 2015 21:46:11 +0000 (21:46 +0000)]
Use deleteFile() in NetworkCacheStorageCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141299

Reviewed by Antti Koivisto.

Use deleteFile() in NetworkCacheStorageCocoa.mm to simplify the code
a bit.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

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

6 years agoFree memory read under MemoryCache::pruneLiveResourcesToSize()
cdumez@apple.com [Thu, 5 Feb 2015 21:29:19 +0000 (21:29 +0000)]
Free memory read under MemoryCache::pruneLiveResourcesToSize()
https://bugs.webkit.org/show_bug.cgi?id=141292
<rdar://problem/19725522>

Reviewed by Antti Koivisto.

In MemoryCache::pruneLiveResourcesToSize(), we were iterating over the
m_liveDecodedResources ListHashSet and possibly calling
CachedResource::destroyDecodedData() on the current value. Doing so
would cause a call to ListHashSet::remove() to remove the value pointed
by the current iterator, thus invalidating our iterator.

In this patch, we increment the ListHashSet iterator *before* calling
CachedResource::destroyDecodedData(), while the current iterator is
still valid. Note that this is safe because unlike iteration of most
WTF Hash data structures, iteration is guaranteed safe against mutation
of the ListHashSet, except for removal of the item currently pointed to
by a given iterator.

Test: http/tests/cache/memory-cache-pruning.html

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):

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

6 years agoWeb Inspector: eliminate some unnecessary layout/painting in timeline overview and...
burg@cs.washington.edu [Thu, 5 Feb 2015 20:12:38 +0000 (20:12 +0000)]
Web Inspector: eliminate some unnecessary layout/painting in timeline overview and ruler
https://bugs.webkit.org/show_bug.cgi?id=141293

Reviewed by Timothy Hatcher.

The timeline overview's ruler was forcing repaints of divider labels even if the labels
had not changed since the last requestAnimationFrame. Bail out early if nothing changed.

The timeline overview and its graphs were updating layout using requestAnimationFrame
even when the TimelineContentView is not visible. Fix this by propagating visibility
changes to subviews, and not updating layout when hidden.

The above change also fixes an assertion sometimes encountered when the timeline view
tries to cache an element's offset width, but cannot because it isn't visible.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype.shown):
(WebInspector.TimelineContentView.prototype.hidden):
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.get visible):
(WebInspector.TimelineOverview.prototype.shown):
(WebInspector.TimelineOverview.prototype.hidden):
(WebInspector.TimelineOverview.prototype._needsLayout):
* UserInterface/Views/TimelineOverviewGraph.js:
(WebInspector.TimelineOverviewGraph.prototype.get visible):
(WebInspector.TimelineOverviewGraph.prototype.shown):
(WebInspector.TimelineOverviewGraph.prototype.hidden):
(WebInspector.TimelineOverviewGraph.prototype.needsLayout):
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.updateLayout):

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

6 years ago[Win] Mark another group of assertion failures.
bfulgham@apple.com [Thu, 5 Feb 2015 19:49:37 +0000 (19:49 +0000)]
[Win] Mark another group of assertion failures.

* platform/win/TestExpectations:

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

6 years ago[Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
jer.noble@apple.com [Thu, 5 Feb 2015 19:37:11 +0000 (19:37 +0000)]
[Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
https://bugs.webkit.org/show_bug.cgi?id=141284

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/hls/hls-progress.html

totalBytes() will always return 0 for HLS streams, which will cause didLoadingProgress() to always
return false. Skip this optimization.

Drive-by fix: duration() will always return 0 for this class as well. Use durationMediaTime() instead.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):

LayoutTests:

* http/tests/media/hls/hls-progress-expected.txt: Added.
* http/tests/media/hls/hls-progress.html: Added.

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

6 years agoDisable retries on Mac debug testers
ap@apple.com [Thu, 5 Feb 2015 19:29:55 +0000 (19:29 +0000)]
Disable retries on Mac debug testers
https://bugs.webkit.org/show_bug.cgi?id=141296

Reviewed by Simon Fraser.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

6 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Thu, 5 Feb 2015 18:40:16 +0000 (18:40 +0000)]
[Mac] Unreviewed gardening.
Mark compositing/reflections/masked-reflection-on-composited.html flaky.

* platform/mac/TestExpectations:

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

6 years agohttp/tests/xmlhttprequest/event-listener-gc.html is flaky
ap@apple.com [Thu, 5 Feb 2015 18:36:25 +0000 (18:36 +0000)]
http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Anders Carlsson.

Speculative fix.

* http/tests/xmlhttprequest/print-content-type.cgi: Make the resource uncacheable,
so that it doesn't load too quickly.

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

6 years agoMove InstanceInvalidationGuard/UpdateBlocker to SVGElement from SVGElementInstance
bfulgham@apple.com [Thu, 5 Feb 2015 18:07:10 +0000 (18:07 +0000)]
Move InstanceInvalidationGuard/UpdateBlocker to SVGElement from SVGElementInstance
https://bugs.webkit.org/show_bug.cgi?id=141148

Patch by Darin Adler <darin@apple.com> on 2015-02-05
Reviewed by Brent Fulgham and Anders Carlsson.

Inspired by this change Rob Buis made in Blink:

    http://src.chromium.org/viewvc/blink?view=revision&revision=173343

I actually wrote the whole thing and then discovered we did it almost identically.

* svg/SVGAnimatedTypeAnimator.cpp:
(WebCore::SVGElementAnimatedPropertyList::setInstanceUpdatesBlocked): Added this
helper function to get around a circular header dependency.
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction): Use setInstanceUpdatesBlocked.

* svg/SVGElement.cpp:
(WebCore::SVGElement::removedFrom): Use invalidateInstances.
(WebCore::SVGElement::finishParsingChildren): Ditto.
(WebCore::SVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGElement::childrenChanged): Ditto.
(WebCore::SVGElement::setInstanceUpdatesBlocked): Added an assertion that will
catch anyone who nests InstanceUpdateBlocker by accident.
(WebCore::SVGElement::invalidateInstances): Moved this here from
SVGElementInstance::invalidateAllInstancesOfElement. I had already modified this
so it had nothing to do with SVGElementInstance, so it was a simple matter of
converting this into a member function. Added a FIXME about the mysterious
updateStyleIfNeeded that makes multiple tests fail if it's removed.

* svg/SVGElement.h: Added public InstanceUpdateBlocker class, protected
InstanceInvalidationGuard class, and private invalidateInstances function.
Unlike the ones in SVGElementInstance these use references so they are then
not copyable without using the WTF_MAKE_NONCOPYABLE macro.

* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker): Deleted.
(WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker): Deleted.
* svg/SVGElementInstance.h: Removed InvalidationGuard, InstanceUpdateBlocker, and
invalidateAllInstancesOfElement. Didn't do any further cleanup since we soon will
delete this entire file.

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::svgAttributeChanged): Updated to use new name and reference
instead of pointer.
* svg/SVGAnimateElementBase.cpp:
(WebCore::applyCSSPropertyToTargetAndInstances): Ditto.
(WebCore::removeCSSPropertyFromTargetAndInstances): Ditto.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Ditto.
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation): Ditto.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged): Ditto.
* svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged): Ditto.
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::svgAttributeChanged): Ditto.
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::svgAttributeChanged): Ditto.
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::svgAttributeChanged): Ditto.
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::svgAttributeChanged): Ditto.
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): Ditto.
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): Ditto.
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Ditto.
* svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::svgAttributeChanged): Ditto.
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): Ditto.
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::svgAttributeChanged): Ditto.
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::svgAttributeChanged): Ditto.
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged): Ditto.
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::svgAttributeChanged): Ditto.
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::svgAttributeChanged): Ditto.
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::svgAttributeChanged): Ditto.
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): Ditto.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::svgAttributeChanged): Ditto.
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::svgAttributeChanged): Ditto.
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::svgAttributeChanged): Ditto.
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged): Ditto.
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged): Ditto.
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::svgAttributeChanged): Ditto.
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::svgAttributeChanged): Ditto.
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::svgAttributeChanged): Ditto.
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged): Ditto.
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged): Ditto.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::svgAttributeChanged): Ditto.
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::svgAttributeChanged): Ditto.
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged): Ditto.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::svgAttributeChanged): Ditto.
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::svgAttributeChanged): Ditto.
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::svgAttributeChanged): Ditto.
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::svgAttributeChanged): Ditto.
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::svgAttributeChanged): Ditto.
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged): Ditto.
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::svgAttributeChanged): Ditto.

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

6 years agoNeed a way to force $xcodeSDK in webkitdirs.pm
mitz@apple.com [Thu, 5 Feb 2015 17:56:25 +0000 (17:56 +0000)]
Need a way to force $xcodeSDK in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=141291

Reviewed by Anders Carlsson.

* Scripts/webkitdirs.pm:
(setXcodeSDK): Added.

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

6 years agoRemind ourselves to remove work-around code
bfulgham@apple.com [Thu, 5 Feb 2015 17:25:29 +0000 (17:25 +0000)]
Remind ourselves to remove work-around code
https://bugs.webkit.org/show_bug.cgi?id=141289

Unreviewed gardening: Add a reminder FIXME to CSSParser
so we can remove the MSVC-specific hack in the future.

* css/CSSParser.cpp:

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

6 years ago[Win] More Unreviewed gardening.
bfulgham@apple.com [Thu, 5 Feb 2015 17:04:52 +0000 (17:04 +0000)]
[Win] More Unreviewed gardening.

* platform/win/TestExpectations:

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

6 years agoDo not destroy RenderQuote's text fragment child when quotation mark string is changing.
zalan@apple.com [Thu, 5 Feb 2015 16:50:44 +0000 (16:50 +0000)]
Do not destroy RenderQuote's text fragment child when quotation mark string is changing.
https://bugs.webkit.org/show_bug.cgi?id=141271
rdar://problem/18169375

Reviewed by Antti Koivisto.

Similar approach as https://codereview.chromium.org/679593004/

This patch ensures that laying out a RenderQuote does not force a sibling RenderQuote's
child renderer(RenderText) to be destroyed.
BreakingContext holds a pointer to the next renderer on the line (BreakingContext::m_nextObject).
While laying out the line, initiated by BreakingContext, placing the current renderer could end up destroying the "next" renderer.
This happens when the pseudo after quotation mark(RenderQuote) becomes floated, the sibling <q>'s pseudo
before text needs to be changed (from " to ') so that we don't end up with 2 sets of the same opening
strings.
The fix is to reuse the RenderTextFragment object instead of destroy/recreate it.

Source/WebCore:

Test: fast/css/content/quote-crash-when-floating.html

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::RenderQuote):
(WebCore::fragmentChild):
(WebCore::RenderQuote::updateText):
* rendering/RenderQuote.h:
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText):
(WebCore::RenderTextFragment::setContentString):
* rendering/RenderTextFragment.h:

LayoutTests:

* fast/css/content/quote-crash-when-floating-expected.txt: Added.
* fast/css/content/quote-crash-when-floating.html: Added.

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

6 years agoAvoid copying std::functions across threads in NetworkCacheStorage
antti@apple.com [Thu, 5 Feb 2015 14:31:07 +0000 (14:31 +0000)]
Avoid copying std::functions across threads in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=141273

Reviewed by Andreas Kling.

The current approach is risky. There is possiblity that captured variables are
deleted in an unexpected thread.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::retrieve):

    The capture trick here is no longer needed.

* NetworkProcess/cache/NetworkCacheStorage.h:

    For each cache operation we create Retrive/Store/UpdateOperation object kept alive by the active operation map.
    This object captures all parameters of the operation including the lambda. When the operation completes
    the object is removed from the map in the main thread, ensuring safe destruction.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::dispatchRetrieveOperation):
(WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations):
(WebKit::retrieveActive):

    Instead of maintaining a separate write cache we just look through the active write and update maps.

(WebKit::NetworkCacheStorage::retrieve):

    Use fixed sized priority array rather than a dynamic one. Vector<Deque<std::unique_ptr>> doesn't quite work.

(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::clear):

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

6 years ago[Media iOS] Add a debug setting to always show the optimized fullscreen button
dino@apple.com [Thu, 5 Feb 2015 13:34:41 +0000 (13:34 +0000)]
[Media iOS] Add a debug setting to always show the optimized fullscreen button
https://bugs.webkit.org/show_bug.cgi?id=141277
<rdar://problem/19724471>

Reviewed by Eric Carlson.

Add a debug option so that we can test the optimized fullscreen
control on media that doesn't support it.

* Modules/mediacontrols/mediaControlsiOS.js: Add gSimulateOptimizedFullscreenAvailable.
(ControllerIOS.prototype.createControls): Check the setting.
(ControllerIOS.prototype.configureInlineControls): Ditto.
(ControllerIOS.prototype.formatTime): Drive-by whitespace cleanup.
(ControllerIOS.prototype.handleBaseGestureChange):
(ControllerIOS.prototype.handleWrapperTouchStart):
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd):
(ControllerIOS.prototype.handlePresentationModeChange): Drive-by variable renaming.

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

6 years agoUnreviewed EFL gardening. Set all tests of svg/W3C-SVG-1.1 and svg/W3C-SVG-1.1-SE...
gyuyoung.kim@samsung.com [Thu, 5 Feb 2015 13:02:26 +0000 (13:02 +0000)]
Unreviewed EFL gardening. Set all tests of svg/W3C-SVG-1.1 and svg/W3C-SVG-1.1-SE to flaky.
Because all tests looks like flaky now. This will be handled on Bug 137138. Additionally
duplicated tests are removed.

* platform/efl/TestExpectations:

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

6 years ago[Streams API] Implement a barebone ReadableStream interface
calvaris@igalia.com [Thu, 5 Feb 2015 10:19:05 +0000 (10:19 +0000)]
[Streams API] Implement a barebone ReadableStream interface
https://bugs.webkit.org/show_bug.cgi?id=141045

Reviewed by Benjamin Poulain.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake: Made streams API compilation on by default.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This patch implements the ReadableStream IDL (https://streams.spec.whatwg.org/#rs-model).
No functionality is yet added.
ReadableStreamSource is expected to be implemented for native sources (such as HTTP sources)
as well as JavaScript source through ReadableStreamJSSource.

Test: streams/readablestream-constructor.html

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/streams/ReadableStream.cpp: Added.
(WebCore::ReadableStream::create):
(WebCore::ReadableStream::ReadableStream):
(WebCore::ReadableStream::~ReadableStream):
(WebCore::ReadableStream::state):
(WebCore::ReadableStream::closed):
(WebCore::ReadableStream::ready):
* Modules/streams/ReadableStream.h: Added.
* Modules/streams/ReadableStream.idl: Added.
* Modules/streams/ReadableStreamSource.h: Added.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSReadableStreamCustom.cpp: Added.
(WebCore::JSReadableStream::read):
(WebCore::JSReadableStream::ready):
(WebCore::JSReadableStream::closed):
(WebCore::JSReadableStream::cancel):
(WebCore::JSReadableStream::pipeTo):
(WebCore::JSReadableStream::pipeThrough):
(WebCore::constructJSReadableStream):
* bindings/js/ReadableStreamJSSource.cpp: Added.
(WebCore::ReadableStreamJSSource::create):
(WebCore::ReadableStreamJSSource::ReadableStreamJSSource):
(WebCore::ReadableStreamJSSource::setInternalError):
* bindings/JSReadableStreamJSSource.h: Added.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm: Added streams-api compilation switch.

LayoutTests:

Added readablestream-constructor test that checks ReadableStream properties and state.
Rebased global-constructor-attributes.html expectations to add ReadableStream description.

* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* streams/readablestream-constructor-expected.txt: Added.
* streams/readablestream-constructor.html: Added.

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

6 years agoUnreviewed build fix.
rniwa@webkit.org [Thu, 5 Feb 2015 09:54:49 +0000 (09:54 +0000)]
Unreviewed build fix.

* public/v2/app.js:
(App.IndexController.gridChanged): Use store.createRecord to create a custom dashboard as required by Ember.js

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

6 years agoRemove Mountain Lion specific test expectations
ossy@webkit.org [Thu, 5 Feb 2015 09:25:03 +0000 (09:25 +0000)]
Remove Mountain Lion specific test expectations
https://bugs.webkit.org/show_bug.cgi?id=141243

Reviewed by Alexey Proskuryakov.

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

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

6 years agoCrash in uninitialized deconstructing variable.
saambarati1@gmail.com [Thu, 5 Feb 2015 08:58:38 +0000 (08:58 +0000)]
Crash in uninitialized deconstructing variable.
https://bugs.webkit.org/show_bug.cgi?id=141070

Reviewed by Michael Saboff.

Source/JavaScriptCore:

According to the ES6 spec, when a destructuring pattern occurs
as the left hand side of an assignment inside a var declaration
statement, the assignment must also have a right hand side value.
"var {x} = {};" is a legal syntactic statement, but,
"var {x};" is a syntactic error.

Section 13.2.2 of the latest draft ES6 spec specifies this requirement:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-variable-statement

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVarDeclaration):
(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::parseForStatement):
* parser/Parser.h:

LayoutTests:

* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:

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

6 years ago[Win] Reactive (some) Media tests. Test results gardening.
bfulgham@apple.com [Thu, 5 Feb 2015 05:20:54 +0000 (05:20 +0000)]
[Win] Reactive (some) Media tests. Test results gardening.

* platform/win/TestExpectations:

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

6 years agoVersioning.
bshafiei@apple.com [Thu, 5 Feb 2015 04:59:14 +0000 (04:59 +0000)]
Versioning.

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