| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 ScriptRunner::ScriptRunner(Document* document) | 41 ScriptRunner::ScriptRunner(Document* document) |
| 42 : m_document(document) | 42 : m_document(document) |
| 43 , m_executeScriptsTaskFactory(CancellableTaskFactory::create(this, &ScriptRu
nner::executeScripts)) | 43 , m_executeScriptsTaskFactory(CancellableTaskFactory::create(this, &ScriptRu
nner::executeScripts)) |
| 44 { | 44 { |
| 45 ASSERT(document); | 45 ASSERT(document); |
| 46 } | 46 } |
| 47 | 47 |
| 48 ScriptRunner::~ScriptRunner() | 48 ScriptRunner::~ScriptRunner() |
| 49 { | 49 { |
| 50 #if !ENABLE(OILPAN) | 50 #if !ENABLE(OILPAN) |
| 51 dispose(); |
| 52 #endif |
| 53 } |
| 54 |
| 55 #if !ENABLE(OILPAN) |
| 56 void ScriptRunner::dispose() |
| 57 { |
| 51 // Make sure that ScriptLoaders don't keep their PendingScripts alive. | 58 // Make sure that ScriptLoaders don't keep their PendingScripts alive. |
| 52 for (ScriptLoader* scriptLoader : m_scriptsToExecuteInOrder) | 59 for (ScriptLoader* scriptLoader : m_scriptsToExecuteInOrder) |
| 53 scriptLoader->detach(); | 60 scriptLoader->detach(); |
| 54 for (ScriptLoader* scriptLoader : m_scriptsToExecuteSoon) | 61 for (ScriptLoader* scriptLoader : m_scriptsToExecuteSoon) |
| 55 scriptLoader->detach(); | 62 scriptLoader->detach(); |
| 56 for (ScriptLoader* scriptLoader : m_pendingAsyncScripts) | 63 for (ScriptLoader* scriptLoader : m_pendingAsyncScripts) |
| 57 scriptLoader->detach(); | 64 scriptLoader->detach(); |
| 65 |
| 66 m_scriptsToExecuteInOrder.clear(); |
| 67 m_scriptsToExecuteSoon.clear(); |
| 68 m_pendingAsyncScripts.clear(); |
| 69 } |
| 58 #endif | 70 #endif |
| 59 } | |
| 60 | 71 |
| 61 void ScriptRunner::addPendingAsyncScript(ScriptLoader* scriptLoader) | 72 void ScriptRunner::addPendingAsyncScript(ScriptLoader* scriptLoader) |
| 62 { | 73 { |
| 63 m_document->incrementLoadEventDelayCount(); | 74 m_document->incrementLoadEventDelayCount(); |
| 64 m_pendingAsyncScripts.add(scriptLoader); | 75 m_pendingAsyncScripts.add(scriptLoader); |
| 65 } | 76 } |
| 66 | 77 |
| 67 void ScriptRunner::queueScriptForExecution(ScriptLoader* scriptLoader, Execution
Type executionType) | 78 void ScriptRunner::queueScriptForExecution(ScriptLoader* scriptLoader, Execution
Type executionType) |
| 68 { | 79 { |
| 69 ASSERT(scriptLoader); | 80 ASSERT(scriptLoader); |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 { | 235 { |
| 225 #if ENABLE(OILPAN) | 236 #if ENABLE(OILPAN) |
| 226 visitor->trace(m_document); | 237 visitor->trace(m_document); |
| 227 visitor->trace(m_scriptsToExecuteInOrder); | 238 visitor->trace(m_scriptsToExecuteInOrder); |
| 228 visitor->trace(m_scriptsToExecuteSoon); | 239 visitor->trace(m_scriptsToExecuteSoon); |
| 229 visitor->trace(m_pendingAsyncScripts); | 240 visitor->trace(m_pendingAsyncScripts); |
| 230 #endif | 241 #endif |
| 231 } | 242 } |
| 232 | 243 |
| 233 } // namespace blink | 244 } // namespace blink |
| OLD | NEW |