| OLD | NEW |
| 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) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
| 8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1342 activeAnimations->setAnimationStyleChange(false); | 1342 activeAnimations->setAnimationStyleChange(false); |
| 1343 } | 1343 } |
| 1344 } | 1344 } |
| 1345 } | 1345 } |
| 1346 | 1346 |
| 1347 void Element::detach(const AttachContext& context) | 1347 void Element::detach(const AttachContext& context) |
| 1348 { | 1348 { |
| 1349 HTMLFrameOwnerElement::UpdateSuspendScope suspendWidgetHierarchyUpdates; | 1349 HTMLFrameOwnerElement::UpdateSuspendScope suspendWidgetHierarchyUpdates; |
| 1350 cancelFocusAppearanceUpdate(); | 1350 cancelFocusAppearanceUpdate(); |
| 1351 removeCallbackSelectors(); | 1351 removeCallbackSelectors(); |
| 1352 if (svgFilterNeedsLayerUpdate()) | |
| 1353 document().unscheduleSVGFilterLayerUpdateHack(*this); | |
| 1354 if (hasRareData()) { | 1352 if (hasRareData()) { |
| 1355 ElementRareData* data = elementRareData(); | 1353 ElementRareData* data = elementRareData(); |
| 1356 data->clearPseudoElements(); | 1354 data->clearPseudoElements(); |
| 1357 | 1355 |
| 1358 // attach() will clear the computed style for us when inside recalcStyle
. | 1356 // attach() will clear the computed style for us when inside recalcStyle
. |
| 1359 if (!document().inStyleRecalc()) | 1357 if (!document().inStyleRecalc()) |
| 1360 data->clearComputedStyle(); | 1358 data->clearComputedStyle(); |
| 1361 | 1359 |
| 1362 if (ActiveAnimations* activeAnimations = data->activeAnimations()) { | 1360 if (ActiveAnimations* activeAnimations = data->activeAnimations()) { |
| 1363 if (context.performingReattach) { | 1361 if (context.performingReattach) { |
| 1364 // FIXME: We call detach from within style recalc, so compositin
gState is not up to date. | 1362 // FIXME: We call detach from within style recalc, so compositin
gState is not up to date. |
| 1365 // https://code.google.com/p/chromium/issues/detail?id=339847 | 1363 // https://code.google.com/p/chromium/issues/detail?id=339847 |
| 1366 DisableCompositingQueryAsserts disabler; | 1364 DisableCompositingQueryAsserts disabler; |
| 1367 | 1365 |
| 1368 // FIXME: restart compositor animations rather than pull back to
the main thread | 1366 // FIXME: restart compositor animations rather than pull back to
the main thread |
| 1369 activeAnimations->cancelAnimationOnCompositor(); | 1367 activeAnimations->cancelAnimationOnCompositor(); |
| 1370 } else { | 1368 } else { |
| 1371 activeAnimations->cssAnimations().cancel(); | 1369 activeAnimations->cssAnimations().cancel(); |
| 1372 activeAnimations->setAnimationStyleChange(false); | 1370 activeAnimations->setAnimationStyleChange(false); |
| 1373 } | 1371 } |
| 1374 activeAnimations->clearBaseRenderStyle(); | 1372 activeAnimations->clearBaseRenderStyle(); |
| 1375 } | 1373 } |
| 1376 | 1374 |
| 1377 if (ElementShadow* shadow = data->shadow()) | 1375 if (ElementShadow* shadow = data->shadow()) |
| 1378 shadow->detach(context); | 1376 shadow->detach(context); |
| 1379 } | 1377 } |
| 1378 |
| 1380 ContainerNode::detach(context); | 1379 ContainerNode::detach(context); |
| 1380 |
| 1381 ASSERT(needsAttach()); |
| 1382 if (svgFilterNeedsLayerUpdate()) |
| 1383 document().unscheduleSVGFilterLayerUpdateHack(*this); |
| 1381 } | 1384 } |
| 1382 | 1385 |
| 1383 bool Element::pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderS
tyle* newStyle) | 1386 bool Element::pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderS
tyle* newStyle) |
| 1384 { | 1387 { |
| 1385 ASSERT(currentStyle == renderStyle()); | 1388 ASSERT(currentStyle == renderStyle()); |
| 1386 ASSERT(renderer()); | 1389 ASSERT(renderer()); |
| 1387 | 1390 |
| 1388 if (!currentStyle) | 1391 if (!currentStyle) |
| 1389 return false; | 1392 return false; |
| 1390 | 1393 |
| (...skipping 1904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3295 return wrapper; | 3298 return wrapper; |
| 3296 | 3299 |
| 3297 CustomElementBinding* binding = perContextData->customElementBinding(customE
lementDefinition()); | 3300 CustomElementBinding* binding = perContextData->customElementBinding(customE
lementDefinition()); |
| 3298 | 3301 |
| 3299 wrapper->SetPrototype(binding->prototype()); | 3302 wrapper->SetPrototype(binding->prototype()); |
| 3300 | 3303 |
| 3301 return V8DOMWrapper::associateObjectWithWrapper(isolate, this, wrapperType,
wrapper); | 3304 return V8DOMWrapper::associateObjectWithWrapper(isolate, this, wrapperType,
wrapper); |
| 3302 } | 3305 } |
| 3303 | 3306 |
| 3304 } // namespace blink | 3307 } // namespace blink |
| OLD | NEW |