Changeset 83963 in webkit


Ignore:
Timestamp:
Apr 15, 2011 6:12:56 AM (13 years ago)
Author:
Adam Roben
Message:

Roll out r83954

It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
bots.

See <http://webkit.org/b/58610>.

Source/WebCore:

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSWorkerContextCustom.cpp:

(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

  • bindings/js/ScheduledAction.h:
  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::WindowSetTimeoutImpl):

  • page/ContentSecurityPolicy.cpp:
  • page/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html: Removed.
Location:
trunk
Files:
8 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r83961 r83963  
     12011-04-15  Adam Roben  <aroben@apple.com>
     2
     3        Roll out r83954
     4
     5        It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
     6        bots.
     7
     8        See <http://webkit.org/b/58610>.
     9
     10        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed-expected.txt: Removed.
     11        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html: Removed.
     12        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt: Removed.
     13        * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html: Removed.
     14        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed-expected.txt: Removed.
     15        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html: Removed.
     16        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt: Removed.
     17        * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html: Removed.
     18
    1192011-04-15  Philippe Normand  <pnormand@igalia.com>
    220
  • trunk/Source/WebCore/ChangeLog

    r83962 r83963  
     12011-04-15  Adam Roben  <aroben@apple.com>
     2
     3        Roll out r83954
     4
     5        It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
     6        bots.
     7
     8        See <http://webkit.org/b/58610>.
     9
     10        * bindings/js/JSDOMWindowCustom.cpp:
     11        (WebCore::JSDOMWindow::setTimeout):
     12        (WebCore::JSDOMWindow::setInterval):
     13        * bindings/js/JSWorkerContextCustom.cpp:
     14        (WebCore::JSWorkerContext::setTimeout):
     15        (WebCore::JSWorkerContext::setInterval):
     16        * bindings/js/ScheduledAction.cpp:
     17        (WebCore::ScheduledAction::create):
     18        * bindings/js/ScheduledAction.h:
     19        * bindings/v8/custom/V8DOMWindowCustom.cpp:
     20        (WebCore::WindowSetTimeoutImpl):
     21        * page/ContentSecurityPolicy.cpp:
     22        * page/ContentSecurityPolicy.h:
     23
    1242011-04-15  Pavel Feldman  <pfeldman@google.com>
    225
  • trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r83954 r83963  
    733733JSValue JSDOMWindow::setTimeout(ExecState* exec)
    734734{
    735     OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), impl()->document()->contentSecurityPolicy());
    736     if (exec->hadException())
    737         return jsUndefined();
    738 
    739     if (!action)
    740         return jsNumber(0);
    741 
     735    OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
     736    if (exec->hadException())
     737        return jsUndefined();
    742738    int delay = exec->argument(1).toInt32(exec);
    743739
     
    751747JSValue JSDOMWindow::setInterval(ExecState* exec)
    752748{
    753     OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), impl()->document()->contentSecurityPolicy());
     749    OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
    754750    if (exec->hadException())
    755751        return jsUndefined();
    756752    int delay = exec->argument(1).toInt32(exec);
    757 
    758     if (!action)
    759         return jsNumber(0);
    760753
    761754    ExceptionCode ec = 0;
  • trunk/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp

    r83954 r83963  
    123123JSValue JSWorkerContext::setTimeout(ExecState* exec)
    124124{
    125     // FIXME: Should we enforce a Content-Security-Policy on workers?
    126     OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), 0);
     125    OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
    127126    if (exec->hadException())
    128127        return jsUndefined();
     
    133132JSValue JSWorkerContext::setInterval(ExecState* exec)
    134133{
    135     // FIXME: Should we enforce a Content-Security-Policy on workers?
    136     OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), 0);
     134    OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
    137135    if (exec->hadException())
    138136        return jsUndefined();
  • trunk/Source/WebCore/bindings/js/ScheduledAction.cpp

    r83954 r83963  
    2525#include "ScheduledAction.h"
    2626
    27 #include "ContentSecurityPolicy.h"
    2827#include "DOMWindow.h"
    2928#include "Document.h"
     
    4847namespace WebCore {
    4948
    50 PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, DOMWrapperWorld* isolatedWorld, ContentSecurityPolicy* policy)
     49PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, DOMWrapperWorld* isolatedWorld)
    5150{
    5251    JSValue v = exec->argument(0);
    5352    CallData callData;
    5453    if (getCallData(v, callData) == CallTypeNone) {
    55         if (policy && !policy->allowEval())
    56             return 0;
    5754        UString string = v.toString(exec);
    5855        if (exec->hadException())
  • trunk/Source/WebCore/bindings/js/ScheduledAction.h

    r83954 r83963  
    3535
    3636    class Document;
    37     class ContentSecurityPolicy;
    3837    class ScriptExecutionContext;
    3938    class WorkerContext;
     
    4645        WTF_MAKE_NONCOPYABLE(ScheduledAction); WTF_MAKE_FAST_ALLOCATED;
    4746    public:
    48         static PassOwnPtr<ScheduledAction> create(JSC::ExecState*, DOMWrapperWorld* isolatedWorld, ContentSecurityPolicy*);
     47        static PassOwnPtr<ScheduledAction> create(JSC::ExecState*, DOMWrapperWorld* isolatedWorld);
    4948
    5049        void execute(ScriptExecutionContext*);
  • trunk/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp

    r83954 r83963  
    3333
    3434#include "Chrome.h"
    35 #include "ContentSecurityPolicy.h"
    3635#include "DOMTimer.h"
    3736#include "DOMWindow.h"
     
    133132        id = DOMTimer::install(scriptContext, action, timeout, singleShot);
    134133    } else {
    135         if (!imp->document()->contentSecurityPolicy()->allowEval())
    136             return v8::Integer::New(0);
    137134        id = DOMTimer::install(scriptContext, new ScheduledAction(V8Proxy::context(imp->frame()), functionString), timeout, singleShot);
    138135    }
  • trunk/Source/WebCore/page/ContentSecurityPolicy.cpp

    r83954 r83963  
    499499}
    500500
    501 bool ContentSecurityPolicy::allowEval() const
    502 {
    503     return !m_scriptSrc || (m_options && m_options->evalScript());
    504 }
    505 
    506501bool ContentSecurityPolicy::allowScriptFromSource(const KURL& url) const
    507502{
  • trunk/Source/WebCore/page/ContentSecurityPolicy.h

    r83954 r83963  
    5050    bool allowInlineEventHandlers() const;
    5151    bool allowInlineScript() const;
    52     bool allowEval() const;
    5352
    5453    bool allowScriptFromSource(const KURL&) const;
Note: See TracChangeset for help on using the changeset viewer.