Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: Source/core/dom/Node.h

Issue 16194013: Mouse press should focus on any types of form controls. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/dom/EventDispatcher.cpp ('k') | Source/core/dom/Node.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 // Whether this node can receive focus at all. Most nodes are not focusable 409 // Whether this node can receive focus at all. Most nodes are not focusable
410 // but some elements, such as form controls and links, are. Unlike 410 // but some elements, such as form controls and links, are. Unlike
411 // rendererIsFocusable(), this method may be called when layout is not up to 411 // rendererIsFocusable(), this method may be called when layout is not up to
412 // date, so it must not use the renderer to determine focusability. 412 // date, so it must not use the renderer to determine focusability.
413 virtual bool supportsFocus() const; 413 virtual bool supportsFocus() const;
414 // Whether the node can actually be focused. 414 // Whether the node can actually be focused.
415 bool isFocusable() const; 415 bool isFocusable() const;
416 virtual bool isKeyboardFocusable(KeyboardEvent*) const; 416 virtual bool isKeyboardFocusable(KeyboardEvent*) const;
417 virtual bool isMouseFocusable() const; 417 virtual bool isMouseFocusable() const;
418 virtual Node* focusDelegate(); 418 virtual Node* focusDelegate();
419 // This is called only when the node is focused.
420 virtual bool shouldHaveFocusAppearance() const;
419 421
420 enum UserSelectAllTreatment { 422 enum UserSelectAllTreatment {
421 UserSelectAllDoesNotAffectEditability, 423 UserSelectAllDoesNotAffectEditability,
422 UserSelectAllIsAlwaysNonEditable 424 UserSelectAllIsAlwaysNonEditable
423 }; 425 };
424 bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEd itability); 426 bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEd itability);
425 bool isContentRichlyEditable(); 427 bool isContentRichlyEditable();
426 428
427 bool rendererIsEditable(EditableType editableType = ContentIsEditable, UserS electAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const 429 bool rendererIsEditable(EditableType editableType = ContentIsEditable, UserS electAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
428 { 430 {
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 void dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEvent Options = SendNoEvents, SimulatedClickVisualOptions = ShowPressedLook); 664 void dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEvent Options = SendNoEvents, SimulatedClickVisualOptions = ShowPressedLook);
663 665
664 virtual bool dispatchBeforeLoadEvent(const String& sourceURL); 666 virtual bool dispatchBeforeLoadEvent(const String& sourceURL);
665 virtual void dispatchFocusEvent(PassRefPtr<Node> oldFocusedNode, FocusDirect ion); 667 virtual void dispatchFocusEvent(PassRefPtr<Node> oldFocusedNode, FocusDirect ion);
666 virtual void dispatchBlurEvent(PassRefPtr<Node> newFocusedNode); 668 virtual void dispatchBlurEvent(PassRefPtr<Node> newFocusedNode);
667 virtual void dispatchChangeEvent(); 669 virtual void dispatchChangeEvent();
668 virtual void dispatchInputEvent(); 670 virtual void dispatchInputEvent();
669 671
670 // Perform the default action for an event. 672 // Perform the default action for an event.
671 virtual void defaultEventHandler(Event*); 673 virtual void defaultEventHandler(Event*);
674 virtual void willCallDefaultEventHandler(const Event&);
672 675
673 using TreeShared<Node>::ref; 676 using TreeShared<Node>::ref;
674 using TreeShared<Node>::deref; 677 using TreeShared<Node>::deref;
675 678
676 virtual EventTargetData* eventTargetData(); 679 virtual EventTargetData* eventTargetData();
677 virtual EventTargetData* ensureEventTargetData(); 680 virtual EventTargetData* ensureEventTargetData();
678 681
679 void getRegisteredMutationObserversOfType(HashMap<MutationObserver*, Mutatio nRecordDeliveryOptions>&, MutationObserver::MutationType, const QualifiedName* a ttributeName); 682 void getRegisteredMutationObserversOfType(HashMap<MutationObserver*, Mutatio nRecordDeliveryOptions>&, MutationObserver::MutationType, const QualifiedName* a ttributeName);
680 void registerMutationObserver(MutationObserver*, MutationObserverOptions, co nst HashSet<AtomicString>& attributeFilter); 683 void registerMutationObserver(MutationObserver*, MutationObserverOptions, co nst HashSet<AtomicString>& attributeFilter);
681 void unregisterMutationObserver(MutationObserverRegistration*); 684 void unregisterMutationObserver(MutationObserverRegistration*);
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 933
931 } //namespace 934 } //namespace
932 935
933 #ifndef NDEBUG 936 #ifndef NDEBUG
934 // Outside the WebCore namespace for ease of invocation from gdb. 937 // Outside the WebCore namespace for ease of invocation from gdb.
935 void showTree(const WebCore::Node*); 938 void showTree(const WebCore::Node*);
936 void showNodePath(const WebCore::Node*); 939 void showNodePath(const WebCore::Node*);
937 #endif 940 #endif
938 941
939 #endif 942 #endif
OLDNEW
« no previous file with comments | « Source/core/dom/EventDispatcher.cpp ('k') | Source/core/dom/Node.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698