Changeset 56637 in webkit


Ignore:
Timestamp:
Mar 26, 2010 12:40:40 PM (14 years ago)
Author:
jhawkins@chromium.org
Message:

2010-03-24 James Hawkins <jhawkins@chromium.org>

Reviewed by Darin Fisher.

[Chromium] Implement WebFormControlElement and WebSelectElement. Add
a getFormControlElements method to WebFormElement.

https://bugs.webkit.org/show_bug.cgi?id=36562

  • WebKit.gyp:
  • public/WebElement.h:
  • public/WebFormControlElement.h: Added.
  • public/WebFormElement.h:
  • public/WebInputElement.h: (WebKit::WebInputElement::WebInputElement): (WebKit::WebInputElement::operator=): (WebKit::WebInputElement::assign):
  • public/WebSelectElement.h: Added.
  • src/WebElement.cpp: (WebKit::WebElement::isFormControlElement):
  • src/WebFormControlElement.cpp: Added.
  • src/WebFormElement.cpp: (WebKit::WebFormElement::getFormControlElements):
  • src/WebInputElement.cpp: (WebKit::WebInputElement::WebInputElement):
  • src/WebSelectElement.cpp: Added.
Location:
trunk/WebKit/chromium
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r56630 r56637  
     12010-03-24  James Hawkins  <jhawkins@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [Chromium] Implement WebFormControlElement and WebSelectElement.  Add
     6        a getFormControlElements method to WebFormElement.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=36562
     9
     10        * WebKit.gyp:
     11        * public/WebElement.h:
     12        * public/WebFormControlElement.h: Added.
     13        * public/WebFormElement.h:
     14        * public/WebInputElement.h:
     15        (WebKit::WebInputElement::WebInputElement):
     16        (WebKit::WebInputElement::operator=):
     17        (WebKit::WebInputElement::assign):
     18        * public/WebSelectElement.h: Added.
     19        * src/WebElement.cpp:
     20        (WebKit::WebElement::isFormControlElement):
     21        * src/WebFormControlElement.cpp: Added.
     22        * src/WebFormElement.cpp:
     23        (WebKit::WebFormElement::getFormControlElements):
     24        * src/WebInputElement.cpp:
     25        (WebKit::WebInputElement::WebInputElement):
     26        * src/WebSelectElement.cpp: Added.
     27
    1282010-03-26  Andrey Kosyakov  <caseq@chromium.org>
    229
  • trunk/WebKit/chromium/WebKit.gyp

    r56579 r56637  
    121121                'public/WebFrameClient.h',
    122122                'public/WebFontCache.h',
     123                'public/WebFormControlElement.h',
    123124                'public/WebFormElement.h',
    124125                'public/WebGlyphCache.h',
     
    173174                'public/WebSecurityOrigin.h',
    174175                'public/WebSecurityPolicy.h',
     176                'public/WebSelectElement.h',
    175177                'public/WebSerializedScriptValue.h',
    176178                'public/WebSettings.h',
     
    312314                'src/WebFileChooserCompletionImpl.h',
    313315                'src/WebFontCache.cpp',
     316                'src/WebFormControlElement.cpp',
    314317                'src/WebFormElement.cpp',
    315318                'src/WebFrameImpl.cpp',
     
    359362                'src/WebSecurityOrigin.cpp',
    360363                'src/WebSecurityPolicy.cpp',
     364                'src/WebSelectElement.cpp',
    361365                'src/WebSerializedScriptValue.cpp',
    362366                'src/WebSettingsImpl.cpp',
  • trunk/WebKit/chromium/public/WebElement.h

    r55866 r56637  
    4848        void assign(const WebElement& e) { WebNode::assign(e); }
    4949
     50        WEBKIT_API bool isFormControlElement() const;
    5051        WEBKIT_API WebString tagName() const;
    5152        WEBKIT_API bool hasTagName(const WebString&) const;
  • trunk/WebKit/chromium/public/WebFormElement.h

    r55866 r56637  
    3232#define WebFormElement_h
    3333
    34 #include "WebInputElement.h"
     34#include "WebElement.h"
    3535#include "WebVector.h"
    3636
     
    4040
    4141namespace WebKit {
     42
     43    class WebInputElement;
     44    class WebFormControlElement;
     45
    4246    // A container for passing around a reference to a form element.  Provides
    4347    // some information about the form.
     
    6367        // FIXME: Deprecate and replace with WebVector<WebElement>.
    6468        WEBKIT_API void getNamedElements(const WebString&, WebVector<WebNode>&);
     69        // DEPRECATED: Replaced by getFormControlElements.
    6570        WEBKIT_API void getInputElements(WebVector<WebInputElement>&) const;
     71        WEBKIT_API void getFormControlElements(WebVector<WebFormControlElement>&) const;
    6672
    6773#if WEBKIT_IMPLEMENTATION
  • trunk/WebKit/chromium/public/WebInputElement.h

    r55866 r56637  
    3232#define WebInputElement_h
    3333
    34 #include "WebElement.h"
     34#include "WebFormControlElement.h"
    3535
    3636#if WEBKIT_IMPLEMENTATION
     
    4141
    4242    // Provides readonly access to some properties of a DOM input element node.
    43     class WebInputElement : public WebElement {
     43    class WebInputElement : public WebFormControlElement {
    4444    public:
    45         WebInputElement() : WebElement() { }
    46         WebInputElement(const WebInputElement& n) : WebElement(n) { }
     45        WebInputElement() : WebFormControlElement() { }
     46        WebInputElement(const WebInputElement& e) : WebFormControlElement(e) { }
    4747
    48         WebInputElement& operator=(const WebInputElement& n) { WebElement::assign(n); return *this; }
    49         WEBKIT_API void assign(const WebInputElement& n) { WebElement::assign(n); }
     48        WebInputElement& operator=(const WebInputElement& e)
     49        {
     50            WebFormControlElement::assign(e);
     51            return *this;
     52        }
     53        WEBKIT_API void assign(const WebInputElement& e) { WebFormControlElement::assign(e); }
    5054
    5155        enum InputType {
     
    7983        WEBKIT_API bool isEnabledFormControl() const;
    8084        WEBKIT_API InputType inputType() const;
    81         WEBKIT_API WebString formControlType() const;
    8285        WEBKIT_API bool isActivatedSubmit() const;
    8386        WEBKIT_API void setActivatedSubmit(bool);
     
    8790        WEBKIT_API void dispatchFormControlChangeEvent();
    8891        WEBKIT_API void setSelectionRange(int, int);
     92        // DEPRECATED: The following two methods have been moved to WebFormControlElement.
    8993        WEBKIT_API WebString name() const;
    9094        // Returns the name that should be used for the specified |element| when
    91         // storing autofill data.  This is either the field name or its id, an empty
    92         // string if it has no name and no id.
     95        // storing AutoFill data.  This is either the field name or its id, an
     96        // empty string if it has no name and no id.
    9397        WEBKIT_API WebString nameForAutofill() const;
    9498
  • trunk/WebKit/chromium/src/WebElement.cpp

    r55866 r56637  
    3838
    3939namespace WebKit {
     40
     41bool WebElement::isFormControlElement() const
     42{
     43    return constUnwrap<Element>()->isFormControlElement();
     44}
    4045
    4146WebString WebElement::tagName() const
  • trunk/WebKit/chromium/src/WebFormElement.cpp

    r55866 r56637  
    3636#include "HTMLInputElement.h"
    3737#include "HTMLNames.h"
     38#include "WebFormControlElement.h"
     39#include "WebInputElement.h"
    3840#include "WebString.h"
    3941#include "WebURL.h"
     
    8991}
    9092
     93void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& result) const
     94{
     95    const HTMLFormElement* form = constUnwrap<HTMLFormElement>();
     96    Vector<RefPtr<HTMLFormControlElement> > tempVector;
     97    for (size_t i = 0; i < form->formElements.size(); i++) {
     98        if (form->formElements[i]->hasLocalName(HTMLNames::inputTag)
     99            || form->formElements[i]->hasLocalName(HTMLNames::selectTag))
     100            tempVector.append(form->formElements[i]);
     101    }
     102    result.assign(tempVector);
     103}
     104
    91105WebFormElement::WebFormElement(const PassRefPtr<HTMLFormElement>& e)
    92106    : WebElement(e)
  • trunk/WebKit/chromium/src/WebInputElement.cpp

    r55866 r56637  
    5656}
    5757
    58 WebString WebInputElement::formControlType() const
    59 {
    60     return constUnwrap<HTMLInputElement>()->formControlType();
    61 }
    62 
    6358bool WebInputElement::isActivatedSubmit() const
    6459{
     
    115110
    116111WebInputElement::WebInputElement(const PassRefPtr<HTMLInputElement>& elem)
    117     : WebElement(elem)
     112    : WebFormControlElement(elem)
    118113{
    119114}
Note: See TracChangeset for help on using the changeset viewer.