OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
3 * Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/ | 3 * Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/ |
4 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 4 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 1332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1343 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1343 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1344 } else { | 1344 } else { |
1345 parseError(); | 1345 parseError(); |
1346 m_token->setForceQuirks(); | 1346 m_token->setForceQuirks(); |
1347 HTML_ADVANCE_TO(BogusDOCTYPEState); | 1347 HTML_ADVANCE_TO(BogusDOCTYPEState); |
1348 } | 1348 } |
1349 } | 1349 } |
1350 END_STATE() | 1350 END_STATE() |
1351 | 1351 |
1352 HTML_BEGIN_STATE(DOCTYPEPublicIdentifierDoubleQuotedState) { | 1352 HTML_BEGIN_STATE(DOCTYPEPublicIdentifierDoubleQuotedState) { |
1353 if (cc == '"') | 1353 if (cc == '"') { |
| 1354 m_token->finalizeDoctypePublicIdentifier(); |
1354 HTML_ADVANCE_TO(AfterDOCTYPEPublicIdentifierState); | 1355 HTML_ADVANCE_TO(AfterDOCTYPEPublicIdentifierState); |
1355 else if (cc == '>') { | 1356 } else if (cc == '>') { |
1356 parseError(); | 1357 parseError(); |
| 1358 m_token->finalizeDoctypePublicIdentifier(); |
1357 m_token->setForceQuirks(); | 1359 m_token->setForceQuirks(); |
1358 return emitAndResumeIn(source, HTMLTokenizer::DataState); | 1360 return emitAndResumeIn(source, HTMLTokenizer::DataState); |
1359 } else if (cc == kEndOfFileMarker) { | 1361 } else if (cc == kEndOfFileMarker) { |
1360 parseError(); | 1362 parseError(); |
| 1363 m_token->finalizeDoctypePublicIdentifier(); |
1361 m_token->setForceQuirks(); | 1364 m_token->setForceQuirks(); |
1362 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1365 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1363 } else { | 1366 } else { |
1364 m_token->appendToPublicIdentifier(cc); | 1367 m_token->appendToPublicIdentifier(cc); |
1365 HTML_ADVANCE_TO(DOCTYPEPublicIdentifierDoubleQuotedState); | 1368 HTML_ADVANCE_TO(DOCTYPEPublicIdentifierDoubleQuotedState); |
1366 } | 1369 } |
1367 } | 1370 } |
1368 END_STATE() | 1371 END_STATE() |
1369 | 1372 |
1370 HTML_BEGIN_STATE(DOCTYPEPublicIdentifierSingleQuotedState) { | 1373 HTML_BEGIN_STATE(DOCTYPEPublicIdentifierSingleQuotedState) { |
1371 if (cc == '\'') | 1374 if (cc == '\'') { |
| 1375 m_token->finalizeDoctypePublicIdentifier(); |
1372 HTML_ADVANCE_TO(AfterDOCTYPEPublicIdentifierState); | 1376 HTML_ADVANCE_TO(AfterDOCTYPEPublicIdentifierState); |
1373 else if (cc == '>') { | 1377 } else if (cc == '>') { |
1374 parseError(); | 1378 parseError(); |
| 1379 m_token->finalizeDoctypePublicIdentifier(); |
1375 m_token->setForceQuirks(); | 1380 m_token->setForceQuirks(); |
1376 return emitAndResumeIn(source, HTMLTokenizer::DataState); | 1381 return emitAndResumeIn(source, HTMLTokenizer::DataState); |
1377 } else if (cc == kEndOfFileMarker) { | 1382 } else if (cc == kEndOfFileMarker) { |
1378 parseError(); | 1383 parseError(); |
| 1384 m_token->finalizeDoctypePublicIdentifier(); |
1379 m_token->setForceQuirks(); | 1385 m_token->setForceQuirks(); |
1380 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1386 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1381 } else { | 1387 } else { |
1382 m_token->appendToPublicIdentifier(cc); | 1388 m_token->appendToPublicIdentifier(cc); |
1383 HTML_ADVANCE_TO(DOCTYPEPublicIdentifierSingleQuotedState); | 1389 HTML_ADVANCE_TO(DOCTYPEPublicIdentifierSingleQuotedState); |
1384 } | 1390 } |
1385 } | 1391 } |
1386 END_STATE() | 1392 END_STATE() |
1387 | 1393 |
1388 HTML_BEGIN_STATE(AfterDOCTYPEPublicIdentifierState) { | 1394 HTML_BEGIN_STATE(AfterDOCTYPEPublicIdentifierState) { |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1479 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1485 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1480 } else { | 1486 } else { |
1481 parseError(); | 1487 parseError(); |
1482 m_token->setForceQuirks(); | 1488 m_token->setForceQuirks(); |
1483 HTML_ADVANCE_TO(BogusDOCTYPEState); | 1489 HTML_ADVANCE_TO(BogusDOCTYPEState); |
1484 } | 1490 } |
1485 } | 1491 } |
1486 END_STATE() | 1492 END_STATE() |
1487 | 1493 |
1488 HTML_BEGIN_STATE(DOCTYPESystemIdentifierDoubleQuotedState) { | 1494 HTML_BEGIN_STATE(DOCTYPESystemIdentifierDoubleQuotedState) { |
1489 if (cc == '"') | 1495 if (cc == '"') { |
| 1496 m_token->finalizeDoctypeSystemIdentifier(); |
1490 HTML_ADVANCE_TO(AfterDOCTYPESystemIdentifierState); | 1497 HTML_ADVANCE_TO(AfterDOCTYPESystemIdentifierState); |
1491 else if (cc == '>') { | 1498 } else if (cc == '>') { |
1492 parseError(); | 1499 parseError(); |
| 1500 m_token->finalizeDoctypeSystemIdentifier(); |
1493 m_token->setForceQuirks(); | 1501 m_token->setForceQuirks(); |
1494 return emitAndResumeIn(source, HTMLTokenizer::DataState); | 1502 return emitAndResumeIn(source, HTMLTokenizer::DataState); |
1495 } else if (cc == kEndOfFileMarker) { | 1503 } else if (cc == kEndOfFileMarker) { |
1496 parseError(); | 1504 parseError(); |
| 1505 m_token->finalizeDoctypeSystemIdentifier(); |
1497 m_token->setForceQuirks(); | 1506 m_token->setForceQuirks(); |
1498 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1507 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1499 } else { | 1508 } else { |
1500 m_token->appendToSystemIdentifier(cc); | 1509 m_token->appendToSystemIdentifier(cc); |
1501 HTML_ADVANCE_TO(DOCTYPESystemIdentifierDoubleQuotedState); | 1510 HTML_ADVANCE_TO(DOCTYPESystemIdentifierDoubleQuotedState); |
1502 } | 1511 } |
1503 } | 1512 } |
1504 END_STATE() | 1513 END_STATE() |
1505 | 1514 |
1506 HTML_BEGIN_STATE(DOCTYPESystemIdentifierSingleQuotedState) { | 1515 HTML_BEGIN_STATE(DOCTYPESystemIdentifierSingleQuotedState) { |
1507 if (cc == '\'') | 1516 if (cc == '\'') { |
| 1517 m_token->finalizeDoctypeSystemIdentifier(); |
1508 HTML_ADVANCE_TO(AfterDOCTYPESystemIdentifierState); | 1518 HTML_ADVANCE_TO(AfterDOCTYPESystemIdentifierState); |
1509 else if (cc == '>') { | 1519 } else if (cc == '>') { |
1510 parseError(); | 1520 parseError(); |
| 1521 m_token->finalizeDoctypeSystemIdentifier(); |
1511 m_token->setForceQuirks(); | 1522 m_token->setForceQuirks(); |
1512 return emitAndResumeIn(source, HTMLTokenizer::DataState); | 1523 return emitAndResumeIn(source, HTMLTokenizer::DataState); |
1513 } else if (cc == kEndOfFileMarker) { | 1524 } else if (cc == kEndOfFileMarker) { |
1514 parseError(); | 1525 parseError(); |
| 1526 m_token->finalizeDoctypeSystemIdentifier(); |
1515 m_token->setForceQuirks(); | 1527 m_token->setForceQuirks(); |
1516 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); | 1528 return emitAndReconsumeIn(source, HTMLTokenizer::DataState); |
1517 } else { | 1529 } else { |
1518 m_token->appendToSystemIdentifier(cc); | 1530 m_token->appendToSystemIdentifier(cc); |
1519 HTML_ADVANCE_TO(DOCTYPESystemIdentifierSingleQuotedState); | 1531 HTML_ADVANCE_TO(DOCTYPESystemIdentifierSingleQuotedState); |
1520 } | 1532 } |
1521 } | 1533 } |
1522 END_STATE() | 1534 END_STATE() |
1523 | 1535 |
1524 HTML_BEGIN_STATE(AfterDOCTYPESystemIdentifierState) { | 1536 HTML_BEGIN_STATE(AfterDOCTYPESystemIdentifierState) { |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1637 | 1649 |
1638 return true; | 1650 return true; |
1639 } | 1651 } |
1640 | 1652 |
1641 inline void HTMLTokenizer::parseError() | 1653 inline void HTMLTokenizer::parseError() |
1642 { | 1654 { |
1643 notImplemented(); | 1655 notImplemented(); |
1644 } | 1656 } |
1645 | 1657 |
1646 } | 1658 } |
OLD | NEW |