2 * Copyright (C) 2013 Google Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 #include "bindings/core/v8/ScriptWrappable.h"
35 #include "core/dom/ClientRect.h"
36 #include "platform/heap/Handle.h"
37 #include "wtf/PassRefPtr.h"
38 #include "wtf/RefCounted.h"
39 #include "wtf/RefPtr.h"
40 #include "wtf/text/WTFString.h"
46 class LayerRect final
: public GarbageCollectedFinalized
<LayerRect
>, public ScriptWrappable
{
47 DEFINE_WRAPPERTYPEINFO();
49 static LayerRect
* create(PassRefPtrWillBeRawPtr
<Node
> node
, const String
& layerType
, int nodeOffsetX
, int nodeOffsetY
, ClientRect
* rect
)
51 return new LayerRect(node
, layerType
, nodeOffsetX
, nodeOffsetY
, rect
);
54 Node
* layerAssociatedNode() const { return m_layerAssociatedNode
.get(); }
55 String
layerType() const { return m_layerType
; }
56 int associatedNodeOffsetX() const { return m_associatedNodeOffsetX
; }
57 int associatedNodeOffsetY() const { return m_associatedNodeOffsetY
; }
58 ClientRect
* layerRelativeRect() const { return m_rect
.get(); }
62 visitor
->trace(m_layerAssociatedNode
);
63 visitor
->trace(m_rect
);
67 LayerRect(PassRefPtrWillBeRawPtr
<Node
> node
, const String
& layerName
, int nodeOffsetX
, int nodeOffsetY
, ClientRect
* rect
)
68 : m_layerAssociatedNode(node
)
69 , m_layerType(layerName
)
70 , m_associatedNodeOffsetX(nodeOffsetX
)
71 , m_associatedNodeOffsetY(nodeOffsetY
)
74 RefPtrWillBeMember
<Node
> m_layerAssociatedNode
;
76 int m_associatedNodeOffsetX
;
77 int m_associatedNodeOffsetY
;
78 Member
<ClientRect
> m_rect
;