Changeset 57051 in webkit


Ignore:
Timestamp:
Apr 3, 2010 10:27:26 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-04-03 yael aharon <yael.aharon@nokia.com>

Reviewed by Darin Adler.

Enable HTMLProgressElement for Safari on OSX
https://bugs.webkit.org/show_bug.cgi?id=36961

  • Configurations/FeatureDefines.xcconfig:

2010-04-03 Kenneth Russell <kbr@google.com>

Reviewed by Darin Fisher.

Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
https://bugs.webkit.org/show_bug.cgi?id=36574

Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
points causing them to throw exceptions rather than synthesize GL
errors. Fixed the implementations to synthesize INVALID_VALUE
rather than INVALID_OPERATION to comply to the WebGL spec. Updated
uniform-location-expected.txt to incorporate the correct error.
Tested in Safari and Chromium.

  • fast/canvas/webgl/null-uniform-location-expected.txt: Added.
  • fast/canvas/webgl/null-uniform-location.html: Added.
  • fast/canvas/webgl/script-tests/null-uniform-location.js: Added. (callUniformFunction):
  • fast/canvas/webgl/uniform-location-expected.txt:

2010-04-03 yael aharon <yael.aharon@nokia.com>

Reviewed by Darin Adler.

Enable HTMLProgressElement for Safari on OSX
https://bugs.webkit.org/show_bug.cgi?id=36961

  • Configurations/FeatureDefines.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar): (WebCore::RenderThemeMac::animationDurationForProgressBar): (WebCore::RenderThemeMac::adjustProgressBarStyle): (WebCore::RenderThemeMac::paintProgressBar):

2010-04-03 yael aharon <yael.aharon@nokia.com>

Reviewed by Darin Adler.

