Changeset 113734 in webkit
- Timestamp:
- Apr 10, 2012 10:28:25 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r113733 r113734 1 2012-04-10 Sadrul Habib Chowdhury <sadrul@chromium.org> 2 3 [chromium] Add Battery Status API support. 4 5 Add Battery Status API support to chromium. 6 https://bugs.webkit.org/show_bug.cgi?id=83284 7 8 Reviewed by Adam Barth. 9 10 * platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt: 11 * platform/chromium/test_expectations.txt: 12 1 13 2012-04-09 Zhenyao Mo <zmo@google.com> 2 14 -
trunk/LayoutTests/platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt
r113635 r113734 18 18 navigator.vendor is OK 19 19 navigator.vendorSub is OK 20 navigator.webkitBattery is OK 20 21 navigator.webkitGamepads is OK 21 22 navigator.webkitPointer is OK … … 38 39 navigator.vendor is OK 39 40 navigator.vendorSub is OK 41 navigator.webkitBattery is OK 40 42 navigator.webkitGamepads is OK 41 43 navigator.webkitPointer is OK -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r113636 r113734 133 133 // Vibration API is not supported yet in the chromium port. 134 134 BUGWK72010 SKIP : fast/dom/navigator-vibration.html = FAIL 135 136 // Battery Status API is not supported yet in the chromium port.137 BUGWK62698 SKIP : batterystatus = PASS FAIL138 135 139 136 // Touch Adjustment is not supported yet in the chromium port. -
trunk/Source/WebCore/ChangeLog
r113733 r113734 1 2012-04-10 Sadrul Habib Chowdhury <sadrul@chromium.org> 2 3 [chromium] Add Battery Status API support. 4 5 Add Battery Status API support to chromium. 6 https://bugs.webkit.org/show_bug.cgi?id=83284 7 8 Reviewed by Adam Barth. 9 10 This change is covered by tests in batterystatus/. 11 12 * Modules/battery/BatteryController.cpp: 13 (WebCore::BatteryController::updateBatteryStatus): 14 (WebCore): 15 * Modules/battery/BatteryController.h: 16 (BatteryController): 17 * Modules/battery/BatteryManager.cpp: 18 (WebCore::BatteryManager::charging): 19 (WebCore::BatteryManager::chargingTime): 20 (WebCore::BatteryManager::dischargingTime): 21 (WebCore::BatteryManager::level): 22 * WebCore.gyp/WebCore.gyp: 23 * WebCore.gypi: 24 1 25 2012-04-09 Zhenyao Mo <zmo@google.com> 2 26 -
trunk/Source/WebCore/Modules/battery/BatteryController.cpp
r113635 r113734 1 1 /* 2 2 * Copyright (C) 2012 Samsung Electronics 3 * Copyright (C) 2012 Google Inc. 3 4 * 4 5 * This library is free software; you can redistribute it and/or … … 64 65 } 65 66 67 void BatteryController::updateBatteryStatus(PassRefPtr<BatteryStatus> batteryStatus) 68 { 69 RefPtr<BatteryStatus> status = batteryStatus; 70 if (m_batteryStatus) { 71 if (m_batteryStatus->charging() != status->charging()) 72 didChangeBatteryStatus(WebCore::eventNames().chargingchangeEvent, status); 73 else if (status->charging() && m_batteryStatus->chargingTime() != status->chargingTime()) 74 didChangeBatteryStatus(WebCore::eventNames().chargingtimechangeEvent, status); 75 else if (!status->charging() && m_batteryStatus->dischargingTime() != status->dischargingTime()) 76 didChangeBatteryStatus(WebCore::eventNames().dischargingtimechangeEvent, status); 77 78 if (m_batteryStatus->level() != status->level()) 79 didChangeBatteryStatus(WebCore::eventNames().levelchangeEvent, status); 80 } 81 82 m_batteryStatus = status.release(); 83 } 84 66 85 void BatteryController::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus> batteryStatus) 67 86 { -
trunk/Source/WebCore/Modules/battery/BatteryController.h
r113635 r113734 1 1 /* 2 2 * Copyright (C) 2012 Samsung Electronics 3 * Copyright (C) 2012 Google Inc. 3 4 * 4 5 * This library is free software; you can redistribute it and/or … … 38 39 void addListener(BatteryManager*); 39 40 void removeListener(BatteryManager*); 41 void updateBatteryStatus(PassRefPtr<BatteryStatus>); 40 42 void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus>); 41 43 … … 53 55 BatteryClient* m_client; 54 56 ListenerVector m_listeners; 57 58 RefPtr<BatteryStatus> m_batteryStatus; 55 59 }; 56 60 -
trunk/Source/WebCore/Modules/battery/BatteryManager.cpp
r113635 r113734 25 25 #include "BatteryController.h" 26 26 #include "BatteryStatus.h" 27 #include "Document.h" 27 28 #include "Event.h" 28 29 #include "Frame.h" … … 53 54 bool BatteryManager::charging() 54 55 { 55 return m_batteryStatus ->charging();56 return m_batteryStatus ? m_batteryStatus->charging() : true; 56 57 } 57 58 58 59 double BatteryManager::chargingTime() 59 60 { 60 if (!m_batteryStatus ->charging())61 if (!m_batteryStatus || !m_batteryStatus->charging()) 61 62 return std::numeric_limits<double>::infinity(); 62 63 … … 66 67 double BatteryManager::dischargingTime() 67 68 { 68 if ( m_batteryStatus->charging())69 if (!m_batteryStatus || m_batteryStatus->charging()) 69 70 return std::numeric_limits<double>::infinity(); 70 71 … … 74 75 double BatteryManager::level() 75 76 { 76 return m_batteryStatus ->level();77 return m_batteryStatus ? m_batteryStatus->level() : 1; 77 78 } 78 79 -
trunk/Source/WebCore/WebCore.gyp/WebCore.gyp
r113635 r113734 52 52 '../', 53 53 '../..', 54 '../Modules/battery', 54 55 '../Modules/filesystem', 55 56 '../Modules/filesystem/chromium', -
trunk/Source/WebCore/WebCore.gypi
r113681 r113734 747 747 ], 748 748 'webcore_bindings_idl_files': [ 749 'Modules/battery/BatteryManager.idl', 750 'Modules/battery/NavigatorBattery.idl', 749 751 'Modules/filesystem/DOMFileSystem.idl', 750 752 'Modules/filesystem/DOMFileSystemSync.idl', … … 1330 1332 ], 1331 1333 'webcore_files': [ 1334 'Modules/battery/BatteryClient.h', 1335 'Modules/battery/BatteryController.cpp', 1336 'Modules/battery/BatteryController.h', 1337 'Modules/battery/BatteryManager.cpp', 1338 'Modules/battery/BatteryManager.h', 1339 'Modules/battery/BatteryStatus.cpp', 1340 'Modules/battery/BatteryStatus.h', 1341 'Modules/battery/NavigatorBattery.cpp', 1342 'Modules/battery/NavigatorBattery.h', 1332 1343 'Modules/filesystem/DOMFilePath.cpp', 1333 1344 'Modules/filesystem/DOMFilePath.h', -
trunk/Source/WebKit/chromium/ChangeLog
r113729 r113734 1 2012-04-10 Sadrul Habib Chowdhury <sadrul@chromium.org> 2 3 [chromium] Add Battery Status API support. 4 5 The battery-client (BatteryClientChromium) will notify the client (WebBatteryStatusClient) when to start or stop 6 sending battery status updates. The client, in response will send the notifications to WebViewImpl, which sends 7 this update information to the WebCore::BatteryClient, and it triggers the appropriate javascript-callbacks. 8 The spec is at http://www.w3.org/TR/2011/WD-battery-status-20111129/. 9 https://bugs.webkit.org/show_bug.cgi?id=83284 10 11 Reviewed by Adam Barth. 12 13 * WebKit.gyp: 14 * features.gypi: 15 * public/WebBatteryStatus.h: Added. 16 (WebKit): 17 (WebBatteryStatus): 18 (WebKit::WebBatteryStatus::WebBatteryStatus): 19 * public/WebBatteryStatusClient.h: Added. 20 (WebKit): 21 (WebBatteryStatusClient): 22 (WebKit::WebBatteryStatusClient::~WebBatteryStatusClient): 23 * public/WebView.h: 24 (WebKit): 25 (WebView): 26 (WebKit::WebView::updateBatteryStatus): 27 * public/WebViewClient.h: 28 (WebKit): 29 (WebViewClient): 30 (WebKit::WebViewClient::batteryStatusClient): 31 * src/BatteryClientImpl.cpp: Added. 32 (WebKit): 33 (WebKit::BatteryClientImpl::BatteryClientImpl): 34 (WebKit::BatteryClientImpl::updateBatteryStatus): 35 (WebKit::BatteryClientImpl::setController): 36 (WebKit::BatteryClientImpl::startUpdating): 37 (WebKit::BatteryClientImpl::stopUpdating): 38 (WebKit::BatteryClientImpl::batteryControllerDestroyed): 39 * src/BatteryClientImpl.h: Added. 40 (WebKit): 41 (BatteryClientImpl): 42 (WebKit::BatteryClientImpl::~BatteryClientImpl): 43 * src/WebViewImpl.cpp: 44 (WebKit::WebViewImpl::WebViewImpl): 45 (WebKit): 46 (WebKit::WebViewImpl::updateBatteryStatus): 47 * src/WebViewImpl.h: 48 (WebKit): 49 (WebViewImpl): 50 1 51 2012-04-10 Zhenyao Mo <zmo@google.com> 2 52 -
trunk/Source/WebKit/chromium/WebKit.gyp
r113635 r113734 103 103 'public/WebAudioSourceProviderClient.h', 104 104 'public/WebAutofillClient.h', 105 'public/WebBatteryStatus.h', 106 'public/WebBatteryStatusClient.h', 105 107 'public/WebBindings.h', 106 108 'public/WebBlob.h', … … 370 372 'src/BackForwardListChromium.cpp', 371 373 'src/BackForwardListChromium.h', 374 'src/BatteryClientImpl.cpp', 375 'src/BatteryClientImpl.h', 372 376 'src/BlobRegistryProxy.cpp', 373 377 'src/BlobRegistryProxy.h', -
trunk/Source/WebKit/chromium/features.gypi
r113635 r113734 34 34 'feature_defines': [ 35 35 'ENABLE_3D_PLUGIN=1', 36 'ENABLE_BATTERY_STATUS=1', 36 37 'ENABLE_BLOB=1', 37 38 'ENABLE_BLOB_SLICE=1', -
trunk/Source/WebKit/chromium/public/WebView.h
r113635 r113734 42 42 class WebAccessibilityObject; 43 43 class WebAutofillClient; 44 class WebBatteryStatus; 44 45 class WebDevToolsAgent; 45 46 class WebDevToolsAgentClient; … … 455 456 virtual void removePageOverlay(WebPageOverlay*) = 0; 456 457 458 // Battery status API support ------------------------------------------- 459 460 // Updates the battery status in the BatteryClient. This also triggers the 461 // appropriate JS events (e.g. sends a 'levelchange' event to JS if the 462 // level is changed in this update from the previous update). 463 virtual void updateBatteryStatus(const WebBatteryStatus&) { } 464 457 465 // Testing functionality for LayoutTestController ----------------------- 458 466 -
trunk/Source/WebKit/chromium/public/WebViewClient.h
r113635 r113734 49 49 50 50 class WebAccessibilityObject; 51 class WebBatteryStatusClient; 51 52 class WebColorChooser; 52 53 class WebColorChooserClient; … … 326 327 virtual WebDeviceOrientationClient* deviceOrientationClient() { return 0; } 327 328 329 // Battery Status ------------------------------------------------------ 330 331 // Access the embedder API for battery status services. 332 virtual WebBatteryStatusClient* batteryStatusClient() { return 0; } 328 333 329 334 // Zoom ---------------------------------------------------------------- -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r113709 r113734 36 36 #include "AutofillPopupMenuClient.h" 37 37 #include "BackForwardListChromium.h" 38 #include "BatteryClientImpl.h" 38 39 #include "CSSStyleSelector.h" 39 40 #include "CSSValueKeywords.h" … … 387 388 , m_deviceOrientationClientProxy(adoptPtr(new DeviceOrientationClientProxy(client ? client->deviceOrientationClient() : 0))) 388 389 , m_geolocationClientProxy(adoptPtr(new GeolocationClientProxy(client ? client->geolocationClient() : 0))) 390 #if ENABLE(BATTERY_STATUS) 391 , m_batteryClient(adoptPtr(new BatteryClientImpl(client ? client->batteryStatusClient() : 0))) 392 #endif 389 393 , m_emulatedTextZoomFactor(1) 390 394 #if ENABLE(MEDIA_STREAM) … … 424 428 provideGeolocationTo(m_page.get(), m_geolocationClientProxy.get()); 425 429 m_geolocationClientProxy->setController(GeolocationController::from(m_page.get())); 430 431 #if ENABLE(BATTERY_STATUS) 432 provideBatteryTo(m_page.get(), m_batteryClient.get()); 433 #endif 426 434 427 435 m_page->setGroupName(pageGroupName); … … 1374 1382 } 1375 1383 1384 #if ENABLE(BATTERY_STATUS) 1385 void WebViewImpl::updateBatteryStatus(const WebBatteryStatus& status) 1386 { 1387 m_batteryClient->updateBatteryStatus(status); 1388 } 1389 #endif 1390 1376 1391 void WebViewImpl::animate(double) 1377 1392 { -
trunk/Source/WebKit/chromium/src/WebViewImpl.h
r113688 r113734 82 82 class AutocompletePopupMenuClient; 83 83 class AutofillPopupMenuClient; 84 class BatteryClientImpl; 84 85 class ContextMenuClientImpl; 85 86 class DeviceOrientationClientProxy; … … 258 259 virtual void addPageOverlay(WebPageOverlay*, int /* zOrder */); 259 260 virtual void removePageOverlay(WebPageOverlay*); 261 #if ENABLE(BATTERY_STATUS) 262 virtual void updateBatteryStatus(const WebBatteryStatus&); 263 #endif 260 264 virtual void transferActiveWheelFlingAnimation(const WebActiveWheelFlingParameters&); 261 265 … … 750 754 OwnPtr<DeviceOrientationClientProxy> m_deviceOrientationClientProxy; 751 755 OwnPtr<GeolocationClientProxy> m_geolocationClientProxy; 756 #if ENABLE(BATTERY_STATUS) 757 OwnPtr<BatteryClientImpl> m_batteryClient; 758 #endif 752 759 753 760 float m_emulatedTextZoomFactor;
Note: See TracChangeset
for help on using the changeset viewer.