| 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
|
|
|