Title: [123016] trunk/Source/WebKit2
Revision
123016
Author
[email protected]
Date
2012-07-18 14:22:00 -0700 (Wed, 18 Jul 2012)

Log Message

[WK2] Add C API for Network Information API
https://bugs.webkit.org/show_bug.cgi?id=90762

Patch by Christophe Dumez <[email protected]> on 2012-07-18
Reviewed by Kenneth Rohde Christiansen.

Add C API for WKNetworkInfo and WKNetworkInfoManager
so that they can be used by the client.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkInfoManager):
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKNetworkInfo.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
(WKNetworkInfoGetTypeID):
(WKNetworkInfoCreate):
* UIProcess/API/C/WKNetworkInfo.h: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
* UIProcess/API/C/WKNetworkInfoManager.cpp:
(WKNetworkInfoManagerSetProvider):
(WKNetworkInfoManagerProviderDidChangeNetworkInformation):
* UIProcess/API/C/WKNetworkInfoManager.h:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit2/CMakeLists.txt (123015 => 123016)


--- trunk/Source/WebKit2/CMakeLists.txt	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/CMakeLists.txt	2012-07-18 21:22:00 UTC (rev 123016)
@@ -298,6 +298,7 @@
     UIProcess/API/C/WKKeyValueStorageManager.cpp
     UIProcess/API/C/WKMediaCacheManager.cpp
     UIProcess/API/C/WKNavigationData.cpp
+    UIProcess/API/C/WKNetworkInfo.cpp
     UIProcess/API/C/WKNetworkInfoManager.cpp
     UIProcess/API/C/WKNotification.cpp
     UIProcess/API/C/WKNotificationManager.cpp

Modified: trunk/Source/WebKit2/ChangeLog (123015 => 123016)


--- trunk/Source/WebKit2/ChangeLog	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/ChangeLog	2012-07-18 21:22:00 UTC (rev 123016)
@@ -1,5 +1,30 @@
 2012-07-18  Christophe Dumez  <[email protected]>
 
+        [WK2] Add C API for Network Information API
+        https://bugs.webkit.org/show_bug.cgi?id=90762
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Add C API for WKNetworkInfo and WKNetworkInfoManager
+        so that they can be used by the client.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextGetNetworkInfoManager):
+        * UIProcess/API/C/WKContext.h:
+        * UIProcess/API/C/WKNetworkInfo.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
+        (WKNetworkInfoGetTypeID):
+        (WKNetworkInfoCreate):
+        * UIProcess/API/C/WKNetworkInfo.h: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
+        * UIProcess/API/C/WKNetworkInfoManager.cpp:
+        (WKNetworkInfoManagerSetProvider):
+        (WKNetworkInfoManagerProviderDidChangeNetworkInformation):
+        * UIProcess/API/C/WKNetworkInfoManager.h:
+
+2012-07-18  Christophe Dumez  <[email protected]>
+
         [EFL][WK2] ewk_cookie_manager_persistent_storage_set is not exported
         https://bugs.webkit.org/show_bug.cgi?id=91647
 

Modified: trunk/Source/WebKit2/GNUmakefile.list.am (123015 => 123016)


--- trunk/Source/WebKit2/GNUmakefile.list.am	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/GNUmakefile.list.am	2012-07-18 21:22:00 UTC (rev 123016)
@@ -71,6 +71,7 @@
 	$(WebKit2)/UIProcess/API/C/WKMediaCacheManager.h \
 	$(WebKit2)/UIProcess/API/C/WKNativeEvent.h \
 	$(WebKit2)/UIProcess/API/C/WKNavigationData.h \
+	$(WebKit2)/UIProcess/API/C/WKNetworkInfo.h \
 	$(WebKit2)/UIProcess/API/C/WKNetworkInfoManager.h \
 	$(WebKit2)/UIProcess/API/C/WKNotification.h \
 	$(WebKit2)/UIProcess/API/C/WKNotificationManager.h \
@@ -572,6 +573,8 @@
 	Source/WebKit2/UIProcess/API/C/WKNativeEvent.h \
 	Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp \
 	Source/WebKit2/UIProcess/API/C/WKNavigationData.h \
+	Source/WebKit2/UIProcess/API/C/WKNetworkInfo.cpp \
+	Source/WebKit2/UIProcess/API/C/WKNetworkInfo.h \
 	Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp \
 	Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.h \
 	Source/WebKit2/UIProcess/API/C/WKNotification.cpp \

Modified: trunk/Source/WebKit2/Target.pri (123015 => 123016)


--- trunk/Source/WebKit2/Target.pri	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/Target.pri	2012-07-18 21:22:00 UTC (rev 123016)
@@ -167,6 +167,7 @@
     UIProcess/API/C/WKOpenPanelParameters.h \
     UIProcess/API/C/WKOpenPanelResultListener.h \
     UIProcess/API/C/WKNavigationData.h \
+    UIProcess/API/C/WKNetworkInfo.h \
     UIProcess/API/C/WKNetworkInfoManager.h \
     UIProcess/API/C/WKNotification.h \
     UIProcess/API/C/WKNotificationManager.h \
