Index: third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.h |
diff --git a/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.h b/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.h |
deleted file mode 100644 |
index 7a3858367fa90be0eaa1851560b0effecf215b95..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.h |
+++ /dev/null |
@@ -1,165 +0,0 @@ |
-/* |
- * Copyright (C) 2012 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND |
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
- * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE |
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
- * SUCH DAMAGE. |
- */ |
- |
-#ifndef DateTimeEditElement_h |
-#define DateTimeEditElement_h |
- |
-#include "core/html/forms/StepRange.h" |
-#include "core/html/shadow/DateTimeFieldElement.h" |
-#include "platform/DateComponents.h" |
-#include "platform/wtf/Allocator.h" |
-#include "public/platform/WebFocusType.h" |
- |
-namespace blink { |
- |
-class DateTimeFieldsState; |
-class Locale; |
-class StepRange; |
- |
-// DateTimeEditElement class contains numberic field and symbolc field for |
-// representing date and time, such as |
-// - Year, Month, Day Of Month |
-// - Hour, Minute, Second, Millisecond, AM/PM |
-class DateTimeEditElement final : public HTMLDivElement, |
- public DateTimeFieldElement::FieldOwner { |
- WTF_MAKE_NONCOPYABLE(DateTimeEditElement); |
- USING_GARBAGE_COLLECTED_MIXIN(DateTimeEditElement); |
- |
- public: |
- // EditControlOwner implementer must call removeEditControlOwner when |
- // it doesn't handle event, e.g. at destruction. |
- class EditControlOwner : public GarbageCollectedMixin { |
- public: |
- virtual ~EditControlOwner(); |
- virtual void DidBlurFromControl(WebFocusType) = 0; |
- virtual void DidFocusOnControl(WebFocusType) = 0; |
- virtual void EditControlValueChanged() = 0; |
- virtual String FormatDateTimeFieldsState( |
- const DateTimeFieldsState&) const = 0; |
- virtual bool IsEditControlOwnerDisabled() const = 0; |
- virtual bool IsEditControlOwnerReadOnly() const = 0; |
- virtual AtomicString LocaleIdentifier() const = 0; |
- virtual void EditControlDidChangeValueByKeyboard() = 0; |
- }; |
- |
- struct LayoutParameters { |
- STACK_ALLOCATED(); |
- String date_time_format; |
- String fallback_date_time_format; |
- Locale& locale; |
- const StepRange step_range; |
- DateComponents minimum; |
- DateComponents maximum; |
- String placeholder_for_day; |
- String placeholder_for_month; |
- String placeholder_for_year; |
- |
- LayoutParameters(Locale& locale, const StepRange& step_range) |
- : locale(locale), step_range(step_range) {} |
- }; |
- |
- static DateTimeEditElement* Create(Document&, EditControlOwner&); |
- |
- ~DateTimeEditElement() override; |
- DECLARE_VIRTUAL_TRACE(); |
- |
- void AddField(DateTimeFieldElement*); |
- bool AnyEditableFieldsHaveValues() const; |
- void BlurByOwner(); |
- void DefaultEventHandler(Event*) override; |
- void DisabledStateChanged(); |
- Element* FieldsWrapperElement() const; |
- void FocusIfNoFocus(); |
- // If oldFocusedNode is one of sub-fields, focus on it. Otherwise focus on |
- // the first sub-field. |
- void FocusByOwner(Element* old_focused_element = 0); |
- bool HasFocusedField(); |
- void ReadOnlyStateChanged(); |
- void RemoveEditControlOwner() { edit_control_owner_ = nullptr; } |
- void ResetFields(); |
- void SetEmptyValue(const LayoutParameters&, |
- const DateComponents& date_for_read_only_field); |
- void SetValueAsDate(const LayoutParameters&, const DateComponents&); |
- void SetValueAsDateTimeFieldsState(const DateTimeFieldsState&); |
- void SetOnlyYearMonthDay(const DateComponents&); |
- void StepDown(); |
- void StepUp(); |
- String Value() const; |
- DateTimeFieldsState ValueAsDateTimeFieldsState() const; |
- |
- private: |
- static const size_t kInvalidFieldIndex = static_cast<size_t>(-1); |
- |
- // Datetime can be represent at most five fields, such as |
- // 1. year |
- // 2. month |
- // 3. day-of-month |
- // 4. hour |
- // 5. minute |
- // 6. second |
- // 7. millisecond |
- // 8. AM/PM |
- static const int kMaximumNumberOfFields = 8; |
- |
- DateTimeEditElement(Document&, EditControlOwner&); |
- |
- DateTimeFieldElement* FieldAt(size_t) const; |
- size_t FieldIndexOf(const DateTimeFieldElement&) const; |
- DateTimeFieldElement* FocusedField() const; |
- size_t FocusedFieldIndex() const; |
- bool FocusOnNextFocusableField(size_t start_index); |
- bool IsDisabled() const; |
- bool IsReadOnly() const; |
- void GetLayout(const LayoutParameters&, const DateComponents&); |
- void UpdateUIState(); |
- |
- // Element function. |
- PassRefPtr<ComputedStyle> CustomStyleForLayoutObject() override; |
- bool IsDateTimeEditElement() const override; |
- |
- // DateTimeFieldElement::FieldOwner functions. |
- void DidBlurFromField(WebFocusType) override; |
- void DidFocusOnField(WebFocusType) override; |
- void FieldValueChanged() override; |
- bool FocusOnNextField(const DateTimeFieldElement&) override; |
- bool FocusOnPreviousField(const DateTimeFieldElement&) override; |
- bool IsFieldOwnerDisabled() const override; |
- bool IsFieldOwnerReadOnly() const override; |
- AtomicString LocaleIdentifier() const override; |
- void FieldDidChangeValueByKeyboard() override; |
- |
- HeapVector<Member<DateTimeFieldElement>, kMaximumNumberOfFields> fields_; |
- Member<EditControlOwner> edit_control_owner_; |
-}; |
- |
-DEFINE_TYPE_CASTS(DateTimeEditElement, |
- Element, |
- element, |
- element->IsDateTimeEditElement(), |
- element.IsDateTimeEditElement()); |
- |
-} // namespace blink |
- |
-#endif |