Add a mechanism to dump the stack trace in case of a crash
https://bugs.webkit.org/show_bug.cgi?id=92666

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-07-31
Reviewed by Csaba Osztrogonác.

Source/WTF:

Unix based ports can make use of signal handlers to dump the stack
trace in case of a crash. This is specially handy when a test crashes on
the bot without hitting an assertion, we might have a chance to see
some insightful information at the reports.

* wtf/Assertions.cpp:
* wtf/Assertions.h:

Tools:

Move crash signal handlers to WTFInstallReportBacktraceOnCrashHook()
and eliminate some duplicated code.

* DumpRenderTree/qt/main.cpp:
(main):
* WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
(WTR::InjectedBundle::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Unreviewed gardening, last attempt to paint the WK2 bot green today.

* platform/qt-5.0-wk2/Skipped: Skip a failing test.
* platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt: Added.
* platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Added.
* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] Live stream support is weak
https://bugs.webkit.org/show_bug.cgi?id=90084

Reviewed by Martin Robinson.

Make sure on-disk buffering is disabled for live streams. It is
enabled initially when loading any remote media file if preload is
set to Auto. Later on if the player detects that the media is live
it disables on-disk buffering. This patch also adds support for
caching the total size of the media.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::load): Keep track of the
media url as an instance attribute.
(WebCore::MediaPlayerPrivateGStreamer::duration): Logging improvement.
(WebCore::MediaPlayerPrivateGStreamer::setRate): use the new
isLiveStream() method.
(WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Indicate
source of duration message.
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Perform an
anonymous duration change emission, mostly to cache its value.
(WebCore::MediaPlayerPrivateGStreamer::totalBytes): Return
cached size when available.
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Use the new
isLiveStream() method and handle state change corner cases for live streams.
(WebCore::MediaPlayerPrivateGStreamer::durationChanged): Cache
media total size and re-enable on-disk buffering if caching succeeds.
(WebCore::MediaPlayerPrivateGStreamer::movieLoadType): New
implementation handling on-disk buffered and live streaming cases.
(WebCore::MediaPlayerPrivateGStreamer::setPreload): Remember the
case where preload is updated from Auto to another value, do
on-disk buffering only for Auto preload attribute.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::isLiveStream): Utility
method, a stream is live if it goes to PAUSE without prerolling.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Send an onContextMenu event to the page content
so that context menus can be prevented. We use
the node's event handler because we want to use
the fat finger's node. If we use  the EventHandler's
sendContextMenuEvent it will hit test with the mouse
position which may not be what we want.
PR #184032
https://bugs.webkit.org/show_bug.cgi?id=92766

Patch by Genevieve Mak <gmak@rim.com> on 2012-07-31
Reviewed by Antonio Gomes.
Reviewed Internally by Antonio Gomes.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Don't use ninja for building Chromium for Android
https://bugs.webkit.org/show_bug.cgi?id=92764

Reviewed by Adam Barth.

When Ninja projects files are generated (which will be done for Android),
make sure that the Android builder doesn't unintentionally switch to
using Ninja. We should make that switch at a predetermined time.

* Scripts/webkitdirs.pm:
(buildChromium):


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