Changeset 57337 in webkit


Ignore:
Timestamp:
Apr 9, 2010 6:44:44 AM (14 years ago)
Author:
pfeldman@chromium.org
Message:

2010-04-09 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: Cannot select elements within iframes with the magnifying glass.

https://bugs.webkit.org/show_bug.cgi?id=31732

  • inspector/InspectorController.cpp: (WebCore::InspectorController::inspect): (WebCore::InspectorController::handleMousePress):
  • inspector/InspectorController.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent):
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r57334 r57337  
     12010-04-09  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: Cannot select elements within iframes with the magnifying glass.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=31732
     8
     9        * inspector/InspectorController.cpp:
     10        (WebCore::InspectorController::inspect):
     11        (WebCore::InspectorController::handleMousePress):
     12        * inspector/InspectorController.h:
     13        * page/EventHandler.cpp:
     14        (WebCore::EventHandler::handleMousePressEvent):
     15
    1162010-04-09  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
    217
  • trunk/WebCore/inspector/InspectorController.cpp

    r57280 r57337  
    226226}
    227227
    228 // Trying to inspect something in a frame with JavaScript disabled would later lead to
    229 // crashes trying to create JavaScript wrappers. Some day we could fix this issue, but
    230 // for now prevent crashes here by never targeting a node in such a frame.
    231 static bool canPassNodeToJavaScript(Node* node)
    232 {
    233     if (!node)
    234         return false;
    235     Frame* frame = node->document()->frame();
    236     return frame && frame->script()->canExecuteScripts(NotAboutToExecuteScript);
    237 }
    238 
    239228void InspectorController::inspect(Node* node)
    240229{
    241     if (!canPassNodeToJavaScript(node) || !enabled())
     230    if (!enabled())
    242231        return;
    243232
     
    386375}
    387376
    388 void InspectorController::handleMousePressOnNode(Node* node)
     377void InspectorController::handleMousePress()
    389378{
    390379    if (!enabled())
     
    392381
    393382    ASSERT(m_searchingForNode);
    394     ASSERT(node);
    395     if (!node)
    396         return;
    397 
     383    if (!m_highlightedNode)
     384        return;
     385
     386    RefPtr<Node> node = m_highlightedNode;
    398387    setSearchingForNode(false);
    399     inspect(node);
     388    inspect(node.get());
    400389}
    401390
  • trunk/WebCore/inspector/InspectorController.h

    r57280 r57337  
    144144    bool searchingForNodeInPage() const { return m_searchingForNode; }
    145145    void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
    146     void handleMousePressOnNode(Node*);
     146    void handleMousePress();
    147147
    148148    void setInspectorFrontendClient(PassOwnPtr<InspectorFrontendClient> client);
  • trunk/WebCore/page/EventHandler.cpp

    r57313 r57337  
    12051205        InspectorController* inspector = page->inspectorController();
    12061206        if (inspector && inspector->enabled() && inspector->searchingForNodeInPage()) {
    1207             inspector->handleMousePressOnNode(m_mousePressNode.get());
     1207            inspector->handleMousePress();
    12081208            invalidateClick();
    12091209            return true;
Note: See TracChangeset for help on using the changeset viewer.