Changeset 127558 in webkit


Ignore:
Timestamp:
Sep 4, 2012 11:35:41 PM (12 years ago)
Author:
keishi@webkit.org
Message:

Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
https://bugs.webkit.org/show_bug.cgi?id=95681

Reviewed by Kent Tamura.

Source/WebCore:

We are moving calendar picker PagePopupClient to WebKit layer so ports
can use their platform native chooser UI if they have one.
DateTimeChooser, DateTimeChooserClient etc. will be reused when we
implement the week picker and month picker.

No new tests. No behavior change. Covered by existing calendar picker tests.

  • WebCore.gypi:
  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::CalendarPickerElement):
(WebCore::CalendarPickerElement::~CalendarPickerElement):
(WebCore::CalendarPickerElement::didChooseValue): Called when user chose a value.
(WebCore):
(WebCore::CalendarPickerElement::didEndChooser): Called when chooser has ended.
(WebCore::CalendarPickerElement::openPopup):
(WebCore::CalendarPickerElement::closePopup):

  • html/shadow/CalendarPickerElement.h:

(CalendarPickerElement):

  • loader/EmptyClients.cpp:

(WebCore):
(WebCore::EmptyChromeClient::openDateTimeChooser):

  • loader/EmptyClients.h:

(EmptyChromeClient):

  • page/ChromeClient.h:

(WebCore):
(ChromeClient):

  • platform/DateTimeChooser.h:

(WebCore):
(DateTimeChooserParameters): Contains information needed to open the DateTimeChooser.
(DateTimeChooser):
(WebCore::DateTimeChooser::~DateTimeChooser):

  • platform/DateTimeChooserClient.h:

(WebCore):
(DateTimeChooserClient):
(WebCore::DateTimeChooserClient::~DateTimeChooserClient):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/ChromeClientImpl.cpp:

(WebKit):
(WebKit::ChromeClientImpl::openDateTimeChooser):

  • src/ChromeClientImpl.h:

(WebCore):
(ChromeClientImpl):

  • src/DateTimeChooserImpl.cpp: Added.

(WebKit):
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::~DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::endChooser):
(WebKit::DateTimeChooserImpl::contentSize):
(WebKit::DateTimeChooserImpl::writeDocument):
(WebKit::DateTimeChooserImpl::setValueAndClosePopup):
(WebKit::DateTimeChooserImpl::didClosePopup):

  • src/DateTimeChooserImpl.h:

(WebCore):
(WebKit):
(DateTimeChooserImpl):

