Changeset 105036 in webkit
- Timestamp:
- Jan 15, 2012 11:33:31 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r105034 r105036 1 2012-01-15 Xinchao He <xinchao.he@intel.com> 2 3 Add DeviceOrientationEvent.absolute 4 https://bugs.webkit.org/show_bug.cgi?id=51742 5 6 Reviewed by Darin Fisher. 7 8 This patch add the DeviceOrientationEvent.absolute to follow the 9 latest w3c device orientation event spec. 10 http://www.w3.org/TR/orientation-event/ 11 12 13 * bindings/js/JSDeviceOrientationEventCustom.cpp: 14 (WebCore::JSDeviceOrientationEvent::absolute): 15 (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent): 16 * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: 17 (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter): 18 (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback): 19 * dom/DeviceOrientation.cpp: 20 (WebCore::DeviceOrientation::create): 21 (WebCore::DeviceOrientation::DeviceOrientation): 22 (WebCore::DeviceOrientation::absolute): 23 (WebCore::DeviceOrientation::canProvideAbsolute): 24 * dom/DeviceOrientation.h: 25 * dom/DeviceOrientationEvent.idl: 26 1 27 2012-01-15 Luke Macpherson <macpherson@chromium.org> 2 28 -
trunk/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp
r95901 r105036 61 61 } 62 62 63 JSValue JSDeviceOrientationEvent::absolute(ExecState*) const 64 { 65 DeviceOrientationEvent* imp = static_cast<DeviceOrientationEvent*>(impl()); 66 if (!imp->orientation()->canProvideAbsolute()) 67 return jsNull(); 68 return jsBoolean(imp->orientation()->absolute()); 69 } 70 63 71 JSValue JSDeviceOrientationEvent::initDeviceOrientationEvent(ExecState* exec) 64 72 { … … 74 82 bool gammaProvided = !exec->argument(5).isUndefinedOrNull(); 75 83 double gamma = exec->argument(5).toNumber(exec); 76 RefPtr<DeviceOrientation> orientation = DeviceOrientation::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma); 84 bool absoluteProvided = !exec->argument(5).isUndefinedOrNull(); 85 bool absolute = exec->argument(6).toBoolean(exec); 86 RefPtr<DeviceOrientation> orientation = DeviceOrientation::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma, absoluteProvided, absolute); 77 87 DeviceOrientationEvent* imp = static_cast<DeviceOrientationEvent*>(impl()); 78 88 imp->initDeviceOrientationEvent(type, bubbles, cancelable, orientation.get()); -
trunk/Source/WebCore/bindings/v8/custom/V8DeviceOrientationEventCustom.cpp
r95901 r105036 68 68 } 69 69 70 v8::Handle<v8::Value> V8DeviceOrientationEvent::absoluteAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) 71 { 72 INC_STATS("DOM.DeviceOrientationEvent.absolute._get"); 73 v8::Handle<v8::Object> holder = info.Holder(); 74 DeviceOrientationEvent* imp = V8DeviceOrientationEvent::toNative(holder); 75 if (!imp->orientation()->canProvideAbsolute()) 76 return v8::Null(); 77 return v8::Boolean::New(imp->orientation()->absolute()); 78 } 79 70 80 v8::Handle<v8::Value> V8DeviceOrientationEvent::initDeviceOrientationEventCallback(const v8::Arguments& args) 71 81 { … … 74 84 bool bubbles = args[1]->BooleanValue(); 75 85 bool cancelable = args[2]->BooleanValue(); 76 // If alpha, beta or gammaare null or undefined, mark them as not provided.86 // If alpha, beta, gamma or absolute are null or undefined, mark them as not provided. 77 87 // Otherwise, use the standard JavaScript conversion. 78 88 bool alphaProvided = !isUndefinedOrNull(args[3]); … … 82 92 bool gammaProvided = !isUndefinedOrNull(args[5]); 83 93 double gamma = args[5]->NumberValue(); 84 RefPtr<DeviceOrientation> orientation = DeviceOrientation::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma); 94 bool absoluteProvided = !isUndefinedOrNull(args[6]); 95 bool absolute = args[6]->BooleanValue(); 96 RefPtr<DeviceOrientation> orientation = DeviceOrientation::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma, absoluteProvided, absolute); 85 97 imp->initDeviceOrientationEvent(type, bubbles, cancelable, orientation.get()); 86 98 return v8::Handle<v8::Value>(); -
trunk/Source/WebCore/dom/DeviceOrientation.cpp
r104734 r105036 34 34 } 35 35 36 PassRefPtr<DeviceOrientation> DeviceOrientation::create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma )36 PassRefPtr<DeviceOrientation> DeviceOrientation::create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute) 37 37 { 38 return adoptRef(new DeviceOrientation(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma ));38 return adoptRef(new DeviceOrientation(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma, canProvideAbsolute, absolute)); 39 39 } 40 40 … … 44 44 , m_canProvideBeta(false) 45 45 , m_canProvideGamma(false) 46 , m_canProvideAbsolute(false) 46 47 , m_alpha(0) 47 48 , m_beta(0) 48 49 , m_gamma(0) 50 , m_absolute(false) 49 51 { 50 52 } 51 53 52 DeviceOrientation::DeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma )54 DeviceOrientation::DeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute) 53 55 : m_canProvideAlpha(canProvideAlpha) 54 56 , m_canProvideBeta(canProvideBeta) 55 57 , m_canProvideGamma(canProvideGamma) 58 , m_canProvideAbsolute(canProvideAbsolute) 56 59 , m_alpha(alpha) 57 60 , m_beta(beta) 58 61 , m_gamma(gamma) 62 , m_absolute(absolute) 59 63 { 60 64 } … … 75 79 } 76 80 81 bool DeviceOrientation::absolute() const 82 { 83 return m_absolute; 84 } 85 77 86 bool DeviceOrientation::canProvideAlpha() const 78 87 { … … 90 99 } 91 100 101 bool DeviceOrientation::canProvideAbsolute() const 102 { 103 return m_canProvideAbsolute; 104 } 105 92 106 } // namespace WebCore -
trunk/Source/WebCore/dom/DeviceOrientation.h
r95901 r105036 35 35 public: 36 36 static PassRefPtr<DeviceOrientation> create(); 37 static PassRefPtr<DeviceOrientation> create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma );37 static PassRefPtr<DeviceOrientation> create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute = false, bool absolute = false); 38 38 39 39 double alpha() const; 40 40 double beta() const; 41 41 double gamma() const; 42 bool absolute() const; 42 43 bool canProvideAlpha() const; 43 44 bool canProvideBeta() const; 44 45 bool canProvideGamma() const; 46 bool canProvideAbsolute() const; 45 47 46 48 private: 47 49 DeviceOrientation(); 48 DeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma );50 DeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute); 49 51 50 52 bool m_canProvideAlpha; 51 53 bool m_canProvideBeta; 52 54 bool m_canProvideGamma; 55 bool m_canProvideAbsolute; 53 56 double m_alpha; 54 57 double m_beta; 55 58 double m_gamma; 59 bool m_absolute; 56 60 }; 57 61 -
trunk/Source/WebCore/dom/DeviceOrientationEvent.idl
r91617 r105036 32 32 readonly attribute [Custom] double beta; 33 33 readonly attribute [Custom] double gamma; 34 readonly attribute [Custom] boolean absolute; 34 35 [Custom] void initDeviceOrientationEvent(in [Optional=CallWithDefaultValue] DOMString type, 35 36 in [Optional=CallWithDefaultValue] boolean bubbles, … … 37 38 in [Optional=CallWithDefaultValue] double alpha, 38 39 in [Optional=CallWithDefaultValue] double beta, 39 in [Optional=CallWithDefaultValue] double gamma); 40 in [Optional=CallWithDefaultValue] double gamma, 41 in [Optional=CallWithDefaultValue] boolean absolute); 40 42 }; 41 43 -
trunk/Source/WebKit/chromium/ChangeLog
r105028 r105036 1 2012-01-15 Xinchao He <xinchao.he@intel.com> 2 3 Add DeviceOrientationEvent.absolute 4 https://bugs.webkit.org/show_bug.cgi?id=51742 5 6 Reviewed by Darin Fisher. 7 8 This patch add the DeviceOrientationEvent.absolute to follow the 9 latest w3c device orientation event spec. 10 http://www.w3.org/TR/orientation-event/ 11 12 * public/WebDeviceOrientation.h: 13 (WebKit::WebDeviceOrientation::WebDeviceOrientation): 14 (WebKit::WebDeviceOrientation::canProvideAbsolute): 15 (WebKit::WebDeviceOrientation::absolute): 16 * src/WebDeviceOrientation.cpp: 17 (WebKit::WebDeviceOrientation::WebDeviceOrientation): 18 (WebKit::WebDeviceOrientation::operator=): 19 (WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientation>): 20 1 21 2012-01-14 David Levin <levin@chromium.org> 2 22 -
trunk/Source/WebKit/chromium/public/WebDeviceOrientation.h
r95901 r105036 36 36 class WebDeviceOrientation { 37 37 public: 38 WebDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma )38 WebDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute = false, bool absolute = false) 39 39 : m_isNull(false), 40 40 m_canProvideAlpha(canProvideAlpha), … … 43 43 m_beta(beta), 44 44 m_canProvideGamma(canProvideGamma), 45 m_gamma(gamma) 45 m_gamma(gamma), 46 m_canProvideAbsolute(canProvideAbsolute), 47 m_absolute(absolute) 46 48 { 47 49 } … … 56 58 bool canProvideGamma() { return m_canProvideGamma; } 57 59 double gamma() { return m_gamma; } 60 bool canProvideAbsolute() {return m_canProvideAbsolute; } 61 bool absolute() { return m_absolute; } 58 62 59 63 #if WEBKIT_IMPLEMENTATION … … 71 75 m_beta(0), 72 76 m_canProvideGamma(false), 73 m_gamma(0) 77 m_gamma(0), 78 m_canProvideAbsolute(false), 79 m_absolute(false) 74 80 { 75 81 } … … 82 88 bool m_canProvideGamma; 83 89 double m_gamma; 90 bool m_canProvideAbsolute; 91 bool m_absolute; 84 92 }; 85 93 -
trunk/Source/WebKit/chromium/src/WebDeviceOrientation.cpp
r95901 r105036 42 42 m_canProvideGamma = false; 43 43 m_gamma = 0; 44 m_canProvideAbsolute = false; 45 m_absolute = false; 44 46 return; 45 47 } … … 52 54 m_canProvideGamma = orientation->canProvideGamma(); 53 55 m_gamma = orientation->gamma(); 56 m_canProvideAbsolute = orientation->canProvideAbsolute(); 57 m_absolute = orientation->absolute(); 54 58 } 55 59 … … 64 68 m_canProvideGamma = false; 65 69 m_gamma = 0; 70 m_canProvideAbsolute = false; 71 m_absolute = false; 66 72 return *this; 67 73 } … … 74 80 m_canProvideGamma = orientation->canProvideGamma(); 75 81 m_gamma = orientation->gamma(); 82 m_canProvideAbsolute = orientation->canProvideAbsolute(); 83 m_absolute = orientation->absolute(); 76 84 return *this; 77 85 } … … 81 89 if (m_isNull) 82 90 return 0; 83 return WebCore::DeviceOrientation::create(m_canProvideAlpha, m_alpha, m_canProvideBeta, m_beta, m_canProvideGamma, m_gamma );91 return WebCore::DeviceOrientation::create(m_canProvideAlpha, m_alpha, m_canProvideBeta, m_beta, m_canProvideGamma, m_gamma, m_canProvideAbsolute, m_absolute); 84 92 } 85 93
Note: See TracChangeset
for help on using the changeset viewer.