Jacek Caban : wininet: Added semi-stub INTERNET_OPTION_END_BROWSER_SESSION implementation.

Alexandre Julliard julliard at winehq.org
Wed Jul 6 09:57:32 CDT 2016


Module: wine
Branch: master
Commit: 27ea3804ddc8077fedb7a0ea81ac96910f78a26f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=27ea3804ddc8077fedb7a0ea81ac96910f78a26f

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jul  6 13:44:15 2016 +0200

wininet: Added semi-stub INTERNET_OPTION_END_BROWSER_SESSION implementation.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wininet/internet.c       |  3 ++-
 dlls/wininet/tests/internet.c | 23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index d3d6a38..19cf470 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -2805,7 +2805,8 @@ BOOL WINAPI InternetSetOptionW(HINTERNET hInternet, DWORD dwOption,
         FIXME("Option INTERNET_OPTION_RESET_URLCACHE_SESSION: STUB\n");
         break;
     case INTERNET_OPTION_END_BROWSER_SESSION:
-        FIXME("Option INTERNET_OPTION_END_BROWSER_SESSION: STUB\n");
+        FIXME("Option INTERNET_OPTION_END_BROWSER_SESSION: semi-stub\n");
+        free_cookie();
         break;
     case INTERNET_OPTION_CONNECTED_STATE:
         FIXME("Option INTERNET_OPTION_CONNECTED_STATE: STUB\n");
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index ac8e9b3..5408af8 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -1173,6 +1173,28 @@ static void test_InternetSetOption(void)
     ok(ret == TRUE, "InternetCloseHandle failed: 0x%08x\n", GetLastError());
 }
 
+static void test_end_browser_session(void)
+{
+    DWORD len;
+    BOOL ret;
+
+    ret = InternetSetCookieA("http://www.example.com/test_end", NULL, "A=B");
+    ok(ret == TRUE, "InternetSetCookie failed\n");
+
+    len = 1024;
+    ret = InternetGetCookieA("http://www.example.com/test_end", NULL, NULL, &len);
+    ok(ret == TRUE,"InternetGetCookie failed\n");
+    ok(len != 0, "len = 0\n");
+
+    ret = InternetSetOptionA(NULL, INTERNET_OPTION_END_BROWSER_SESSION, NULL, 0);
+    ok(ret, "InternetSetOptio(INTERNET_OPTION_END_BROWSER_SESSION) failed: %u\n", GetLastError());
+
+    len = 1024;
+    ret = InternetGetCookieA("http://www.example.com/test_end", NULL, NULL, &len);
+    ok(!ret && GetLastError() == ERROR_NO_MORE_ITEMS, "InternetGetCookie returned %x (%u)\n", ret, GetLastError());
+    ok(!len, "len = %u\n", len);
+}
+
 #define verifyProxyEnable(e) r_verifyProxyEnable(__LINE__, e)
 static void r_verifyProxyEnable(LONG l, DWORD exp)
 {
@@ -1805,4 +1827,5 @@ START_TEST(internet)
         win_skip("Privacy[SG]etZonePreferenceW are not available\n");
 
     test_InternetSetOption();
+    test_end_browser_session();
 }




More information about the wine-cvs mailing list