@@ -547,6 +548,7 @@
     UIProcess/API/C/WKOpenPanelParameters.cpp \
     UIProcess/API/C/WKOpenPanelResultListener.cpp \
     UIProcess/API/C/WKNavigationData.cpp \
+    UIProcess/API/C/WKNetworkInfo.cpp \
     UIProcess/API/C/WKNetworkInfoManager.cpp \
     UIProcess/API/C/WKPage.cpp \
     UIProcess/API/C/WKPageGroup.cpp \

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (123015 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2012-07-18 21:22:00 UTC (rev 123016)
@@ -189,6 +189,15 @@
     return toAPI(toImpl(contextRef)->geolocationManagerProxy());
 }
 
+WKNetworkInfoManagerRef WKContextGetNetworkInfoManager(WKContextRef contextRef)
+{
+#if ENABLE(NETWORK_INFO)
+    return toAPI(toImpl(contextRef)->networkInfoManagerProxy());
+#else
+    return 0;
+#endif
+}
+
 WKIconDatabaseRef WKContextGetIconDatabase(WKContextRef contextRef)
 {
     return toAPI(toImpl(contextRef)->iconDatabase());

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.h (123015 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.h	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.h	2012-07-18 21:22:00 UTC (rev 123016)
@@ -155,6 +155,7 @@
 WK_EXPORT WKIconDatabaseRef WKContextGetIconDatabase(WKContextRef context);
 WK_EXPORT WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef context);
 WK_EXPORT WKMediaCacheManagerRef WKContextGetMediaCacheManager(WKContextRef context);
+WK_EXPORT WKNetworkInfoManagerRef WKContextGetNetworkInfoManager(WKContextRef context);
 WK_EXPORT WKNotificationManagerRef WKContextGetNotificationManager(WKContextRef context);
 WK_EXPORT WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef context);
 WK_EXPORT WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef context);

Copied: trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.cpp (from rev 123015, trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp) (0 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.cpp	                        (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.cpp	2012-07-18 21:22:00 UTC (rev 123016)
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2012 Intel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WKNetworkInfo.h"
+
+#if ENABLE(NETWORK_INFO)
+#include "WKAPICast.h"
+#include "WebNetworkInfo.h"
+
+using namespace WebKit;
+#endif
+
+WKTypeID WKNetworkInfoGetTypeID()
+{
+#if ENABLE(NETWORK_INFO)
+    return toAPI(WebNetworkInfo::APIType);
+#else
+    return 0;
+#endif
+}
+
+WKNetworkInfoRef WKNetworkInfoCreate(double bandwidth, bool isMetered)
+{
+#if ENABLE(NETWORK_INFO)
+    RefPtr<WebNetworkInfo> networkInfo = WebNetworkInfo::create(bandwidth, isMetered);
+    return toAPI(networkInfo.release().leakRef());
+#else
+    return 0;
+#endif
+}

Copied: trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.h (from rev 123015, trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp) (0 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.h	                        (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfo.h	2012-07-18 21:22:00 UTC (rev 123016)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2012 Intel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WKNetworkInfo_h
+#define WKNetworkInfo_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKNetworkInfoGetTypeID();
+
+WK_EXPORT WKNetworkInfoRef WKNetworkInfoCreate(double bandwidth, bool isMetered);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKNetworkInfo_h

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp (123015 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp	2012-07-18 21:22:00 UTC (rev 123016)
@@ -39,3 +39,17 @@
     return 0;
 #endif
 }
+
+void WKNetworkInfoManagerSetProvider(WKNetworkInfoManagerRef networkInfoManager, const WKNetworkInfoProvider* provider)
+{
+#if ENABLE(NETWORK_INFO)
+    toImpl(networkInfoManager)->initializeProvider(provider);
+#endif
+}
+
+void WKNetworkInfoManagerProviderDidChangeNetworkInformation(WKNetworkInfoManagerRef networkInfoManager, WKStringRef eventType, WKNetworkInfoRef networkInfo)
+{
+#if ENABLE(NETWORK_INFO)
+    toImpl(networkInfoManager)->providerDidChangeNetworkInformation(AtomicString(toImpl(eventType)->string()), toImpl(networkInfo));
+#endif
+}

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.h (123015 => 123016)


--- trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.h	2012-07-18 21:13:03 UTC (rev 123015)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.h	2012-07-18 21:22:00 UTC (rev 123016)
@@ -52,6 +52,10 @@
 
 WK_EXPORT WKTypeID WKNetworkInfoManagerGetTypeID();
 
+WK_EXPORT void WKNetworkInfoManagerSetProvider(WKNetworkInfoManagerRef networkInfoManager, const WKNetworkInfoProvider* provider);
+
+WK_EXPORT void WKNetworkInfoManagerProviderDidChangeNetworkInformation(WKNetworkInfoManagerRef networkInfoManager, WKStringRef eventType, WKNetworkInfoRef networkInfo);
+
 #ifdef __cplusplus
 }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to