OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 #include "core/layout/LayoutObject.h" | 48 #include "core/layout/LayoutObject.h" |
49 #include "core/layout/LayoutPart.h" | 49 #include "core/layout/LayoutPart.h" |
50 #include "modules/accessibility/AXObjectImpl.h" | 50 #include "modules/accessibility/AXObjectImpl.h" |
51 #include "platform/wtf/PtrUtil.h" | 51 #include "platform/wtf/PtrUtil.h" |
52 #include "public/platform/WebString.h" | 52 #include "public/platform/WebString.h" |
53 #include "public/web/WebAXObject.h" | 53 #include "public/web/WebAXObject.h" |
54 #include "public/web/WebDOMEvent.h" | 54 #include "public/web/WebDOMEvent.h" |
55 #include "public/web/WebDocument.h" | 55 #include "public/web/WebDocument.h" |
56 #include "public/web/WebElement.h" | 56 #include "public/web/WebElement.h" |
57 #include "public/web/WebElementCollection.h" | 57 #include "public/web/WebElementCollection.h" |
58 #include "public/web/WebPluginContainer.h" | |
59 | 58 |
60 namespace blink { | 59 namespace blink { |
61 | 60 |
62 void WebNode::Reset() { | 61 void WebNode::Reset() { |
63 private_.Reset(); | 62 private_.Reset(); |
64 } | 63 } |
65 | 64 |
66 void WebNode::Assign(const WebNode& other) { | 65 void WebNode::Assign(const WebNode& other) { |
67 private_ = other.private_; | 66 private_ = other.private_; |
68 } | 67 } |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 if (!private_->IsContainerNode()) | 166 if (!private_->IsContainerNode()) |
168 return WebElement(); | 167 return WebElement(); |
169 return ToContainerNode(private_.Get()) | 168 return ToContainerNode(private_.Get()) |
170 ->QuerySelector(selector, IGNORE_EXCEPTION_FOR_TESTING); | 169 ->QuerySelector(selector, IGNORE_EXCEPTION_FOR_TESTING); |
171 } | 170 } |
172 | 171 |
173 bool WebNode::Focused() const { | 172 bool WebNode::Focused() const { |
174 return private_->IsFocused(); | 173 return private_->IsFocused(); |
175 } | 174 } |
176 | 175 |
177 WebPluginContainer* WebNode::PluginContainerFromNode(const Node* node) { | |
178 if (!node) | |
179 return nullptr; | |
180 | |
181 if (!isHTMLObjectElement(node) && !isHTMLEmbedElement(node)) | |
182 return nullptr; | |
183 | |
184 LayoutObject* object = node->GetLayoutObject(); | |
185 if (object && object->IsLayoutPart()) { | |
186 PluginView* plugin = ToLayoutPart(object)->Plugin(); | |
187 if (plugin && plugin->IsPluginContainer()) | |
188 return ToWebPluginContainerBase(plugin); | |
189 } | |
190 | |
191 return nullptr; | |
192 } | |
193 | |
194 WebPluginContainer* WebNode::PluginContainer() const { | 176 WebPluginContainer* WebNode::PluginContainer() const { |
195 return PluginContainerFromNode(ConstUnwrap<Node>()); | 177 return private_->GetWebPluginContainerBase(); |
196 } | 178 } |
197 | 179 |
198 WebAXObject WebNode::AccessibilityObject() { | 180 WebAXObject WebNode::AccessibilityObject() { |
199 WebDocument web_document = GetDocument(); | 181 WebDocument web_document = GetDocument(); |
200 const Document* doc = GetDocument().ConstUnwrap<Document>(); | 182 const Document* doc = GetDocument().ConstUnwrap<Document>(); |
201 AXObjectCacheBase* cache = ToAXObjectCacheBase(doc->ExistingAXObjectCache()); | 183 AXObjectCacheBase* cache = ToAXObjectCacheBase(doc->ExistingAXObjectCache()); |
202 Node* node = Unwrap<Node>(); | 184 Node* node = Unwrap<Node>(); |
203 return cache ? WebAXObject(cache->Get(node)) : WebAXObject(); | 185 return cache ? WebAXObject(cache->Get(node)) : WebAXObject(); |
204 } | 186 } |
205 | 187 |
206 WebNode::WebNode(Node* node) : private_(node) {} | 188 WebNode::WebNode(Node* node) : private_(node) {} |
207 | 189 |
208 WebNode& WebNode::operator=(Node* node) { | 190 WebNode& WebNode::operator=(Node* node) { |
209 private_ = node; | 191 private_ = node; |
210 return *this; | 192 return *this; |
211 } | 193 } |
212 | 194 |
213 WebNode::operator Node*() const { | 195 WebNode::operator Node*() const { |
214 return private_.Get(); | 196 return private_.Get(); |
215 } | 197 } |
216 | 198 |
217 } // namespace blink | 199 } // namespace blink |
OLD | NEW |