• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2009, The Android Open Source Project
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *  * Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  *  * Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #ifndef CachedInput_H
27 #define CachedInput_H
28 
29 #include "CachedDebug.h"
30 #include "HTMLInputElement.h"
31 #include "PlatformString.h"
32 
33 namespace android {
34 
35 class CachedInput {
36 public:
CachedInput()37     CachedInput() {
38         // Initiaized to 0 in its array, so nothing to do in the
39         // constructor
40     }
formPointer()41     void* formPointer() const { return mForm; }
init()42     void init() {
43         bzero(this, sizeof(CachedInput));
44         mName = WebCore::String();
45     }
inputType()46     WebCore::HTMLInputElement::InputType inputType() const { return mInputType; }
isRtlText()47     bool isRtlText() const { return mIsRtlText; }
isTextField()48     bool isTextField() const { return mIsTextField; }
maxLength()49     int maxLength() const { return mMaxLength; };
name()50     const WebCore::String& name() const { return mName; }
paddingBottom()51     int paddingBottom() const { return mPaddingBottom; }
paddingLeft()52     int paddingLeft() const { return mPaddingLeft; }
paddingRight()53     int paddingRight() const { return mPaddingRight; }
paddingTop()54     int paddingTop() const { return mPaddingTop; }
setFormPointer(void * form)55     void setFormPointer(void* form) { mForm = form; }
setInputType(WebCore::HTMLInputElement::InputType type)56     void setInputType(WebCore::HTMLInputElement::InputType type) { mInputType = type; }
setIsRtlText(bool isRtlText)57     void setIsRtlText(bool isRtlText) { mIsRtlText = isRtlText; }
setIsTextField(bool isTextField)58     void setIsTextField(bool isTextField) { mIsTextField = isTextField; }
setMaxLength(int maxLength)59     void setMaxLength(int maxLength) { mMaxLength = maxLength; }
setName(const WebCore::String & name)60     void setName(const WebCore::String& name) { mName = name; }
setPaddingBottom(int bottom)61     void setPaddingBottom(int bottom) { mPaddingBottom = bottom; }
setPaddingLeft(int left)62     void setPaddingLeft(int left) { mPaddingLeft = left; }
setPaddingRight(int right)63     void setPaddingRight(int right) { mPaddingRight = right; }
setPaddingTop(int top)64     void setPaddingTop(int top) { mPaddingTop = top; }
setTextSize(int textSize)65     void setTextSize(int textSize) { mTextSize = textSize; }
textSize()66     int textSize() const { return mTextSize; }
67 private:
68     void* mForm;
69     WebCore::HTMLInputElement::InputType mInputType;
70     int mMaxLength;
71     WebCore::String mName;
72     int mPaddingBottom;
73     int mPaddingLeft;
74     int mPaddingRight;
75     int mPaddingTop;
76     int mTextSize;
77     bool mIsRtlText : 1;
78     bool mIsTextField : 1;
79 #if DUMP_NAV_CACHE
80 public:
81     class Debug {
82 public:
83         CachedInput* base() const;
84         void print() const;
85     } mDebug;
86 #endif
87 };
88 
89 }
90 
91 #endif
92