WebKit Bugzilla
Attachment 346478 Details for
Bug 188305
: [GTK] Never return an uninitialized ImageGStreamer object.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188305-20180803155309.patch (text/plain), 3.54 KB, created by
Ms2ger (he/him; ⌚ UTC+1/+2)
on 2018-08-03 06:53:10 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Ms2ger (he/him; ⌚ UTC+1/+2)
Created:
2018-08-03 06:53:10 PDT
Size:
3.54 KB
patch
obsolete
>Subversion Revision: 234359 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index bfef6390a7b391a9a7f5dd7cbb568021ed5ee4ad..9e54ab9dd183d2d48500bb42ce7bb7eebd78de96 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2018-08-03 Ms2ger <Ms2ger@igalia.com> >+ >+ [GTK] Never return an uninitialized ImageGStreamer object. >+ https://bugs.webkit.org/show_bug.cgi?id=188305 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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. >+ > 2018-07-28 Darin Adler <darin@apple.com> > > [Cocoa] Update more WebCore Objective-C code to be ARC compatible >diff --git a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >index 40724ea725129ec510810b22b11684f3e309c25e..46dcc5465592f6db7d9dda97d89c7eac50bea721 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >+++ b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >@@ -38,24 +38,28 @@ class IntSize; > > class ImageGStreamer : public RefCounted<ImageGStreamer> { > public: >- static Ref<ImageGStreamer> createImage(GstSample* sample) >+ static RefPtr<ImageGStreamer> createImage(GstSample* sample) > { >- return adoptRef(*new ImageGStreamer(sample)); >+ auto image = adoptRef(*new ImageGStreamer(sample)); >+ if (!image->m_image) >+ return nullptr; >+ >+ return image; > } > ~ImageGStreamer(); > >- BitmapImage* image() >+ BitmapImage& image() > { > ASSERT(m_image); >- return m_image.get(); >+ return *m_image.get(); > } > > void setCropRect(FloatRect rect) { m_cropRect = rect; } > FloatRect rect() > { >+ ASSERT(m_image); > if (!m_cropRect.isEmpty()) > return FloatRect(m_cropRect); >- ASSERT(m_image); > return FloatRect(0, 0, m_image->size().width(), m_image->size().height()); > } > >diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >index e3635d221f936af993fc1932b4eb7ac37057d022..720c072370ee1c0a36347dbde2b77f101fbaf20f 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >@@ -915,8 +915,7 @@ void MediaPlayerPrivateGStreamerBase::paint(GraphicsContext& context, const Floa > if (!gstImage) > return; > >- if (Image* image = reinterpret_cast<Image*>(gstImage->image())) >- context.drawImage(*image, rect, gstImage->rect(), paintingOptions); >+ context.drawImage(gstImage->image(), rect, gstImage->rect(), paintingOptions); > } > > #if USE(GSTREAMER_GL)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188305
:
346478
|
346523
|
347787