• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef MediaValuesDynamic_h
6 #define MediaValuesDynamic_h
7 
8 #include "core/css/MediaValues.h"
9 
10 namespace WebCore {
11 
12 class Document;
13 
14 class MediaValuesDynamic FINAL : public MediaValues {
15 public:
16     static PassRefPtr<MediaValues> create(LocalFrame*);
17     virtual PassRefPtr<MediaValues> copy() const OVERRIDE;
18     virtual bool isSafeToSendToAnotherThread() const OVERRIDE;
19     virtual bool computeLength(double value, CSSPrimitiveValue::UnitType, int& result) const OVERRIDE;
20     virtual bool computeLength(double value, CSSPrimitiveValue::UnitType, double& result) const OVERRIDE;
21 
22     virtual int viewportWidth() const OVERRIDE;
23     virtual int viewportHeight() const OVERRIDE;
24     virtual int deviceWidth() const OVERRIDE;
25     virtual int deviceHeight() const OVERRIDE;
26     virtual float devicePixelRatio() const OVERRIDE;
27     virtual int colorBitsPerComponent() const OVERRIDE;
28     virtual int monochromeBitsPerComponent() const OVERRIDE;
29     virtual PointerDeviceType pointer() const OVERRIDE;
30     virtual bool threeDEnabled() const OVERRIDE;
31     virtual bool scanMediaType() const OVERRIDE;
32     virtual bool screenMediaType() const OVERRIDE;
33     virtual bool printMediaType() const OVERRIDE;
34     virtual bool strictMode() const OVERRIDE;
35     virtual Document* document() const OVERRIDE;
36     virtual bool hasValues() const OVERRIDE;
37 
38 protected:
39     MediaValuesDynamic(LocalFrame*);
40 
41     // This raw ptr is safe, as MediaValues would not outlive MediaQueryEvaluator, and
42     // MediaQueryEvaluator is reset on |Document::detach|.
43     // FIXME: Oilpan: This raw ptr should be changed to a Member when LocalFrame is migrated to the heap.
44     LocalFrame* m_frame;
45 };
46 
47 } // namespace
48 
49 #endif // MediaValuesDynamic_h
50