== Topics
+* foo
+* bar
-== Native Messaging API
+== Browser Extension Loading / Debugging
https://developer.chrome.com/extensions/nativeMessaging
-The Hatch extension
-Application passes JavaScript objects to the Hatch extension
-Browser passes JSON messages
-
TODO: screen shot of hatch Icon and permission request dialog.
Note perm request only happens.
+chrome://extensions/
+Background Page
+Reload option
== Native Messaging API
TODO: Make this an image
+One instance of Hatch per browser (not per tab).
+
Application JavaScript
<=> Content Script JavaScript
<=> Extension JavaScript
Sample print message JSON.
+egCore.print.print({...}) is translated into:
+
[source,js]
---------------------------------------------------------------------------
{
- "action":"print",
- "content":"<b>Hello, World!</b>",
- "contentType":"text/html",
- "showDialog":true,
- "msgid":10,
- "from":"page",
- "clientid":5319,
- "origin":"https://eg-dev-local"
+ "action":"print",
+ "content":"<b>Hello, World!</b>",
+ "contentType":"text/html",
+ "showDialog":true,
+ "msgid":10,
+ "from":"page",
+ "clientid":5319, // set by extension
+ "origin":"https://eg.example.org", // set by extension
+ "settings":{"context":"default","printer":"HP-Deskjet-5100", ...}
}
---------------------------------------------------------------------------
1. Settings locations / properties
2. hatch.log
+== Alternate Implementations
+ Challenges
+ * headless HTML rendering + printing
+ * printer api (simpler if targeting one OS)
+
+
+== Publish Browser Extension
+
+* Chrome store