[GStreamer] WebKit gets stalled when trying to play a stream
https://bugs.webkit.org/show_bug.cgi?id=125926

Reviewed by Philippe Normand.

Added new test for checking the playback on Icecast/Shoutcast
streamed media.

* http/tests/media/media-play-stream-chunked-icy-expected.txt: Added.
* http/tests/media/media-play-stream-chunked-icy.html: Added.
* http/tests/media/resources/create-id3-db.php: Added.
* http/tests/media/resources/serve-video.php: Added support for
chunked streams and Icecast/Shoutcast headers.
* http/tests/resources/dir-helpers.php: Added.
* http/tests/resources/portabilityLayer.php: Added a couple of new
fallback functions when they are not available in old PHP
versions.
* media/content/metadata.db: Added.
* media/content/silence.mp3: Added.
* platform/mac/TestExpectations: Skipped on Mavericks Mac port.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix with SUBPIXEL_LAYOUT disabled
https://bugs.webkit.org/show_bug.cgi?id=130210

Reviewed by Daniel Bates.

Use pre-incremeent operator for LayoutUnit instead of post-increment operator as LayoutUnit doesn't support the
latter and we don't make use of the return value.

* dom/Element.cpp:
(WebCore::adjustForLocalZoom):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix unused parameter warnings in the GObject WebKitDOM bindings
https://bugs.webkit.org/show_bug.cgi?id=130174

Reviewed by Daniel Bates.

* bindings/gobject/DOMObjectCache.cpp:
(WebKit::weakRefNotify): Fix unused parameters.
* bindings/gobject/WebKitDOMDeprecated.cpp: Ditto.
* bindings/gobject/WebKitDOMObject.cpp: Ditto.
* bindings/scripts/CodeGeneratorGObject.pm: Generate UNUSED_PARAM when appropriate and clean
up the getter and setter code generation a little to make it easier to read.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move visited link handling to VisitedLinkTableController and VisitedLinkProvider
https://bugs.webkit.org/show_bug.cgi?id=130223
<rdar://problem/16315792>

Reviewed by Dan Bernstein.

Source/WebCore:

Export symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* DerivedSources.make:
Generate messages for VisitedLinkProvider and VisitedLinkTableController.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
Set the visited link provider.

* UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
Add addVisitedLinkWithURL: method.

* UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
(-[_WKVisitedLinkProvider addVisitedLinkWithURL:]):
Compute a link hash from the absolute URL string and pass it to the underlying VisitedLinkProvider object.

* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::addProcess):
Add the process to the m_processes HashCountedSet. If it's the first time we're adding the process,
add the VisitedLinkProvider object as a message receiver and send the visited link table to the process.

(WebKit::VisitedLinkProvider::removeProcess):
Remove the process from the m_processes HashCountedSet. If we're removing the last reference to the process,
remove ourselves as a  message receiver.

(WebKit::VisitedLinkProvider::addVisitedLinkHash):
Rename this from addVisitedLink to better indicate what it's doing.

(WebKit::tableSizeForKeyCount):
Update for constant rename.

(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
Compute the new pending visited links table size. If it's bigger than our current table, resize the table
by calling resizeTable. Otherwise, simply try to add the pending hashes to our shared hash table. If successful,
add the link hash to the addedVisitedLinks table and eventually send it to all processes associated with the visited link provider.

(WebKit::VisitedLinkProvider::resizeTable):
Create a new shared memory segment, Set it as the table backing store and add all visited links from the old table. Finally,
add our pending visited link hashes and send the new table memory to all processes associated with the visited link provider.

(WebKit::VisitedLinkProvider::sendTable):
Helper function that creates a shared memory handle and sends it to a given web process.

* UIProcess/VisitedLinkProvider.h:
Add new members.

* UIProcess/VisitedLinkProvider.messages.in:
Add messages.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::processDidFinishLaunching):
(WebKit::WebContext::disconnectProcess):
The WebContext no longer needs to inform the visited link provider about the processes coming and going, that's already handled
by the WebPageProxy objects.

(WebKit::WebContext::addVisitedLink):
Call addVisitedLinkHash on the visited link provider.

* UIProcess/WebContext.h:
* UIProcess/WebContext.messages.in:
Remove a message that is now implemented by the visited link provider.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::VisitedLinkTableController):
Add the table controller as a message receiver.

(WebKit::VisitedLinkTableController::~VisitedLinkTableController):
Remove the table controller as a message receiver.

(WebKit::VisitedLinkTableController::isLinkVisited):
Check if the link is visited according to the visited link table.

(WebKit::VisitedLinkTableController::addVisitedLink):
Send the link hash to the UI process if it's not already visited.

(WebKit::VisitedLinkTableController::setVisitedLinkTable):
Set the backing store memory and invalidate all styles.

(WebKit::VisitedLinkTableController::visitedLinkStateChanged):
Invalidate the styles for the given links.

(WebKit::VisitedLinkTableController::allVisitedLinkStateChanged):
Invalidate the styles for all links.

* WebProcess/WebPage/VisitedLinkTableController.h:
Add new members.

* WebProcess/WebPage/VisitedLinkTableController.messages.in:
Add new messages.

* WebProcess/WebProcess.cpp:
Remove unused functions; these are handled by VisitedLinkTableController now.

* WebProcess/WebProcess.h:
(WebKit::WebProcess::shouldTrackVisitedLinks):
Add getter.

* WebProcess/WebProcess.messages.in:
Remove messages.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused method declaration.
https://bugs.webkit.org/show_bug.cgi?id=130238

Reviewed by Filip Pizlo.

The implementation of CallFrame::dumpCaller was removed in
http://trac.webkit.org/changeset/153183, but the declaration of it was not.

* interpreter/CallFrame.h:
Remove CallFrame::dumpCaller() method declaration.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
https://bugs.webkit.org/show_bug.cgi?id=126833

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-03-14
Reviewed by Timothy Hatcher.

* UserInterface/Models/Frame.js:
(WebInspector.Frame.prototype.saveIdentityToCookie):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.saveIdentityToCookie):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove WebContext::addVisitedLink
https://bugs.webkit.org/show_bug.cgi?id=130242

Reviewed by Dan Bernstein.

Fold the function into WKContextAddVisitedLink instead.

* UIProcess/API/C/WKContext.cpp:
(WKContextAddVisitedLink):
* UIProcess/WebContext.cpp:
* UIProcess/WebContext.h:
(WebKit::WebContext::visitedLinkProvider):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] URTBF after r165619.

* CMakeLists.txt: Add new files.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move WebSpeech code to use std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=130231

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in WebSpeech code with std::unique_ptr.

No new tests. Covered by existing ones.

* Modules/speech/SpeechRecognitionController.cpp:
* Modules/speech/SpeechRecognitionController.h:
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::setPlatformSynthesizer):
(WebCore::SpeechSynthesis::getVoices):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
* Modules/speech/SpeechSynthesis.h:
* WebCore.exp.in:
* platform/PlatformSpeechSynthesizer.cpp:
* platform/PlatformSpeechSynthesizer.h:
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
* platform/mock/PlatformSpeechSynthesizerMock.h:
* testing/Internals.cpp:
(WebCore::Internals::enableMockSpeechSynthesizer):


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