Changeset 95166 in webkit


Ignore:
Timestamp:
Sep 14, 2011 10:12:51 PM (13 years ago)
Author:
Nate Chapin
Message:

[V8] Null-check the v8::Context in
V8DOMWindowShell:namedItemAdded() before using it.
Also, add some logging to figure out how we're getting
into this bad state.
https://bugs.webkit.org/show_bug.cgi?id=68099

Reviewed by Adam Barth.

No new tests, no known repro.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::namedItemAdded):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r95165 r95166  
     12011-09-14  Nate Chapin  <japhet@chromium.org>
     2
     3        [V8] Null-check the v8::Context in
     4        V8DOMWindowShell:namedItemAdded() before using it.
     5        Also, add some logging to figure out how we're getting
     6        into this bad state.
     7        https://bugs.webkit.org/show_bug.cgi?id=68099
     8
     9        Reviewed by Adam Barth.
     10
     11        No new tests, no known repro.
     12
     13        * bindings/v8/V8DOMWindowShell.cpp:
     14        (WebCore::V8DOMWindowShell::namedItemAdded):
     15
    1162011-09-14  Patrick Gansterer  <paroga@webkit.org>
    217
  • trunk/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp

    r94783 r95166  
    573573    initContextIfNeeded();
    574574
     575    if (!isContextInitialized()) {
     576#if PLATFORM(CHROMIUM)
     577        // FIXME: Temporary diagnostics as to why V8 sometimes crashes with a null context below.
     578        // See https://bugs.webkit.org/show_bug.cgi?id=68099.
     579        PlatformSupport::incrementStatsCounter("V8Bindings.namedItemAdded.initContextFailed");
     580        if (m_frame->settings() && !m_frame->settings()->isJavaScriptEnabled())
     581            PlatformSupport::incrementStatsCounter("V8Bindings.namedItemAdded.scriptBlockedByWebCoreSettings");
     582
     583        if (!m_frame->script()->canExecuteScripts(NotAboutToExecuteScript))
     584            PlatformSupport::incrementStatsCounter("V8Bindings.namedItemAdded.scriptBlockedByScriptController");
     585
     586        if (V8Proxy::handleOutOfMemory())
     587            PlatformSupport::incrementStatsCounter("V8Bindings.namedItemAdded.outOfMemory");
     588#endif
     589        return;
     590    }
     591
    575592    v8::HandleScope handleScope;
    576593    v8::Context::Scope contextScope(m_context);
Note: See TracChangeset for help on using the changeset viewer.