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

Side by Side Diff: Source/web/WebHelperPluginImpl.cpp

Issue 23570006: Refactoring: Add convenience method toPluginContainerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rework with comments Created 7 years, 3 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
« no previous file with comments | « Source/web/WebFrameImpl.cpp ('k') | Source/web/WebNode.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 159
160 RefPtr<NodeList> objectElements = m_page->mainFrame()->document()->getElemen tsByTagName(WebCore::HTMLNames::objectTag.localName()); 160 RefPtr<NodeList> objectElements = m_page->mainFrame()->document()->getElemen tsByTagName(WebCore::HTMLNames::objectTag.localName());
161 ASSERT(objectElements && objectElements->length() == 1); 161 ASSERT(objectElements && objectElements->length() == 1);
162 if (!objectElements || objectElements->length() < 1) 162 if (!objectElements || objectElements->length() < 1)
163 return 0; 163 return 0;
164 Node* node = objectElements->item(0); 164 Node* node = objectElements->item(0);
165 ASSERT(node->hasTagName(WebCore::HTMLNames::objectTag)); 165 ASSERT(node->hasTagName(WebCore::HTMLNames::objectTag));
166 WebCore::Widget* widget = toHTMLPlugInElement(node)->pluginWidget(); 166 WebCore::Widget* widget = toHTMLPlugInElement(node)->pluginWidget();
167 if (!widget) 167 if (!widget)
168 return 0; 168 return 0;
169 WebPlugin* plugin = static_cast<WebPluginContainerImpl*>(widget)->plugin(); 169 WebPlugin* plugin = toPluginContainerImpl(widget)->plugin();
170 ASSERT(plugin); 170 ASSERT(plugin);
171 // If the plugin is a placeholder, it is not useful to the caller, and it 171 // If the plugin is a placeholder, it is not useful to the caller, and it
172 // could be replaced at any time. Therefore, do not return it. 172 // could be replaced at any time. Therefore, do not return it.
173 if (plugin->isPlaceholder()) 173 if (plugin->isPlaceholder())
174 return 0; 174 return 0;
175 175
176 // The plugin was instantiated and will outlive this object. 176 // The plugin was instantiated and will outlive this object.
177 return plugin; 177 return plugin;
178 } 178 }
179 179
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 // A WebHelperPluginImpl instance usually has two references. 241 // A WebHelperPluginImpl instance usually has two references.
242 // - One owned by the instance itself. It represents the visible widget. 242 // - One owned by the instance itself. It represents the visible widget.
243 // - One owned by the hosting element. It's released when the hosting 243 // - One owned by the hosting element. It's released when the hosting
244 // element asks the WebHelperPluginImpl to close. 244 // element asks the WebHelperPluginImpl to close.
245 // We need them because the closing operation is asynchronous and the widget 245 // We need them because the closing operation is asynchronous and the widget
246 // can be closed while the hosting element is unaware of it. 246 // can be closed while the hosting element is unaware of it.
247 return adoptRef(new WebHelperPluginImpl(client)).leakRef(); 247 return adoptRef(new WebHelperPluginImpl(client)).leakRef();
248 } 248 }
249 249
250 } // namespace WebKit 250 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/web/WebFrameImpl.cpp ('k') | Source/web/WebNode.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698