javascript/widgets/handler/common.js
function() {
    firebaseui.auth.storage.setPendingRedirectStatus(app.getAppId());
    app.registerPending(component.executePromiseRequest(
        /** @type {function (): !goog.Promise} */ (
            goog.bind(app.startSignInWithRedirect, app)),
        [provider],
        function() {
          // Only run below logic if the environment is potentially a Cordova
          // environment. This check is not required but will minimize the
          // need to change existing tests that assertSignInWithRedirect.
          if (firebaseui.auth.util.getScheme() !== 'file:') {
            return;
          }
          // This will resolve in a Cordova environment. Result should be
          // obtained from getRedirectResult and then treated like a
          // signInWithPopup operation.
          return app.registerPending(app.getRedirectResult()
              .then(function(result) {
                // Pass result in promise to callback handler.
                component.dispose();
                // Removes pending redirect status if sign-in with redirect
                // resolves in Cordova environment.
                firebaseui.auth.storage.removePendingRedirectStatus(
                    app.getAppId());
                firebaseui.auth.widget.handler.handle(
                    firebaseui.auth.widget.HandlerName.CALLBACK,
                    app,
                    container,
                    goog.Promise.resolve(result));
              }, signInResultErrorCallback));
        },
        providerSigninFailedCallback));
  }
function() {
    firebaseui.auth.storage.setPendingRedirectStatus(app.getAppId());
    app.registerPending(component.executePromiseRequest(
        /** @type {function (): !goog.Promise} */ (
            goog.bind(app.startSignInWithRedirect, app)),
        [provider],
        function() {
          // Only run below logic if the environment is potentially a Cordova
          // environment. This check is not required but will minimize the
          // need to change existing tests that assertSignInWithRedirect.
          if (firebaseui.auth.util.getScheme() !== 'file:') {
            return;
          }
          // This will resolve in a Cordova environment. Result should be
          // obtained from getRedirectResult and then treated like a
          // signInWithPopup operation.
          return app.registerPending(app.getRedirectResult()
              .then(function(result) {
                // Pass result in promise to callback handler.
                component.dispose();
                // Removes pending redirect status if sign-in with redirect
                // resolves in Cordova environment.
                firebaseui.auth.storage.removePendingRedirectStatus(
                    app.getAppId());
                firebaseui.auth.widget.handler.handle(
                    firebaseui.auth.widget.HandlerName.CALLBACK,
                    app,
                    container,
                    goog.Promise.resolve(result));
              }, signInResultErrorCallback));
        },
        providerSigninFailedCallback));
  }
function ( ) { firebaseui . auth . storage . setPendingRedirectStatus ( app . getAppId ( ) ) ; app . registerPending ( component . executePromiseRequest ( /** @type {function (): !goog.Promise} */ ( goog . bind ( app . startSignInWithRedirect , app ) ) , [ provider ] , function ( ) { // Only run below logic if the environment is potentially a Cordova // environment. This check is not required but will minimize the // need to change existing tests that assertSignInWithRedirect. if ( firebaseui . auth . util . getScheme ( ) !== 'file:' ) { return ; } // This will resolve in a Cordova environment. Result should be // obtained from getRedirectResult and then treated like a // signInWithPopup operation. return app . registerPending ( app . getRedirectResult ( ) . then ( function ( result ) { // Pass result in promise to callback handler. component . dispose ( ) ; // Removes pending redirect status if sign-in with redirect // resolves in Cordova environment. firebaseui . auth . storage . removePendingRedirectStatus ( app . getAppId ( ) ) ; firebaseui . auth . widget . handler . handle ( firebaseui . auth . widget . HandlerName . CALLBACK , app , container , goog . Promise . resolve ( result ) ) ; } , signInResultErrorCallback ) ) ; } , providerSigninFailedCallback ) ) ; }
Redirect processor.
Redirect processor .