<feed xmlns='http://www.w3.org/2005/Atom'>
<title>extreload/extension, branch master</title>
<subtitle>Reload Chrome extensions from the command line</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/extreload/'/>
<entry>
<title>Remove web extension and native messaging host</title>
<updated>2021-02-27T17:54:54+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2021-02-27T17:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/extreload/commit/?id=cbd9d28467f03569f464cbd0628fed73e4a6cd32'/>
<id>cbd9d28467f03569f464cbd0628fed73e4a6cd32</id>
<content type='text'>
This code is superseded by the Common Lisp project that communicates via
the DevTools Protocol.

The `chrome.management` API's `setEnabled()` function just allowed me to
turn extensions off and on. It didn't reload the extensions.

The DevTools Protocol allows us to execute JavaScript in the context of
an extension's background page. This allows us to run
`chrome.runtime.reload()` in an extension's context, properly reloading
the extension.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code is superseded by the Common Lisp project that communicates via
the DevTools Protocol.

The `chrome.management` API's `setEnabled()` function just allowed me to
turn extensions off and on. It didn't reload the extensions.

The DevTools Protocol allows us to execute JavaScript in the context of
an extension's background page. This allows us to run
`chrome.runtime.reload()` in an extension's context, properly reloading
the extension.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set up Native Messaging and reload extensions</title>
<updated>2021-01-17T17:34:35+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2021-01-17T17:34:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/extreload/commit/?id=bce9f260c66c7b4399d85eddc38c8d19dfa0cf43'/>
<id>bce9f260c66c7b4399d85eddc38c8d19dfa0cf43</id>
<content type='text'>
Get the extension IDs from the Native Messaging host and reload the
specified extensions. Also reload the current tab.

Turns out this doesn't work the way I expected. It does disable and
re-enable the extension, but it doesn't reload the extension as with
`chrome.runtime.reload()`. This means the specified extension isn't
reloaded with the latest code changes.

Unfortunately, it looks like there's no API to do what I want, and
unless there's some magic in the `chrome.debugger` API I'll have to give
up on this project.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Get the extension IDs from the Native Messaging host and reload the
specified extensions. Also reload the current tab.

Turns out this doesn't work the way I expected. It does disable and
re-enable the extension, but it doesn't reload the extension as with
`chrome.runtime.reload()`. This means the specified extension isn't
reloaded with the latest code changes.

Unfortunately, it looks like there's no API to do what I want, and
unless there's some magic in the `chrome.debugger` API I'll have to give
up on this project.
</pre>
</div>
</content>
</entry>
<entry>
<title>manifest.json: Add public key</title>
<updated>2021-01-17T15:09:02+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2021-01-17T15:07:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/extreload/commit/?id=05544f7b31667c3a74d3ab254d53475e0f201b0d'/>
<id>05544f7b31667c3a74d3ab254d53475e0f201b0d</id>
<content type='text'>
Allows us to get a permanent extension ID that we can refer to for
Native Messaging (ID: pacpdcpgfbpkdpmhfaljffnfbdanmblh).

Generated the key with:

    $ openssl rsa -in key.pem -pubout -outform DER 2&gt;/dev/null | openssl base64 -A &amp;&amp; echo

Using the explanation provided by Rob W
(https://stackoverflow.com/users/938089/rob-w) on Stack Overflow:
https://stackoverflow.com/questions/23873623/obtaining-chrome-extension-id-for-development/23877974#23877974
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows us to get a permanent extension ID that we can refer to for
Native Messaging (ID: pacpdcpgfbpkdpmhfaljffnfbdanmblh).

Generated the key with:

    $ openssl rsa -in key.pem -pubout -outform DER 2&gt;/dev/null | openssl base64 -A &amp;&amp; echo

Using the explanation provided by Rob W
(https://stackoverflow.com/users/938089/rob-w) on Stack Overflow:
https://stackoverflow.com/questions/23873623/obtaining-chrome-extension-id-for-development/23877974#23877974
</pre>
</div>
</content>
</entry>
<entry>
<title>Add manifest.json</title>
<updated>2021-01-17T14:46:28+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2021-01-17T14:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/extreload/commit/?id=2a5a08d91b800b21b207d282dadb47d4266ddcac'/>
<id>2a5a08d91b800b21b207d282dadb47d4266ddcac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
