OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 15 matching lines...) Expand all Loading... |
26 #ifndef ClearButtonElement_h | 26 #ifndef ClearButtonElement_h |
27 #define ClearButtonElement_h | 27 #define ClearButtonElement_h |
28 | 28 |
29 #include "core/html/HTMLDivElement.h" | 29 #include "core/html/HTMLDivElement.h" |
30 #include "wtf/Forward.h" | 30 #include "wtf/Forward.h" |
31 | 31 |
32 namespace WebCore { | 32 namespace WebCore { |
33 | 33 |
34 class ClearButtonElement FINAL : public HTMLDivElement { | 34 class ClearButtonElement FINAL : public HTMLDivElement { |
35 public: | 35 public: |
36 class ClearButtonOwner { | 36 class ClearButtonOwner : public WillBeGarbageCollectedMixin { |
37 public: | 37 public: |
38 virtual ~ClearButtonOwner() { } | 38 virtual ~ClearButtonOwner() { } |
39 virtual void focusAndSelectClearButtonOwner() = 0; | 39 virtual void focusAndSelectClearButtonOwner() = 0; |
40 virtual bool shouldClearButtonRespondToMouseEvents() = 0; | 40 virtual bool shouldClearButtonRespondToMouseEvents() = 0; |
41 virtual void clearValue() = 0; | 41 virtual void clearValue() = 0; |
42 }; | 42 }; |
43 | 43 |
44 static PassRefPtr<ClearButtonElement> create(Document&, ClearButtonOwner&); | 44 static PassRefPtrWillBeRawPtr<ClearButtonElement> create(Document&, ClearBut
tonOwner&); |
45 void releaseCapture(); | 45 void releaseCapture(); |
46 void removeClearButtonOwner() { m_clearButtonOwner = 0; } | 46 void removeClearButtonOwner() { m_clearButtonOwner = nullptr; } |
| 47 |
| 48 virtual void trace(Visitor*) OVERRIDE; |
47 | 49 |
48 private: | 50 private: |
49 ClearButtonElement(Document&, ClearButtonOwner&); | 51 ClearButtonElement(Document&, ClearButtonOwner&); |
50 virtual void detach(const AttachContext& = AttachContext()) OVERRIDE; | 52 virtual void detach(const AttachContext& = AttachContext()) OVERRIDE; |
51 virtual bool isMouseFocusable() const OVERRIDE { return false; } | 53 virtual bool isMouseFocusable() const OVERRIDE { return false; } |
52 virtual void defaultEventHandler(Event*) OVERRIDE; | 54 virtual void defaultEventHandler(Event*) OVERRIDE; |
53 virtual bool isClearButtonElement() const OVERRIDE; | 55 virtual bool isClearButtonElement() const OVERRIDE; |
54 | 56 |
55 ClearButtonOwner* m_clearButtonOwner; | 57 RawPtrWillBeMember<ClearButtonOwner> m_clearButtonOwner; |
56 bool m_capturing; | 58 bool m_capturing; |
57 }; | 59 }; |
58 | 60 |
59 DEFINE_TYPE_CASTS(ClearButtonElement, Element, element, element->isClearButtonEl
ement(), element.isClearButtonElement()); | 61 DEFINE_TYPE_CASTS(ClearButtonElement, Element, element, element->isClearButtonEl
ement(), element.isClearButtonElement()); |
60 | 62 |
61 } // namespace | 63 } // namespace |
62 | 64 |
63 #endif // ClearButtonElement_h | 65 #endif // ClearButtonElement_h |
OLD | NEW |