OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2006, 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2008, 2011 Apple Inc. All rights reserved. |
3 * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
76 , m_hitTestRequest(otherRequest) | 76 , m_hitTestRequest(otherRequest) |
77 , m_cacheable(true) | 77 , m_cacheable(true) |
78 , m_pointInInnerNodeFrame(m_hitTestLocation.point()) | 78 , m_pointInInnerNodeFrame(m_hitTestLocation.point()) |
79 , m_isOverWidget(false) | 79 , m_isOverWidget(false) |
80 { | 80 { |
81 } | 81 } |
82 | 82 |
83 HitTestResult::HitTestResult(const HitTestResult& other) | 83 HitTestResult::HitTestResult(const HitTestResult& other) |
84 : m_hitTestLocation(other.m_hitTestLocation) | 84 : m_hitTestLocation(other.m_hitTestLocation) |
85 , m_hitTestRequest(other.m_hitTestRequest) | 85 , m_hitTestRequest(other.m_hitTestRequest) |
86 , m_hitTestCanvasResult(other.m_hitTestCanvasResult) | |
86 , m_cacheable(other.m_cacheable) | 87 , m_cacheable(other.m_cacheable) |
87 , m_innerNode(other.innerNode()) | 88 , m_innerNode(other.innerNode()) |
88 , m_innerPossiblyPseudoNode(other.m_innerPossiblyPseudoNode) | 89 , m_innerPossiblyPseudoNode(other.m_innerPossiblyPseudoNode) |
89 , m_pointInInnerNodeFrame(other.m_pointInInnerNodeFrame) | 90 , m_pointInInnerNodeFrame(other.m_pointInInnerNodeFrame) |
90 , m_localPoint(other.localPoint()) | 91 , m_localPoint(other.localPoint()) |
91 , m_innerURLElement(other.URLElement()) | 92 , m_innerURLElement(other.URLElement()) |
92 , m_scrollbar(other.scrollbar()) | 93 , m_scrollbar(other.scrollbar()) |
93 , m_isOverWidget(other.isOverWidget()) | 94 , m_isOverWidget(other.isOverWidget()) |
94 { | 95 { |
95 // Only copy the NodeSet in case of list hit test. | 96 // Only copy the NodeSet in case of list hit test. |
96 m_listBasedTestResult = other.m_listBasedTestResult ? new NodeSet(*other.m_l istBasedTestResult) : nullptr; | 97 m_listBasedTestResult = other.m_listBasedTestResult ? new NodeSet(*other.m_l istBasedTestResult) : nullptr; |
97 } | 98 } |
98 | 99 |
99 HitTestResult::~HitTestResult() | 100 HitTestResult::~HitTestResult() |
100 { | 101 { |
101 } | 102 } |
102 | 103 |
103 HitTestResult& HitTestResult::operator=(const HitTestResult& other) | 104 HitTestResult& HitTestResult::operator=(const HitTestResult& other) |
104 { | 105 { |
105 m_hitTestLocation = other.m_hitTestLocation; | 106 m_hitTestLocation = other.m_hitTestLocation; |
106 m_hitTestRequest = other.m_hitTestRequest; | 107 m_hitTestRequest = other.m_hitTestRequest; |
108 m_hitTestCanvasResult = other.m_hitTestCanvasResult; | |
107 populateFromCachedResult(other); | 109 populateFromCachedResult(other); |
108 | 110 |
109 return *this; | 111 return *this; |
110 } | 112 } |
111 | 113 |
112 bool HitTestResult::equalForCacheability(const HitTestResult& other) const | 114 bool HitTestResult::equalForCacheability(const HitTestResult& other) const |
113 { | 115 { |
114 return m_hitTestRequest.equalForCacheability(other.m_hitTestRequest) | 116 return m_hitTestRequest.equalForCacheability(other.m_hitTestRequest) |
115 && m_innerNode == other.innerNode() | 117 && m_innerNode == other.innerNode() |
116 && m_innerPossiblyPseudoNode == other.innerPossiblyPseudoNode() | 118 && m_innerPossiblyPseudoNode == other.innerPossiblyPseudoNode() |
(...skipping 25 matching lines...) Expand all Loading... | |
142 m_listBasedTestResult = other.m_listBasedTestResult ? new NodeSet(*other.m_l istBasedTestResult) : nullptr; | 144 m_listBasedTestResult = other.m_listBasedTestResult ? new NodeSet(*other.m_l istBasedTestResult) : nullptr; |
143 } | 145 } |
144 | 146 |
145 DEFINE_TRACE(HitTestResult) | 147 DEFINE_TRACE(HitTestResult) |
146 { | 148 { |
147 visitor->trace(m_innerNode); | 149 visitor->trace(m_innerNode); |
148 visitor->trace(m_innerPossiblyPseudoNode); | 150 visitor->trace(m_innerPossiblyPseudoNode); |
149 visitor->trace(m_innerURLElement); | 151 visitor->trace(m_innerURLElement); |
150 visitor->trace(m_scrollbar); | 152 visitor->trace(m_scrollbar); |
151 visitor->trace(m_listBasedTestResult); | 153 visitor->trace(m_listBasedTestResult); |
154 visitor->trace(m_hitTestCanvasResult); | |
152 } | 155 } |
153 | 156 |
154 PositionWithAffinity HitTestResult::position() const | 157 PositionWithAffinity HitTestResult::position() const |
155 { | 158 { |
156 if (!m_innerPossiblyPseudoNode) | 159 if (!m_innerPossiblyPseudoNode) |
157 return PositionWithAffinity(); | 160 return PositionWithAffinity(); |
158 LayoutObject* layoutObject = this->layoutObject(); | 161 LayoutObject* layoutObject = this->layoutObject(); |
159 if (!layoutObject) | 162 if (!layoutObject) |
160 return PositionWithAffinity(); | 163 return PositionWithAffinity(); |
161 if (m_innerPossiblyPseudoNode->isPseudoElement() && m_innerPossiblyPseudoNod e->getPseudoId() == PseudoIdBefore) | 164 if (m_innerPossiblyPseudoNode->isPseudoElement() && m_innerPossiblyPseudoNod e->getPseudoId() == PseudoIdBefore) |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
216 void HitTestResult::setURLElement(Element* n) | 219 void HitTestResult::setURLElement(Element* n) |
217 { | 220 { |
218 m_innerURLElement = n; | 221 m_innerURLElement = n; |
219 } | 222 } |
220 | 223 |
221 void HitTestResult::setScrollbar(Scrollbar* s) | 224 void HitTestResult::setScrollbar(Scrollbar* s) |
222 { | 225 { |
223 m_scrollbar = s; | 226 m_scrollbar = s; |
224 } | 227 } |
225 | 228 |
229 void HitTestResult::setHitCanvasRegion(HitTestCanvasResult* n) | |
zino
2016/08/19 18:00:07
You are saving HitTestCanvasResult to HitTestResul
Hwanseung Lee
2016/08/20 06:03:54
Done.
| |
230 { | |
231 m_hitTestCanvasResult = n; | |
232 } | |
233 | |
226 LocalFrame* HitTestResult::innerNodeFrame() const | 234 LocalFrame* HitTestResult::innerNodeFrame() const |
227 { | 235 { |
228 if (m_innerNode) | 236 if (m_innerNode) |
229 return m_innerNode->document().frame(); | 237 return m_innerNode->document().frame(); |
230 return nullptr; | 238 return nullptr; |
231 } | 239 } |
232 | 240 |
233 bool HitTestResult::isSelected() const | 241 bool HitTestResult::isSelected() const |
234 { | 242 { |
235 if (!m_innerNode) | 243 if (!m_innerNode) |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
513 else if (isHTMLMapElement(m_innerNode)) | 521 else if (isHTMLMapElement(m_innerNode)) |
514 imageMapImageElement = toHTMLMapElement(m_innerNode)->imageElement(); | 522 imageMapImageElement = toHTMLMapElement(m_innerNode)->imageElement(); |
515 | 523 |
516 if (!imageMapImageElement) | 524 if (!imageMapImageElement) |
517 return m_innerNode.get(); | 525 return m_innerNode.get(); |
518 | 526 |
519 return imageMapImageElement; | 527 return imageMapImageElement; |
520 } | 528 } |
521 | 529 |
522 } // namespace blink | 530 } // namespace blink |
OLD | NEW |