Title: [201440] trunk/Source
Revision
201440
Author
[email protected]
Date
2016-05-26 16:53:25 -0700 (Thu, 26 May 2016)

Log Message

Purge PassRefPtr in Modules/battery
https://bugs.webkit.org/show_bug.cgi?id=157062

Reviewed by Darin Adler.

Use RefPtr<>& to reduce uses of PassRefPtr in WebKit.

Source/WebCore:

* Modules/battery/BatteryClient.h:
* Modules/battery/BatteryController.cpp:
(WebCore::BatteryController::BatteryController):
(WebCore::BatteryController::~BatteryController):
(WebCore::BatteryController::addListener):
(WebCore::BatteryController::removeListener):
(WebCore::BatteryController::updateBatteryStatus):
(WebCore::BatteryController::didChangeBatteryStatus):
(WebCore::provideBatteryTo):
* Modules/battery/BatteryController.h:
* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::didChangeBatteryStatus):
(WebCore::BatteryManager::updateBatteryStatus):
* Modules/battery/BatteryManager.h:
* Modules/battery/BatteryStatus.h:
* testing/Internals.cpp:
(WebCore::Internals::setBatteryStatus):

Source/WebKit2:

* WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::didChangeBatteryStatus):
(WebKit::WebBatteryManager::updateBatteryStatus):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldDispatchFakeMouseMoveEvents):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (201439 => 201440)


--- trunk/Source/WebCore/ChangeLog	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/ChangeLog	2016-05-26 23:53:25 UTC (rev 201440)
@@ -1,3 +1,30 @@
+2016-05-26  Gyuyoung Kim  <[email protected]>
+
+        Purge PassRefPtr in Modules/battery
+        https://bugs.webkit.org/show_bug.cgi?id=157062
+
+        Reviewed by Darin Adler.
+
+        Use RefPtr<>& to reduce uses of PassRefPtr in WebKit.
+
+        * Modules/battery/BatteryClient.h:
+        * Modules/battery/BatteryController.cpp:
+        (WebCore::BatteryController::BatteryController):
+        (WebCore::BatteryController::~BatteryController):
+        (WebCore::BatteryController::addListener):
+        (WebCore::BatteryController::removeListener):
+        (WebCore::BatteryController::updateBatteryStatus):
+        (WebCore::BatteryController::didChangeBatteryStatus):
+        (WebCore::provideBatteryTo):
+        * Modules/battery/BatteryController.h:
+        * Modules/battery/BatteryManager.cpp:
+        (WebCore::BatteryManager::didChangeBatteryStatus):
+        (WebCore::BatteryManager::updateBatteryStatus):
+        * Modules/battery/BatteryManager.h:
+        * Modules/battery/BatteryStatus.h:
+        * testing/Internals.cpp:
+        (WebCore::Internals::setBatteryStatus):
+
 2016-05-25  Ada Chan  <[email protected]>
 
         Add WebKitAdditions extension point in HTMLMediaElement.

Modified: trunk/Source/WebCore/Modules/battery/BatteryClient.h (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryClient.h	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryClient.h	2016-05-26 23:53:25 UTC (rev 201440)
@@ -35,7 +35,7 @@
     virtual void batteryControllerDestroyed() = 0;
 };
 
-void provideBatteryTo(Page*, BatteryClient*);
+void provideBatteryTo(Page&, BatteryClient&);
 
 }
 

