Bug 140674 - Requests made during applet teardown are missing browser managed session cookies
Summary: Requests made during applet teardown are missing browser managed session cookies
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-20 05:55 PST by Johnathon Neuschafer
Modified: 2015-01-21 22:12 PST (History)
1 user (show)

See Also:


Attachments
Sources for an applet which sends requests throughout the applet life cycle and outputs cookies (1.16 KB, application/x-zip-compressed)
2015-01-20 05:55 PST, Johnathon Neuschafer
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johnathon Neuschafer 2015-01-20 05:55:12 PST
Created attachment 244985 [details]
Sources for an applet which sends requests throughout the applet life cycle and outputs cookies

When an applet sends a request during applet teardown in the stop() or destroy() methods, the requests will not contain browser managed session cookies. The issue has been reproduced using Chrome 39 and Safari 8.0. It does not appear to be an issue with Internet Explorer 11 or Firefox 34.

I've attached sources for an applet and servlet that can be used to reproduce the issue.

Here's the Java console log with applet output and logging turned up:

basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 2071822 us, pluginInit dt 3468065 us, TotalTime: 5539887 us
basic: Applet initialized
basic: Starting applet
basic: completed perf rollup
Applet Start
Querying session to create if necessary
Cookies before sending request
network: Cache entry not found [url: http://localhost:8080/testsession/login, version: null]
network: Connecting http://localhost:8080/testsession/login with proxy=DIRECT
network: Connecting http://localhost:8080/ with proxy=DIRECT
network: Server http://localhost:8080/testsession/login requesting to set-cookie with "JSESSIONID=CC22D1BCA967E61F8CD89415E58C4389; Path=/testsession/"
cache: http://localhost:8080/testsession/login is not cacheable.
Cookies set in response
Cookie: JSESSIONID=CC22D1BCA967E61F8CD89415E58C4389; Path=/testsession/
Querying session again to ensure persistence
Cookies before sending request
network: Connecting http://localhost:8080/testsession/login with cookie "JSESSIONID=CC22D1BCA967E61F8CD89415E58C4389"
Cookie: JSESSIONID=CC22D1BCA967E61F8CD89415E58C4389
network: Cache entry not found [url: http://localhost:8080/testsession/login, version: null]
network: Connecting http://localhost:8080/testsession/login with proxy=DIRECT
network: Connecting http://localhost:8080/testsession/login with cookie "JSESSIONID=CC22D1BCA967E61F8CD89415E58C4389"
cache: http://localhost:8080/testsession/login is not cacheable.
Cookies set in response
basic: Applet made visible
basic: Applet started
basic: Told clients applet is started
basic: Starting applet teardown
Applet Stop
Cookies before sending request
network: Cache entry not found [url: http://localhost:8080/testsession/login, version: null]
network: Connecting http://localhost:8080/testsession/login with proxy=DIRECT
network: Connecting http://localhost:8080/ with proxy=DIRECT
network: Server http://localhost:8080/testsession/login requesting to set-cookie with "JSESSIONID=60B42A38C46FA019C6A0E73E162763AC; Path=/testsession/"
cache: http://localhost:8080/testsession/login is not cacheable.
Cookies set in response
Cookie: JSESSIONID=60B42A38C46FA019C6A0E73E162763AC; Path=/testsession/
Applet Destroy
Cookies before sending request
network: Cache entry not found [url: http://localhost:8080/testsession/login, version: null]
network: Connecting http://localhost:8080/testsession/login with proxy=DIRECT
network: Server http://localhost:8080/testsession/login requesting to set-cookie with "JSESSIONID=58ADF12DB2B5AE8A6D0D82F5E1209B92; Path=/testsession/"
cache: http://localhost:8080/testsession/login is not cacheable.
Cookies set in response
Cookie: JSESSIONID=58ADF12DB2B5AE8A6D0D82F5E1209B92; Path=/testsession/
basic: Finished applet teardown
basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@7ca9bd
basic: PluginMain.unregisterApplet: 15 from mananger sun.plugin2.applet.Applet2Manager@196fffc