OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2009, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2009, 2012 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 15 matching lines...) Expand all Loading... |
26 namespace WebCore { | 26 namespace WebCore { |
27 | 27 |
28 class HTMLInputElement; | 28 class HTMLInputElement; |
29 | 29 |
30 // Each RenderFileUploadControl contains a RenderButton (for opening the file ch
ooser), and | 30 // Each RenderFileUploadControl contains a RenderButton (for opening the file ch
ooser), and |
31 // sufficient space to draw a file icon and filename. The RenderButton has a sha
dow node | 31 // sufficient space to draw a file icon and filename. The RenderButton has a sha
dow node |
32 // associated with it to receive click/hover events. | 32 // associated with it to receive click/hover events. |
33 | 33 |
34 class RenderFileUploadControl FINAL : public RenderBlock { | 34 class RenderFileUploadControl FINAL : public RenderBlock { |
35 public: | 35 public: |
36 RenderFileUploadControl(HTMLInputElement*); | 36 RenderFileUploadControl(Handle<HTMLInputElement>); |
37 virtual ~RenderFileUploadControl(); | 37 virtual ~RenderFileUploadControl(); |
38 | 38 |
39 virtual bool isFileUploadControl() const { return true; } | 39 virtual bool isFileUploadControl() const { return true; } |
40 | 40 |
41 String buttonValue(); | 41 String buttonValue(); |
42 String fileTextValue() const; | 42 String fileTextValue() const; |
43 | 43 |
44 private: | 44 private: |
45 virtual const char* renderName() const { return "RenderFileUploadControl"; } | 45 virtual const char* renderName() const { return "RenderFileUploadControl"; } |
46 | 46 |
47 virtual bool canBeReplacedWithInlineRunIn() const OVERRIDE; | 47 virtual bool canBeReplacedWithInlineRunIn() const OVERRIDE; |
48 virtual void updateFromElement(); | 48 virtual void updateFromElement(); |
49 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
utUnit& maxLogicalWidth) const OVERRIDE; | 49 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
utUnit& maxLogicalWidth) const OVERRIDE; |
50 virtual void computePreferredLogicalWidths(); | 50 virtual void computePreferredLogicalWidths(); |
51 virtual void paintObject(PaintInfo&, const LayoutPoint&); | 51 virtual void paintObject(PaintInfo&, const LayoutPoint&); |
52 | 52 |
53 virtual bool requiresForcedStyleRecalcPropagation() const { return true; } | 53 virtual bool requiresForcedStyleRecalcPropagation() const { return true; } |
54 | 54 |
55 int maxFilenameWidth() const; | 55 int maxFilenameWidth() const; |
56 | 56 |
57 virtual VisiblePosition positionForPoint(const LayoutPoint&); | 57 virtual VisiblePosition positionForPoint(const LayoutPoint&); |
58 | 58 |
59 HTMLInputElement* uploadButton() const; | 59 Result<HTMLInputElement> uploadButton() const; |
60 | 60 |
61 bool m_canReceiveDroppedFiles; | 61 bool m_canReceiveDroppedFiles; |
62 }; | 62 }; |
63 | 63 |
64 inline RenderFileUploadControl* toRenderFileUploadControl(RenderObject* object) | 64 inline RenderFileUploadControl* toRenderFileUploadControl(RenderObject* object) |
65 { | 65 { |
66 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFileUploadControl()); | 66 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFileUploadControl()); |
67 return static_cast<RenderFileUploadControl*>(object); | 67 return static_cast<RenderFileUploadControl*>(object); |
68 } | 68 } |
69 | 69 |
70 inline const RenderFileUploadControl* toRenderFileUploadControl(const RenderObje
ct* object) | 70 inline const RenderFileUploadControl* toRenderFileUploadControl(const RenderObje
ct* object) |
71 { | 71 { |
72 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFileUploadControl()); | 72 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFileUploadControl()); |
73 return static_cast<const RenderFileUploadControl*>(object); | 73 return static_cast<const RenderFileUploadControl*>(object); |
74 } | 74 } |
75 | 75 |
76 // This will catch anyone doing an unnecessary cast. | 76 // This will catch anyone doing an unnecessary cast. |
77 void toRenderFileUploadControl(const RenderFileUploadControl*); | 77 void toRenderFileUploadControl(const RenderFileUploadControl*); |
78 | 78 |
79 } // namespace WebCore | 79 } // namespace WebCore |
80 | 80 |
81 #endif // RenderFileUploadControl_h | 81 #endif // RenderFileUploadControl_h |
OLD | NEW |