summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/MediaList.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/css/MediaList.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/css/MediaList.h')
-rw-r--r--Source/WebCore/css/MediaList.h97
1 files changed, 47 insertions, 50 deletions
diff --git a/Source/WebCore/css/MediaList.h b/Source/WebCore/css/MediaList.h
index 74976df48..0bb0a01c6 100644
--- a/Source/WebCore/css/MediaList.h
+++ b/Source/WebCore/css/MediaList.h
@@ -18,91 +18,83 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef MediaList_h
-#define MediaList_h
+#pragma once
-#include "ExceptionCode.h"
+#include "ExceptionOr.h"
+#include <memory>
#include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
namespace WebCore {
+class CSSParser;
class CSSRule;
class CSSStyleSheet;
class Document;
-class MediaList;
class MediaQuery;
-class MediaQuerySet : public RefCounted<MediaQuerySet> {
+class MediaQuerySet final : public RefCounted<MediaQuerySet> {
public:
- static PassRefPtr<MediaQuerySet> create()
+ static Ref<MediaQuerySet> create()
{
- return adoptRef(new MediaQuerySet());
+ return adoptRef(*new MediaQuerySet);
}
- static PassRefPtr<MediaQuerySet> create(const String& mediaString)
- {
- return adoptRef(new MediaQuerySet(mediaString, false));
- }
- static PassRefPtr<MediaQuerySet> createAllowingDescriptionSyntax(const String& mediaString)
- {
- return adoptRef(new MediaQuerySet(mediaString, true));
- }
- ~MediaQuerySet();
-
- bool parse(const String&);
+
+ static WEBCORE_EXPORT Ref<MediaQuerySet> create(const String& mediaString);
+
+ WEBCORE_EXPORT ~MediaQuerySet();
+
+ bool set(const String&);
bool add(const String&);
bool remove(const String&);
- void addMediaQuery(PassOwnPtr<MediaQuery>);
+ void addMediaQuery(MediaQuery&&);
+
+ const Vector<MediaQuery>& queryVector() const { return m_queries; }
- const Vector<OwnPtr<MediaQuery>>& queryVector() const { return m_queries; }
-
int lastLine() const { return m_lastLine; }
void setLastLine(int lastLine) { m_lastLine = lastLine; }
-
- String mediaText() const;
- PassRefPtr<MediaQuerySet> copy() const { return adoptRef(new MediaQuerySet(*this)); }
+ WEBCORE_EXPORT String mediaText() const;
+
+ Ref<MediaQuerySet> copy() const { return adoptRef(*new MediaQuerySet(*this)); }
+
+ void shrinkToFit();
private:
MediaQuerySet();
- MediaQuerySet(const String& mediaQuery, bool fallbackToDescription);
+ WEBCORE_EXPORT MediaQuerySet(const String& mediaQuery);
MediaQuerySet(const MediaQuerySet&);
-
- unsigned m_fallbackToDescriptor : 1; // true if failed media query parsing should fallback to media description parsing.
- signed m_lastLine : 31;
- Vector<OwnPtr<MediaQuery>> m_queries;
+
+ signed m_lastLine;
+ Vector<MediaQuery> m_queries;
};
-class MediaList : public RefCounted<MediaList> {
+class MediaList final : public RefCounted<MediaList> {
public:
- static PassRefPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSStyleSheet* parentSheet)
+ static Ref<MediaList> create(MediaQuerySet* mediaQueries, CSSStyleSheet* parentSheet)
{
- return adoptRef(new MediaList(mediaQueries, parentSheet));
+ return adoptRef(*new MediaList(mediaQueries, parentSheet));
}
- static PassRefPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSRule* parentRule)
+ static Ref<MediaList> create(MediaQuerySet* mediaQueries, CSSRule* parentRule)
{
- return adoptRef(new MediaList(mediaQueries, parentRule));
+ return adoptRef(*new MediaList(mediaQueries, parentRule));
}
- ~MediaList();
+ WEBCORE_EXPORT ~MediaList();
unsigned length() const { return m_mediaQueries->queryVector().size(); }
- String item(unsigned index) const;
- void deleteMedium(const String& oldMedium, ExceptionCode&);
- void appendMedium(const String& newMedium, ExceptionCode&);
+ WEBCORE_EXPORT String item(unsigned index) const;
+ WEBCORE_EXPORT ExceptionOr<void> deleteMedium(const String& oldMedium);
+ WEBCORE_EXPORT ExceptionOr<void> appendMedium(const String& newMedium);
String mediaText() const { return m_mediaQueries->mediaText(); }
- void setMediaText(const String&, ExceptionCode&);
+ WEBCORE_EXPORT ExceptionOr<void> setMediaText(const String&);
- // Not part of CSSOM.
CSSRule* parentRule() const { return m_parentRule; }
CSSStyleSheet* parentStyleSheet() const { return m_parentStyleSheet; }
- void clearParentStyleSheet() { ASSERT(m_parentStyleSheet); m_parentStyleSheet = 0; }
- void clearParentRule() { ASSERT(m_parentRule); m_parentRule = 0; }
+ void clearParentStyleSheet() { ASSERT(m_parentStyleSheet); m_parentStyleSheet = nullptr; }
+ void clearParentRule() { ASSERT(m_parentRule); m_parentRule = nullptr; }
const MediaQuerySet* queries() const { return m_mediaQueries.get(); }
void reattach(MediaQuerySet*);
@@ -113,15 +105,20 @@ private:
MediaList(MediaQuerySet*, CSSRule* parentRule);
RefPtr<MediaQuerySet> m_mediaQueries;
- CSSStyleSheet* m_parentStyleSheet;
- CSSRule* m_parentRule;
+ CSSStyleSheet* m_parentStyleSheet { nullptr };
+ CSSRule* m_parentRule { nullptr };
};
-#if ENABLE(RESOLUTION_MEDIA_QUERY)
// Adds message to inspector console whenever dpi or dpcm values are used for "screen" media.
+// FIXME: Seems strange to have this here in this file, and unclear exactly who should call this and when.
void reportMediaQueryWarningIfNeeded(Document*, const MediaQuerySet*);
-#endif
-} // namespace
+#if !ENABLE(RESOLUTION_MEDIA_QUERY)
+
+inline void reportMediaQueryWarningIfNeeded(Document*, const MediaQuerySet*)
+{
+}
#endif
+
+} // namespace