Changeset 31743 in webkit


Ignore:
Timestamp:
Apr 8, 2008 5:06:12 PM (16 years ago)
Author:
timothy@apple.com
Message:

Fixes a crash in KJS::JSValue::toObject when closing
Safari with Inspector open.

http://bugs.webkit.org/show_bug.cgi?id=18371

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
Return JSNull if JSDOMWindow is 0.

  • page/inspector/ElementsPanel.js:

(ElementsPanel.prototype.reset): NULL check the result of
InspectorController.inspectedWindow.

Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r31740 r31743  
     12008-04-08  Timothy Hatcher  <timothy@apple.com>
     2
     3        Fixes a crash in KJS::JSValue::toObject when closing
     4        Safari with Inspector open.
     5
     6        http://bugs.webkit.org/show_bug.cgi?id=18371
     7
     8        Reviewed by Adam Roben.
     9
     10        * page/InspectorController.cpp:
     11        (WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
     12        Return JSNull if JSDOMWindow is 0.
     13        * page/inspector/ElementsPanel.js:
     14        (ElementsPanel.prototype.reset): NULL check the result of
     15        InspectorController.inspectedWindow.
     16
    1172008-04-08  Adam Roben  <aroben@apple.com>
    218
  • trunk/WebCore/page/InspectorController.cpp

    r31736 r31743  
    622622        return JSValueMakeUndefined(ctx);
    623623
    624     return toRef(toJSDOMWindow(controller->inspectedPage()->mainFrame()));
     624    JSDOMWindow* window = toJSDOMWindow(controller->inspectedPage()->mainFrame());
     625    if (!window)
     626        return JSValueMakeNull(ctx);
     627
     628    return toRef(window);
    625629}
    626630
  • trunk/WebCore/page/inspector/ElementsPanel.js

    r31736 r31743  
    127127    reset: function()
    128128    {
    129         var inspectedRootDocument = InspectorController.inspectedWindow().document;
     129        var inspectedWindow = InspectorController.inspectedWindow();
     130        if (!inspectedWindow) {
     131            this.rootDOMNode = null;
     132            this.focusedDOMNode = null;
     133            return;
     134        }
     135
     136        var inspectedRootDocument = inspectedWindow.document;
    130137        this.rootDOMNode = inspectedRootDocument;
    131138
Note: See TracChangeset for help on using the changeset viewer.