Not able to remove x-frame-options header

An API I am using I need to load it in an iframe, but it keeps busting out because it has X-Frame-Options: SAMEORIGIN set. So I did this:

browser.webRequest.onHeadersReceived.addListener(listener, { urls:['https://www.sandbox.*'] }, ['blocking', 'responseHeaders']);

function paypalWebRequestListener(detail) {
	let { url, tabId:tabid, responseHeaders:headers } = detail;

  let ix_xframeoptions = headers.findIndex( ({name}) => name == 'x-frame-options' );
  if (ix_xframeoptions > -1) {
    let newheaders = headers.splice(ix_xframeoptions, 1);
    return { responseHeaders:newheaders };
  }
}

However in the browser console I get these errors:

Error setting response header content-encoding: [Exception… “Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIHttpChannel.setResponseHeader]” nsresult: “0x80070057 (NS_ERROR_ILLEGAL_VALUE)” location: “JS frame :: resource://gre/modules/WebRequest.jsm :: setHeader :: line 216” data: no] WebRequest.jsm:219
Error setting response header transfer-encoding: [Exception… “Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIHttpChannel.setResponseHeader]” nsresult: “0x80070057 (NS_ERROR_ILLEGAL_VALUE)” location: “JS frame :: resource://gre/modules/WebRequest.jsm :: setHeader :: line 216” data: no] WebRequest.jsm:219
Error setting response header content-type: [Exception… “Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIHttpChannel.setResponseHeader]” nsresult: “0x80070057 (NS_ERROR_ILLEGAL_VALUE)” location: “JS frame :: resource://gre/modules/WebRequest.jsm :: setHeader :: line 216” data: no] WebRequest.jsm:219

Am I doing something wrong?