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

Side by Side Diff: Source/core/html/HTMLAppletElement.cpp

Issue 603193005: Move the Widget hierarchy to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Switch LocalFrame::m_pluginElements rep to HashSet<HTMLPlugInElement*> Created 6 years, 2 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de)
5 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2012 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2012 Apple Inc. All rights reserv ed.
6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 } 176 }
177 177
178 for (HTMLParamElement* param = Traversal<HTMLParamElement>::firstChild(*this ); param; param = Traversal<HTMLParamElement>::nextSibling(*param)) { 178 for (HTMLParamElement* param = Traversal<HTMLParamElement>::firstChild(*this ); param; param = Traversal<HTMLParamElement>::nextSibling(*param)) {
179 if (param->name().isEmpty()) 179 if (param->name().isEmpty())
180 continue; 180 continue;
181 181
182 paramNames.append(param->name()); 182 paramNames.append(param->name());
183 paramValues.append(param->value()); 183 paramValues.append(param->value());
184 } 184 }
185 185
186 OwnPtrWillBeRawPtr<PluginPlaceholder> placeholder; 186 OwnPtrWillBeRawPtr<PluginPlaceholder> placeholder = nullptr;
187 RefPtr<Widget> widget; 187 RefPtrWillBeRawPtr<Widget> widget = nullptr;
188 if (frame->loader().allowPlugins(AboutToInstantiatePlugin)) { 188 if (frame->loader().allowPlugins(AboutToInstantiatePlugin)) {
189 placeholder = frame->loader().client()->createPluginPlaceholder(document (), KURL(), paramNames, paramValues, m_serviceType, false); 189 placeholder = frame->loader().client()->createPluginPlaceholder(document (), KURL(), paramNames, paramValues, m_serviceType, false);
190 if (!placeholder) 190 if (!placeholder)
191 widget = frame->loader().client()->createJavaAppletWidget(this, base URL, paramNames, paramValues); 191 widget = frame->loader().client()->createJavaAppletWidget(this, base URL, paramNames, paramValues);
192 } 192 }
193 193
194 if (!placeholder && !widget) { 194 if (!placeholder && !widget) {
195 if (!renderer->showsUnavailablePluginIndicator()) 195 if (!renderer->showsUnavailablePluginIndicator())
196 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::Plugin Missing); 196 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::Plugin Missing);
197 setPlaceholder(nullptr); 197 setPlaceholder(nullptr);
(...skipping 30 matching lines...) Expand all
228 228
229 if (!document().contentSecurityPolicy()->allowObjectFromSource(url) 229 if (!document().contentSecurityPolicy()->allowObjectFromSource(url)
230 || !document().contentSecurityPolicy()->allowPluginType(m_serviceType, m _serviceType, url)) { 230 || !document().contentSecurityPolicy()->allowPluginType(m_serviceType, m _serviceType, url)) {
231 renderEmbeddedObject()->setPluginUnavailabilityReason(RenderEmbeddedObje ct::PluginBlockedByContentSecurityPolicy); 231 renderEmbeddedObject()->setPluginUnavailabilityReason(RenderEmbeddedObje ct::PluginBlockedByContentSecurityPolicy);
232 return false; 232 return false;
233 } 233 }
234 return true; 234 return true;
235 } 235 }
236 236
237 } 237 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698