[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:27:30 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 482d302825fa17191dcbe4b89af8e74071195303
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 25 20:03:47 2010 +0000

    2010-01-25  Daniel Bates  <dbates at webkit.org>
    
            Reviewed by Adam Barth.
    
            https://bugs.webkit.org/show_bug.cgi?id=34073
    
            Fixes misspelled words in comments.
    
            * accessibility/AccessibilityListBox.cpp:
            (WebCore::AccessibilityListBox::addChildren):
            (WebCore::AccessibilityListBox::doAccessibilityHitTest):
            * accessibility/mac/AccessibilityObjectWrapper.mm:
            (-[AccessibilityObjectWrapper detach]):
            (AXAttributeStringSetElement):
            * bindings/js/JSDOMBinding.cpp:
            (WebCore::completeURL):
            * bindings/js/JSDOMWindowBase.cpp:
            * bindings/js/JSDOMWindowBase.h:
            * bindings/js/JSDOMWindowCustom.cpp:
            (WebCore::JSDOMWindow::getOwnPropertySlot):
            * bindings/js/JSSVGPODTypeWrapper.h:
            * bindings/js/ScriptController.cpp:
            (WebCore::ScriptController::evaluateInWorld):
            * bridge/NP_jsobject.cpp:
            (_NPN_SetException):
            * bridge/jni/jsc/JavaInstanceJSC.cpp:
            (JavaInstance::invokeMethod):
            (JObjectWrapper::JObjectWrapper):
            * bridge/objc/objc_instance.mm:
            (ObjcInstance::setValueOfUndefinedField):
            (ObjcInstance::getValueOfUndefinedField):
            * css/CSSFontSelector.cpp:
            (WebCore::CSSFontSelector::addFontFaceRule):
            * css/CSSStyleSelector.cpp:
            (WebCore::CSSStyleSelector::CSSStyleSelector):
            (WebCore::CSSStyleSelector::sortMatchedRules):
            (WebCore::CSSStyleSelector::applyDeclarations):
            (WebCore::CSSStyleSelector::applyProperty):
            * dom/Document.cpp:
            (WebCore::Document::updateLayoutIgnorePendingStylesheets):
            (WebCore::Document::detach):
            * dom/Document.h:
            * dom/Element.cpp:
            (WebCore::Element::updateFocusAppearance):
            * dom/Element.h:
            * dom/MessagePortChannel.h:
            * dom/MouseRelatedEvent.cpp:
            (WebCore::MouseRelatedEvent::receivedTarget):
            * dom/Node.cpp:
            (WebCore::Node::isFocusable):
            (WebCore::Node::shadowAncestorNode):
            * dom/Node.h:
            * dom/Position.cpp:
            (WebCore::Position::upstream):
            * dom/Position.h:
            * dom/Range.cpp:
            (WebCore::Range::processContents):
            * dom/StyledElement.cpp:
            (WebCore::StyledElement::addCSSColor):
            * editing/ApplyStyleCommand.cpp:
            (WebCore::StyleChange::reconcileTextDecorationProperties):
            (WebCore::StyleChange::extractTextStyles):
            (WebCore::prepareEditingStyleToApplyAt):
            * editing/DeleteButtonController.cpp:
            (WebCore::isDeletableElement):
            * editing/DeleteSelectionCommand.cpp:
            (WebCore::DeleteSelectionCommand::initializeStartEnd):
            * editing/Editor.cpp:
            (WebCore::Editor::learnSpelling):
            * inspector/front-end/ConsoleView.js:
            (WebInspector.ConsoleMessage.prototype._format):
            * loader/Cache.cpp:
            (WebCore::Cache::pruneLiveResources):
            (WebCore::Cache::pruneDeadResources):
            * loader/Cache.h:
            * loader/CachedResource.cpp:
            (WebCore::CachedResource::makePurgeable):
            * loader/CachedResource.h:
            * loader/CachedResourceHandle.h:
            * loader/DocumentLoader.h:
            * loader/FTPDirectoryParser.cpp:
            (WebCore::parseOneFTPLine):
            * loader/FrameLoader.cpp:
            (WebCore::FrameLoader::didExplicitOpen):
            * loader/ResourceLoader.cpp:
            (WebCore::ResourceLoader::didCancel):
            * loader/WorkerThreadableLoader.h:
            * loader/appcache/ApplicationCacheStorage.cpp:
            (WebCore::ApplicationCacheStorage::spaceNeeded):
            * notifications/NotificationPresenter.h:
            (WebCore::NotificationPresenter::):
            * page/animation/AnimationController.cpp:
            (WebCore::AnimationController::updateAnimations):
            * platform/LinkHash.cpp:
            (WebCore::cleanPath):
            * platform/graphics/cg/GraphicsContextCG.cpp:
            (WebCore::calculateDrawingMode):
            * platform/graphics/cg/PatternCG.cpp:
            (WebCore::Pattern::createPlatformPattern):
            * platform/graphics/mac/ComplexTextController.cpp:
            (WebCore::ComplexTextController::offsetForPosition):
            * platform/graphics/mac/GraphicsLayerCA.h:
            * platform/graphics/mac/GraphicsLayerCA.mm:
            (WebCore::GraphicsLayerCA::ensureStructuralLayer):
            * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
            (WebCore::MediaPlayerPrivate::doSeek):
            (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
            (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
            * platform/mac/PasteboardMac.mm:
            (WebCore::Pasteboard::writeSelection):
            (WebCore::Pasteboard::writePlainText):
            (WebCore::Pasteboard::writeURL):
            * platform/text/TextCodecICU.cpp:
            (WebCore::TextCodecICU::registerExtendedEncodingNames):
            * platform/text/TextEncodingDetectorICU.cpp:
            (WebCore::detectTextEncoding):
            * rendering/AutoTableLayout.cpp:
            (WebCore::AutoTableLayout::calcEffectiveWidth):
            (WebCore::AutoTableLayout::layout):
            * rendering/RenderBox.cpp:
            (WebCore::RenderBox::calcAbsoluteHorizontalValues):
            (WebCore::RenderBox::calcAbsoluteVerticalValues):
            (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
            (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
            * rendering/RenderLayer.cpp:
            (WebCore::RenderLayer::scrollByRecursively):
            (WebCore::RenderLayer::paintLayer):
            (WebCore::RenderLayer::hitTestLayer):
            * rendering/RenderObject.cpp:
            (WebCore::RenderObject::destroy):
            * rendering/RenderTextControl.cpp:
            (WebCore::RenderTextControl::setInnerTextValue):
            * rendering/RenderTheme.cpp:
            (WebCore::RenderTheme::stateChanged):
            * rendering/SVGRenderSupport.cpp:
            (WebCore::SVGRenderBase::mapLocalToContainer):
            * rendering/SVGRootInlineBox.cpp:
            (WebCore::SVGRootInlineBox::buildTextChunks):
            * rendering/TransformState.cpp:
            (WebCore::TransformState::flattenWithTransform):
            * wml/WMLInputElement.cpp:
            (WebCore::WMLInputElement::dispatchBlurEvent):
            (WebCore::WMLInputElement::suggestedValue):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0f713ad..3fb5596 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1179,6 +1179,22 @@
 
         * WebCore.pro: Fix warning about missing header file that isn't present anymore.
 
+2010-01-25  Sebastian Dröge  <sebastian.droege at collabora.co.uk>
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Update copy of the source whenever playbin2's source property
+        changes.
+
+        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::mediaPlayerPrivateSourceChangedCallback):
+        (WebCore::MediaPlayerPrivate::updateStates):
+        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
+        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
+        Connect to the notify::source signal and update the source
+        element pointer from there. This makes sure that we never
+        store a pointer to an old source element.
+
 2010-01-22  Brian Weinstein  <bweinstein at apple.com>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
index facf738..77b2a3d 100644
--- a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
@@ -124,6 +124,16 @@ gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpo
     return true;
 }
 
+void mediaPlayerPrivateSourceChangedCallback(GObject *object, GParamSpec *pspec, gpointer data)
+{
+    MediaPlayerPrivate* mp = reinterpret_cast<MediaPlayerPrivate*>(data);
+    GstElement* element;
+
+    g_object_get(mp->m_playBin, "source", &element, NULL);
+    gst_object_replace((GstObject**) &mp->m_source, (GstObject*) element);
+    gst_object_unref(element);
+}
+
 void mediaPlayerPrivateVolumeChangedCallback(GObject *element, GParamSpec *pspec, gpointer data)
 {
     MediaPlayerPrivate* mp = reinterpret_cast<MediaPlayerPrivate*>(data);
@@ -257,6 +267,11 @@ MediaPlayerPrivate::~MediaPlayerPrivate()
         m_mediaLocations = 0;
     }
 
+    if (m_source) {
+        gst_object_unref(m_source);
+        m_source = 0;
+    }
+
     if (m_playBin) {
         gst_element_set_state(m_playBin, GST_STATE_NULL);
         gst_object_unref(GST_OBJECT(m_playBin));
@@ -664,10 +679,6 @@ void MediaPlayerPrivate::updateStates()
         }
 
         m_networkState = MediaPlayer::Loaded;
-
-        g_object_get(m_playBin, "source", &m_source, NULL);
-        if (!m_source)
-            LOG_VERBOSE(Media, "m_source is 0");
         break;
     case GST_STATE_CHANGE_ASYNC:
         LOG_VERBOSE(Media, "Async: State: %s, pending: %s",
@@ -1058,6 +1069,7 @@ void MediaPlayerPrivate::createGSTPlayBin(String url)
     g_object_set(m_playBin, "uri", url.utf8().data(), NULL);
 
     g_signal_connect(m_playBin, "notify::volume", G_CALLBACK(mediaPlayerPrivateVolumeChangedCallback), this);
+    g_signal_connect(m_playBin, "notify::source", G_CALLBACK(mediaPlayerPrivateSourceChangedCallback), this);
 
     m_videoSink = webkit_video_sink_new();
 
diff --git a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h
index 278bd1c..f96ccf0 100644
--- a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h
+++ b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h
@@ -45,11 +45,13 @@ class IntRect;
 class String;
 
 gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpointer data);
-void mediaPlayerPrivateVolumeChangedCallback(GObject *element, GParamSpec *pspec, gpointer data);
+void mediaPlayerPrivateVolumeChangedCallback(GObject* element, GParamSpec* pspec, gpointer data);
+void mediaPlayerPrivateSourceChangedCallback(GObject* element, GParamSpec* pspec, gpointer data);
 
 class MediaPlayerPrivate : public MediaPlayerPrivateInterface {
         friend gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpointer data);
-        friend void mediaPlayerPrivateRepaintCallback(WebKitVideoSink*, GstBuffer *buffer, MediaPlayerPrivate* playerPrivate);
+        friend void mediaPlayerPrivateRepaintCallback(WebKitVideoSink*, GstBuffer* buffer, MediaPlayerPrivate* playerPrivate);
+        friend void mediaPlayerPrivateSourceChangedCallback(GObject* element, GParamSpec* pspec, gpointer data);
 
         public:
             static void registerMediaEngine(MediaEngineRegistrar);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list