Add type-safe casts for all of the ContentData subclasses.
Created attachment 223660 [details] Patch v1
Comment on attachment 223660 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=223660&action=review > Source/WebCore/rendering/style/ContentData.h:105 > +inline bool ImageContentData::equals(const ContentData& data) const > +{ > + if (!data.isImage()) > + return false; > + return *toImageContentData(data).image() == *image(); > +} I think we could move this to the .cpp file, because I think everyone calls it polymorphically and so nobody really inlines it. I also think this could read nicely with && rather than early return. > Source/WebCore/rendering/style/ContentData.h:135 > +inline bool TextContentData::equals(const ContentData& data) const > +{ > + if (!data.isText()) > + return false; > + return toTextContentData(data).text() == text(); > +} Ditto. > Source/WebCore/rendering/style/ContentData.h:169 > +inline bool CounterContentData::equals(const ContentData& data) const > +{ > + if (!data.isCounter()) > + return false; > + return *toCounterContentData(data).counter() == *counter(); > +} Again. > Source/WebCore/rendering/style/ContentData.h:199 > +inline bool QuoteContentData::equals(const ContentData& data) const > +{ > + if (!data.isQuote()) > + return false; > + return toQuoteContentData(data).quote() == quote(); > +} Ditto.
Comment on attachment 223660 [details] Patch v1 Clearing flags on attachment: 223660 Committed r163770: <http://trac.webkit.org/changeset/163770>
All reviewed patches have been landed. Closing bug.
(In reply to comment #2) > (From update of attachment 223660 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=223660&action=review > > > Source/WebCore/rendering/style/ContentData.h:105 > > +inline bool ImageContentData::equals(const ContentData& data) const > > +{ > > + if (!data.isImage()) > > + return false; > > + return *toImageContentData(data).image() == *image(); > > +} > > I think we could move this to the .cpp file, because I think everyone calls it polymorphically and so nobody really inlines it. > > I also think this could read nicely with && rather than early return. Filed Bug 128538 to track this.