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

Side by Side Diff: third_party/WebKit/Source/web/WebNode.cpp

Issue 2886113002: Introduce WebPluginContainerBase to abstract WebPluginContainerImpl. (Closed)
Patch Set: Rebase Created 3 years, 7 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
OLDNEW
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 23 matching lines...) Expand all
34 #include "core/dom/Document.h" 34 #include "core/dom/Document.h"
35 #include "core/dom/Element.h" 35 #include "core/dom/Element.h"
36 #include "core/dom/Node.h" 36 #include "core/dom/Node.h"
37 #include "core/dom/NodeList.h" 37 #include "core/dom/NodeList.h"
38 #include "core/dom/StaticNodeList.h" 38 #include "core/dom/StaticNodeList.h"
39 #include "core/dom/TagCollection.h" 39 #include "core/dom/TagCollection.h"
40 #include "core/dom/TaskRunnerHelper.h" 40 #include "core/dom/TaskRunnerHelper.h"
41 #include "core/editing/EditingUtilities.h" 41 #include "core/editing/EditingUtilities.h"
42 #include "core/editing/serializers/Serialization.h" 42 #include "core/editing/serializers/Serialization.h"
43 #include "core/events/Event.h" 43 #include "core/events/Event.h"
44 #include "core/exported/WebPluginContainerBase.h"
44 #include "core/html/HTMLCollection.h" 45 #include "core/html/HTMLCollection.h"
45 #include "core/html/HTMLElement.h" 46 #include "core/html/HTMLElement.h"
46 #include "core/layout/LayoutObject.h" 47 #include "core/layout/LayoutObject.h"
47 #include "core/layout/LayoutPart.h" 48 #include "core/layout/LayoutPart.h"
48 #include "modules/accessibility/AXObjectCacheImpl.h" 49 #include "modules/accessibility/AXObjectCacheImpl.h"
49 #include "modules/accessibility/AXObjectImpl.h" 50 #include "modules/accessibility/AXObjectImpl.h"
50 #include "platform/wtf/PtrUtil.h" 51 #include "platform/wtf/PtrUtil.h"
51 #include "public/platform/WebString.h" 52 #include "public/platform/WebString.h"
52 #include "public/web/WebAXObject.h" 53 #include "public/web/WebAXObject.h"
53 #include "public/web/WebDOMEvent.h" 54 #include "public/web/WebDOMEvent.h"
54 #include "public/web/WebDocument.h" 55 #include "public/web/WebDocument.h"
55 #include "public/web/WebElement.h" 56 #include "public/web/WebElement.h"
56 #include "public/web/WebElementCollection.h" 57 #include "public/web/WebElementCollection.h"
57 #include "public/web/WebPluginContainer.h" 58 #include "public/web/WebPluginContainer.h"
58 #include "web/WebPluginContainerImpl.h"
59 59
60 namespace blink { 60 namespace blink {
61 61
62 void WebNode::Reset() { 62 void WebNode::Reset() {
63 private_.Reset(); 63 private_.Reset();
64 } 64 }
65 65
66 void WebNode::Assign(const WebNode& other) { 66 void WebNode::Assign(const WebNode& other) {
67 private_ = other.private_; 67 private_ = other.private_;
68 } 68 }
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 if (!node) 178 if (!node)
179 return nullptr; 179 return nullptr;
180 180
181 if (!isHTMLObjectElement(node) && !isHTMLEmbedElement(node)) 181 if (!isHTMLObjectElement(node) && !isHTMLEmbedElement(node))
182 return nullptr; 182 return nullptr;
183 183
184 LayoutObject* object = node->GetLayoutObject(); 184 LayoutObject* object = node->GetLayoutObject();
185 if (object && object->IsLayoutPart()) { 185 if (object && object->IsLayoutPart()) {
186 PluginView* plugin = ToLayoutPart(object)->Plugin(); 186 PluginView* plugin = ToLayoutPart(object)->Plugin();
187 if (plugin && plugin->IsPluginContainer()) 187 if (plugin && plugin->IsPluginContainer())
188 return ToWebPluginContainerImpl(plugin); 188 return ToWebPluginContainerBase(plugin);
189 } 189 }
190 190
191 return nullptr; 191 return nullptr;
192 } 192 }
193 193
194 WebPluginContainer* WebNode::PluginContainer() const { 194 WebPluginContainer* WebNode::PluginContainer() const {
195 return PluginContainerFromNode(ConstUnwrap<Node>()); 195 return PluginContainerFromNode(ConstUnwrap<Node>());
196 } 196 }
197 197
198 WebAXObject WebNode::AccessibilityObject() { 198 WebAXObject WebNode::AccessibilityObject() {
199 WebDocument web_document = GetDocument(); 199 WebDocument web_document = GetDocument();
200 const Document* doc = GetDocument().ConstUnwrap<Document>(); 200 const Document* doc = GetDocument().ConstUnwrap<Document>();
201 AXObjectCacheImpl* cache = ToAXObjectCacheImpl(doc->ExistingAXObjectCache()); 201 AXObjectCacheImpl* cache = ToAXObjectCacheImpl(doc->ExistingAXObjectCache());
202 Node* node = Unwrap<Node>(); 202 Node* node = Unwrap<Node>();
203 return cache ? WebAXObject(cache->Get(node)) : WebAXObject(); 203 return cache ? WebAXObject(cache->Get(node)) : WebAXObject();
204 } 204 }
205 205
206 WebNode::WebNode(Node* node) : private_(node) {} 206 WebNode::WebNode(Node* node) : private_(node) {}
207 207
208 WebNode& WebNode::operator=(Node* node) { 208 WebNode& WebNode::operator=(Node* node) {
209 private_ = node; 209 private_ = node;
210 return *this; 210 return *this;
211 } 211 }
212 212
213 WebNode::operator Node*() const { 213 WebNode::operator Node*() const {
214 return private_.Get(); 214 return private_.Get();
215 } 215 }
216 216
217 } // namespace blink 217 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698