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

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: Support renderer-less plugin disposal 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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 175 }
176 176
177 for (HTMLParamElement* param = Traversal<HTMLParamElement>::firstChild(*this ); param; param = Traversal<HTMLParamElement>::nextSibling(*param)) { 177 for (HTMLParamElement* param = Traversal<HTMLParamElement>::firstChild(*this ); param; param = Traversal<HTMLParamElement>::nextSibling(*param)) {
178 if (param->name().isEmpty()) 178 if (param->name().isEmpty())
179 continue; 179 continue;
180 180
181 paramNames.append(param->name()); 181 paramNames.append(param->name());
182 paramValues.append(param->value()); 182 paramValues.append(param->value());
183 } 183 }
184 184
185 RefPtr<Widget> widget; 185 RefPtrWillBeRawPtr<Widget> widget = nullptr;
186 if (frame->loader().allowPlugins(AboutToInstantiatePlugin)) 186 if (frame->loader().allowPlugins(AboutToInstantiatePlugin))
187 widget = frame->loader().client()->createJavaAppletWidget(this, baseURL, paramNames, paramValues); 187 widget = frame->loader().client()->createJavaAppletWidget(this, baseURL, paramNames, paramValues);
188 188
189 if (!widget) { 189 if (!widget) {
190 if (!renderer->showsUnavailablePluginIndicator()) 190 if (!renderer->showsUnavailablePluginIndicator())
191 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::Plugin Missing); 191 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::Plugin Missing);
192 return; 192 return;
193 } 193 }
194 document().setContainsPlugins(); 194 document().setContainsPlugins();
195 setWidget(widget); 195 setWidget(widget);
(...skipping 25 matching lines...) Expand all
221 221
222 if (!document().contentSecurityPolicy()->allowObjectFromSource(url) 222 if (!document().contentSecurityPolicy()->allowObjectFromSource(url)
223 || !document().contentSecurityPolicy()->allowPluginType(appletMimeType, appletMimeType, url)) { 223 || !document().contentSecurityPolicy()->allowPluginType(appletMimeType, appletMimeType, url)) {
224 renderEmbeddedObject()->setPluginUnavailabilityReason(RenderEmbeddedObje ct::PluginBlockedByContentSecurityPolicy); 224 renderEmbeddedObject()->setPluginUnavailabilityReason(RenderEmbeddedObje ct::PluginBlockedByContentSecurityPolicy);
225 return false; 225 return false;
226 } 226 }
227 return true; 227 return true;
228 } 228 }
229 229
230 } 230 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698