| Differences between
and this patch
- a/Source/WebKit2/ChangeLog +26 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2013-01-30  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2
3
        [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
4
        https://bugs.webkit.org/show_bug.cgi?id=107821
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        BatteryProvider and NetworkInfoProvider should use C API
9
        instead of accessing the internal C++ classes directly.
10
11
        * UIProcess/API/efl/ewk_context.cpp:
12
        (EwkContext::EwkContext):
13
        * UIProcess/efl/BatteryProvider.cpp:
14
        (BatteryProvider::~BatteryProvider):
15
        (BatteryProvider::create):
16
        (BatteryProvider::BatteryProvider):
17
        (BatteryProvider::didChangeBatteryStatus):
18
        * UIProcess/efl/BatteryProvider.h:
19
        (BatteryProvider):
20
        * UIProcess/efl/NetworkInfoProvider.cpp:
21
        (NetworkInfoProvider::create):
22
        (NetworkInfoProvider::NetworkInfoProvider):
23
        (NetworkInfoProvider::~NetworkInfoProvider):
24
        * UIProcess/efl/NetworkInfoProvider.h:
25
        (NetworkInfoProvider):
26
1
2013-01-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
27
2013-01-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2
28
3
        [EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
29
        [EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
- a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp -2 / +2 lines
Lines 69-78 EwkContext::EwkContext(PassRefPtr<WebContext> context) a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp_sec1
69
    , m_databaseManager(EwkDatabaseManager::create(WKContextGetDatabaseManager(toAPI(m_context.get()))))
69
    , m_databaseManager(EwkDatabaseManager::create(WKContextGetDatabaseManager(toAPI(m_context.get()))))
70
    , m_storageManager(EwkStorageManager::create(WKContextGetKeyValueStorageManager(toAPI(m_context.get()))))
70
    , m_storageManager(EwkStorageManager::create(WKContextGetKeyValueStorageManager(toAPI(m_context.get()))))
71
#if ENABLE(BATTERY_STATUS)
71
#if ENABLE(BATTERY_STATUS)
72
    , m_batteryProvider(BatteryProvider::create(m_context))
72
    , m_batteryProvider(BatteryProvider::create(toAPI(m_context.get())))
73
#endif
73
#endif
74
#if ENABLE(NETWORK_INFO)
74
#if ENABLE(NETWORK_INFO)
75
    , m_networkInfoProvider(NetworkInfoProvider::create(m_context))
75
    , m_networkInfoProvider(NetworkInfoProvider::create(toAPI(m_context.get())))
76
#endif
76
#endif
77
    , m_downloadManager(DownloadManagerEfl::create(this))
77
    , m_downloadManager(DownloadManagerEfl::create(this))
78
    , m_requestManagerClient(RequestManagerClientEfl::create(this))
78
    , m_requestManagerClient(RequestManagerClientEfl::create(this))
- a/Source/WebKit2/UIProcess/efl/BatteryProvider.cpp -14 / +10 lines
Lines 30-38 a/Source/WebKit2/UIProcess/efl/BatteryProvider.cpp_sec1
30
30
31
#include "WKAPICast.h"
31
#include "WKAPICast.h"
32
#include "WKBatteryManager.h"
32
#include "WKBatteryManager.h"
33
#include "WebBatteryManagerProxy.h"
33
#include "WKBatteryStatus.h"
34
#include "WebBatteryStatus.h"
35
#include "WebContext.h"
36
34
37
using namespace WebCore;
35
using namespace WebCore;
38
using namespace WebKit;
36
using namespace WebKit;
Lines 56-76 BatteryProvider::~BatteryProvider() a/Source/WebKit2/UIProcess/efl/BatteryProvider.cpp_sec2
56
{
54
{
57
    m_provider.stopUpdating();
55
    m_provider.stopUpdating();
58
56
59
    ASSERT(m_context->batteryManagerProxy());
57
    WKBatteryManagerSetProvider(m_batteryManager.get(), 0);
60
    m_context->batteryManagerProxy()->initializeProvider(0);
61
}
58
}
62
59
63
PassRefPtr<BatteryProvider> BatteryProvider::create(PassRefPtr<WebContext> context)
60
PassRefPtr<BatteryProvider> BatteryProvider::create(WKContextRef context)
64
{
61
{
65
    ASSERT(context);
62
    ASSERT(context);
66
    return adoptRef(new BatteryProvider(context));
63
    return adoptRef(new BatteryProvider(context));
67
}
64
}
68
65
69
BatteryProvider::BatteryProvider(PassRefPtr<WebContext> context)
66
BatteryProvider::BatteryProvider(WKContextRef context)
70
    : m_context(context)
67
    : m_batteryManager(WKContextGetBatteryManager(context))
71
    , m_provider(this)
68
    , m_provider(this)
72
{
69
{
73
    ASSERT(m_context);
70
    ASSERT(m_batteryManager);
74
71
75
    WKBatteryProvider wkBatteryProvider = {
72
    WKBatteryProvider wkBatteryProvider = {
76
        kWKBatteryProviderCurrentVersion,
73
        kWKBatteryProviderCurrentVersion,
Lines 79-86 BatteryProvider::BatteryProvider(PassRefPtr<WebContext> context) a/Source/WebKit2/UIProcess/efl/BatteryProvider.cpp_sec3
79
        stopUpdatingCallback
76
        stopUpdatingCallback
80
    };
77
    };
81
78
82
    ASSERT(m_context->batteryManagerProxy());
79
    WKBatteryManagerSetProvider(m_batteryManager.get(), &wkBatteryProvider);
83
    m_context->batteryManagerProxy()->initializeProvider(&wkBatteryProvider);
84
}
80
}
85
81
86
void BatteryProvider::startUpdating()
82
void BatteryProvider::startUpdating()
Lines 95-103 void BatteryProvider::stopUpdating() a/Source/WebKit2/UIProcess/efl/BatteryProvider.cpp_sec4
95
91
96
void BatteryProvider::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus> status)
92
void BatteryProvider::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus> status)
97
{
93
{
98
    RefPtr<WebBatteryStatus> batteryStatus = WebBatteryStatus::create(status->charging(), status->chargingTime(), status->dischargingTime(), status->level());
94
    WKBatteryStatusRef wkBatteryStatus = WKBatteryStatusCreate(status->charging(), status->chargingTime(), status->dischargingTime(), status->level());
99
95
100
    ASSERT(m_context->batteryManagerProxy());
96
    WKRetainPtr<WKStringRef> wkEventType = adoptWK(toCopiedAPI(eventType));
101
    m_context->batteryManagerProxy()->providerDidChangeBatteryStatus(eventType, batteryStatus.get());
97
    WKBatteryManagerProviderDidChangeBatteryStatus(m_batteryManager.get(), wkEventType.get(), wkBatteryStatus);
102
}
98
}
103
#endif // ENABLE(BATTERY_STATUS)
99
#endif // ENABLE(BATTERY_STATUS)
- a/Source/WebKit2/UIProcess/efl/BatteryProvider.h -4 / +4 lines
Lines 31-38 a/Source/WebKit2/UIProcess/efl/BatteryProvider.h_sec1
31
#include "BatteryProviderEfl.h"
31
#include "BatteryProviderEfl.h"
32
#include "BatteryProviderEflClient.h"
32
#include "BatteryProviderEflClient.h"
33
#include "BatteryStatus.h"
33
#include "BatteryStatus.h"
34
#include "WebContext.h"
35
#include <WebKit2/WKBase.h>
34
#include <WebKit2/WKBase.h>
35
#include <WebKit2/WKRetainPtr.h>
36
#include <wtf/PassRefPtr.h>
36
#include <wtf/PassRefPtr.h>
37
37
38
namespace WebKit {
38
namespace WebKit {
Lines 40-57 namespace WebKit { a/Source/WebKit2/UIProcess/efl/BatteryProvider.h_sec2
40
class BatteryProvider : public RefCounted<BatteryProvider>, public WebCore::BatteryProviderEflClient {
40
class BatteryProvider : public RefCounted<BatteryProvider>, public WebCore::BatteryProviderEflClient {
41
public:
41
public:
42
    virtual ~BatteryProvider();
42
    virtual ~BatteryProvider();
43
    static PassRefPtr<BatteryProvider> create(PassRefPtr<WebContext>);
43
    static PassRefPtr<BatteryProvider> create(WKContextRef);
44
44
45
    void startUpdating();
45
    void startUpdating();
46
    void stopUpdating();
46
    void stopUpdating();
47
47
48
private:
48
private:
49
    explicit BatteryProvider(PassRefPtr<WebContext>);
49
    explicit BatteryProvider(WKContextRef);
50
50
51
    // BatteryProviderEflClient interface.
51
    // BatteryProviderEflClient interface.
52
    virtual void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<WebCore::BatteryStatus>);
52
    virtual void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<WebCore::BatteryStatus>);
53
53
54
    RefPtr<WebContext> m_context;
54
    WKRetainPtr<WKBatteryManagerRef> m_batteryManager;
55
    WebCore::BatteryProviderEfl m_provider;
55
    WebCore::BatteryProviderEfl m_provider;
56
};
56
};
57
57
- a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp -8 / +10 lines
Lines 29-36 a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp_sec1
29
#if ENABLE(NETWORK_INFO)
29
#if ENABLE(NETWORK_INFO)
30
30
31
#include "WKNetworkInfoManager.h"
31
#include "WKNetworkInfoManager.h"
32
#include "WebContext.h"
33
#include "WebNetworkInfoManagerProxy.h"
34
#include <NotImplemented.h>
32
#include <NotImplemented.h>
35
33
36
using namespace WebKit;
34
using namespace WebKit;
Lines 60-75 static bool isMeteredCallback(WKNetworkInfoManagerRef, const void* clientInfo) a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp_sec2
60
    return toNetworkInfoProvider(clientInfo)->metered();
58
    return toNetworkInfoProvider(clientInfo)->metered();
61
}
59
}
62
60
63
PassRefPtr<NetworkInfoProvider> NetworkInfoProvider::create(PassRefPtr<WebContext> context)
61
PassRefPtr<NetworkInfoProvider> NetworkInfoProvider::create(WKContextRef context)
64
{
62
{
65
    return adoptRef(new NetworkInfoProvider(context));
63
    return adoptRef(new NetworkInfoProvider(context));
66
}
64
}
67
65
68
NetworkInfoProvider::NetworkInfoProvider(PassRefPtr<WebContext> context)
66
NetworkInfoProvider::NetworkInfoProvider(WKContextRef context)
69
    : m_context(context)
67
    : m_context(context)
70
{
68
{
71
    ASSERT(m_context);
69
    ASSERT(m_context);
72
70
71
    WKNetworkInfoManagerRef wkNetworkInfoManager = WKContextGetNetworkInfoManager(m_context.get());
72
    ASSERT(wkNetworkInfoManager);
73
73
    WKNetworkInfoProvider wkNetworkInfoProvider = {
74
    WKNetworkInfoProvider wkNetworkInfoProvider = {
74
        kWKNetworkInfoProviderCurrentVersion,
75
        kWKNetworkInfoProviderCurrentVersion,
75
        this, // clientInfo
76
        this, // clientInfo
Lines 79-92 NetworkInfoProvider::NetworkInfoProvider(PassRefPtr<WebContext> context) a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp_sec3
79
        isMeteredCallback
80
        isMeteredCallback
80
    };
81
    };
81
82
82
    ASSERT(m_context->networkInfoManagerProxy());
83
    WKNetworkInfoManagerSetProvider(wkNetworkInfoManager, &wkNetworkInfoProvider);
83
    m_context->networkInfoManagerProxy()->initializeProvider(&wkNetworkInfoProvider);
84
}
84
}
85
85
86
NetworkInfoProvider::~NetworkInfoProvider()
86
NetworkInfoProvider::~NetworkInfoProvider()
87
{
87
{
88
    ASSERT(m_context->networkInfoManagerProxy());
88
    WKNetworkInfoManagerRef wkNetworkInfoManager = WKContextGetNetworkInfoManager(m_context.get());
89
    m_context->networkInfoManagerProxy()->initializeProvider(0);
89
    ASSERT(wkNetworkInfoManager);
90
91
    WKNetworkInfoManagerSetProvider(wkNetworkInfoManager, 0);
90
}
92
}
91
93
92
void NetworkInfoProvider::networkInfoControllerDestroyed()
94
void NetworkInfoProvider::networkInfoControllerDestroyed()
- a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.h -4 / +4 lines
Lines 28-37 a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.h_sec1
28
28
29
#if ENABLE(NETWORK_INFO)
29
#if ENABLE(NETWORK_INFO)
30
30
31
#include "WebContext.h"
32
#include <NetworkInfoClient.h>
31
#include <NetworkInfoClient.h>
33
#include <NetworkInfoProviderEfl.h>
32
#include <NetworkInfoProviderEfl.h>
34
#include <WebKit2/WKBase.h>
33
#include <WebKit2/WKBase.h>
34
#include <WebKit2/WKContext.h>
35
#include <WebKit2/WKRetainPtr.h>
35
#include <WebKit2/WKRetainPtr.h>
36
#include <wtf/PassRefPtr.h>
36
#include <wtf/PassRefPtr.h>
37
37
Lines 40-46 namespace WebKit { a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.h_sec2
40
class NetworkInfoProvider : public RefCounted<NetworkInfoProvider>, public WebCore::NetworkInfoClient {
40
class NetworkInfoProvider : public RefCounted<NetworkInfoProvider>, public WebCore::NetworkInfoClient {
41
public:
41
public:
42
    virtual ~NetworkInfoProvider();
42
    virtual ~NetworkInfoProvider();
43
    static PassRefPtr<NetworkInfoProvider> create(PassRefPtr<WebContext>);
43
    static PassRefPtr<NetworkInfoProvider> create(WKContextRef);
44
44
45
    // NetworkInfoClient interface.
45
    // NetworkInfoClient interface.
46
    virtual void networkInfoControllerDestroyed();
46
    virtual void networkInfoControllerDestroyed();
Lines 52-60 public: a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.h_sec3
52
    virtual void stopUpdating();
52
    virtual void stopUpdating();
53
53
54
private:
54
private:
55
    explicit NetworkInfoProvider(PassRefPtr<WebContext>);
55
    explicit NetworkInfoProvider(WKContextRef);
56
56
57
    RefPtr<WebContext> m_context;
57
    WKRetainPtr<WKContextRef> m_context;
58
    WebCore::NetworkInfoProviderEfl m_provider;
58
    WebCore::NetworkInfoProviderEfl m_provider;
59
};
59
};
60
60

Return to Bug 107821