Index: third_party/WebKit/Source/core/dom/Element.h |
diff --git a/third_party/WebKit/Source/core/dom/Element.h b/third_party/WebKit/Source/core/dom/Element.h |
index c39e834950f36d639ee7b3f60ca0437c9bb050e4..125207907bc33bab2ca45ae3acc2018d6326a70f 100644 |
--- a/third_party/WebKit/Source/core/dom/Element.h |
+++ b/third_party/WebKit/Source/core/dom/Element.h |
@@ -87,6 +87,25 @@ enum ElementFlags { |
enum class ShadowRootType; |
+enum class SelectionBehaviorOnFocus { |
+ Reset, |
+ Restore, |
+}; |
+ |
+struct FocusParams { |
+ STACK_ALLOCATED(); |
+ |
+ FocusParams() {} |
+ FocusParams(SelectionBehaviorOnFocus selection, WebFocusType focusType, InputDeviceCapabilities* capabilities) |
+ : selectionBehavior(selection) |
+ , type(focusType) |
+ , sourceCapabilities(capabilities) {} |
+ |
+ SelectionBehaviorOnFocus selectionBehavior = SelectionBehaviorOnFocus::Restore; |
+ WebFocusType type = WebFocusTypeNone; |
+ Member<InputDeviceCapabilities> sourceCapabilities = nullptr; |
+}; |
+ |
typedef WillBeHeapVector<RefPtrWillBeMember<Attr>> AttrNodeList; |
class CORE_EXPORT Element : public ContainerNode { |
@@ -371,8 +390,8 @@ public: |
virtual const AtomicString imageSourceURL() const; |
virtual Image* imageContents() { return nullptr; } |
- virtual void focus(bool restorePreviousSelection = true, WebFocusType = WebFocusTypeNone, InputDeviceCapabilities* sourceCapabilities = nullptr); |
- virtual void updateFocusAppearance(bool restorePreviousSelection); |
+ virtual void focus(const FocusParams& = FocusParams()); |
+ virtual void updateFocusAppearance(SelectionBehaviorOnFocus); |
virtual void blur(); |
void setDistributeScroll(ScrollStateCallback*, String nativeScrollBehavior); |