Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,93 @@
/* global oauthflow */
'use strict';
/*
* Module: Facebook integration
*
* This script file contains all the logic that allows to obtain an access
* token through an OAuth 2.0 implicit grant flow
*
*
*
*/
if (typeof window.oauthflow === 'undefined') {
(function(document) {
var OAuthFlow = window.oauthflow = {};
var OAUTH_REDIRECT = 'redirectURI';
var ENDPOINT = 'loginPage';
var APP_ID = 'applicationId';
var SCOPE = 'scope';
var APP_ORIGIN = location.origin;
/**
* Initialization function it tries to find an access token
*
*/
OAuthFlow.init = function(service) {
var hash = document.location.hash.substring(1);
var parameters = {};
var dataStart = hash.indexOf('access_token');
if (dataStart !== -1) {
var elements = hash.split('&');
elements.forEach(function(p) {
var values = p.split('=');
parameters[values[0]] = values[1];
});
window.opener.postMessage(parameters, APP_ORIGIN);
// Finally the window is closed
window.close();
}
}; // init
OAuthFlow.start = function(state, service) {
getAccessToken(state, service);
};
/**
* Obtains the access token. The access token is retrieved from the local
* storage and if not present a OAuth 2.0 flow is started
*
*
*/
function getAccessToken(state, service) {
startOAuth(state, service);
}
/**
* Starts a OAuth 2.0 flow to obtain the user information
*
*/
function startOAuth(state, service) {
var params = oauthflow.params[service];
var redirect_uri = encodeURIComponent(params[OAUTH_REDIRECT]);
var scope = params[SCOPE].join(',');
var scopeParam = encodeURIComponent(scope);
var queryParams = ['client_id=' + params[APP_ID],
'redirect_uri=' + redirect_uri,
'response_type=token',
'scope=' + scopeParam,
// Only needed for Gmail (see Bug 962377)
'approval_prompt=force',
'state=' + state
]; // Query params
var query = queryParams.join('&');
var url = params[ENDPOINT] + query;
window.open(url, '', 'dialog');
}
})(document);
}