title: firefox tracking protection breaks facebook login
body: <p>I am using simple facebook login from the cookbook in my web application. If firefox have the privacy.trackingprotection.enabled setting set to true, then the following happens:</p>
  
  <ul>
  <li>the window with facebook login pops up</li>
  <li>if the user is not logged in to facebook, then it can login</li>
  <li>the process stops here</li>
  </ul>
  
  <p>I get the control to the callback if I close the window, but the login is deemed unsuccessful.</p>
  
  <p>Without tracking protection enabled, it is working (i.e. the process does not stop.</p>
  
  <p>Are there any way to use facebook login in a "tracking protection safe" mode?</p>
  
  <p>The important parts of my code:</p>
  
  <pre><code>window.fbAsyncInit = function() {
    FB.init({
      appId      : '&lt;my app id&gt;',
      cookie     : true,  // enable cookies to allow the server to access 
                          // the session
      xfbml      : true,  // parse social plugins on this page
      version    : 'v2.2' // use version 2.2
    });
  };
  
  (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js";
  fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));
  
  function FaceBook(pageScript) {
  this.pageScript = pageScript;
  this.doc = document;
  this.loggedIn = false;
  }
  
  
  FaceBook.prototype.loginCallBack = function(response) {
      var self = this;
      if (response.status === 'connected') {
          self.loggedIn = response;
          self.pageScript.login_with_facebook(response.authResponse.userID, response.authResponse.accessToken)
      } else {
          self.doc.getElementById('message').innerHTML = 'Facebook login is unsuccessful'
      } 
    }
  
  FaceBook.prototype.fblogin = function() {
      var self = this;
      if (! self.loggedIn ) {
          FB.login(function(response) {
              self.loginCallBack(response);
            });
      }
  }
  </code></pre>