Changeset 63135 in webkit
- Timestamp:
- Jul 12, 2010 4:16:54 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r63134 r63135 1 2010-07-12 Eric Seidel <eric@webkit.org> 2 3 Reviewed by Adam Barth. 4 5 HTML tags should break out of foreign content 6 https://bugs.webkit.org/show_bug.cgi?id=42106 7 8 * html5lib/runner-expected-html5.txt: 9 1 10 2010-07-12 Zhenyao Mo <zmo@google.com> 2 11 -
trunk/LayoutTests/html5lib/runner-expected-html5.txt
r63116 r63135 387 387 388 388 resources/tests9.dat: 389 13390 389 14 391 15392 18393 19394 395 Test 13 of 25 in resources/tests9.dat failed. Input:396 <!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux397 Got:398 | <!DOCTYPE html>399 | <html>400 | <head>401 | <body>402 | <table>403 | <caption>404 | <math math>405 | <math mi>406 | "foo"407 | <math mi>408 | "bar"409 | <math p>410 | "baz"411 | <math p>412 | "quux"413 Expected:414 | <!DOCTYPE html>415 | <html>416 | <head>417 | <body>418 | <table>419 | <caption>420 | <math math>421 | <math mi>422 | "foo"423 | <math mi>424 | "bar"425 | <p>426 | "baz"427 | <p>428 | "quux"429 390 430 391 Test 14 of 25 in resources/tests9.dat failed. Input: … … 443 404 | "bar" 444 405 | "baz" 445 | <mathp>446 | 406 | <p> 407 | "quux" 447 408 Expected: 448 409 | <!DOCTYPE html> … … 460 421 | <p> 461 422 | "quux" 462 463 Test 15 of 25 in resources/tests9.dat failed. Input:464 <!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux465 Got:466 | <!DOCTYPE html>467 | <html>468 | <head>469 | <body>470 | <math math>471 | <math mi>472 | "foo"473 | <math mi>474 | "bar"475 | <math p>476 | "baz"477 | <math p>478 | "quux"479 | <table>480 | <colgroup>481 Expected:482 | <!DOCTYPE html>483 | <html>484 | <head>485 | <body>486 | <math math>487 | <math mi>488 | "foo"489 | <math mi>490 | "bar"491 | <p>492 | "baz"493 | <table>494 | <colgroup>495 | <p>496 | "quux"497 498 Test 18 of 25 in resources/tests9.dat failed. Input:499 <!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz500 Got:501 | <!DOCTYPE html>502 | <html>503 | <head>504 | <body>505 | <math math>506 | <math mi>507 | "foo"508 | <math mi>509 | "bar"510 | <math p>511 | "baz"512 Expected:513 | <!DOCTYPE html>514 | <html>515 | <head>516 | <body>517 | <math math>518 | <math mi>519 | "foo"520 | <math mi>521 | "bar"522 | <p>523 | "baz"524 525 Test 19 of 25 in resources/tests9.dat failed. Input:526 <!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz527 Got:528 | <!DOCTYPE html>529 | <html>530 | <head>531 | <body>532 | <math math>533 | <math mi>534 | "foo"535 | <math mi>536 | "bar"537 | <math p>538 | "baz"539 Expected:540 | <!DOCTYPE html>541 | <html>542 | <head>543 | <body>544 | <math math>545 | <math mi>546 | "foo"547 | <math mi>548 | "bar"549 | <p>550 | "baz"551 423 resources/tests10.dat: 552 13553 424 14 554 15555 18556 19557 558 Test 13 of 25 in resources/tests10.dat failed. Input:559 <!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux560 Got:561 | <!DOCTYPE html>562 | <html>563 | <head>564 | <body>565 | <table>566 | <caption>567 | <svg svg>568 | <svg g>569 | "foo"570 | <svg g>571 | "bar"572 | <svg p>573 | "baz"574 | <svg p>575 | "quux"576 Expected:577 | <!DOCTYPE html>578 | <html>579 | <head>580 | <body>581 | <table>582 | <caption>583 | <svg svg>584 | <svg g>585 | "foo"586 | <svg g>587 | "bar"588 | <p>589 | "baz"590 | <p>591 | "quux"592 425 593 426 Test 14 of 25 in resources/tests10.dat failed. Input: … … 606 439 | "bar" 607 440 | "baz" 608 | <svgp>609 | 441 | <p> 442 | "quux" 610 443 Expected: 611 444 | <!DOCTYPE html> … … 623 456 | <p> 624 457 | "quux" 625 626 Test 15 of 25 in resources/tests10.dat failed. Input:627 <!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux628 Got:629 | <!DOCTYPE html>630 | <html>631 | <head>632 | <body>633 | <svg svg>634 | <svg g>635 | "foo"636 | <svg g>637 | "bar"638 | <svg p>639 | "baz"640 | <svg p>641 | "quux"642 | <table>643 | <colgroup>644 Expected:645 | <!DOCTYPE html>646 | <html>647 | <head>648 | <body>649 | <svg svg>650 | <svg g>651 | "foo"652 | <svg g>653 | "bar"654 | <p>655 | "baz"656 | <table>657 | <colgroup>658 | <p>659 | "quux"660 661 Test 18 of 25 in resources/tests10.dat failed. Input:662 <!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz663 Got:664 | <!DOCTYPE html>665 | <html>666 | <head>667 | <body>668 | <svg svg>669 | <svg g>670 | "foo"671 | <svg g>672 | "bar"673 | <svg p>674 | "baz"675 Expected:676 | <!DOCTYPE html>677 | <html>678 | <head>679 | <body>680 | <svg svg>681 | <svg g>682 | "foo"683 | <svg g>684 | "bar"685 | <p>686 | "baz"687 688 Test 19 of 25 in resources/tests10.dat failed. Input:689 <!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz690 Got:691 | <!DOCTYPE html>692 | <html>693 | <head>694 | <body>695 | <svg svg>696 | <svg g>697 | "foo"698 | <svg g>699 | "bar"700 | <svg p>701 | "baz"702 Expected:703 | <!DOCTYPE html>704 | <html>705 | <head>706 | <body>707 | <svg svg>708 | <svg g>709 | "foo"710 | <svg g>711 | "bar"712 | <p>713 | "baz"714 458 resources/tests11.dat: PASS 715 459 -
trunk/WebCore/ChangeLog
r63134 r63135 1 2010-07-12 Eric Seidel <eric@webkit.org> 2 3 Reviewed by Adam Barth. 4 5 HTML tags should break out of foreign content 6 https://bugs.webkit.org/show_bug.cgi?id=42106 7 8 Implement another paragraph of the spec to pass another 9 bunch of foreign content tests. 10 11 This fixes a bunch of tests in html5lib/runner.html. 12 After this change we only have 4 remaining foreign content failures. 13 14 * html/HTMLTreeBuilder.cpp: 15 (WebCore::HTMLTreeBuilder::processStartTag): 16 1 17 2010-07-12 Zhenyao Mo <zmo@google.com> 2 18 -
trunk/WebCore/html/HTMLElementStack.cpp
r62926 r63135 144 144 } 145 145 146 void HTMLElementStack::popUntilElementWithNamespace(const AtomicString& namespaceURI) 147 { 148 while (top()->namespaceURI() != namespaceURI) 149 pop(); 150 } 151 146 152 void HTMLElementStack::popUntil(const AtomicString& tagName) 147 153 { -
trunk/WebCore/html/HTMLElementStack.h
r62926 r63135 84 84 void pop(); 85 85 void popUntil(const AtomicString& tagName); 86 void popUntilElementWithNamespace(const AtomicString& namespaceURI); 86 87 void popUntil(Element*); 87 88 void popUntilPopped(const AtomicString& tagName); -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r63116 r63135 1492 1492 return; 1493 1493 } 1494 notImplemented(); 1494 if (token.name() == bTag 1495 || token.name() == bigTag 1496 || token.name() == blockquoteTag 1497 || token.name() == bodyTag 1498 || token.name() == brTag 1499 || token.name() == centerTag 1500 || token.name() == codeTag 1501 || token.name() == ddTag 1502 || token.name() == divTag 1503 || token.name() == dlTag 1504 || token.name() == dtTag 1505 || token.name() == emTag 1506 || token.name() == embedTag 1507 || isNumberedHeaderTag(token.name()) 1508 || token.name() == headTag 1509 || token.name() == hrTag 1510 || token.name() == iTag 1511 || token.name() == imgTag 1512 || token.name() == liTag 1513 || token.name() == listingTag 1514 || token.name() == menuTag 1515 || token.name() == metaTag 1516 || token.name() == nobrTag 1517 || token.name() == olTag 1518 || token.name() == pTag 1519 || token.name() == preTag 1520 || token.name() == rubyTag 1521 || token.name() == sTag 1522 || token.name() == smallTag 1523 || token.name() == spanTag 1524 || token.name() == strongTag 1525 || token.name() == strikeTag 1526 || token.name() == subTag 1527 || token.name() == supTag 1528 || token.name() == tableTag 1529 || token.name() == ttTag 1530 || token.name() == uTag 1531 || token.name() == ulTag 1532 || token.name() == varTag 1533 || (token.name() == fontTag && (token.getAttributeItem(colorAttr) || token.getAttributeItem(faceAttr) || token.getAttributeItem(sizeAttr)))) { 1534 m_tree.openElements()->popUntilElementWithNamespace(xhtmlNamespaceURI); 1535 setInsertionMode(m_secondaryInsertionMode); 1536 processStartTag(token); 1537 return; 1538 } 1495 1539 const AtomicString& currentNamespace = m_tree.currentElement()->namespaceURI(); 1496 1540 if (currentNamespace == MathMLNames::mathmlNamespaceURI) … … 2593 2637 // FIXME: Following the spec would infinitely recurse on <svg><svg> 2594 2638 // http://www.w3.org/Bugs/Public/show_bug.cgi?id=10115 2595 while (m_tree.currentElement()) { 2596 if (m_tree.currentElement()->namespaceURI() == xhtmlNamespaceURI) 2597 break; 2598 m_tree.openElements()->pop(); 2599 } 2639 m_tree.openElements()->popUntilElementWithNamespace(xhtmlNamespaceURI); 2600 2640 setInsertionMode(m_secondaryInsertionMode); 2601 2641 processEndOfFile(token);
Note: See TracChangeset
for help on using the changeset viewer.