chrome-extensions-samples/functional-samples/cookbook.wasm-helloworld-print
Xuezhou Dai 45bbd8d68d
Update description fields for all samples (#994)
* Update `action` sample

* Update `alarms` sample

* Update `bookmarks` sample

* Update `browsingData` sample

* Update `contentSettings` sample

* Update `cookies/cookie-clearer` sample

* Update `debugger` sample

* Update wasm functional sample

* Update `functional/cookbook.geolocation-contentscript` sample

* Update `cookbook.geolocation-offscreen` sample

* Update `cookbook.geolocation-popup` sample

* Update `cookbook.offscreen-clipboard-write` sample

* Update `cookbook.offscreen-dom` sample

* Fix browsingData description

* Fix bookmarks description

* Update offscreen document descriptions

* Update descriptions

* Update browsingData description

* Update descriptions for all api samples

* Update descriptions for cookbook samples

* Update api-samples/browsingData/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/action/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/contextMenus/basic/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/cookies/cookie-clearer/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/debugger/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update functional-samples/sample.favicon-cs/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update functional-samples/cookbook.sidepanel-site-specific/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/omnibox/new-tab-search/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/devtools/inspectedWindow/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Update api-samples/override/blank_ntp/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Apply suggestions from code review

Co-authored-by: Joe Medley <jmedley@google.com>

* Update wasm samples description

* Update description

* Update functional-samples/sample.co2meter/manifest.json

Co-authored-by: Joe Medley <jmedley@google.com>

* Apply suggestions from code review

---------

Co-authored-by: Joe Medley <jmedley@google.com>
Co-authored-by: Oliver Dunk <oliver@oliverdunk.com>
2023-08-17 18:19:42 +01:00
..
wasm Add wasm sample (#841) 2023-05-12 10:58:20 +01:00
README.md Add helpful links to WASM readme (#920) 2023-05-18 08:50:09 -05:00
background.js Add wasm sample (#841) 2023-05-12 10:58:20 +01:00
manifest.json Update description fields for all samples (#994) 2023-08-17 18:19:42 +01:00

README.md

Using WASM as a module in Manifest V3

This recipe shows how to use WASM in Manifest V3.

To load WASM in Manifest V3, we need to use the wasm-unsafe-eval CSP directive (Content Security Policy).

Overview

Running this extension

  1. Clone this repository.
  2. Load this directory in Chrome as an unpacked extension.
  3. Find the extension named "WASM Load Example - Helloworld" and inspect the service worker.

You will see the following output:

[from wasm] Inited.
[from wasm] Hello World!
[from wasm] Hello John

Build WASM locally

We have already built the WASM file for you. If you want to build it yourself, follow the steps below.

  1. Install Rust.

  2. Install wasm-pack.

    cargo install wasm-pack
    
  3. Build WASM.

    cd wasm
    wasm-pack build --target web
    

Implementation Notes

 // manifest.json
 ...
 "background": {
     "service_worker": "background.js",
+    "type": "module"
 },
 ...