On Mon, Sep 14, 2009 at 11:30 PM, Elliot Glaysher (Chromium) <[email protected]> wrote: > > I saw Evan's extension and was inspired to try something even simpler. > pinboard.in is a delicious replacement and I was motivated to move > their bookmarklet into the page action area.
cool. Thanks for the feedback. > - Getting started was a bit difficult since I didn't know about > load-extension and "Load unpacked extension" didn't appear to work (on > linux). Was very confused. Figured out there were parsing errors in my > manifest. Might want to log those messages to chrome://extensions/ > instead of just dumping them to the console. What doesn't work with load unpacked extension? It looks like all of the pieces are there and not #ifdef'd. The error log issue is here if you'd like to track it: http://code.google.com/p/chromium/issues/detail?id=21734 > - Listening to various tab events is a fairly low level API. Have you > considered a callback function that decides whether a certain URL > should be shown? > > chrome.pageActions["bookmarks].shouldShowCallback(function(url) { /* > returns true to show action */ }) > > On second thought, maybe http://crbug.com/21729 is good enough and I'm > looking at the wrong solution to the pain point... Yeah, when 21729 is fixed, let's see how it feels. My guess is that it will be about the same amount of code as your callback suggestion. > - tab.title (from chrome.tabs.get(...)) is undefined until after the > page has finished loading, which is a problem since I'm taking the > title and passing it to the bookmarking service. The title exists > somewhere; it's displayed in the on screen tab title at the time it > returns undefined to the callback. I haven't heard this one before. Could you file a bug for it? Thanks, Erik > > -- Elliot > > On Sat, Sep 12, 2009 at 7:02 PM, Evan Martin <[email protected]> wrote: >> >> [resend, I think I screwed up the previous three tries] >> I wrote an extension that adds a page action to trigger Readability: >> http://lab.arc90.com/experiments/readability/ >> >> It's basically just a glorified bookmarklet. >> >> Code is here: >> http://neugierig.org/software/git/?url=chrome-readability/ >> Browse it here: >> http://neugierig.org/software/git/?url=chrome-readability/tree/ >> >> I can't provide a .crx because I wasn't able to figure out how to >> build one, which I think means I can't actually install it. :~( >> >> Here's some feedback on the process. I know extensions are still >> under development, and that surely most if not all of these are >> already known bugs, and that others are probably my fault for doing it >> on Linux. I thought it would still be helpful to give an overview of >> points of confusion I ran into, in case any of these aren't yet known >> bugs. >> >> - Weight. >> This feels like a *lot* of code (content script, page action, >> background page, manifest, message ports) just to make a bookmarklet >> appear in the URL bar. I wonder if there's a place for a "simple" >> extension API for bookmarklet-y sorts of things? >> >> - Making my page action show up. >> It wasn't clear to me how to make my action just always show up. >> I think I may have done it wrong: >> http://neugierig.org/software/git/?url=chrome-readability/tree/background.html >> since it feels unreliable (sometimes it doesn't show). >> >> - The failure modes are confusing. >> Sometimes it prints to the console (when I've made a typo in my >> manifest); other times it prints to the error console of the extension >> (bugs in my background js); other times it prints to the page's error >> console (bugs in my content script). Many of those times there's no >> obvious way to map the error back to the line that is failing. >> >> - JS console. >> Do we really have no UI to get to the JS console? I had to open the >> developer tools, then guess that one of the icons at the bottom of >> the window would show me the messages. >> >> - The docs around content scripts communicating with the embedding >> page aren't too clear. See e.g.: >> http://code.google.com/chrome/extensions/content_scripts.html#messaging >> That section is mostly just a big example but for example nowhere is >> the postMessage API described. I'd prefer it to be laid out more >> like: >> - how to make each endpoint listen for messages >> - how to make each endpoint send a message >> >> - Doc organization. >> It would've been clearer to me if there is one more level of nesting. >> Sections like toolstrips, page actions are features with manifest >> edits as well as APIs, while sections like tabs and windows are just >> API references. >> >> - Building the .crx. >> strace -fo log chromium-browser --user-data-dir=/home/martine/test >> --pack-extension=`pwd`/readext >> --pack-extension-key=chrome-readability.pem >> Doesn't show it ever trying to create my .pem. Maybe it's not implemented, >> but it'd be nice if it at least complained in that case. >> >> > >> > > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