Location:
trunk/Source
Files:
1 added
11 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r127557 r127558  
     12012-09-04  Keishi Hattori  <keishi@webkit.org>
     2
     3        Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
     4        https://bugs.webkit.org/show_bug.cgi?id=95681
     5
     6        Reviewed by Kent Tamura.
     7
     8        We are moving calendar picker PagePopupClient to WebKit layer so ports
     9        can use their platform native chooser UI if they have one.
     10        DateTimeChooser, DateTimeChooserClient etc. will be reused when we
     11        implement the week picker and month picker.
     12
     13        No new tests. No behavior change. Covered by existing calendar picker tests.
     14
     15        * WebCore.gypi:
     16        * html/shadow/CalendarPickerElement.cpp:
     17        (WebCore::CalendarPickerElement::CalendarPickerElement):
     18        (WebCore::CalendarPickerElement::~CalendarPickerElement):
     19        (WebCore::CalendarPickerElement::didChooseValue): Called when user chose a value.
     20        (WebCore):
     21        (WebCore::CalendarPickerElement::didEndChooser): Called when chooser has ended.
     22        (WebCore::CalendarPickerElement::openPopup):
     23        (WebCore::CalendarPickerElement::closePopup):
     24        * html/shadow/CalendarPickerElement.h:
     25        (CalendarPickerElement):
     26        * loader/EmptyClients.cpp:
     27        (WebCore):
     28        (WebCore::EmptyChromeClient::openDateTimeChooser):
     29        * loader/EmptyClients.h:
     30        (EmptyChromeClient):
     31        * page/ChromeClient.h:
     32        (WebCore):
     33        (ChromeClient):
     34        * platform/DateTimeChooser.h:
     35        (WebCore):
     36        (DateTimeChooserParameters): Contains information needed to open the DateTimeChooser.
     37        (DateTimeChooser):
     38        (WebCore::DateTimeChooser::~DateTimeChooser):
     39        * platform/DateTimeChooserClient.h:
     40        (WebCore):
     41        (DateTimeChooserClient):
     42        (WebCore::DateTimeChooserClient::~DateTimeChooserClient):
     43
    1442012-09-04  Mike Lawther  <mikelawther@chromium.org>
    245
  • trunk/Source/WebCore/WebCore.gypi

    r127535 r127558  
    338338            'platform/Timer.h',
    339339            'platform/TreeShared.h',
     340            'platform/DateTimeChooser.h',
     341            'platform/DateTimeChooserClient.h',
    340342            'platform/VisitedLinkStrategy.h',
    341343            'platform/VisitedLinks.h',
  • trunk/Source/WebCore/html/shadow/CalendarPickerElement.cpp

    r125641 r127558  
    3434#if ENABLE(CALENDAR_PICKER)
    3535
    36 #include "CalendarPicker.h"
    3736#include "Chrome.h"
    3837#include "ChromeClient.h"
    39 #include "DateComponents.h"
    4038#include "Event.h"
    4139#include "FrameView.h"
    4240#include "HTMLInputElement.h"
    43 #include "HTMLNames.h"
    44 #include "Language.h"
    45 #include "LocalizedDate.h"
    46 #include "LocalizedStrings.h"
    4741#include "Page.h"
    48 #include "PickerCommon.h"
    4942#include "RenderDetailsMarker.h"
    50 #include "RenderTheme.h"
    51 #include <wtf/text/StringBuilder.h>
    5243
    5344using namespace WTF::Unicode;
     
    5950inline CalendarPickerElement::CalendarPickerElement(Document* document)
    6051    : HTMLDivElement(divTag, document)
    61     , m_popup(0)
     52    , m_chooser(nullptr)
    6253{
    6354    setShadowPseudoId("-webkit-calendar-picker-indicator");
     
    7263{
    7364    closePopup();
    74     ASSERT(!m_popup);
     65    ASSERT(!m_chooser);
    7566}
    7667
     
    115106}
    116107
     108void CalendarPickerElement::didChooseValue(const String& value)
     109{
     110    hostInput()->setValue(value, DispatchChangeEvent);
     111}
     112
     113void CalendarPickerElement::didEndChooser()
     114{
     115    m_chooser.clear();
     116}
     117
    117118void CalendarPickerElement::openPopup()
    118119{
    119     if (m_popup)
     120    if (m_chooser)
    120121        return;
    121122    if (!document()->page())
     
    126127    if (!document()->view())
    127128        return;
    128     IntRect elementRectInRootView = document()->view()->contentsToRootView(hostInput()->getPixelSnappedRect());
    129     m_popup = chrome->client()->openPagePopup(this, elementRectInRootView);
     129
     130    HTMLInputElement* input = hostInput();
     131    DateTimeChooserParameters parameters;
     132    parameters.type = input->type();
     133    parameters.minimum = input->minimum();
     134    parameters.maximum = input->maximum();
     135    parameters.required = input->required();
     136    Decimal step;
     137    if (hostInput()->getAllowedValueStep(&step))
     138        parameters.step = 1.0;
     139    else
     140        parameters.step = step.toDouble();
     141    parameters.anchorRectInRootView = document()->view()->contentsToRootView(hostInput()->getPixelSnappedRect());
     142    parameters.currentValue = input->value();
     143    // FIXME: parameters.suggestionValues and suggestionLabels will be used when we support datalist.
     144    m_chooser = chrome->client()->openDateTimeChooser(this, parameters);
    130145}
    131146
    132147void CalendarPickerElement::closePopup()
    133148{
    134     if (!m_popup)
     149    if (!m_chooser)
    135150        return;
    136     if (!document()->page())
    137         return;
    138     Chrome* chrome = document()->page()->chrome();
    139     if (!chrome)
    140         return;
    141     chrome->client()->closePagePopup(m_popup);
     151    m_chooser->endChooser();
    142152}
    143153
     
    148158}
    149159
    150 IntSize CalendarPickerElement::contentSize()
    151 {
    152     return IntSize(0, 0);
    153 }
    154 
    155 void CalendarPickerElement::writeDocument(DocumentWriter& writer)
    156 {
    157     HTMLInputElement* input = hostInput();
    158     DateComponents date;
    159     date.setMillisecondsSinceEpochForDate(input->minimum());
    160     String minString = date.toString();
    161     date.setMillisecondsSinceEpochForDate(input->maximum());
    162     String maxString = date.toString();
    163     Decimal step;
    164     String stepString = input->fastGetAttribute(stepAttr);
    165     if (stepString.isEmpty() || !input->getAllowedValueStep(&step))
    166         stepString = "1";
    167 
    168     addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer);
    169     writer.addData(pickerCommonCss, sizeof(pickerCommonCss));
    170     writer.addData(calendarPickerCss, sizeof(calendarPickerCss));
    171     if (document()->page()) {
    172         CString extraStyle = document()->page()->theme()->extraCalendarPickerStyleSheet();
    173         if (extraStyle.length())
    174             writer.addData(extraStyle.data(), extraStyle.length());
    175     }
    176     addString("</style></head><body><div id=main>Loading...</div><script>\n"
    177                "window.dialogArguments = {\n", writer);
    178     addProperty("min", minString, writer);
    179     addProperty("max", maxString, writer);
    180     addProperty("step", stepString, writer);
    181     addProperty("required", input->required(), writer);
    182     addProperty("currentValue", input->value(), writer);
    183     addProperty("locale", defaultLanguage(), writer);
    184     addProperty("todayLabel", calendarTodayText(), writer);
    185     addProperty("clearLabel", calendarClearText(), writer);
    186     addProperty("weekStartDay", firstDayOfWeek(), writer);
    187     addProperty("monthLabels", monthLabels(), writer);
    188     addProperty("dayLabels", weekDayShortLabels(), writer);
    189     Direction dir = direction(monthLabels()[0][0]);
    190     addProperty("isRTL", dir == RightToLeft || dir == RightToLeftArabic, writer);
    191     addString("}\n", writer);
    192 
    193     writer.addData(pickerCommonJs, sizeof(pickerCommonJs));
    194     writer.addData(calendarPickerJs, sizeof(calendarPickerJs));
    195     addString("</script></body>\n", writer);
    196 }
    197 
    198 void CalendarPickerElement::setValueAndClosePopup(int numValue, const String& stringValue)
    199 {
    200     ASSERT(m_popup);
    201     closePopup();
    202     if (numValue >= 0)
    203         hostInput()->setValue(stringValue, DispatchChangeEvent);
    204 }
    205 
    206 void CalendarPickerElement::didClosePopup()
    207 {
    208     m_popup = 0;
    209 }
    210 
    211160}
    212161
  • trunk/Source/WebCore/html/shadow/CalendarPickerElement.h

    r124022 r127558  
    3333
    3434#if ENABLE(CALENDAR_PICKER)
     35
     36#include "DateTimeChooser.h"
     37#include "DateTimeChooserClient.h"
    3538#include "HTMLDivElement.h"
    36 #include "PagePopupClient.h"
     39#include <wtf/OwnPtr.h>
    3740
    3841namespace WebCore {
     
    4144class PagePopup;
    4245
    43 class CalendarPickerElement : public HTMLDivElement, public PagePopupClient {
     46class CalendarPickerElement : public HTMLDivElement, public DateTimeChooserClient {
    4447public:
    4548    static PassRefPtr<CalendarPickerElement> create(Document*);
     
    4952    virtual bool willRespondToMouseClickEvents() OVERRIDE;
    5053
     54    // DateTimeChooserClient implementation.
     55    virtual void didChooseValue(const String&) OVERRIDE;
     56    virtual void didEndChooser() OVERRIDE;
     57
    5158private:
    5259    CalendarPickerElement(Document*);
     
    5562    virtual void detach() OVERRIDE;
    5663
    57     // PagePopupClient functions:
    58     virtual IntSize contentSize() OVERRIDE;
    59     virtual void writeDocument(DocumentWriter&) OVERRIDE;
    60     virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
    61     virtual void didClosePopup() OVERRIDE;
    62 
    6364    HTMLInputElement* hostInput();
    6465
    65     PagePopup* m_popup;
     66    OwnPtr<DateTimeChooser> m_chooser;
    6667};
    6768
  • trunk/Source/WebCore/loader/EmptyClients.cpp

    r124162 r127558  
    2929#include "EmptyClients.h"
    3030
     31#include "DateTimeChooser.h"
    3132#include "DocumentLoader.h"
    3233#include "FileChooser.h"
     
    99100#if ENABLE(INPUT_TYPE_COLOR)
    100101PassOwnPtr<ColorChooser> EmptyChromeClient::createColorChooser(ColorChooserClient*, const Color&)
     102{
     103    return nullptr;
     104}
     105#endif
     106
     107#if ENABLE(CALENDAR_PICKER)
     108PassOwnPtr<DateTimeChooser> EmptyChromeClient::openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&)
    101109{
    102110    return nullptr;
  • trunk/Source/WebCore/loader/EmptyClients.h

    r123354 r127558  
    173173#endif
    174174
     175#if ENABLE(CALENDAR_PICKER)
     176    virtual PassOwnPtr<DateTimeChooser> openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&) OVERRIDE;
     177#endif
     178
    175179    virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) OVERRIDE;
    176180    virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*) { }
  • trunk/Source/WebCore/page/ChromeClient.h

    r124753 r127558  
    4949
    5050    class AccessibilityObject;
     51    class DateTimeChooser;
     52    class DateTimeChooserClient;
    5153    class Element;
    5254    class FileChooser;
     
    7072    class Widget;
    7173
     74    struct DateTimeChooserParameters;
    7275    struct FrameLoadRequest;
    7376    struct ViewportArguments;
     
    221224#if ENABLE(INPUT_TYPE_COLOR)
    222225        virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&) = 0;
     226#endif
     227
     228#if ENABLE(CALENDAR_PICKER)
     229        virtual PassOwnPtr<DateTimeChooser> openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&) = 0;
    223230#endif
    224231
  • trunk/Source/WebCore/platform/DateTimeChooser.h

    r127557 r127558  
    2929 */
    3030
    31 #ifndef CalendarPickerElement_h
    32 #define CalendarPickerElement_h
     31#ifndef DateTimeChooser_h
     32#define DateTimeChooser_h
    3333
    34 #if ENABLE(CALENDAR_PICKER)
    35 #include "HTMLDivElement.h"
    36 #include "PagePopupClient.h"
     34#include "IntRect.h"
     35#include <wtf/text/WTFString.h>
    3736
    3837namespace WebCore {
    3938
    40 class HTMLInputElement;
    41 class PagePopup;
    42 
    43 class CalendarPickerElement : public HTMLDivElement, public PagePopupClient {
    44 public:
    45     static PassRefPtr<CalendarPickerElement> create(Document*);
    46     virtual ~CalendarPickerElement();
    47     void openPopup();
    48     void closePopup();
    49     virtual bool willRespondToMouseClickEvents() OVERRIDE;
    50 
    51 private:
    52     CalendarPickerElement(Document*);
    53     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
    54     virtual void defaultEventHandler(Event*) OVERRIDE;
    55     virtual void detach() OVERRIDE;
    56 
    57     // PagePopupClient functions:
    58     virtual IntSize contentSize() OVERRIDE;
    59     virtual void writeDocument(DocumentWriter&) OVERRIDE;
    60     virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
    61     virtual void didClosePopup() OVERRIDE;
    62 
    63     HTMLInputElement* hostInput();
    64 
    65     PagePopup* m_popup;
     39struct DateTimeChooserParameters {
     40    AtomicString type;
     41    IntRect anchorRectInRootView;
     42    String currentValue;
     43    Vector<String> suggestionValues;
     44    Vector<String> suggestionLabels;
     45    double minimum;
     46    double maximum;
     47    double step;
     48    bool required;
    6649};
    6750
    68 }
    69 #endif
    70 #endif
     51// For pickers like color pickers and date pickers.
     52class DateTimeChooser {
     53public:
     54    virtual ~DateTimeChooser() { }
     55
     56    virtual void endChooser() = 0;
     57};
     58
     59} // namespace WebCore
     60
     61#endif // DateTimeChooser_h
  • trunk/Source/WebCore/platform/DateTimeChooserClient.h

    r127557 r127558  
    2929 */
    3030
    31 #ifndef CalendarPickerElement_h
    32 #define CalendarPickerElement_h
    33 
    34 #if ENABLE(CALENDAR_PICKER)
    35 #include "HTMLDivElement.h"
    36 #include "PagePopupClient.h"
     31#ifndef DateTimeChooserClient_h
     32#define DateTimeChooserClient_h
    3733
    3834namespace WebCore {
    3935
    40 class HTMLInputElement;
    41 class PagePopup;
     36class DateTimeChooserClient {
     37public:
     38    virtual ~DateTimeChooserClient() { }
    4239
    43 class CalendarPickerElement : public HTMLDivElement, public PagePopupClient {
    44 public:
    45     static PassRefPtr<CalendarPickerElement> create(Document*);
    46     virtual ~CalendarPickerElement();
    47     void openPopup();
    48     void closePopup();
    49     virtual bool willRespondToMouseClickEvents() OVERRIDE;
    50 
    51 private:
    52     CalendarPickerElement(Document*);
    53     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
    54     virtual void defaultEventHandler(Event*) OVERRIDE;
    55     virtual void detach() OVERRIDE;
    56 
    57     // PagePopupClient functions:
    58     virtual IntSize contentSize() OVERRIDE;
    59     virtual void writeDocument(DocumentWriter&) OVERRIDE;
    60     virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
    61     virtual void didClosePopup() OVERRIDE;
    62 
    63     HTMLInputElement* hostInput();
    64 
    65     PagePopup* m_popup;
     40    // Called when user picked a value.
     41    virtual void didChooseValue(const String&) = 0;
     42    // Called when chooser has ended.
     43    virtual void didEndChooser() = 0;
    6644};
    6745
    68 }
    69 #endif
    70 #endif
     46} // namespace WebCore
     47
     48#endif // DateTimeChooserClient_h
  • trunk/Source/WebKit/chromium/ChangeLog

    r127540 r127558  
     12012-09-04  Keishi Hattori  <keishi@webkit.org>
     2
     3        Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
     4        https://bugs.webkit.org/show_bug.cgi?id=95681
     5
     6        Reviewed by Kent Tamura.
     7
     8        * WebKit.gyp:
     9        * src/ChromeClientImpl.cpp:
     10        (WebKit):
     11        (WebKit::ChromeClientImpl::openDateTimeChooser):
     12        * src/ChromeClientImpl.h:
     13        (WebCore):
     14        (ChromeClientImpl):
     15        * src/DateTimeChooserImpl.cpp: Added.
     16        (WebKit):
     17        (WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
     18        (WebKit::DateTimeChooserImpl::~DateTimeChooserImpl):
     19        (WebKit::DateTimeChooserImpl::endChooser):
     20        (WebKit::DateTimeChooserImpl::contentSize):
     21        (WebKit::DateTimeChooserImpl::writeDocument):
     22        (WebKit::DateTimeChooserImpl::setValueAndClosePopup):
     23        (WebKit::DateTimeChooserImpl::didClosePopup):
     24        * src/DateTimeChooserImpl.h:
     25        (WebCore):
     26        (WebKit):
     27        (DateTimeChooserImpl):
     28
    1292012-09-04  Adam Barth  <abarth@chromium.org>
    230
  • trunk/Source/WebKit/chromium/WebKit.gyp

    r127378 r127558  
    359359                'src/BlobRegistryProxy.cpp',
    360360                'src/BlobRegistryProxy.h',
     361                'src/DateTimeChooserImpl.cpp',
     362                'src/DateTimeChooserImpl.h',
    361363                'src/ChromeClientImpl.cpp',
    362364                'src/ChromeClientImpl.h',
  • trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp

    r126735 r127558  
    4343#include "Cursor.h"
    4444#include "DatabaseTracker.h"
     45#include "DateTimeChooserImpl.h"
    4546#include "Document.h"
    4647#include "DocumentLoader.h"
     
    705706#endif
    706707
     708#if ENABLE(CALENDAR_PICKER)
     709PassOwnPtr<WebCore::DateTimeChooser> ChromeClientImpl::openDateTimeChooser(WebCore::DateTimeChooserClient* pickerClient, const WebCore::DateTimeChooserParameters& parameters)
     710{
     711    return adoptPtr(new DateTimeChooserImpl(this, pickerClient, parameters));
     712}
     713#endif
     714
    707715void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileChooser)
    708716{
  • trunk/Source/WebKit/chromium/src/ChromeClientImpl.h

    r126735 r127558  
    5151class RenderBox;
    5252class SecurityOrigin;
     53class DateTimeChooser;
     54class DateTimeChooserClient;
    5355struct WindowFeatures;
    5456}
     
    145147    PassOwnPtr<WebColorChooser> createWebColorChooser(WebColorChooserClient*, const WebColor&);
    146148#endif
     149#if ENABLE(CALENDAR_PICKER)
     150    virtual PassOwnPtr<WebCore::DateTimeChooser> openDateTimeChooser(WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&) OVERRIDE;
     151#endif
    147152    virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
    148153    virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
  • trunk/Source/WebKit/chromium/src/DateTimeChooserImpl.h

    r127557 r127558  
    2929 */
    3030
    31 #ifndef CalendarPickerElement_h
    32 #define CalendarPickerElement_h
     31#ifndef DateTimeChooserImpl_h
     32#define DateTimeChooserImpl_h
     33
     34#include "DateTimeChooser.h"
     35#include "PagePopupClient.h"
    3336
    3437#if ENABLE(CALENDAR_PICKER)
    35 #include "HTMLDivElement.h"
    36 #include "PagePopupClient.h"
    3738
    3839namespace WebCore {
     40class PagePopup;
     41class DateTimeChooserClient;
     42}
    3943
    40 class HTMLInputElement;
    41 class PagePopup;
     44namespace WebKit {
    4245
    43 class CalendarPickerElement : public HTMLDivElement, public PagePopupClient {
     46class ChromeClientImpl;
     47
     48class DateTimeChooserImpl : public WebCore::DateTimeChooser, public WebCore::PagePopupClient {
    4449public:
    45     static PassRefPtr<CalendarPickerElement> create(Document*);
    46     virtual ~CalendarPickerElement();
    47     void openPopup();
    48     void closePopup();
    49     virtual bool willRespondToMouseClickEvents() OVERRIDE;
     50    DateTimeChooserImpl(ChromeClientImpl*, WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&);
     51    virtual ~DateTimeChooserImpl();
     52
     53    // DateTimeChooser functions:
     54    virtual void endChooser() OVERRIDE;
    5055
    5156private:
    52     CalendarPickerElement(Document*);
    53     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
    54     virtual void defaultEventHandler(Event*) OVERRIDE;
    55     virtual void detach() OVERRIDE;
    56 
    5757    // PagePopupClient functions:
    58     virtual IntSize contentSize() OVERRIDE;
    59     virtual void writeDocument(DocumentWriter&) OVERRIDE;
     58    virtual WebCore::IntSize contentSize() OVERRIDE;
     59    virtual void writeDocument(WebCore::DocumentWriter&) OVERRIDE;
    6060    virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
    6161    virtual void didClosePopup() OVERRIDE;
    6262
    63     HTMLInputElement* hostInput();
    64 
    65     PagePopup* m_popup;
     63    ChromeClientImpl* m_chromeClient;
     64    WebCore::DateTimeChooserClient* m_client;
     65    WebCore::PagePopup* m_popup;
     66    WebCore::DateTimeChooserParameters m_parameters;
    6667};
    6768
    6869}
    69 #endif
    70 #endif
     70
     71#endif // ENABLE(CALENDAR_PICKER)
     72
     73#endif // DateTimeChooserImpl_h
Note: See TracChangeset for help on using the changeset viewer.