Changeset 150712 in webkit
- Timestamp:
- May 26, 2013 4:39:01 AM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r150711 r150712 1 2013-05-26 Andreas Kling <akling@apple.com> 2 3 FocusController::setFocusedNode() should be setFocusedElement(). 4 <http://webkit.org/b/116780> 5 6 Reviewed by Antti Koivisto. 7 8 Only Elements can have focus, so make the public API of FocusController take Element*. 9 10 * WebCore.exp.in: 11 * page/FocusController.h: 12 * page/FocusController.cpp: 13 (WebCore::FocusController::setFocusedElement): 14 15 Out with the setFocusedNode(), in with the setFocusedElement(). 16 17 * dom/Element.cpp: 18 (WebCore::Element::focus): 19 (WebCore::Element::blur): 20 * page/EventHandler.cpp: 21 (WebCore::EventHandler::dispatchMouseEvent): 22 * plugins/PluginView.cpp: 23 (WebCore::PluginView::focusPluginElement): 24 * editing/FrameSelection.cpp: 25 (WebCore::FrameSelection::setFocusedNodeIfNeeded): 26 27 Tweak for FocusController taking Element* instead of Node*. 28 29 (WebCore::FrameSelection::setFocusedElementIfNeeded): 30 31 Renamed from setFocusedNodeIfNeeded(). 32 33 * editing/htmlediting.h: 34 * editing/htmlediting.cpp: 35 (WebCore::enclosingAnchorElement): 36 37 Cleaned up the loop for readability and made it return an Element. 38 1 39 2013-05-26 Andreas Kling <akling@apple.com> 2 40 -
trunk/Source/WebCore/WebCore.exp.in
r150700 r150712 433 433 __ZN7WebCore15DatabaseManager9setClientEPNS_21DatabaseManagerClientE 434 434 __ZN7WebCore15FocusController10setFocusedEb 435 __ZN7WebCore15FocusController1 4setFocusedNodeEPNS_4NodeEN3WTF10PassRefPtrINS_5FrameEEENS_14FocusDirectionE435 __ZN7WebCore15FocusController17setFocusedElementEPNS_7ElementEN3WTF10PassRefPtrINS_5FrameEEENS_14FocusDirectionE 436 436 __ZN7WebCore15FocusController15setFocusedFrameEN3WTF10PassRefPtrINS_5FrameEEE 437 437 __ZN7WebCore15FocusController15setInitialFocusENS_14FocusDirectionEPNS_13KeyboardEventE -
trunk/Source/WebCore/dom/Element.cpp
r150711 r150712 2035 2035 // does not make sense to continue and update appearence. 2036 2036 protect = this; 2037 if (!page->focusController()->setFocused Node(this, doc->frame(), direction))2037 if (!page->focusController()->setFocusedElement(this, doc->frame(), direction)) 2038 2038 return; 2039 2039 } … … 2079 2079 if (treeScope()->focusedNode() == this) { 2080 2080 if (doc->frame()) 2081 doc->frame()->page()->focusController()->setFocused Node(0, doc->frame());2081 doc->frame()->page()->focusController()->setFocusedElement(0, doc->frame()); 2082 2082 else 2083 2083 doc->setFocusedNode(0); -
trunk/Source/WebCore/editing/FrameSelection.cpp
r150692 r150712 312 312 313 313 if (!s.isNone() && !(options & DoNotSetFocus)) 314 setFocused NodeIfNeeded();314 setFocusedElementIfNeeded(); 315 315 316 316 if (!(options & DoNotUpdateAppearance)) { … … 1877 1877 } 1878 1878 1879 void FrameSelection::setFocused NodeIfNeeded()1879 void FrameSelection::setFocusedElementIfNeeded() 1880 1880 { 1881 1881 if (isNone() || !isFocused()) … … 1884 1884 bool caretBrowsing = m_frame->settings() && m_frame->settings()->caretBrowsingEnabled(); 1885 1885 if (caretBrowsing) { 1886 if ( Node* anchor = enclosingAnchorElement(base())) {1887 m_frame->page()->focusController()->setFocused Node(anchor, m_frame);1886 if (Element* anchor = enclosingAnchorElement(base())) { 1887 m_frame->page()->focusController()->setFocusedElement(anchor, m_frame); 1888 1888 return; 1889 1889 } … … 1897 1897 // work in the long term, but this is the safest fix at this time. 1898 1898 if (target->isMouseFocusable() && !isFrameElement(target)) { 1899 m_frame->page()->focusController()->setFocused Node(target, m_frame);1899 m_frame->page()->focusController()->setFocusedElement(target, m_frame); 1900 1900 return; 1901 1901 } … … 1906 1906 1907 1907 if (caretBrowsing) 1908 m_frame->page()->focusController()->setFocused Node(0, m_frame);1908 m_frame->page()->focusController()->setFocusedElement(0, m_frame); 1909 1909 } 1910 1910 -
trunk/Source/WebCore/editing/FrameSelection.h
r149432 r150712 237 237 enum EndPointsAdjustmentMode { AdjustEndpointsAtBidiBoundary, DoNotAdjsutEndpoints }; 238 238 void setNonDirectionalSelectionIfNeeded(const VisibleSelection&, TextGranularity, EndPointsAdjustmentMode = DoNotAdjsutEndpoints); 239 void setFocusedNodeIfNeeded();240 239 void notifyRendererOfSelectionChange(EUserTriggered); 241 240 … … 286 285 #endif 287 286 287 void setFocusedElementIfNeeded(); 288 288 void focusedOrActiveStateChanged(); 289 289 -
trunk/Source/WebCore/editing/htmlediting.cpp
r150140 r150712 675 675 } 676 676 677 Node* enclosingAnchorElement(const Position& p)677 Element* enclosingAnchorElement(const Position& p) 678 678 { 679 679 if (p.isNull()) 680 680 return 0; 681 682 Node* node = p.deprecatedNode(); 683 while (node && !(node->isElementNode() && node->isLink())) 684 node = node->parentNode(); 685 return node; 681 682 for (Node* node = p.deprecatedNode(); node; node = node->parentNode()) { 683 if (node->isElementNode() && node->isLink()) 684 return toElement(node); 685 } 686 return 0; 686 687 } 687 688 -
trunk/Source/WebCore/editing/htmlediting.h
r145195 r150712 65 65 Node* enclosingTableCell(const Position&); 66 66 Node* enclosingEmptyListItem(const VisiblePosition&); 67 Node* enclosingAnchorElement(const Position&);67 Element* enclosingAnchorElement(const Position&); 68 68 Node* enclosingNodeWithTag(const Position&, const QualifiedName&); 69 69 Node* enclosingNodeOfType(const Position&, bool (*nodeIsOfType)(const Node*), EditingBoundaryCrossingRule = CannotCrossEditingBoundary); -
trunk/Source/WebCore/page/EventHandler.cpp
r150692 r150712 2363 2363 if (Page* page = m_frame->page()) { 2364 2364 if (element && element->isMouseFocusable()) { 2365 if (!page->focusController()->setFocused Node(element, m_frame))2365 if (!page->focusController()->setFocusedElement(element, m_frame)) 2366 2366 swallowEvent = true; 2367 2367 } else if (!element || !element->focused()) { 2368 if (!page->focusController()->setFocused Node(0, m_frame))2368 if (!page->focusController()->setFocusedElement(0, m_frame)) 2369 2369 swallowEvent = true; 2370 2370 } -
trunk/Source/WebCore/page/FocusController.cpp
r150707 r150712 591 591 } 592 592 593 bool FocusController::setFocused Node(Node* node, PassRefPtr<Frame> newFocusedFrame, FocusDirection direction)593 bool FocusController::setFocusedElement(Element* element, PassRefPtr<Frame> newFocusedFrame, FocusDirection direction) 594 594 { 595 595 RefPtr<Frame> oldFocusedFrame = focusedFrame(); … … 597 597 598 598 Node* oldFocusedNode = oldDocument ? oldDocument->focusedNode() : 0; 599 if (oldFocusedNode == node)599 if (oldFocusedNode == element) 600 600 return true; 601 601 … … 606 606 m_page->editorClient()->willSetInputMethodState(); 607 607 608 clearSelectionIfNeeded(oldFocusedFrame.get(), newFocusedFrame.get(), node);609 610 if (! node) {608 clearSelectionIfNeeded(oldFocusedFrame.get(), newFocusedFrame.get(), element); 609 610 if (!element) { 611 611 if (oldDocument) 612 612 oldDocument->setFocusedNode(0); … … 615 615 } 616 616 617 RefPtr<Document> newDocument = node->document();618 619 if (newDocument && newDocument->focusedNode() == node) {620 m_page->editorClient()->setInputMethodState( node->shouldUseInputMethod());617 RefPtr<Document> newDocument = element->document(); 618 619 if (newDocument && newDocument->focusedNode() == element) { 620 m_page->editorClient()->setInputMethodState(element->shouldUseInputMethod()); 621 621 return true; 622 622 } … … 631 631 setFocusedFrame(newFocusedFrame); 632 632 633 // Setting the focused node can result in losing our last reft to node when JS event handlers fire. 634 RefPtr<Node> protect = node; 633 RefPtr<Element> protect(element); 635 634 if (newDocument) { 636 bool successfullyFocused = newDocument->setFocusedNode( node, direction);635 bool successfullyFocused = newDocument->setFocusedNode(element, direction); 637 636 if (!successfullyFocused) 638 637 return false; 639 638 } 640 639 641 if (newDocument->focusedNode() == node)642 m_page->editorClient()->setInputMethodState( node->shouldUseInputMethod());640 if (newDocument->focusedNode() == element) 641 m_page->editorClient()->setInputMethodState(element->shouldUseInputMethod()); 643 642 644 643 return true; -
trunk/Source/WebCore/page/FocusController.h
r150707 r150712 70 70 bool setInitialFocus(FocusDirection, KeyboardEvent*); 71 71 bool advanceFocus(FocusDirection, KeyboardEvent*, bool initialFocus = false); 72 73 bool setFocused Node(Node*, PassRefPtr<Frame>, FocusDirection = FocusDirectionNone);72 73 bool setFocusedElement(Element*, PassRefPtr<Frame>, FocusDirection = FocusDirectionNone); 74 74 75 75 void setActive(bool); -
trunk/Source/WebCore/plugins/PluginView.cpp
r150214 r150712 890 890 // Focus the plugin 891 891 if (Page* page = m_parentFrame->page()) 892 page->focusController()->setFocused Node(m_element, m_parentFrame);892 page->focusController()->setFocusedElement(m_element, m_parentFrame); 893 893 else 894 894 m_parentFrame->document()->setFocusedNode(m_element); -
trunk/Source/WebKit/blackberry/Api/WebPage.cpp
r150634 r150712 4168 4168 4169 4169 if (frame->document()->focusedNode()) 4170 frame->page()->focusController()->setFocused Node(0, frame);4170 frame->page()->focusController()->setFocusedElement(0, frame); 4171 4171 } 4172 4172 … … 4908 4908 // Modify if focusing on node or turning off focused node. 4909 4909 if (on) { 4910 page->focusController()->setFocused Node(nodeImpl, doc->frame());4910 page->focusController()->setFocusedElement(toElement(nodeImpl), doc->frame()); 4911 4911 if (nodeImpl->isElementNode()) 4912 4912 toElement(nodeImpl)->updateFocusAppearance(true); 4913 4913 d->m_inputHandler->didNodeOpenPopup(nodeImpl); 4914 4914 } else if (doc->focusedNode() == nodeImpl) // && !on 4915 page->focusController()->setFocused Node(0, doc->frame());4915 page->focusController()->setFocusedElement(0, doc->frame()); 4916 4916 4917 4917 return true; -
trunk/Source/WebKit/blackberry/ChangeLog
r150652 r150712 1 2013-05-26 Andreas Kling <akling@apple.com> 2 3 FocusController::setFocusedNode() should be setFocusedElement(). 4 <http://webkit.org/b/116780> 5 6 Reviewed by Antti Koivisto. 7 8 * Api/WebPage.cpp: 9 (BlackBerry::WebKit::WebPagePrivate::clearFocusNode): 10 (BlackBerry::WebKit::WebPage::setNodeFocus): 11 * WebKitSupport/SelectionHandler.cpp: 12 (BlackBerry::WebKit::SelectionHandler::selectObject): 13 1 14 2013-05-24 Anders Carlsson <andersca@apple.com> 2 15 -
trunk/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
r150233 r150712 892 892 893 893 // Move focus to the new node if we're not selecting in old input field. 894 if (!m_webPage->m_inputHandler->boundingBoxForInputField().contains(relativePoint)) 895 m_webPage->m_page->focusController()->setFocusedNode(selection.start().anchorNode(), focusedFrame); 894 if (!m_webPage->m_inputHandler->boundingBoxForInputField().contains(relativePoint)) { 895 Node* anchorNode = selection.start().anchorNode(); 896 if (!anchorNode || anchorNode->isElementNode()) 897 m_webPage->m_page->focusController()->setFocusedElement(toElement(anchorNode), focusedFrame); 898 } 896 899 897 900 m_selectionActive = expandSelectionToGranularity(focusedFrame, selection, granularity, m_webPage->m_inputHandler->isInputMode()); -
trunk/Source/WebKit/win/ChangeLog
r150670 r150712 1 2013-05-26 Andreas Kling <akling@apple.com> 2 3 FocusController::setFocusedNode() should be setFocusedElement(). 4 <http://webkit.org/b/116780> 5 6 Reviewed by Antti Koivisto. 7 8 * WebView.cpp: 9 (WebView::clearFocusNode): 10 1 11 2013-05-24 Brent Fulgham <bfulgham@apple.com> 2 12 -
trunk/Source/WebKit/win/WebView.cpp
r150670 r150712 5275 5275 { 5276 5276 if (m_page && m_page->focusController()) 5277 m_page->focusController()->setFocused Node(0, 0);5277 m_page->focusController()->setFocusedElement(0, 0); 5278 5278 return S_OK; 5279 5279 } -
trunk/Source/WebKit2/ChangeLog
r150700 r150712 1 2013-05-26 Andreas Kling <akling@apple.com> 2 3 FocusController::setFocusedNode() should be setFocusedElement(). 4 <http://webkit.org/b/116780> 5 6 Reviewed by Antti Koivisto. 7 8 * WebProcess/Plugins/PluginView.cpp: 9 (WebKit::PluginView::focusPluginElement): 10 1 11 2013-05-25 Andreas Kling <akling@apple.com> 2 12 -
trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
r150556 r150712 1033 1033 1034 1034 if (Page* page = frame()->page()) 1035 page->focusController()->setFocusedNode(m_pluginElement.get(), frame());1035 page->focusController()->setFocusedElement(m_pluginElement.get(), frame()); 1036 1036 else 1037 1037 frame()->document()->setFocusedNode(m_pluginElement);
Note: See TracChangeset
for help on using the changeset viewer.