- Code: Select all
bool OnRequest(scoped_refptr<CefResourceManager::Request> request) OVERRIDE {
CEF_REQUIRE_IO_THREAD();
const std::string& url = request->url();
if (url != "https://myfakeurl") {
// Not handled by this provider.
return false;
}
CefRefPtr<CefResourceHandler> handler;
... What to do here? ...
request->Continue(handler);
return true;
}
but I am unable to figure out what to do with the handler in order to return an array buffer to JavaScript.
JavaScript side is:
- Code: Select all
function myFunction()
{
var oReq = new XMLHttpRequest();
oReq.open("GET", "https://myfakeurl", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response;
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
....
}
}
;
oReq.send(null);
}
My simplistic attempt:
- Code: Select all
char buffer[3] = { 5,8,33 };
CefRefPtr<CefStreamReader> stream = CefStreamReader::CreateForData(
static_cast<void*>(buffer), sizeof buffer);
request->Continue(new CefStreamResourceHandler("application/octet-stream", stream));
doesn't result in JavaScript onload called.