void SuspendableScriptExecutor::run()
{
    suspendIfNeeded();
    ExecutionContext* context = executionContext();
    ASSERT(context);
    if (context && !context->activeDOMObjectsAreSuspended())
        executeAndDestroySelf();
}
void SuspendableScriptExecutor::run()
{
    ExecutionContext* context = getExecutionContext();
    DCHECK(context);
    if (!context->activeDOMObjectsAreSuspended()) {
        suspendIfNeeded();
        executeAndDestroySelf();
        return;
    }
    startOneShot(0, BLINK_FROM_HERE);
    suspendIfNeeded();
}
void SuspendableScriptExecutor::fired()
{
    executeAndDestroySelf();
}
void SuspendableScriptExecutor::resume()
{
    executeAndDestroySelf();
}