| 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 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights |
| 6 * reserved. | 6 * reserved. |
| 7 * Copyright (C) 2008 Nikolas Zimmermann <zimmermann@kde.org> | 7 * Copyright (C) 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 451 | 451 |
| 452 // 4th Clause: | 452 // 4th Clause: |
| 453 // - "If the script's type is "classic", and the element has a src attribute" | 453 // - "If the script's type is "classic", and the element has a src attribute" |
| 454 // TODO(hiroshige): Check the script's type and implement "module" case. | 454 // TODO(hiroshige): Check the script's type and implement "module" case. |
| 455 if (m_element->hasSourceAttribute()) { | 455 if (m_element->hasSourceAttribute()) { |
| 456 // "The element must be added to the set of scripts that will execute | 456 // "The element must be added to the set of scripts that will execute |
| 457 // as soon as possible of the node document of the script element at the | 457 // as soon as possible of the node document of the script element at the |
| 458 // time the prepare a script algorithm started." | 458 // time the prepare a script algorithm started." |
| 459 m_pendingScript = PendingScript::create(m_element.get(), m_resource.get()); | 459 m_pendingScript = PendingScript::create(m_element.get(), m_resource.get()); |
| 460 m_asyncExecType = ScriptRunner::Async; | 460 m_asyncExecType = ScriptRunner::Async; |
| 461 LocalFrame* frame = m_element->document().frame(); | 461 m_pendingScript->startStreamingIfPossible(&m_element->document(), |
| 462 if (frame) { | 462 ScriptStreamer::Async); |
| 463 ScriptState* scriptState = toScriptStateForMainWorld(frame); | |
| 464 if (scriptState) | |
| 465 ScriptStreamer::startStreaming( | |
| 466 m_pendingScript.get(), ScriptStreamer::Async, frame->settings(), | |
| 467 scriptState, frame->frameScheduler()->loadingTaskRunner()); | |
| 468 } | |
| 469 // TODO(hiroshige): Here |contextDocument| is used as "node document" | 463 // TODO(hiroshige): Here |contextDocument| is used as "node document" |
| 470 // while Step 14 uses |elementDocument| as "node document". Fix this. | 464 // while Step 14 uses |elementDocument| as "node document". Fix this. |
| 471 contextDocument->scriptRunner()->queueScriptForExecution(this, | 465 contextDocument->scriptRunner()->queueScriptForExecution(this, |
| 472 m_asyncExecType); | 466 m_asyncExecType); |
| 473 // Note that watchForLoad can immediately call pendingScriptFinished. | 467 // Note that watchForLoad can immediately call pendingScriptFinished. |
| 474 m_pendingScript->watchForLoad(this); | 468 m_pendingScript->watchForLoad(this); |
| 475 // The part "When the script is ready..." is implemented in | 469 // The part "When the script is ready..." is implemented in |
| 476 // ScriptRunner::notifyScriptReady(). | 470 // ScriptRunner::notifyScriptReady(). |
| 477 // TODO(hiroshige): Annotate it. | 471 // TODO(hiroshige): Annotate it. |
| 478 | 472 |
| (...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 871 // then abort these steps at this point. The script is not executed. | 865 // then abort these steps at this point. The script is not executed. |
| 872 return equalIgnoringCase(eventAttribute, "onload") || | 866 return equalIgnoringCase(eventAttribute, "onload") || |
| 873 equalIgnoringCase(eventAttribute, "onload()"); | 867 equalIgnoringCase(eventAttribute, "onload()"); |
| 874 } | 868 } |
| 875 | 869 |
| 876 String ScriptLoader::scriptContent() const { | 870 String ScriptLoader::scriptContent() const { |
| 877 return m_element->textFromChildren(); | 871 return m_element->textFromChildren(); |
| 878 } | 872 } |
| 879 | 873 |
| 880 } // namespace blink | 874 } // namespace blink |
| OLD | NEW |