Skip to content

DeveloperTips

Martin Paljak edited this page Jan 31, 2017 · 13 revisions

Want to develop the extension?

You arrived here because you loaded the extension in developer mode. The manifest in the source code does not contain the necessary public key (rejected by chrome web store), you need to manually add the following key to extension/manifest.json and reload the extension.

"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyt8re1RtbobElTNUxQIO9RnOV2JTtzCSMNSfTPAIOONRcOi9WET9NcwoVtplQYjbFiBXHMtI/A0agm/GHY70o4d8HxCSJOm1zuPc+PQ2hS9oxzuPfAUqXGpZQLdm1Lub7NGlFALyfaUzqg193TojMGF7cBPWoMAj7mnDq5LiHEI3vanAQQ3gG8CHO1oXMlpJCj8CpxLozYOA+iFw+B1qRSiBLGPaPwyF27DGVkgH+Ue30faRgO2EstePFC6crSzGALFRmftNUR1N+6imtMJzx7EbTsMbiqd7hCN+EzRVkvE3hHGaSvcC0tRe3jOgbqQEp4bCpxIHg1QsGmtWDyKWaQIDAQAB"

NB! If you enable "developer mode" extensions do not get automatically updated!

Normally, extensions get updated every 5 hours. If you enable developer mode, you need to update extensions yourself by clicking "update extensions" in the configuration pane.

Building the native components

  • Assumes the presence of:
    • Git
    • Python (Windows note: install both with "add executable to Path" option!)
  • Windows
    • Install Git ("set in Path")
    • Install Python ("set in Path")
    • Install VS Community Edition (or better)
    • check out: git checkout --recursive ...
    • build: make
    • test: make test
  • Linux
    • Have Qt5 development packages installed
    • check out: git checkout --recursive ...
    • build: make
    • test: make test
  • OSX
    • Have Xcode installed
    • check out: git checkout --recursive ...
    • build: make
    • test: make test

Logging

Debuging Chrome extension loading/updating

  • /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --vmodule=extension_updater=2 --enable-logging
  • ~/Library/Application\ Support/Google/Chrome/chrome_debug.log

Native host starts logging if chrome-signing.log file exists in the user's home temporary directory.

  • Windows
    • Create file %TEMP%\chrome-signing.log (for example C:\Users[user]\AppData\Local\Temp\chrome-signing.log)
  • Linux
    • Create file ~/tmp/chrome-signing.log (mkdir ~/tmp and touch ~/tmp/chrome-signing.log)
    • tail -f ~/tmp/chrome-signing.log
  • OSX
    • Similar to Linux
    • If you are debugging with XCode, then the log file location is different:
      • mkdir ~/Library/Containers/ee.ria.chrome-token-signing/Data/tmp
      • touch ~/Library/Containers/ee.ria.chrome-token-signing/Data/tmp/chrome-signing.log
      • tail -f ~/Library/Containers/ee.ria.chrome-token-signing/Data/tmp/chrome-signing.log
You can’t perform that action at this time.