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

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

Issue 596773002: Re-attach plugin renderers in the standard way. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased 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, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved.
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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 } else if (name == dataAttr) { 249 } else if (name == dataAttr) {
250 needsInvalidation = !fastHasAttribute(classidAttr); 250 needsInvalidation = !fastHasAttribute(classidAttr);
251 } else if (name == classidAttr) { 251 } else if (name == classidAttr) {
252 needsInvalidation = true; 252 needsInvalidation = true;
253 } else { 253 } else {
254 ASSERT_NOT_REACHED(); 254 ASSERT_NOT_REACHED();
255 needsInvalidation = false; 255 needsInvalidation = false;
256 } 256 }
257 setNeedsWidgetUpdate(true); 257 setNeedsWidgetUpdate(true);
258 if (needsInvalidation) 258 if (needsInvalidation)
259 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::cre ate(StyleChangeReason::Plugin)); 259 lazyReattachIfNeeded();
260 } 260 }
261 261
262 // FIXME: This should be unified with HTMLEmbedElement::updateWidget and 262 // FIXME: This should be unified with HTMLEmbedElement::updateWidget and
263 // moved down into HTMLPluginElement.cpp 263 // moved down into HTMLPluginElement.cpp
264 void HTMLObjectElement::updateWidgetInternal() 264 void HTMLObjectElement::updateWidgetInternal()
265 { 265 {
266 ASSERT(!renderEmbeddedObject()->showsUnavailablePluginIndicator()); 266 ASSERT(!renderEmbeddedObject()->showsUnavailablePluginIndicator());
267 ASSERT(needsWidgetUpdate()); 267 ASSERT(needsWidgetUpdate());
268 setNeedsWidgetUpdate(false); 268 setNeedsWidgetUpdate(false);
269 // FIXME: This should ASSERT isFinishedParsingChildren() instead. 269 // FIXME: This should ASSERT isFinishedParsingChildren() instead.
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 void HTMLObjectElement::removedFrom(ContainerNode* insertionPoint) 324 void HTMLObjectElement::removedFrom(ContainerNode* insertionPoint)
325 { 325 {
326 HTMLPlugInElement::removedFrom(insertionPoint); 326 HTMLPlugInElement::removedFrom(insertionPoint);
327 FormAssociatedElement::removedFrom(insertionPoint); 327 FormAssociatedElement::removedFrom(insertionPoint);
328 } 328 }
329 329
330 void HTMLObjectElement::childrenChanged(const ChildrenChange& change) 330 void HTMLObjectElement::childrenChanged(const ChildrenChange& change)
331 { 331 {
332 if (inDocument() && !useFallbackContent()) { 332 if (inDocument() && !useFallbackContent()) {
333 setNeedsWidgetUpdate(true); 333 setNeedsWidgetUpdate(true);
334 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::cre ate(StyleChangeReason::Plugin)); 334 lazyReattachIfNeeded();
335 } 335 }
336 HTMLPlugInElement::childrenChanged(change); 336 HTMLPlugInElement::childrenChanged(change);
337 } 337 }
338 338
339 bool HTMLObjectElement::isURLAttribute(const Attribute& attribute) const 339 bool HTMLObjectElement::isURLAttribute(const Attribute& attribute) const
340 { 340 {
341 return attribute.name() == codebaseAttr || attribute.name() == dataAttr 341 return attribute.name() == codebaseAttr || attribute.name() == dataAttr
342 || (attribute.name() == usemapAttr && attribute.value()[0] != '#') 342 || (attribute.name() == usemapAttr && attribute.value()[0] != '#')
343 || HTMLPlugInElement::isURLAttribute(attribute); 343 || HTMLPlugInElement::isURLAttribute(attribute);
344 } 344 }
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 { 457 {
458 return fastHasAttribute(usemapAttr); 458 return fastHasAttribute(usemapAttr);
459 } 459 }
460 460
461 bool HTMLObjectElement::useFallbackContent() const 461 bool HTMLObjectElement::useFallbackContent() const
462 { 462 {
463 return HTMLPlugInElement::useFallbackContent() || m_useFallbackContent; 463 return HTMLPlugInElement::useFallbackContent() || m_useFallbackContent;
464 } 464 }
465 465
466 } 466 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698