Changeset 115764 in webkit


Ignore:
Timestamp:
May 1, 2012 5:12:49 PM (12 years ago)
Author:
tkent@chromium.org
Message:

Calendar Picker: Add capability to add platform-specific style sheet
https://bugs.webkit.org/show_bug.cgi?id=85272

Reviewed by Kentaro Hara.

Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
of the function is inserted into the calendar picker page.

No new tests. Calendar picker apperance is not testable yet.

  • Resources/calendarPicker.css: Removed styles for year-month buttons.
  • Resources/calendarPickerMac.css:

Moved from calendarPicker.css, and adjust styles so that they look
standard Lion buttons.
(.year-month-button):
(.year-month-button:active):
(.year-month-button:disabled):

  • WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::writeDocument):
Add extraCalendarPickerStyleSheet() result to the document.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::extraCalendarPickerStyleSheet):
Added. Returns an empty CString by default.

  • rendering/RenderTheme.h:

(RenderTheme): Added extraCalendarPickerStyleSheet().

  • rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
  • rendering/RenderThemeChromiumMac.mm:

(WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
Added. Returns the content of Resources/calendarPickerMac.css.

Location:
trunk/Source/WebCore
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r115763 r115764  
     12012-05-01  Kent Tamura  <tkent@chromium.org>
     2
     3        Calendar Picker: Add capability to add platform-specific style sheet
     4        https://bugs.webkit.org/show_bug.cgi?id=85272
     5
     6        Reviewed by Kentaro Hara.
     7
     8        Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
     9        of the function is inserted into the calendar picker page.
     10
     11        No new tests. Calendar picker apperance is not testable yet.
     12
     13        * Resources/calendarPicker.css: Removed styles for year-month buttons.
     14        * Resources/calendarPickerMac.css:
     15        Moved from calendarPicker.css, and adjust styles so that they look
     16        standard Lion buttons.
     17        (.year-month-button):
     18        (.year-month-button:active):
     19        (.year-month-button:disabled):
     20        * WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
     21        * html/shadow/CalendarPickerElement.cpp:
     22        (WebCore::CalendarPickerElement::writeDocument):
     23        Add extraCalendarPickerStyleSheet() result to the document.
     24        * rendering/RenderTheme.cpp:
     25        (WebCore::RenderTheme::extraCalendarPickerStyleSheet):
     26        Added. Returns an empty CString by default.
     27        * rendering/RenderTheme.h:
     28        (RenderTheme): Added extraCalendarPickerStyleSheet().
     29        * rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
     30        * rendering/RenderThemeChromiumMac.mm:
     31        (WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
     32        Added. Returns the content of Resources/calendarPickerMac.css.
     33
    1342012-05-01  James Simonsen  <simonjam@chromium.org>
    235
  • trunk/Source/WebCore/Resources/calendarPicker.css

    r115276 r115764  
    9797}
    9898
    99 /* FIXME: We'd like to use the standard button appearance for non-Mac. */
    100 .year-month-button {
    101     -webkit-appearance: none;
    102     background: -webkit-gradient(linear, left top, left bottom, from(#eee), color-stop(0.4, #fff), color-stop(0.6, #dddddd), to(#eee));
    103     border: solid 1px #444;
    104     border-radius: 3px;
    105     box-shadow: inset 1px 1px 1px rgba(255,255,255,0.4), inset -1px -1px 1px rgba(255,255,255,0.4);
    106     padding-left: 3px;
    107     padding-right: 3px;
    108 }
    109 
    110 .year-month-button:hover {
    111     background: -webkit-gradient(linear, left top, left bottom, from(#e0f0ff), color-stop(0.4, #e0f0ff), color-stop(0.6, #b0e0ff), to(#b0e0ff));
    112     border: solid 1px #448;
    113 }
    114 
    115 .year-month-button:active {
    116     border: solid 1px black;
    117     box-shadow: inset 1px 1px 1px rgba(0,0,0,0.3), inset -1px -1px 1px rgba(0,0,0,0.3);
    118 }
    119 
    120 .year-month-button:disabled {
    121     color: #888;
    122     background: -webkit-gradient(linear, left top, left bottom, from(#eee), color-stop(0.4, #fff), color-stop(0.6, #dddddd), to(#eee));
    123     border: solid 1px #ccc;
    124     box-shadow: inset 1px 1px 1px rgba(255,255,255,0.4), inset -1px -1px 1px rgba(255,255,255,0.4);
    125 }
    126 
    12799.year-month-button-left {
    128100    display: inline-block;
  • trunk/Source/WebCore/WebCore.gyp/WebCore.gyp

    r115713 r115764  
    864864        },
    865865        {
     866          'action_name': 'CalendarPickerMac',
     867          'inputs': [
     868            '../Resources/calendarPickerMac.css',
     869          ],
     870          'outputs': [
     871            '<(SHARED_INTERMEDIATE_DIR)/webkit/CalendarPickerMac.h',
     872            '<(SHARED_INTERMEDIATE_DIR)/webkit/CalendarPickerMac.cpp',
     873          ],
     874          'action': [
     875            'python',
     876            '../make-file-arrays.py',
     877            '--condition=ENABLE(CALENDAR_PICKER)',
     878            '--out-h=<(SHARED_INTERMEDIATE_DIR)/webkit/CalendarPickerMac.h',
     879            '--out-cpp=<(SHARED_INTERMEDIATE_DIR)/webkit/CalendarPickerMac.cpp',
     880            '<@(_inputs)',
     881          ],
     882        },
     883        {
    866884          'action_name': 'XLinkNames',
    867885          'inputs': [
     
    11451163          'include_dirs': [
    11461164            '<(chromium_src_dir)/third_party/apple_webkit',
     1165          ],
     1166          'sources': [
     1167            '<(SHARED_INTERMEDIATE_DIR)/webkit/CalendarPickerMac.cpp',
    11471168          ],
    11481169        }],
  • trunk/Source/WebCore/html/shadow/CalendarPickerElement.cpp

    r115276 r115764  
    4848#include "Page.h"
    4949#include "RenderDetailsMarker.h"
     50#include "RenderTheme.h"
    5051#include <wtf/text/StringBuilder.h>
    5152
     
    209210    addLiteral("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer);
    210211    writer.addData(calendarPickerCss, sizeof(calendarPickerCss));
     212    if (document()->page()) {
     213        CString extraStyle = document()->page()->theme()->extraCalendarPickerStyleSheet();
     214        if (extraStyle.length())
     215            writer.addData(extraStyle.data(), extraStyle.length());
     216    }
    211217    addLiteral("</style></head><body><div id=main>Loading...</div><script>\n"
    212218               "window.dialogArguments = {\n", writer);
  • trunk/Source/WebCore/rendering/RenderTheme.cpp

    r115136 r115764  
    614614}
    615615
     616#if ENABLE(CALENDAR_PICKER)
     617CString RenderTheme::extraCalendarPickerStyleSheet()
     618{
     619    return CString();
     620}
     621#endif
     622
    616623LayoutUnit RenderTheme::baselinePosition(const RenderObject* o) const
    617624{
  • trunk/Source/WebCore/rendering/RenderTheme.h

    r115704 r115764  
    9494#if ENABLE(FULLSCREEN_API)
    9595    virtual String extraFullScreenStyleSheet() { return String(); };
     96#endif
     97#if ENABLE(CALENDAR_PICKER)
     98    virtual CString extraCalendarPickerStyleSheet();
    9699#endif
    97100
  • trunk/Source/WebCore/rendering/RenderThemeChromiumMac.h

    r115704 r115764  
    6868    virtual void updateActiveState(NSCell*, const RenderObject*);
    6969    virtual String extraDefaultStyleSheet();
     70#if ENABLE(CALENDAR_PICKER)
     71    virtual CString extraCalendarPickerStyleSheet() OVERRIDE;
     72#endif
    7073    virtual bool shouldShowPlaceholderWhenFocused() const OVERRIDE;
    7174};
  • trunk/Source/WebCore/rendering/RenderThemeChromiumMac.mm

    r115704 r115764  
    2020
    2121#import "config.h"
     22
     23#import "CalendarPickerMac.h"
    2224#import "LocalCurrentGraphicsContext.h"
    2325#import "RenderThemeChromiumMac.h"
     
    196198}
    197199
     200#if ENABLE(CALENDAR_PICKER)
     201CString RenderThemeChromiumMac::extraCalendarPickerStyleSheet()
     202{
     203    return CString(calendarPickerMacCss, WTF_ARRAY_LENGTH(calendarPickerMacCss));
     204}
     205#endif
    198206
    199207bool RenderThemeChromiumMac::paintMediaVolumeSliderContainer(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
Note: See TracChangeset for help on using the changeset viewer.