Skip to content

wgpuInstanceCreateSurface fails because document is undefined #20211

Open
@Ravbug

Description

@Ravbug

I am trying to create a Surface from an HTML element:

WGPUSurfaceDescriptorFromCanvasHTMLSelector canvasDesc{
    .chain = {
        .next = nullptr,
        .sType = WGPUSType_SurfaceDescriptorFromCanvasHTMLSelector 
    },
    .selector = "#canvas"
};
WGPUSurfaceDescriptor desc{
    .nextInChain = &canvasDesc.chain,
    .label = "Surface"
};
surface = wgpuInstanceCreateSurface(instance, &desc);

However, this call fails because in calling findCanvasEventTarget it calls findEventTarget, where document is undefined and so returns undefined.

// domElement evaluates to undefined
var domElement = specialHTMLTargets[target] || (typeof document != 'undefined' ? document.querySelector(target) : undefined);

Stack trace and output:
image

Version of emscripten/emsdk:

emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.45 (ef3e4e3b044de98e1811546e0bc605c65d3412f4)
clang version 18.0.0 (https://github.com/llvm/llvm-project d1e685df45dc5944b43d2547d0138cd4a3ee4efe)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: C:\Users\Admin\Documents\emsdk\upstream\bin 

Browser version:
Chromium Version 118.0.5987.0 (Developer Build) (64-bit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions