| Differences between
and this patch
- a/Source/WebKit2/ChangeLog +26 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2013-01-24  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-24  Michael BrĂ¼ning  <michael.bruning@digia.com>
27
2013-01-24  Michael BrĂ¼ning  <michael.bruning@digia.com>
2
28
3
        [Qt][WK2] Pages / resources cannot be loaded from qrc files.
29
        [Qt][WK2] Pages / resources cannot be loaded from qrc files.
- a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp -2 / +2 lines
Lines 68-77 EwkContext::EwkContext(PassRefPtr<WebContext> context) a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp_sec1
68
    , m_databaseManager(EwkDatabaseManager::create(m_context))
68
    , m_databaseManager(EwkDatabaseManager::create(m_context))
69
    , m_storageManager(EwkStorageManager::create(m_context))
69
    , m_storageManager(EwkStorageManager::create(m_context))
70
#if ENABLE(BATTERY_STATUS)
70
#if ENABLE(BATTERY_STATUS)
71
    , m_batteryProvider(BatteryProvider::create(m_context))
71
    , m_batteryProvider(BatteryProvider::create(toAPI(m_context.get())))
72
#endif
72
#endif
73
#if ENABLE(NETWORK_INFO)
73
#if ENABLE(NETWORK_INFO)
74
    , m_networkInfoProvider(NetworkInfoProvider::create(m_context))
74
    , m_networkInfoProvider(NetworkInfoProvider::create(toAPI(m_context.get())))
75
#endif
75
#endif
76
    , m_downloadManager(DownloadManagerEfl::create(this))
76
    , m_downloadManager(DownloadManagerEfl::create(this))
77
    , m_requestManagerClient(RequestManagerClientEfl::create(this))
77
    , 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-37 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"
34
#include "WKRetainPtr.h"
35
#include <WebKit2/WKBase.h>
35
#include <WebKit2/WKBase.h>
36
#include <wtf/PassRefPtr.h>
36
#include <wtf/PassRefPtr.h>
37
37
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 / +11 lines
Lines 28-36 a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp_sec1
28
28
29
#if ENABLE(NETWORK_INFO)
29
#if ENABLE(NETWORK_INFO)
30
30
31
#include "WKContext.h"
31
#include "WKNetworkInfoManager.h"
32
#include "WKNetworkInfoManager.h"
32
#include "WebContext.h"
33
#include "WebNetworkInfoManagerProxy.h"
34
#include <NotImplemented.h>
33
#include <NotImplemented.h>
35
34
36
using namespace WebKit;
35
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();
59
    return toNetworkInfoProvider(clientInfo)->metered();
61
}
60
}
62
61
63
PassRefPtr<NetworkInfoProvider> NetworkInfoProvider::create(PassRefPtr<WebContext> context)
62
PassRefPtr<NetworkInfoProvider> NetworkInfoProvider::create(WKContextRef context)
64
{
63
{
65
    return adoptRef(new NetworkInfoProvider(context));
64
    return adoptRef(new NetworkInfoProvider(context));
66
}
65
}
67
66
68
NetworkInfoProvider::NetworkInfoProvider(PassRefPtr<WebContext> context)
67
NetworkInfoProvider::NetworkInfoProvider(WKContextRef context)
69
    : m_context(context)
68
    : m_context(context)
70
{
69
{
71
    ASSERT(m_context);
70
    ASSERT(m_context);
72
71
72
    WKNetworkInfoManagerRef wkNetworkInfoManager = WKContextGetNetworkInfoManager(m_context.get());
73
    ASSERT(wkNetworkInfoManager);
74
73
    WKNetworkInfoProvider wkNetworkInfoProvider = {
75
    WKNetworkInfoProvider wkNetworkInfoProvider = {
74
        kWKNetworkInfoProviderCurrentVersion,
76
        kWKNetworkInfoProviderCurrentVersion,
75
        this, // clientInfo
77
        this, // clientInfo
Lines 79-92 NetworkInfoProvider::NetworkInfoProvider(PassRefPtr<WebContext> context) a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.cpp_sec3
79
        isMeteredCallback
81
        isMeteredCallback
80
    };
82
    };
81
83
82
    ASSERT(m_context->networkInfoManagerProxy());
84
    WKNetworkInfoManagerSetProvider(wkNetworkInfoManager, &wkNetworkInfoProvider);
83
    m_context->networkInfoManagerProxy()->initializeProvider(&wkNetworkInfoProvider);
84
}
85
}
85
86
86
NetworkInfoProvider::~NetworkInfoProvider()
87
NetworkInfoProvider::~NetworkInfoProvider()
87
{
88
{
88
    ASSERT(m_context->networkInfoManagerProxy());
89
    WKNetworkInfoManagerRef wkNetworkInfoManager = WKContextGetNetworkInfoManager(m_context.get());
89
    m_context->networkInfoManagerProxy()->initializeProvider(0);
90
    ASSERT(wkNetworkInfoManager);
91
92
    WKNetworkInfoManagerSetProvider(wkNetworkInfoManager, 0);
90
}
93
}
91
94
92
void NetworkInfoProvider::networkInfoControllerDestroyed()
95
void NetworkInfoProvider::networkInfoControllerDestroyed()
- a/Source/WebKit2/UIProcess/efl/NetworkInfoProvider.h -4 / +4 lines
Lines 28-34 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"
31
#include "WKRetainPtr.h"
32
#include <NetworkInfoClient.h>
32
#include <NetworkInfoClient.h>
33
#include <NetworkInfoProviderEfl.h>
33
#include <NetworkInfoProviderEfl.h>
34
#include <WebKit2/WKBase.h>
34
#include <WebKit2/WKBase.h>
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