Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Unified Diff: Source/core/css/MediaValues.h

Issue 240063003: Revert "A sizes attribute parser" (https://codereview.chromium.org/224733011) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/css/MediaQuerySetTest.cpp ('k') | Source/core/css/MediaValues.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/MediaValues.h
diff --git a/Source/core/css/MediaValues.h b/Source/core/css/MediaValues.h
index 7f2bb044e921c5ecc3e1abfd6d2852d6e8503b76..d399a76c6f548b3724de4ee10d609cbc3d8b255a 100644
--- a/Source/core/css/MediaValues.h
+++ b/Source/core/css/MediaValues.h
@@ -5,78 +5,107 @@
#ifndef MediaValues_h
#define MediaValues_h
-#include "core/frame/LocalFrame.h"
+#include "core/css/MediaQueryEvaluator.h"
+#include "core/css/resolver/StyleResolverState.h"
+#include "core/rendering/style/RenderStyle.h"
#include "wtf/RefCounted.h"
#include "wtf/RefPtr.h"
+#include "wtf/text/WTFString.h"
namespace WebCore {
class Document;
-class RenderStyle;
-class CSSPrimitiveValue;
class MediaValues : public RefCounted<MediaValues> {
public:
+ enum MediaValuesMode { CachingMode,
+ DynamicMode };
- enum MediaValuesMode {
- CachingMode,
- DynamicMode
- };
-
- enum PointerDeviceType {
- TouchPointer,
+ enum PointerDeviceType { TouchPointer,
MousePointer,
NoPointer,
- UnknownPointer
- };
+ UnknownPointer };
- virtual ~MediaValues() { }
- virtual PassRefPtr<MediaValues> copy() const = 0;
- virtual bool isSafeToSendToAnotherThread() const = 0;
- virtual bool computeLength(double value, unsigned short type, int& result) const = 0;
+ static PassRefPtr<MediaValues> create(Document*, MediaValuesMode);
+ static PassRefPtr<MediaValues> create(LocalFrame*, RenderStyle*, MediaValuesMode);
+ static PassRefPtr<MediaValues> create(MediaValuesMode,
+ int viewportWidth,
+ int viewportHeight,
+ int deviceWidth,
+ int deviceHeight,
+ float devicePixelRatio,
+ int colorBitsPerComponent,
+ int monochromeBitsPerComponent,
+ PointerDeviceType,
+ int defaultFontSize,
+ bool threeDEnabled,
+ bool scanMediaType,
+ bool screenMediaType,
+ bool printMediaType,
+ bool strictMode);
+ PassRefPtr<MediaValues> copy() const;
+ bool isSafeToSendToAnotherThread() const;
- virtual int viewportWidth() const = 0;
- virtual int viewportHeight() const = 0;
- virtual int deviceWidth() const = 0;
- virtual int deviceHeight() const = 0;
- virtual float devicePixelRatio() const = 0;
- virtual int colorBitsPerComponent() const = 0;
- virtual int monochromeBitsPerComponent() const = 0;
- virtual PointerDeviceType pointer() const = 0;
- virtual bool threeDEnabled() const = 0;
- virtual bool scanMediaType() const = 0;
- virtual bool screenMediaType() const = 0;
- virtual bool printMediaType() const = 0;
- virtual bool strictMode() const = 0;
- virtual Document* document() const = 0;
- virtual bool hasValues() const = 0;
+ int viewportWidth() const;
+ int viewportHeight() const;
+ int deviceWidth() const;
+ int deviceHeight() const;
+ float devicePixelRatio() const;
+ int colorBitsPerComponent() const;
+ int monochromeBitsPerComponent() const;
+ PointerDeviceType pointer() const;
+ int defaultFontSize() const;
+ bool threeDEnabled() const;
+ bool scanMediaType() const;
+ bool screenMediaType() const;
+ bool printMediaType() const;
+ bool strictMode() const;
+ RenderStyle* style() const { return m_style.get(); }
+ Document* document() const;
-protected:
- static Document* getExecutingDocument(Document&);
+private:
+ MediaValues(LocalFrame* frame, PassRefPtr<RenderStyle> style, MediaValuesMode mode)
+ : m_style(style)
+ , m_frame(frame)
+ , m_mode(mode)
+ , m_viewportWidth(0)
+ , m_viewportHeight(0)
+ , m_deviceWidth(0)
+ , m_deviceHeight(0)
+ , m_devicePixelRatio(0)
+ , m_colorBitsPerComponent(0)
+ , m_monochromeBitsPerComponent(0)
+ , m_pointer(UnknownPointer)
+ , m_defaultFontSize(0)
+ , m_threeDEnabled(false)
+ , m_scanMediaType(false)
+ , m_screenMediaType(false)
+ , m_printMediaType(false)
+ , m_strictMode(false)
+ {
+ }
- int calculateViewportWidth(LocalFrame*, RenderStyle*) const;
- int calculateViewportHeight(LocalFrame*, RenderStyle*) const;
- int calculateDeviceWidth(LocalFrame*) const;
- int calculateDeviceHeight(LocalFrame*) const;
- bool calculateStrictMode(LocalFrame*) const;
- float calculateDevicePixelRatio(LocalFrame*) const;
- int calculateColorBitsPerComponent(LocalFrame*) const;
- int calculateMonochromeBitsPerComponent(LocalFrame*) const;
- int calculateDefaultFontSize(RenderStyle*) const;
- int calculateComputedFontSize(RenderStyle*) const;
- bool calculateHasXHeight(RenderStyle*) const;
- double calculateXHeight(RenderStyle*) const;
- double calculateZeroWidth(RenderStyle*) const;
- bool calculateScanMediaType(LocalFrame*) const;
- bool calculateScreenMediaType(LocalFrame*) const;
- bool calculatePrintMediaType(LocalFrame*) const;
- bool calculateThreeDEnabled(LocalFrame*) const;
- float calculateEffectiveZoom(RenderStyle*) const;
- MediaValues::PointerDeviceType calculateLeastCapablePrimaryPointerDeviceType(LocalFrame*) const;
+ RefPtr<RenderStyle> m_style;
+ LocalFrame* m_frame;
+ MediaValuesMode m_mode;
+ // Members variables beyond this point must be thread safe, since they're copied to the parser thread
+ int m_viewportWidth;
+ int m_viewportHeight;
+ int m_deviceWidth;
+ int m_deviceHeight;
+ float m_devicePixelRatio;
+ int m_colorBitsPerComponent;
+ int m_monochromeBitsPerComponent;
+ PointerDeviceType m_pointer;
+ int m_defaultFontSize;
+ bool m_threeDEnabled;
+ bool m_scanMediaType;
+ bool m_screenMediaType;
+ bool m_printMediaType;
+ bool m_strictMode;
};
} // namespace
-
-#endif // MediaValues_h
+#endif
« no previous file with comments | « Source/core/css/MediaQuerySetTest.cpp ('k') | Source/core/css/MediaValues.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698