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

Side by Side Diff: Source/core/rendering/RenderLayerModelObject.h

Issue 22454003: Support subtitles for native fullscreen video (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebased Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved.
5 * Copyright (C) 2010, 2012 Google Inc. All rights reserved. 5 * Copyright (C) 2010, 2012 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 10 matching lines...) Expand all
21 */ 21 */
22 22
23 #ifndef RenderLayerModelObject_h 23 #ifndef RenderLayerModelObject_h
24 #define RenderLayerModelObject_h 24 #define RenderLayerModelObject_h
25 25
26 #include "core/rendering/RenderObject.h" 26 #include "core/rendering/RenderObject.h"
27 27
28 namespace WebCore { 28 namespace WebCore {
29 29
30 class RenderLayer; 30 class RenderLayer;
31 class RenderLayerBacking;
31 class ScrollableArea; 32 class ScrollableArea;
32 33
33 class RenderLayerModelObject : public RenderObject { 34 class RenderLayerModelObject : public RenderObject {
34 public: 35 public:
35 explicit RenderLayerModelObject(ContainerNode*); 36 explicit RenderLayerModelObject(ContainerNode*);
36 virtual ~RenderLayerModelObject(); 37 virtual ~RenderLayerModelObject();
37 38
38 // Called by RenderObject::willBeDestroyed() and is the only way layers shou ld ever be destroyed 39 // Called by RenderObject::willBeDestroyed() and is the only way layers shou ld ever be destroyed
39 void destroyLayer(); 40 void destroyLayer();
40 41
41 bool hasSelfPaintingLayer() const; 42 bool hasSelfPaintingLayer() const;
42 RenderLayer* layer() const { return m_layer; } 43 RenderLayer* layer() const { return m_layer; }
43 ScrollableArea* scrollableArea() const; 44 ScrollableArea* scrollableArea() const;
44 45
45 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) O VERRIDE; 46 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) O VERRIDE;
46 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV ERRIDE; 47 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV ERRIDE;
47 virtual void updateFromStyle() { } 48 virtual void updateFromStyle() { }
48 49
49 virtual bool requiresLayer() const = 0; 50 virtual bool requiresLayer() const = 0;
50 51
51 // Returns true if the background is painted opaque in the given rect. 52 // Returns true if the background is painted opaque in the given rect.
52 // The query rect is given in local coordinate system. 53 // The query rect is given in local coordinate system.
53 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const { re turn false; } 54 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const { re turn false; }
54 55
55 // This is null for anonymous renderers. 56 // This is null for anonymous renderers.
56 ContainerNode* node() const { return toContainerNode(RenderObject::node()); } 57 ContainerNode* node() const { return toContainerNode(RenderObject::node()); }
57 58
59 RenderLayerBacking* backing() const;
60
58 protected: 61 protected:
59 void ensureLayer(); 62 void ensureLayer();
60 63
61 virtual void willBeDestroyed() OVERRIDE; 64 virtual void willBeDestroyed() OVERRIDE;
62 65
63 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer*, co nst LayoutPoint&, const LayoutRect&) const OVERRIDE; 66 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer*, co nst LayoutPoint&, const LayoutRect&) const OVERRIDE;
64 67
65 private: 68 private:
66 virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; } 69 virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; }
67 70
(...skipping 17 matching lines...) Expand all
85 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isLayerModelObject()); 88 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isLayerModelObject());
86 return static_cast<const RenderLayerModelObject*>(object); 89 return static_cast<const RenderLayerModelObject*>(object);
87 } 90 }
88 91
89 // This will catch anyone doing an unnecessary cast. 92 // This will catch anyone doing an unnecessary cast.
90 void toRenderLayerModelObject(const RenderLayerModelObject*); 93 void toRenderLayerModelObject(const RenderLayerModelObject*);
91 94
92 } // namespace WebCore 95 } // namespace WebCore
93 96
94 #endif // RenderLayerModelObject_h 97 #endif // RenderLayerModelObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayerCompositor.cpp ('k') | Source/core/rendering/RenderLayerModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698