Enable HTMLProgressElement for Safari on OSX
https://bugs.webkit.org/show_bug.cgi?id=36961

  • Configurations/FeatureDefines.xcconfig:
Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r57025 r57051  
     12010-04-03  yael aharon  <yael.aharon@nokia.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Enable HTMLProgressElement for Safari on OSX
     6        https://bugs.webkit.org/show_bug.cgi?id=36961
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102010-04-02  Ruben Van Boxem  <vanboxem.ruben@gmail.com>
    211
  • trunk/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r56968 r57051  
    6060ENABLE_NOTIFICATIONS = ;
    6161ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
     62ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
    6263ENABLE_RUBY = ENABLE_RUBY;
    6364ENABLE_SANDBOX = ENABLE_SANDBOX;
     
    7879ENABLE_XSLT = ENABLE_XSLT;
    7980
    80 FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
     81FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
  • trunk/LayoutTests/ChangeLog

    r57049 r57051  
    487487
    4884882010-04-01  yael aharon  <yael.aharon@nokia.com>
     489
     490        Reviewed by Darin Adler.
     491
     492        Enable HTMLProgressElement for Safari on OSX
     493        https://bugs.webkit.org/show_bug.cgi?id=36961
     494
     495        * platform/mac/Skipped:
     496
     4972010-04-03  yael aharon  <yael.aharon@nokia.com>
    489498
    490499        Reviewed by Laszlo Gombos.
  • trunk/LayoutTests/platform/mac/Skipped

    r57043 r57051  
    134134fast/forms/multiple-form-submission-protection-mouse.html
    135135
    136 
    137 # renderTheme is not ready to draw progress element
     136# The animation causes the result of this test to depend on the speed of executing it, and that will cause it to be flaky
    138137fast/dom/HTMLProgressElement/progress-element.html
    139 fast/dom/HTMLProgressElement/set-progress-properties.html
    140138
    141139# event.dataTransfer.setData('text/uri-list') not correctly implemented on Mac
  • trunk/WebCore/ChangeLog

    r57050 r57051  
     12010-04-03  yael aharon  <yael.aharon@nokia.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Enable HTMLProgressElement for Safari on OSX
     6        https://bugs.webkit.org/show_bug.cgi?id=36961
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9        * WebCore.xcodeproj/project.pbxproj:
     10        * rendering/RenderThemeMac.h:
     11        * rendering/RenderThemeMac.mm:
     12        (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
     13        (WebCore::RenderThemeMac::animationDurationForProgressBar):
     14        (WebCore::RenderThemeMac::adjustProgressBarStyle):
     15        (WebCore::RenderThemeMac::paintProgressBar):
     16
    1172010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
    218
  • trunk/WebCore/Configurations/FeatureDefines.xcconfig

    r56968 r57051  
    6060ENABLE_NOTIFICATIONS = ;
    6161ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
     62ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
    6263ENABLE_RUBY = ENABLE_RUBY;
    6364ENABLE_SANDBOX = ENABLE_SANDBOX;
     
    7879ENABLE_XSLT = ENABLE_XSLT;
    7980
    80 FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
     81FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r57045 r57051  
    25032503                A17C81220F2A5CF7005DAAEB /* HTMLElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */; };
    25042504                A17C81230F2A5CF7005DAAEB /* HTMLElementFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */; };
     2505                A4226E5A1163D667008B8397 /* JSHTMLProgressElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4226E591163D667008B8397 /* JSHTMLProgressElement.cpp */; };
     2506                A4226E5C1163D695008B8397 /* JSHTMLProgressElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A4226E5B1163D695008B8397 /* JSHTMLProgressElement.h */; };
     2507                A4226E951163D73A008B8397 /* DOMHTMLProgressElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A4226E921163D73A008B8397 /* DOMHTMLProgressElement.h */; };
     2508                A4226E961163D73A008B8397 /* DOMHTMLProgressElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = A4226E931163D73A008B8397 /* DOMHTMLProgressElement.mm */; };
     2509                A4226E991163D7CC008B8397 /* DOMHTMLProgressElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = A4226E981163D7CC008B8397 /* DOMHTMLProgressElementInternal.h */; };
     2510                A4226EA61163D84D008B8397 /* HTMLProgressElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A4226EA51163D84D008B8397 /* HTMLProgressElement.idl */; };
    25052511                A43BF5981149290A00C643CA /* HTMLProgressElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A43BF5961149290A00C643CA /* HTMLProgressElement.cpp */; };
    25062512                A43BF5991149290A00C643CA /* HTMLProgressElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A43BF5971149290A00C643CA /* HTMLProgressElement.h */; };
     
    79267932                A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLElementFactory.cpp; sourceTree = "<group>"; };
    79277933                A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLElementFactory.h; sourceTree = "<group>"; };
     7934                A4226E591163D667008B8397 /* JSHTMLProgressElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLProgressElement.cpp; sourceTree = "<group>"; };
     7935                A4226E5B1163D695008B8397 /* JSHTMLProgressElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLProgressElement.h; sourceTree = "<group>"; };
     7936                A4226E921163D73A008B8397 /* DOMHTMLProgressElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMHTMLProgressElement.h; sourceTree = "<group>"; };
     7937                A4226E931163D73A008B8397 /* DOMHTMLProgressElement.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMHTMLProgressElement.mm; sourceTree = "<group>"; };
     7938                A4226E981163D7CC008B8397 /* DOMHTMLProgressElementInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMHTMLProgressElementInternal.h; sourceTree = "<group>"; };
     7939                A4226EA51163D84D008B8397 /* HTMLProgressElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLProgressElement.idl; sourceTree = "<group>"; };
    79287940                A43BF5961149290A00C643CA /* HTMLProgressElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLProgressElement.cpp; sourceTree = "<group>"; };
    79297941                A43BF5971149290A00C643CA /* HTMLProgressElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLProgressElement.h; sourceTree = "<group>"; };
     
    1249912511                                85183B3E0AA6926100F19FA3 /* DOMHTMLPreElement.h */,
    1250012512                                85183B3F0AA6926100F19FA3 /* DOMHTMLPreElement.mm */,
     12513                                A4226E921163D73A008B8397 /* DOMHTMLProgressElement.h */,
     12514                                A4226E931163D73A008B8397 /* DOMHTMLProgressElement.mm */,
    1250112515                                85183B400AA6926100F19FA3 /* DOMHTMLQuoteElement.h */,
    1250212516                                85183B410AA6926100F19FA3 /* DOMHTMLQuoteElement.mm */,
     
    1261312627                                85E711730AC5D5350053270F /* DOMHTMLParamElementInternal.h */,
    1261412628                                85E711740AC5D5350053270F /* DOMHTMLPreElementInternal.h */,
     12629                                A4226E981163D7CC008B8397 /* DOMHTMLProgressElementInternal.h */,
    1261512630                                85E711750AC5D5350053270F /* DOMHTMLQuoteElementInternal.h */,
    1261612631                                85E711760AC5D5350053270F /* DOMHTMLScriptElementInternal.h */,
     
    1293712952                                8952535011641B3400CABF00 /* FileThread.cpp */,
    1293812953                                8952535111641B3400CABF00 /* FileThread.h */,
    12939                                 A43BF5961149290A00C643CA /* HTMLProgressElement.cpp */,
    12940                                 A43BF5971149290A00C643CA /* HTMLProgressElement.h */,
    1294112954                                49484FAE102CF01E00187DD3 /* canvas */,
    1294212955                                2EAFAF0B10E2AF2D007ED3D6 /* Blob.cpp */,
     
    1315913172                                A8EA7CA20A192B9C00A8EF5F /* HTMLPreElement.h */,
    1316013173                                1AE2AB850A1CE85000B42B25 /* HTMLPreElement.idl */,
     13174                                A43BF5961149290A00C643CA /* HTMLProgressElement.cpp */,
     13175                                A43BF5971149290A00C643CA /* HTMLProgressElement.h */,
     13176                                A4226EA51163D84D008B8397 /* HTMLProgressElement.idl */,
    1316113177                                A8CFF79B0A156978000A4234 /* HTMLQuoteElement.cpp */,
    1316213178                                A8CFF7990A156978000A4234 /* HTMLQuoteElement.h */,
     
    1341313429                                1AE2ABA20A1CE90500B42B25 /* JSHTMLPreElement.cpp */,
    1341413430                                1AE2ABA30A1CE90500B42B25 /* JSHTMLPreElement.h */,
     13431                                A4226E591163D667008B8397 /* JSHTMLProgressElement.cpp */,
     13432                                A4226E5B1163D695008B8397 /* JSHTMLProgressElement.h */,
    1341513433                                1AE2AEC30A1D297B00B42B25 /* JSHTMLQuoteElement.cpp */,
    1341613434                                1AE2AEC40A1D297B00B42B25 /* JSHTMLQuoteElement.h */,
     
    1878318801                                E1E1BF00115FF6FB006F52CA /* WindowsKeyboardCodes.h in Headers */,
    1878418802                                8499A515115FB33000F566E3 /* RenderSVGResourceMarker.h in Headers */,
     18803                                A4226E5C1163D695008B8397 /* JSHTMLProgressElement.h in Headers */,
     18804                                A4226E951163D73A008B8397 /* DOMHTMLProgressElement.h in Headers */,
     18805                                A4226E991163D7CC008B8397 /* DOMHTMLProgressElementInternal.h in Headers */,
    1878518806                                2E3BBF081162DA1100B9409A /* UUID.h in Headers */,
    1878618807                                8952535311641B3400CABF00 /* FileThread.h in Headers */,
     
    1889018911                                1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */,
    1889118912                                2E0888C4114883A900AF4265 /* DOMFormData.idl in Resources */,
     18913                                A4226EA61163D84D008B8397 /* HTMLProgressElement.idl in Resources */,
    1889218914                        );
    1889318915                        runOnlyForDeploymentPostprocessing = 0;
     
    2100021022                                E4778B7F115A581A00B5D372 /* JSCustomEvent.cpp in Sources */,
    2100121023                                8499A514115FB33000F566E3 /* RenderSVGResourceMarker.cpp in Sources */,
     21024                                A4226E5A1163D667008B8397 /* JSHTMLProgressElement.cpp in Sources */,
     21025                                A4226E961163D73A008B8397 /* DOMHTMLProgressElement.mm in Sources */,
    2100221026                                2E3BBF071162DA1100B9409A /* UUID.cpp in Sources */,
    2100321027                                8952535211641B3400CABF00 /* FileThread.cpp in Sources */,
  • trunk/WebCore/rendering/RenderThemeMac.h

    r51191 r57051  
    2727#import <wtf/HashMap.h>
    2828#import <wtf/RetainPtr.h>
     29
     30class RenderProgress;
    2931
    3032#ifdef __OBJC__
     
    7981    virtual bool paintCapsLockIndicator(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
    8082
     83#if ENABLE(PROGRESS_TAG)
     84    // Returns the repeat interval of the animation for the progress bar.
     85    virtual double animationRepeatIntervalForProgressBar(RenderProgress*) const;
     86    // Returns the duration of the animation for the progress bar.
     87    virtual double animationDurationForProgressBar(RenderProgress*) const;
     88#endif
     89
    8190    virtual Color systemColor(int cssValueId) const;
    8291
     
    95104    virtual bool paintMenuListButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
    96105    virtual void adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
     106
     107#if ENABLE(PROGRESS_TAG)
     108    virtual void adjustProgressBarStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
     109    virtual bool paintProgressBar(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
     110#endif
    97111
    98112    virtual bool paintSliderTrack(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
  • trunk/WebCore/rendering/RenderThemeMac.mm

    r54784 r57051  
    3333#import "HTMLNames.h"
    3434#import "Image.h"
     35#import "ImageBuffer.h"
    3536#import "LocalCurrentGraphicsContext.h"
    3637#import "MediaControlElements.h"
     
    4849#import <math.h>
    4950
     51#import "RenderProgress.h"
     52
    5053#ifdef BUILDING_ON_TIGER
    5154typedef int NSInteger;
     
    5356#endif
    5457
    55 using std::min;
     58using namespace std;
    5659
    5760// The methods in this file are specific to the Mac OS X platform.
    5861
    5962// FIXME: The platform-independent code in this class should be factored out and merged with RenderThemeSafari.
     63
     64// We estimate the animation rate of a Mac OS X progress bar is 33 fps.
     65// Hard code the value here because we haven't found API for it.
     66const double progressAnimationFrameRate = 0.033;
     67
     68// Mac OS X progress bar animation seems to have 256 frames.
     69const double progressAnimationNumFrames = 256;
    6070
    6171@interface WebCoreRenderThemeNotificationObserver : NSObject
     
    772782    return false;
    773783}
     784   
     785#if ENABLE(PROGRESS_TAG)
     786
     787double RenderThemeMac::animationRepeatIntervalForProgressBar(RenderProgress*) const
     788{
     789    return progressAnimationFrameRate;
     790}
     791
     792double RenderThemeMac::animationDurationForProgressBar(RenderProgress*) const
     793{
     794    return progressAnimationNumFrames * progressAnimationFrameRate;
     795}
     796
     797void RenderThemeMac::adjustProgressBarStyle(CSSStyleSelector*, RenderStyle*, Element*) const
     798{
     799}
     800
     801bool RenderThemeMac::paintProgressBar(RenderObject* renderObject, const RenderObject::PaintInfo& paintInfo, const IntRect& rect)
     802{
     803    RenderProgress* renderProgress = toRenderProgress(renderObject);
     804    HIThemeTrackDrawInfo trackInfo;
     805    trackInfo.version = 0;
     806    trackInfo.kind = renderProgress->position() < 0 ? kThemeLargeIndeterminateBar : kThemeLargeProgressBar;
     807    trackInfo.bounds = IntRect(IntPoint(), rect.size());
     808    trackInfo.min = 0;
     809    trackInfo.max = numeric_limits<SInt32>::max();
     810    trackInfo.value = lround(renderProgress->position() * nextafter(trackInfo.max, 0));
     811    trackInfo.trackInfo.progress.phase = lround(renderProgress->animationProgress() * nextafter(progressAnimationNumFrames, 0));
     812    trackInfo.attributes = kThemeTrackHorizontal;
     813    trackInfo.enableState = isActive(renderObject) ? kThemeTrackActive : kThemeTrackInactive;
     814    trackInfo.reserved = 0;
     815    trackInfo.filler1 = 0;
     816
     817    OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(rect.size());
     818    if (!imageBuffer)
     819        return true;
     820
     821    HIThemeDrawTrack(&trackInfo, 0, imageBuffer->context()->platformContext(), kHIThemeOrientationNormal);
     822
     823    paintInfo.context->save();
     824
     825    if (renderProgress->style()->direction() == RTL) {
     826        paintInfo.context->translate(2 * rect.x() + rect.width(), 0);
     827        paintInfo.context->scale(FloatSize(-1, 1));
     828    }
     829    paintInfo.context->drawImage(imageBuffer->image(), DeviceColorSpace, rect.location());
     830
     831    paintInfo.context->restore();
     832    return false;
     833}   
     834#endif
    774835
    775836const float baseFontSize = 11.0f;
  • trunk/WebKit/mac/ChangeLog

    r57031 r57051  
     12010-04-03  yael aharon  <yael.aharon@nokia.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Enable HTMLProgressElement for Safari on OSX
     6        https://bugs.webkit.org/show_bug.cgi?id=36961
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102010-04-02  Jer Noble  <jer.noble@apple.com>
    211
  • trunk/WebKit/mac/Configurations/FeatureDefines.xcconfig

    r56968 r57051  
    6060ENABLE_NOTIFICATIONS = ;
    6161ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
     62ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
    6263ENABLE_RUBY = ENABLE_RUBY;
    6364ENABLE_SANDBOX = ENABLE_SANDBOX;
     
    7879ENABLE_XSLT = ENABLE_XSLT;
    7980
    80 FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
     81FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB_SLICE) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_READER) $(ENABLE_FILE_WRITER) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_RUBY) $(ENABLE_SANDBOX) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
Note: See TracChangeset for help on using the changeset viewer.