| 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 |