Index: Source/core/html/InputType.h |
diff --git a/Source/core/html/InputType.h b/Source/core/html/InputType.h |
deleted file mode 100644 |
index 97398ba36305a27505b1bf5d673206a98a6b8ec2..0000000000000000000000000000000000000000 |
--- a/Source/core/html/InputType.h |
+++ /dev/null |
@@ -1,253 +0,0 @@ |
-/* |
- * Copyright (C) 2010 Google Inc. All rights reserved. |
- * Copyright (C) 2011 Apple Inc. All rights reserved. |
- * Copyright (C) 2012 Samsung Electronics. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions are |
- * met: |
- * |
- * * Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * * 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. |
- * * Neither the name of Google Inc. nor the names of its |
- * contributors may be used to endorse or promote products derived from |
- * this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT |
- * OWNER OR 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 InputType_h |
-#define InputType_h |
- |
-#include "core/html/HTMLTextFormControlElement.h" |
-#include "core/html/StepRange.h" |
-#include "core/html/forms/InputTypeView.h" |
-#include "core/page/UseCounter.h" |
- |
-namespace WebCore { |
- |
-class Chrome; |
-class DateComponents; |
-class DragData; |
-class ExceptionState; |
-class FileList; |
-class FormDataList; |
-class HTMLElement; |
-class Node; |
- |
-// An InputType object represents the type-specific part of an HTMLInputElement. |
-// Do not expose instances of InputType and classes derived from it to classes |
-// other than HTMLInputElement. |
-// FIXME: InputType should not inherit InputTypeView. It's conceptually wrong. |
-class InputType : public InputTypeView { |
- WTF_MAKE_NONCOPYABLE(InputType); |
- WTF_MAKE_FAST_ALLOCATED; |
- |
-public: |
- static PassRefPtr<InputType> create(HTMLInputElement*, const AtomicString&); |
- static PassRefPtr<InputType> createText(HTMLInputElement*); |
- static const AtomicString& normalizeTypeName(const AtomicString&); |
- virtual ~InputType(); |
- |
- static bool canChangeFromAnotherType(const AtomicString& normalizedTypeName); |
- static bool themeSupportsDataListUI(InputType*); |
- |
- virtual const AtomicString& formControlType() const = 0; |
- |
- // Type query functions |
- |
- // Any time we are using one of these functions it's best to refactor |
- // to add a virtual function to allow the input type object to do the |
- // work instead, or at least make a query function that asks a higher |
- // level question. These functions make the HTMLInputElement class |
- // inflexible because it's harder to add new input types if there is |
- // scattered code with special cases for various types. |
- |
- virtual bool isCheckbox() const; |
- virtual bool isColorControl() const; |
- virtual bool isDateField() const; |
- virtual bool isDateTimeLocalField() const; |
- virtual bool isEmailField() const; |
- virtual bool isFileUpload() const; |
- virtual bool isHiddenType() const; |
- virtual bool isImageButton() const; |
- virtual bool supportLabels() const; |
- virtual bool isMonthField() const; |
- virtual bool isNumberField() const; |
- virtual bool isPasswordField() const; |
- virtual bool isRadioButton() const; |
- virtual bool isRangeControl() const; |
- virtual bool isSearchField() const; |
- virtual bool isSubmitButton() const; |
- virtual bool isTelephoneField() const; |
- virtual bool isTextButton() const; |
- virtual bool isTextField() const; |
- virtual bool isTextType() const; |
- virtual bool isTimeField() const; |
- virtual bool isURLField() const; |
- virtual bool isWeekField() const; |
- |
- // Form value functions |
- |
- virtual bool shouldSaveAndRestoreFormControlState() const; |
- virtual FormControlState saveFormControlState() const; |
- virtual void restoreFormControlState(const FormControlState&); |
- virtual bool isFormDataAppendable() const; |
- virtual bool appendFormData(FormDataList&, bool multipart) const; |
- |
- // DOM property functions |
- |
- virtual bool getTypeSpecificValue(String&); // Checked first, before internal storage or the value attribute. |
- virtual String fallbackValue() const; // Checked last, if both internal storage and value attribute are missing. |
- virtual String defaultValue() const; // Checked after even fallbackValue, only when the valueWithDefault function is called. |
- virtual double valueAsDate() const; |
- virtual void setValueAsDate(double, ExceptionState&) const; |
- virtual double valueAsDouble() const; |
- virtual void setValueAsDouble(double, TextFieldEventBehavior, ExceptionState&) const; |
- virtual void setValueAsDecimal(const Decimal&, TextFieldEventBehavior, ExceptionState&) const; |
- |
- // Validation functions |
- virtual String validationMessage() const; |
- virtual bool supportsValidation() const; |
- virtual bool typeMismatchFor(const String&) const; |
- // Type check for the current input value. We do nothing for some types |
- // though typeMismatchFor() does something for them because of value |
- // sanitization. |
- virtual bool typeMismatch() const; |
- virtual bool supportsRequired() const; |
- virtual bool valueMissing(const String&) const; |
- virtual bool hasBadInput() const; |
- virtual bool patternMismatch(const String&) const; |
- bool rangeUnderflow(const String&) const; |
- bool rangeOverflow(const String&) const; |
- bool isInRange(const String&) const; |
- bool isOutOfRange(const String&) const; |
- virtual Decimal defaultValueForStepUp() const; |
- double minimum() const; |
- double maximum() const; |
- bool stepMismatch(const String&) const; |
- virtual bool getAllowedValueStep(Decimal*) const; |
- virtual StepRange createStepRange(AnyStepHandling) const; |
- virtual void stepUp(int, ExceptionState&); |
- virtual void stepUpFromRenderer(int); |
- virtual String badInputText() const; |
- virtual String typeMismatchText() const; |
- virtual String valueMissingText() const; |
- virtual bool canSetStringValue() const; |
- virtual String localizeValue(const String&) const; |
- virtual String visibleValue() const; |
- // Returing the null string means "use the default value." |
- // This function must be called only by HTMLInputElement::sanitizeValue(). |
- virtual String sanitizeValue(const String&) const; |
- |
- virtual bool isKeyboardFocusable() const; |
- virtual bool shouldShowFocusRingOnMouseFocus() const; |
- virtual bool shouldUseInputMethod() const; |
- virtual void enableSecureTextInput(); |
- virtual void disableSecureTextInput(); |
- virtual void accessKeyAction(bool sendMouseEvents); |
- virtual bool canBeSuccessfulSubmitButton(); |
- |
- // Shadow tree handling |
- |
- virtual void createShadowSubtree(); |
- virtual void destroyShadowSubtree(); |
- |
- virtual HTMLElement* containerElement() const { return 0; } |
- virtual HTMLElement* innerTextElement() const { return 0; } |
- virtual HTMLElement* passwordGeneratorButtonElement() const { return 0; } |
- |
- // Miscellaneous functions |
- |
- virtual bool rendererIsNeeded(); |
- virtual void detach(); |
- virtual void countUsage(); |
- virtual void sanitizeValueInResponseToMinOrMaxAttributeChange(); |
- virtual bool shouldRespectAlignAttribute(); |
- virtual FileList* files(); |
- virtual void setFiles(PassRefPtr<FileList>); |
- // Should return true if the given DragData has more than one dropped files. |
- virtual bool receiveDroppedFiles(const DragData*); |
- virtual String droppedFileSystemId(); |
- // Should return true if the corresponding renderer for a type can display a suggested value. |
- virtual bool canSetSuggestedValue(); |
- virtual bool shouldSendChangeEventAfterCheckedChanged(); |
- virtual bool canSetValue(const String&); |
- virtual bool storesValueSeparateFromAttribute(); |
- virtual void setValue(const String&, bool valueChanged, TextFieldEventBehavior); |
- virtual bool shouldResetOnDocumentActivation(); |
- virtual bool shouldRespectListAttribute(); |
- virtual bool shouldRespectSpeechAttribute(); |
- virtual bool isEnumeratable(); |
- virtual bool isCheckable(); |
- virtual bool isSteppable() const; |
- virtual bool shouldRespectHeightAndWidthAttributes(); |
- virtual bool supportsPlaceholder() const; |
- virtual bool supportsReadOnly() const; |
- virtual void updatePlaceholderText(); |
- virtual String defaultToolTip() const; |
- virtual Decimal findClosestTickMarkValue(const Decimal&); |
- virtual void handleDOMActivateEvent(Event*); |
- |
- // Parses the specified string for the type, and return |
- // the Decimal value for the parsing result if the parsing |
- // succeeds; Returns defaultValue otherwise. This function can |
- // return NaN or Infinity only if defaultValue is NaN or Infinity. |
- virtual Decimal parseToNumber(const String&, const Decimal& defaultValue) const; |
- |
- // Parses the specified string for this InputType, and returns true if it |
- // is successfully parsed. An instance pointed by the DateComponents* |
- // parameter will have parsed values and be modified even if the parsing |
- // fails. The DateComponents* parameter may be 0. |
- virtual bool parseToDateComponents(const String&, DateComponents*) const; |
- |
- // Create a string representation of the specified Decimal value for the |
- // input type. If NaN or Infinity is specified, this returns an empty |
- // string. This should not be called for types without valueAsNumber. |
- virtual String serialize(const Decimal&) const; |
- |
- virtual bool supportsIndeterminateAppearance() const; |
- |
- virtual bool supportsInputModeAttribute() const; |
- |
- virtual bool supportsSelectionAPI() const; |
- |
- // Gets width and height of the input element if the type of the |
- // element is image. It returns 0 if the element is not image type. |
- virtual unsigned height() const; |
- virtual unsigned width() const; |
- |
- void dispatchSimulatedClickIfActive(KeyboardEvent*) const; |
- |
- // InputTypeView override |
- virtual bool shouldSubmitImplicitly(Event*) OVERRIDE; |
- virtual bool hasCustomFocusLogic() const OVERRIDE; |
- |
-protected: |
- InputType(HTMLInputElement* element) : InputTypeView(element) { } |
- Chrome* chrome() const; |
- Locale& locale() const; |
- Decimal parseToNumberOrNaN(const String&) const; |
- void observeFeatureIfVisible(UseCounter::Feature) const; |
- |
-private: |
- // Helper for stepUp()/stepDown(). Adds step value * count to the current value. |
- void applyStep(int count, AnyStepHandling, TextFieldEventBehavior, ExceptionState&); |
-}; |
- |
-} // namespace WebCore |
-#endif |