| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 3 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 generatedContentContainer = RenderObject::createObject(owner->do
cument(), pseudoElementStyle); | 513 generatedContentContainer = RenderObject::createObject(owner->do
cument(), pseudoElementStyle); |
| 514 ASSERT(styledObject->node()); // The styled object cannot be ano
nymous or else it could not have ':before' or ':after' pseudo elements. | 514 ASSERT(styledObject->node()); // The styled object cannot be ano
nymous or else it could not have ':before' or ':after' pseudo elements. |
| 515 generatedContentContainer->setNode(styledObject->node()); // Thi
s allows access to the generatingNode. | 515 generatedContentContainer->setNode(styledObject->node()); // Thi
s allows access to the generatingNode. |
| 516 generatedContentContainer->setStyle(pseudoElementStyle); | 516 generatedContentContainer->setStyle(pseudoElementStyle); |
| 517 if (!owner->isChildAllowed(generatedContentContainer, pseudoElem
entStyle)) { | 517 if (!owner->isChildAllowed(generatedContentContainer, pseudoElem
entStyle)) { |
| 518 // The generated content container is not allowed here -> ab
ort. | 518 // The generated content container is not allowed here -> ab
ort. |
| 519 generatedContentContainer->destroy(); | 519 generatedContentContainer->destroy(); |
| 520 renderer->destroy(); | 520 renderer->destroy(); |
| 521 return; | 521 return; |
| 522 } | 522 } |
| 523 owner->addChild(generatedContentContainer, insertBefore); | 523 |
| 524 // When we don't have a first child and are part of a continuati
on chain, |
| 525 // insertBefore is incorrectly set to zero above, which causes t
he :before |
| 526 // child to end up at the end of continuation chain. |
| 527 // See https://bugs.webkit.org/show_bug.cgi?id=78380. |
| 528 if (!insertBefore && type == BEFORE && owner->virtualContinuatio
n()) |
| 529 owner->addChildIgnoringContinuation(generatedContentContaine
r, 0); |
| 530 else |
| 531 owner->addChild(generatedContentContainer, insertBefore); |
| 524 } | 532 } |
| 525 if (generatedContentContainer->isChildAllowed(renderer, pseudoElemen
tStyle)) | 533 if (generatedContentContainer->isChildAllowed(renderer, pseudoElemen
tStyle)) |
| 526 generatedContentContainer->addChild(renderer); | 534 generatedContentContainer->addChild(renderer); |
| 527 else | 535 else |
| 528 renderer->destroy(); | 536 renderer->destroy(); |
| 529 } | 537 } |
| 530 } | 538 } |
| 531 } | 539 } |
| 532 | 540 |
| 533 } // namespace WebCore | 541 } // namespace WebCore |
| OLD | NEW |