⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 236038 in webkit


Ignore:
Timestamp:
Sep 17, 2018, 1:49:07 AM (8 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r235171 - [GTK] Never return an uninitialized ImageGStreamer object.
​https://bugs.webkit.org/show_bug.cgi?id=188305

Reviewed by Philippe Normand.

The single caller was already checking for a null return value, so
make that check actually do something. Also remove the null-check on
the return value of image(), which asserted that it would never return
null.

Test: fast/canvas/canvas-createPattern-video-loading.html

  • platform/graphics/gstreamer/ImageGStreamer.h:

(WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created.
(WebCore::ImageGStreamer::image): Return a reference.
(WebCore::ImageGStreamer::rect): Always assert that m_image is present.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature.

Location:
releases/WebKitGTK/webkit-2.22/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog

    r236036 r236038  
     12018-08-22  Ms2ger  <Ms2ger@igalia.com>
     2
     3        [GTK] Never return an uninitialized ImageGStreamer object.
     4        https://bugs.webkit.org/show_bug.cgi?id=188305
     5
     6        Reviewed by Philippe Normand.
     7
     8        The single caller was already checking for a null return value, so
     9        make that check actually do something. Also remove the null-check on
     10        the return value of image(), which asserted that it would never return
     11        null.
     12
     13        Test: fast/canvas/canvas-createPattern-video-loading.html
     14
     15        * platform/graphics/gstreamer/ImageGStreamer.h:
     16        (WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created.
     17        (WebCore::ImageGStreamer::image): Return a reference.
     18        (WebCore::ImageGStreamer::rect): Always assert that m_image is present.
     19        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
     20        (WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature.
     21
    1222018-08-22  Zalan Bujtas  <zalan@apple.com>
    223
  • releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h

    r235291 r236038  
    3939class ImageGStreamer : public RefCounted<ImageGStreamer> {
    4040    public:
    41         static Ref<ImageGStreamer> createImage(GstSample* sample)
     41        static RefPtr<ImageGStreamer> createImage(GstSample* sample)
    4242        {
    43             return adoptRef(*new ImageGStreamer(sample));
     43            auto image = adoptRef(new ImageGStreamer(sample));
     44            if (!image->m_image)
     45                return nullptr;
     46
     47            return image;
    4448        }
    4549        ~ImageGStreamer();
    4650
    47         BitmapImage* image()
     51        BitmapImage& image()
    4852        {
    4953            ASSERT(m_image);
    50             return m_image.get();
     54            return *m_image.get();
    5155        }
    5256
    … …  
    5458        FloatRect rect()
    5559        {
     60            ASSERT(m_image);
    5661            if (!m_cropRect.isEmpty())
    5762                return FloatRect(m_cropRect);
    58             ASSERT(m_image);
    5963            return FloatRect(0, 0, m_image->size().width(), m_image->size().height());
    6064        }
  • releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp

    r235291 r236038  
    967967        return;
    968968
    969     if (Image* image = reinterpret_cast<Image*>(gstImage->image()))
    970         context.drawImage(*image, rect, gstImage->rect(), paintingOptions);
     969    context.drawImage(gstImage->image(), rect, gstImage->rect(), paintingOptions);
    971970}
    972971
Note: See TracChangeset for help on using the changeset viewer.