From 3ffe71e020ea8e3597c2835f1ba0ebb8fb85ab9e Mon Sep 17 00:00:00 2001 From: "tyoshino@chromium.org" Date: Fri, 8 Jan 2010 03:38:29 +0000 Subject: Reason: Linux Builder (ChromiumOS) failed. http://chrome-buildbot.corp.google.com:8010/builders/Linux%20Builder%20(ChromiumOS)/builds/2050/steps/compile/logs/stdio Please add changes to external_cookie_handler_unittest.cc no to break compilation and reland? ---- Revert 35769 - Deleting cookies by setting the expires attribute on them with an empty value would not work in ChromeFrame with the host network stack enabled. When we receive a response in the host browser (IE) we send over the response headers which include the SetCookie header and a list of cookies retreived via the InternetGetCookie API. We call this API to retrieve the persistent cookies and send them over to Chrome. However this API returns session cookies as well as persistent cookies. There is no documented way to return only persistent cookies from IE. As a result we would end up setting duplicate cookies in Chrome, which caused this issu.e. To workaround this issue when we receive the response in the url request automation job which handles ChromeFrame network requests, we strip out duplicate cookies sent via InternetGetCookie. When a script deletes a cookie we now handle it correctly in IE and set the data to an empty string. However this does not delete the cookie. When such cookies show up in Chrome, we strip them out as well. Fixes bug http://code.google.com/p/chromium/issues/detail?id=30786 The changes to chrome_frame_npapi.cc/.h are to move the NPAPI functions to the chrome_frame namespace as they conflict with similar functions in NACL. Added the DeleteCookie function to the CookieStore interface, which I think missed out by oversight. Bug=30786 Test=Covered by ChromeFrame unit tests. I also added a unit test to test the newly added URLRequestAutomationJob::IsCookiePresentInCookieHeader function Review URL: http://codereview.chromium.org/518054 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/517070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35771 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome_frame/chrome_frame_npapi_entrypoints.h | 39 --------------------------- 1 file changed, 39 deletions(-) delete mode 100644 chrome_frame/chrome_frame_npapi_entrypoints.h (limited to 'chrome_frame/chrome_frame_npapi_entrypoints.h') diff --git a/chrome_frame/chrome_frame_npapi_entrypoints.h b/chrome_frame/chrome_frame_npapi_entrypoints.h deleted file mode 100644 index 00b34fd..0000000 --- a/chrome_frame/chrome_frame_npapi_entrypoints.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_FRAME_CHROME_FRAME_NPAPI_ENTRYPOINTS_H_ -#define CHROME_FRAME_CHROME_FRAME_NPAPI_ENTRYPOINTS_H_ - -#include "chrome_frame/np_browser_functions.h" - -namespace chrome_frame { - -NPError NPP_New(NPMIMEType plugin_type, NPP instance, uint16 mode, int16 argc, - char* argn[], char* argv[], NPSavedData* saved); - -NPError NPP_Destroy(NPP instance, NPSavedData** save); - -NPError NPP_SetWindow(NPP instance, NPWindow* window_info); - -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, - NPBool seekable, uint16* stream_type); - -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason); - -NPError NPP_GetValue(NPP instance, NPPVariable variable, void* value); - -NPError NPP_SetValue(NPP instance, NPNVariable variable, void* value); - -int32 NPP_WriteReady(NPP instance, NPStream* stream); - -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, - void* buffer); -void NPP_URLNotify(NPP instance, const char* url, NPReason reason, - void* notifyData); - -void NPP_Print(NPP instance, NPPrint* print_info); - -} // namespace chrome_frame - -#endif // CHROME_FRAME_CHROME_FRAME_NPAPI_ENTRYPOINTS_H_ -- cgit v1.1