Getting Started with Chrome Extensions: Tips and Tricks @ CodeMash

Getting Started with Chrome Extensions: Tips and Tricks @ CodeMash

You’ve seen Chrome extensions in the wild, maybe even installed a few into your browser — but what about writing your own? In this talk, you’ll learn the basics of Chrome extension development (from git init to publishing in the Web Store), how to avoid having your extension automatically disabled when performing upgrades, and some unexpected parts of Chrome you can hook into to take your extension to the next level.

2e055eb589fb86174fd268748b0fcd30?s=128

Andrew Dunkman

January 08, 2015
Tweet

Transcript

  1. Getting Started with Chrome Extensions @adunkman

  2. None
  3. Proper Nouns

  4. Proper Nouns Write an Extension

  5. Proper Nouns Write an Extension Publishing to the Chrome Web

    Store
  6. Proper Nouns Write an Extension Publishing to the Chrome Web

    Store Lessons Learned from Harvest
  7. Proper Nouns Write an Extension Publishing to the Chrome Web

    Store Lessons Learned from Harvest Unexpected APIs
  8. Proper Nouns

  9. Chrome App

  10. Chrome App

  11. Chrome Plugin

  12. Chrome Plugin

  13. Chrome Extension

  14. Browser Action

  15. Page Action

  16. Popup

  17. Context Menu

  18. Background Script

  19. Background Script Background Page

  20. Event Script Event Page

  21. Content Script

  22. None
  23. Browser Action

  24. Browser Action Page Action

  25. Browser Action Page Action Popup }

  26. Browser Action Page Action Popup Context Menu }

  27. Browser Action Page Action Popup Context Menu Background Script }

  28. Browser Action Page Action Popup Context Menu Background Script Background

    Page }
  29. Browser Action Page Action Popup Context Menu Background Script Background

    Page Event Script }
  30. Browser Action Page Action Popup Context Menu Background Script Background

    Page Event Script Event Page }
  31. Browser Action Page Action Popup Context Menu Background Script Background

    Page Event Script Event Page Persistence }
  32. Browser Action Page Action Popup Context Menu Background Script Background

    Page Event Script Event Page Content Script }
  33. Browser Action Page Action Popup Context Menu Background Script Background

    Page Event Script Event Page Content Script } Website
  34. It’s just JavaScript and HTML.

  35. Let’s get to ironing.

  36. None
  37. Chrome Web Store

  38. .zip file

  39. $5

  40. Unexpected APIs

  41. Override Chrome URLs newtab, bookmarks, history

  42. Manipulate History add/edit/remove entries, clear cookies chrome.history, chrome.browsingData

  43. Modify Cookies watch entries, view/edit/remove (including HTTPOnly) chrome.cookies

  44. Take a Screenshot whole screen, window, tab chrome.desktopCapture

  45. Download Files initiate/cancel downloads, monitor status chrome.downloads

  46. Manage Tabs, Windows create/update/reorder tabs/windows chrome.tabs, chrome.windows

  47. Jank Up Requests analyze, edit, block requests, modify response headers

    chrome.webRequest
  48. Harvest for Chrome

  49. Our Mistakes

  50. Slow Publishes

  51. None
  52. Increasing Permissions

  53. None
  54. None
  55. None
  56. Editing Responses

  57. None
  58. With great power comes great responsibility.

  59. With great power comes terrible bugs.

  60. Content Script Sandbox

  61. None
  62. It’s just JavaScript and HTML.

  63. Getting Started with Chrome Extensions @adunkman getharvest.com/careers