Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
michael@0 | 1 | /* Any copyright is dedicated to the Public Domain. |
michael@0 | 2 | http://creativecommons.org/publicdomain/zero/1.0/ */ |
michael@0 | 3 | |
michael@0 | 4 | /** |
michael@0 | 5 | * Tests that TraceActor is available and returns correct responses to |
michael@0 | 6 | * startTrace and stopTrace requests. |
michael@0 | 7 | */ |
michael@0 | 8 | |
michael@0 | 9 | var gDebuggee; |
michael@0 | 10 | var gClient; |
michael@0 | 11 | var gTraceClient; |
michael@0 | 12 | |
michael@0 | 13 | function run_test() |
michael@0 | 14 | { |
michael@0 | 15 | initTestTracerServer(); |
michael@0 | 16 | gDebuggee = addTestGlobal("test-tracer-actor"); |
michael@0 | 17 | gClient = new DebuggerClient(DebuggerServer.connectPipe()); |
michael@0 | 18 | gClient.connect(function() { |
michael@0 | 19 | attachTestTab(gClient, "test-tracer-actor", function(aResponse, aTabClient) { |
michael@0 | 20 | do_check_true(!!aResponse.traceActor, "TraceActor should be visible in tab"); |
michael@0 | 21 | gClient.attachTracer(aResponse.traceActor, function(aResponse, aTraceClient) { |
michael@0 | 22 | gTraceClient = aTraceClient; |
michael@0 | 23 | test_start_stop_response(); |
michael@0 | 24 | }); |
michael@0 | 25 | }); |
michael@0 | 26 | }); |
michael@0 | 27 | do_test_pending(); |
michael@0 | 28 | } |
michael@0 | 29 | |
michael@0 | 30 | function test_start_stop_response() |
michael@0 | 31 | { |
michael@0 | 32 | do_check_true(!gTraceClient.tracing, "TraceClient should start in idle state"); |
michael@0 | 33 | gTraceClient.startTrace([], null, function(aResponse) { |
michael@0 | 34 | do_check_true(!!gTraceClient.tracing, "TraceClient should be in tracing state"); |
michael@0 | 35 | do_check_true(!aResponse.error, |
michael@0 | 36 | 'startTrace should not respond with error: ' + aResponse.error); |
michael@0 | 37 | do_check_eq(aResponse.type, "startedTrace", |
michael@0 | 38 | 'startTrace response should have "type":"startedTrace" property'); |
michael@0 | 39 | do_check_eq(aResponse.why, "requested", |
michael@0 | 40 | 'startTrace response should have "why":"requested" property'); |
michael@0 | 41 | |
michael@0 | 42 | gTraceClient.stopTrace(null, function(aResponse) { |
michael@0 | 43 | do_check_true(!gTraceClient.tracing, "TraceClient should be in idle state"); |
michael@0 | 44 | do_check_true(!aResponse.error, |
michael@0 | 45 | 'stopTrace should not respond with error: ' + aResponse.error); |
michael@0 | 46 | do_check_eq(aResponse.type, "stoppedTrace", |
michael@0 | 47 | 'stopTrace response should have "type":"stoppedTrace" property'); |
michael@0 | 48 | do_check_eq(aResponse.why, "requested", |
michael@0 | 49 | 'stopTrace response should have "why":"requested" property'); |
michael@0 | 50 | |
michael@0 | 51 | finishClient(gClient); |
michael@0 | 52 | }); |
michael@0 | 53 | }); |
michael@0 | 54 | } |