Changeset 90338 in webkit


Ignore:
Timestamp:
Jul 3, 2011 8:04:28 AM (13 years ago)
Author:
robert@webkit.org
Message:

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

Unfortunately this has to be a rendertree test, as there is no rendertext way of
determining if a selection is still highlighted.

  • platform/chromium/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • platform/qt/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • plugins/mouse-click-plugin-clears-selection.html: Added.

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

Test: plugins/mouse-click-plugin-clears-selection.html

PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
in order to clear the FrameSelection in the currently focused node. In its platform-specific
code Chromium already does this (WebPluginContainerImpl.cpp).

  • WebCore.exp.in: Add symbol for FocusController::setFocusedNode
  • plugins/PluginView.cpp: (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes

the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
redundant, since it calls both.

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
in order to clear the FrameSelection in the currently focused node. In its platform-specific
code Chromium already does this (WebPluginContainerImpl.cpp).

  • WebProcess/Plugins/PluginView.cpp: (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes

the call to FocusController:setFocusedFrame() redundant, since the
former calls it.

Location:
trunk
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r90335 r90338  
     12011-06-23  Robert Hogan  <robert@webkit.org>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
     6        https://bugs.webkit.org/show_bug.cgi?id=30355
     7
     8        Unfortunately this has to be a rendertree test, as there is no rendertext way of
     9        determining if a selection is still highlighted.
     10
     11        * platform/chromium/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
     12        * platform/qt/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
     13        * plugins/mouse-click-plugin-clears-selection.html: Added.
     14
    1152011-07-02  Mihai Parparita  <mihaip@chromium.org>
    216
  • trunk/Source/WebCore/ChangeLog

    r90308 r90338  
     12011-06-23  Robert Hogan  <robert@webkit.org>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
     6        https://bugs.webkit.org/show_bug.cgi?id=30355
     7
     8        Test: plugins/mouse-click-plugin-clears-selection.html
     9
     10        PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
     11        in order to clear the FrameSelection in the currently focused node. In its platform-specific
     12        code Chromium already does this (WebPluginContainerImpl.cpp).
     13
     14        * WebCore.exp.in: Add symbol for FocusController::setFocusedNode
     15        * plugins/PluginView.cpp:
     16        (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
     17                                                   the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
     18                                                   redundant, since it calls both.
     19
    1202011-07-01  Michael Nordman  <michaeln@google.com>
    221
  • trunk/Source/WebCore/WebCore.exp.in

    r90275 r90338  
    400400__ZN7WebCore15FocusController10setFocusedEb
    401401__ZN7WebCore15FocusController15setFocusedFrameEN3WTF10PassRefPtrINS_5FrameEEE
     402__ZN7WebCore15FocusController14setFocusedNodeEPNS_4NodeEN3WTF10PassRefPtrINS_5FrameEEE
    402403__ZN7WebCore15FocusController15setInitialFocusENS_14FocusDirectionEPNS_13KeyboardEventE
    403404__ZN7WebCore15FocusController9setActiveEb
  • trunk/Source/WebCore/plugins/PluginView.cpp

    r89079 r90338  
    910910    // Focus the plugin
    911911    if (Page* page = m_parentFrame->page())
    912         page->focusController()->setFocusedFrame(m_parentFrame);
    913     m_parentFrame->document()->setFocusedNode(m_element);
     912        page->focusController()->setFocusedNode(m_element, m_parentFrame);
     913    else
     914        m_parentFrame->document()->setFocusedNode(m_element);
    914915}
    915916
  • trunk/Source/WebKit2/ChangeLog

    r90332 r90338  
     12011-06-23  Robert Hogan  <robert@webkit.org>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
     6        https://bugs.webkit.org/show_bug.cgi?id=30355
     7
     8        PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
     9        in order to clear the FrameSelection in the currently focused node. In its platform-specific
     10        code Chromium already does this (WebPluginContainerImpl.cpp).
     11
     12        * WebProcess/Plugins/PluginView.cpp:
     13        (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
     14                                                   the call to FocusController:setFocusedFrame() redundant, since the
     15                                                   former calls it.
     16
    1172011-07-02  Anders Carlsson  <andersca@apple.com>
    218
  • trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp

    r90331 r90338  
    682682   
    683683    if (Page* page = frame()->page())
    684         page->focusController()->setFocusedFrame(frame());
    685     frame()->document()->setFocusedNode(m_pluginElement);
     684       page->focusController()->setFocusedNode(m_pluginElement.get(), frame());
     685    else
     686       frame()->document()->setFocusedNode(m_pluginElement);
    686687}
    687688
Note: See TracChangeset for help on using the changeset viewer.