Modified: trunk/Source/WebCore/Modules/battery/BatteryController.cpp (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryController.cpp	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryController.cpp	2016-05-26 23:53:25 UTC (rev 201440)
@@ -29,26 +29,25 @@
 
 namespace WebCore {
 
-BatteryController::BatteryController(BatteryClient* client)
+BatteryController::BatteryController(BatteryClient& client)
     : m_client(client)
 {
-    ASSERT(m_client);
 }
 
 BatteryController::~BatteryController()
 {
     for (auto& listener : m_listeners)
         listener->batteryControllerDestroyed();
-    m_client->batteryControllerDestroyed();
+    m_client.batteryControllerDestroyed();
 }
 
 void BatteryController::addListener(BatteryManager* batteryManager)
 {
     m_listeners.append(batteryManager);
-    m_client->startUpdating();
+    m_client.startUpdating();
 
     if (m_batteryStatus)
-        batteryManager->updateBatteryStatus(m_batteryStatus);
+        batteryManager->updateBatteryStatus(WTFMove(m_batteryStatus));
 }
 
 void BatteryController::removeListener(BatteryManager* batteryManager)
@@ -58,36 +57,34 @@
         return;
     m_listeners.remove(pos);
     if (m_listeners.isEmpty())
-        m_client->stopUpdating();
+        m_client.stopUpdating();
 }
 
-void BatteryController::updateBatteryStatus(PassRefPtr<BatteryStatus> batteryStatus)
+void BatteryController::updateBatteryStatus(RefPtr<BatteryStatus>&& batteryStatus)
 {
-    RefPtr<BatteryStatus> status = batteryStatus;
     if (m_batteryStatus) {
-        if (m_batteryStatus->charging() != status->charging())
-            didChangeBatteryStatus(WebCore::eventNames().chargingchangeEvent, status);
-        else if (status->charging() && m_batteryStatus->chargingTime() != status->chargingTime())
-            didChangeBatteryStatus(WebCore::eventNames().chargingtimechangeEvent, status);
-        else if (!status->charging() && m_batteryStatus->dischargingTime() != status->dischargingTime())
-            didChangeBatteryStatus(WebCore::eventNames().dischargingtimechangeEvent, status);
+        if (m_batteryStatus->charging() != batteryStatus->charging())
+            didChangeBatteryStatus(WebCore::eventNames().chargingchangeEvent, batteryStatus.get());
+        else if (batteryStatus->charging() && m_batteryStatus->chargingTime() != batteryStatus->chargingTime())
+            didChangeBatteryStatus(WebCore::eventNames().chargingtimechangeEvent, batteryStatus.get());
+        else if (!batteryStatus->charging() && m_batteryStatus->dischargingTime() != batteryStatus->dischargingTime())
+            didChangeBatteryStatus(WebCore::eventNames().dischargingtimechangeEvent, batteryStatus.get());
 
-        if (m_batteryStatus->level() != status->level())
-            didChangeBatteryStatus(WebCore::eventNames().levelchangeEvent, status);
+        if (m_batteryStatus->level() != batteryStatus->level())
+            didChangeBatteryStatus(WebCore::eventNames().levelchangeEvent, batteryStatus.get());
     } else {
         for (auto& listener : m_listeners)
-            listener->updateBatteryStatus(status);
+            listener->updateBatteryStatus(batteryStatus.copyRef());
     }
 
-    m_batteryStatus = status.release();
+    m_batteryStatus = WTFMove(batteryStatus);
 }
 
-void BatteryController::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus> batteryStatus)
+void BatteryController::didChangeBatteryStatus(const AtomicString& eventType, RefPtr<BatteryStatus>&& batteryStatus)
 {
     Ref<Event> event = Event::create(eventType, false, false);
-    RefPtr<BatteryStatus> battery = batteryStatus;
     for (auto& listener : m_listeners)
-        listener->didChangeBatteryStatus(event, battery);
+        listener->didChangeBatteryStatus(event, batteryStatus.copyRef());
 }
 
 const char* BatteryController::supplementName()
@@ -95,9 +92,9 @@
     return "BatteryController";
 }
 
-void provideBatteryTo(Page* page, BatteryClient* client)
+void provideBatteryTo(Page& page, BatteryClient& client)
 {
-    Supplement<Page>::provideTo(page, BatteryController::supplementName(), std::make_unique<BatteryController>(client));
+    Supplement<Page>::provideTo(&page, BatteryController::supplementName(), std::make_unique<BatteryController>(client));
 }
 
 }

