code: function _onReady() {
              if (!this.disposed && !this.ready) {
                  this.ready = true;
  
                  // Handshake was successful, Channel is ready for messages
                  // Set the counter back to original value for dealing with iframe reloads
                  this.handshakeAttempts = this.handshakeAttemptsOrig;
  
                  // Process queued messages if any
                  if (this.messageQueue && this.messageQueue.length) {
                      PostMessageUtilities.delay(function() {
                          var message;
                          var parsed;
  
                          if (!this.disposed && this.ready) {
                              while (this.messageQueue && this.messageQueue.length) {
                                  message = this.messageQueue.shift();
                                  try {
                                      parsed = _prepareMessage.call(this, message);
                                      this.receiver.postMessage(parsed);
                                  }
                                  catch(ex) {
                                      /* istanbul ignore next  */
                                      PostMessageUtilities.log("Error while trying to post the message from queue", "ERROR", "PostMessageChannel");
                                  }
                              }
  
                              // Invoke the callback for ready
                              this.onready();
                          }
                      }.bind(this));
                  }
                  else {
                      // Invoke the callback for ready
                      this.onready();
                  }
              }
          }
docs: Method to mark ready, and process queued/waiting messages if any
  @private