mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-15 19:57:29 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
56
toolkit/components/thumbnails/test/thumbnails_update.sjs
Normal file
56
toolkit/components/thumbnails/test/thumbnails_update.sjs
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
// This server-side script is used for browser_thumbnails_update. One of the
|
||||
// main things it must do in all cases is ensure a Cache-Control: no-store
|
||||
// header, so the foreground capture doesn't interfere with the testing.
|
||||
|
||||
// If the querystring is "simple", then all it does it return some content -
|
||||
// it doesn't really matter what that content is.
|
||||
|
||||
// Otherwise, its main role is that it must return different *content* for the
|
||||
// second request than it did for the first.
|
||||
// Also, it should be able to return an error response when requested for the
|
||||
// second response.
|
||||
// So the basic tests will be to grab the thumbnail, then request it to be
|
||||
// grabbed again:
|
||||
// * If the second request succeeded, the new thumbnail should exist.
|
||||
// * If the second request is an error, the new thumbnail should be ignored.
|
||||
|
||||
function handleRequest(aRequest, aResponse) {
|
||||
aResponse.setHeader("Content-Type", "text/html;charset=utf-8", false);
|
||||
// we want to disable gBrowserThumbnails on-load capture for these responses,
|
||||
// so set as a "no-store" response.
|
||||
aResponse.setHeader("Cache-Control", "no-store");
|
||||
|
||||
// for the simple test - just return some content.
|
||||
if (aRequest.queryString == "simple") {
|
||||
aResponse.write("<html><body></body></html>");
|
||||
aResponse.setStatusLine(aRequest.httpVersion, 200, "Its simply OK");
|
||||
return;
|
||||
}
|
||||
|
||||
// it's one of the more complex tests where the first request for the given
|
||||
// URL must return different content than the second, and possibly an error
|
||||
// response for the second
|
||||
let doneError = getState(aRequest.queryString);
|
||||
if (!doneError) {
|
||||
// first request - return a response with a green body and 200 response.
|
||||
aResponse.setStatusLine(aRequest.httpVersion, 200, "OK - It's green");
|
||||
aResponse.write("<html><body bgcolor=00ff00></body></html>");
|
||||
// set the state so the next request does the "second request" thing below.
|
||||
setState(aRequest.queryString, "yep");
|
||||
} else {
|
||||
// second request - this will be done by the b/g service.
|
||||
// We always return a red background, but depending on the query string we
|
||||
// return either a 200 or 401 response.
|
||||
if (aRequest.queryString == "fail")
|
||||
aResponse.setStatusLine(aRequest.httpVersion, 401, "Oh no you don't");
|
||||
else
|
||||
aResponse.setStatusLine(aRequest.httpVersion, 200, "OK - It's red");
|
||||
aResponse.write("<html><body bgcolor=ff0000></body></html>");
|
||||
// reset the error state incase this ends up being reused for the
|
||||
// same url and querystring.
|
||||
setState(aRequest.queryString, "");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue