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));