Changeset 56849 in webkit


Ignore:
Timestamp:
Mar 31, 2010 10:01:30 AM (14 years ago)
Author:
pfeldman@chromium.org
Message:

2010-03-31 Pavel Feldman <pfeldman@chromium.org>

Not reviewed. Rolling out r56829 since it broke chromium layout tests.

[REGRESSION] Inspector tests started crashing since r56829
https://bugs.webkit.org/show_bug.cgi?id=36888

  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/V8Utilities.cpp:
  • bindings/v8/V8Utilities.h:
  • loader/FrameLoaderClient.h: WebKit/chromium:
  • public/WebFrameClient.h:
  • src/FrameLoaderClientImpl.cpp:
  • src/FrameLoaderClientImpl.h:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r56846 r56849  
     12010-03-31  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Not reviewed. Rolling out r56829 since it broke chromium layout tests.
     4
     5        [REGRESSION] Inspector tests started crashing since r56829
     6        https://bugs.webkit.org/show_bug.cgi?id=36888
     7
     8        * bindings/scripts/CodeGeneratorV8.pm:
     9        * bindings/v8/V8Utilities.cpp:
     10        * bindings/v8/V8Utilities.h:
     11        * loader/FrameLoaderClient.h:
     12
    1132010-03-31  Pavel Feldman  <pfeldman@chromium.org>
    214
  • trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm

    r56829 r56849  
    675675    } elsif ($attribute->signature->extendedAttributes->{"CheckFrameSecurity"}) {
    676676        push(@implContentDecls, "    if (!V8BindingSecurity::checkNodeSecurity(V8BindingState::Only(), imp->contentDocument())) return v8::Handle<v8::Value>();\n\n");
    677     }
    678 
    679     if ($attrExt->{"DoNotCheckDomainSecurity"} ||
    680         $attrExt->{"DoNotCheckDomainSecurityOnGet"}) {
    681         push(@implContentDecls, "    logPropertyAccess(name, info);\n");
    682677    }
    683678
     
    14521447         "#include \"V8BindingState.h\"\n" .
    14531448         "#include \"V8DOMWrapper.h\"\n" .
    1454          "#include \"V8Utilities.h\"\n" .
    14551449         "#include \"V8IsolatedContext.h\"\n\n" .
    14561450         "#undef LOG\n\n");
  • trunk/WebCore/bindings/v8/V8Utilities.cpp

    r56829 r56849  
    3434#include <v8.h>
    3535
    36 #include "ChromiumBridge.h"
    3736#include "Document.h"
    3837#include "Frame.h"
    39 #include "FrameLoaderClient.h"
    4038#include "ScriptExecutionContext.h"
    4139#include "ScriptState.h"
    4240#include "V8Binding.h"
    43 #include "V8BindingState.h"
    44 #include "V8DOMWindow.h"
    4541#include "V8Proxy.h"
    4642#include "WorkerContext.h"
     
    147143}
    148144
    149 void logPropertyAccess(v8::Local<v8::String> name, const v8::AccessorInfo& info)
    150 {
    151     Frame* target = V8DOMWindow::toNative(info.Holder())->frame();
    152     Frame* active = V8BindingState::Only()->getActiveWindow()->frame();
    153     if (target == active)
    154         return;
    155 
    156     bool crossSite = !V8BindingSecurity::canAccessFrame(V8BindingState::Only(), target, false);
    157     String propName = toWebCoreString(name);
    158 
    159     // For cross-site, we also want to identify the current event to record repeat accesses.
    160     unsigned long long eventId = 0;
    161     if (crossSite) {
    162         v8::HandleScope handleScope;
    163         v8::Handle<v8::Context> v8Context = V8Proxy::mainWorldContext(active);
    164         if (!v8Context.IsEmpty()) {
    165             v8::Context::Scope scope(v8Context);
    166             v8::Handle<v8::Object> global = v8Context->Global();
    167             v8::Handle<v8::Value> jsEvent = global->Get(v8::String::NewSymbol("event"));
    168             if (V8DOMWrapper::isValidDOMObject(jsEvent))
    169                 eventId = reinterpret_cast<unsigned long long>(V8Event::toNative(v8::Handle<v8::Object>::Cast(jsEvent)));
    170         }
    171     }
    172     active->loader()->client()->logCrossFramePropertyAccess(target, crossSite, propName, eventId);
    173 }
    174 
    175145} // namespace WebCore
  • trunk/WebCore/bindings/v8/V8Utilities.h

    r56829 r56849  
    5757    ScriptExecutionContext* getScriptExecutionContext();
    5858
    59     void logPropertyAccess(v8::Local<v8::String> name, const v8::AccessorInfo& info);
    60 
    6159    class AllowAllocation {
    6260    public:
  • trunk/WebCore/loader/FrameLoaderClient.h

    r56829 r56849  
    245245        virtual void didDestroyScriptContextForFrame() = 0;
    246246        virtual void didCreateIsolatedScriptContext() = 0;
    247 
    248         virtual void logCrossFramePropertyAccess(Frame* target, bool crossOrigin, const String& name, unsigned long long eventId) { }
    249247#endif
    250248
  • trunk/WebKit/chromium/ChangeLog

    r56836 r56849  
     12010-03-31  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Not reviewed. Rolling out r56829 since it broke chromium layout tests.
     4
     5        [REGRESSION] Inspector tests started crashing since r56829
     6        https://bugs.webkit.org/show_bug.cgi?id=36888
     7
     8        * public/WebFrameClient.h:
     9        * src/FrameLoaderClientImpl.cpp:
     10        * src/FrameLoaderClientImpl.h:
     11
    1122010-03-31  Yury Semikhatsky  <yurys@chromium.org>
    213
  • trunk/WebKit/chromium/public/WebFrameClient.h

    r56829 r56849  
    285285    virtual void didCreateIsolatedScriptContext(WebFrame*) { }
    286286
    287     // Notifies that a cross-frame access was made to a property that allows
    288     // cross-origin access.
    289     virtual void logCrossFramePropertyAccess(WebFrame* active, WebFrame* target, bool crossOrigin, const WebString& property, unsigned long long eventId) { }
    290 
    291287
    292288    // Geometry notifications ----------------------------------------------
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.cpp

    r56829 r56849  
    15061506}
    15071507
    1508 void FrameLoaderClientImpl::logCrossFramePropertyAccess(Frame* target, bool crossOrigin, const String& name, unsigned long long eventId)
    1509 {
    1510     m_webFrame->client()->logCrossFramePropertyAccess(m_webFrame, WebFrameImpl::fromFrame(target), crossOrigin, name, eventId);
    1511 }
    1512 
    15131508} // namespace WebKit
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.h

    r56829 r56849  
    200200    virtual void didNotAllowPlugins();
    201201
    202     virtual void logCrossFramePropertyAccess(
    203         WebCore::Frame* target,
    204         bool crossOrigin,
    205         const WebCore::String& name,
    206         unsigned long long eventId);
    207 
    208202private:
    209203    void makeDocumentView();
Note: See TracChangeset for help on using the changeset viewer.