Modified: trunk/Source/WebCore/Modules/battery/BatteryController.h (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryController.h	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryController.h	2016-05-26 23:53:25 UTC (rev 201440)
@@ -32,13 +32,13 @@
 
 class BatteryController : public Supplement<Page> {
 public:
-    explicit BatteryController(BatteryClient*);
+    explicit BatteryController(BatteryClient&);
     ~BatteryController();
 
     void addListener(BatteryManager*);
     void removeListener(BatteryManager*);
-    void updateBatteryStatus(PassRefPtr<BatteryStatus>);
-    void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus>);
+    void updateBatteryStatus(RefPtr<BatteryStatus>&&);
+    void didChangeBatteryStatus(const AtomicString& eventType, RefPtr<BatteryStatus>&&);
 
     static const char* supplementName();
     static BatteryController* from(Page* page) { return static_cast<BatteryController*>(Supplement<Page>::from(page, supplementName())); }
@@ -46,7 +46,7 @@
 private:
     typedef Vector<BatteryManager*> ListenerVector;
 
-    BatteryClient* m_client;
+    BatteryClient& m_client;
     ListenerVector m_listeners;
 
     RefPtr<BatteryStatus> m_batteryStatus;

Modified: trunk/Source/WebCore/Modules/battery/BatteryManager.cpp (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryManager.cpp	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryManager.cpp	2016-05-26 23:53:25 UTC (rev 201440)
@@ -77,15 +77,15 @@
     return m_batteryStatus ? m_batteryStatus->level() : 1;
 }
 
-void BatteryManager::didChangeBatteryStatus(Event& event, PassRefPtr<BatteryStatus> batteryStatus)
+void BatteryManager::didChangeBatteryStatus(Event& event, RefPtr<BatteryStatus>&& batteryStatus)
 {
-    updateBatteryStatus(batteryStatus);
+    updateBatteryStatus(WTFMove(batteryStatus));
     dispatchEvent(event);
 }
 
-void BatteryManager::updateBatteryStatus(PassRefPtr<BatteryStatus> batteryStatus)
+void BatteryManager::updateBatteryStatus(RefPtr<BatteryStatus>&& batteryStatus)
 {
-    m_batteryStatus = batteryStatus;
+    m_batteryStatus = WTFMove(batteryStatus);
 }
 
 bool BatteryManager::canSuspendForDocumentSuspension() const

Modified: trunk/Source/WebCore/Modules/battery/BatteryManager.h (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryManager.h	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryManager.h	2016-05-26 23:53:25 UTC (rev 201440)
@@ -46,8 +46,8 @@
     double dischargingTime();
     double level();
 
-    void didChangeBatteryStatus(Event&, PassRefPtr<BatteryStatus>);
-    void updateBatteryStatus(PassRefPtr<BatteryStatus>);
+    void didChangeBatteryStatus(Event&, RefPtr<BatteryStatus>&&);
+    void updateBatteryStatus(RefPtr<BatteryStatus>&&);
     void batteryControllerDestroyed() { m_batteryController = nullptr; }
 
     using RefCounted<BatteryManager>::ref;

Modified: trunk/Source/WebCore/Modules/battery/BatteryStatus.h (201439 => 201440)


--- trunk/Source/WebCore/Modules/battery/BatteryStatus.h	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebCore/Modules/battery/BatteryStatus.h	2016-05-26 23:53:25 UTC (rev 201440)
@@ -22,7 +22,7 @@
 
 #if ENABLE(BATTERY_STATUS)
 
-#include <wtf/PassRefPtr.h>
+#include <wtf/Ref.h>
 #include <wtf/RefCounted.h>
 
 namespace WebCore {

Modified: trunk/Source/WebKit2/ChangeLog (201439 => 201440)


--- trunk/Source/WebKit2/ChangeLog	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebKit2/ChangeLog	2016-05-26 23:53:25 UTC (rev 201440)
@@ -1,3 +1,18 @@
+2016-05-26  Gyuyoung Kim  <[email protected]>
+
+        Purge PassRefPtr in Modules/battery
+        https://bugs.webkit.org/show_bug.cgi?id=157062
+
+        Reviewed by Darin Adler.
+
+        Use RefPtr<>& to reduce uses of PassRefPtr in WebKit.
+
+        * WebProcess/Battery/WebBatteryManager.cpp:
+        (WebKit::WebBatteryManager::didChangeBatteryStatus):
+        (WebKit::WebBatteryManager::updateBatteryStatus):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::m_shouldDispatchFakeMouseMoveEvents):
+
 2016-05-26  Myles C. Maxfield  <[email protected]>
 
         Build fix

Modified: trunk/Source/WebKit2/WebProcess/Battery/WebBatteryManager.cpp (201439 => 201440)


--- trunk/Source/WebKit2/WebProcess/Battery/WebBatteryManager.cpp	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebKit2/WebProcess/Battery/WebBatteryManager.cpp	2016-05-26 23:53:25 UTC (rev 201440)
@@ -75,21 +75,21 @@
 
 void WebBatteryManager::didChangeBatteryStatus(const WTF::AtomicString& eventType, const WebBatteryStatus::Data& data)
 {
-    RefPtr<BatteryStatus> status = BatteryStatus::create(data.isCharging, data.chargingTime, data.dischargingTime, data.level);
+    auto status = BatteryStatus::create(data.isCharging, data.chargingTime, data.dischargingTime, data.level);
 
     for (auto* page : m_pageSet) {
         if (page->corePage())
-            BatteryController::from(page->corePage())->didChangeBatteryStatus(eventType, status.get());
+            BatteryController::from(page->corePage())->didChangeBatteryStatus(eventType, status.ptr());
     }
 }
 
 void WebBatteryManager::updateBatteryStatus(const WebBatteryStatus::Data& data)
 {
-    RefPtr<BatteryStatus> status = BatteryStatus::create(data.isCharging, data.chargingTime, data.dischargingTime, data.level);
+    auto status = BatteryStatus::create(data.isCharging, data.chargingTime, data.dischargingTime, data.level);
 
     for (auto* page : m_pageSet) {
         if (page->corePage())
-            BatteryController::from(page->corePage())->updateBatteryStatus(status.get());
+            BatteryController::from(page->corePage())->updateBatteryStatus(status.copyRef());
     }
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (201439 => 201440)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2016-05-26 23:40:37 UTC (rev 201439)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2016-05-26 23:53:25 UTC (rev 201440)
@@ -432,7 +432,7 @@
     m_drawingArea->updatePreferences(parameters.store);
 
 #if ENABLE(BATTERY_STATUS)
-    WebCore::provideBatteryTo(m_page.get(), new WebBatteryClient(this));
+    WebCore::provideBatteryTo(*m_page, *new WebBatteryClient(this));
 #endif
 #if ENABLE(GEOLOCATION)
     WebCore::provideGeolocationTo(m_page.get(), new WebGeolocationClient(this));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to