Browser extension for posting screenshots to Review Board
Review Request #7741 — Created Oct. 27, 2015 and discarded
Browser extension for Firefox and Chrome that allows the user to take screenshots of their browser's web content and post it to a Review Board server.
The extension adds the Review Board logo as an icon to the browser's toolbar. Clicking on the icon allows you to select different options of capturing web content. Currently you can captural all visible web content and crop a portion of the visible web content.
Chrome
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
Firefox
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
- Multiprocessing friendly
TO DO LIST
- Basic Validation on table cell editing
- Fix infinite loading when requesting to some servers
- Fill in all table cells alert message
- Make Crop option overlay current page and open new tab after cropping (Chrome)
- Organize javascript folder into import libraries and non
- Alert user if user.html page has unsaved information
- Sent a screenshot to a review request on a local server (Firefox)
- Sent a screenshot to a review request on the Review Board server (Firefox)
- Tested addon in nightly build with multiprocessing enabled (Firefox)
- Sent a screenshot to a review request on a local server (Chrome)
- Sent a screenshot to a review request on the Review Board server (Chrome)
Description | From | Last Updated |
---|---|---|
It's possible that you'll be one of several people who eventually contribute to this project. Might be best to say: … |
mike_conley | |
You can pull this out :P |
brennie | |
Please put a space after : for each of these. |
mike_conley | |
Busted indentation. |
mike_conley | |
Yeah, pretty sure you can get away with just a 90% height and width on the #screenshot element instead of … |
mike_conley | |
Can you explain this 0.9 thing? |
mike_conley | |
We should definitely do something more explicit to alert the user that the upload succeeded. Might also be worthwhile to … |
mike_conley | |
I think this can be simplified to: return $("#rr-select").val(); |
mike_conley | |
Alternatively, instead of generic <div>'s, you could use the new <section> element that is part of HTML5. |
mike_conley | |
For <button>'s, you don't need type="button". |
mike_conley | |
Nit - space before = Also, it's usually best to use <label>'s for these things. Example: <label for="account-select">Account:</label> <select id="account-select"></select> |
mike_conley | |
Again, no need for type="button". |
mike_conley | |
Nit - single quotes. |
mike_conley | |
Mixed tabs and spaces. |
brennie | |
This can't be shared? |
mike_conley | |
Can you reindent your work with 4 spaces instead of tabs? |
brennie | |
I believe it's gulp style to namespace tasks with colons, e.g. firefox:js. |
brennie | |
Put this on previous line. |
brennie | |
Probably not necessary. |
mike_conley | |
This is, again, using synchronous access to the content to do something. We'll need to update this at some point … |
mike_conley | |
All of this, and anything that manipulates content directly like this, should probably go into an additional contentScript that sends … |
mike_conley | |
Wonky indentation. |
brennie | |
Pretty certain this can be shared, no? |
mike_conley | |
Can you have this file use 4 spaces instead of tabs. |
brennie | |
Can we just include the minified source? |
brennie | |
Single space indentation for HTML. |
brennie | |
Missing <meta charset="utf-8"> Also, indentation. |
brennie | |
Likewise. |
brennie | |
This should be the first element in <head/> |
brennie | |
Sorry to be pedantic, but I thought we were going to go with 4 spaces? |
mike_conley | |
4 space indentation in here please |
mike_conley | |
Leftover tab? |
mike_conley | |
What if there's no tabindex? Do we even really need a tabindex in this case? |
mike_conley | |
We probably shouldn't alert. Logging to the console is fine, but alerting is usually a bad idea. |
mike_conley | |
4 space indentation please |
mike_conley | |
Is this file still being used? |
mike_conley | |
Why? Is this leftovers? Why are we using both? |
mike_conley | |
I think I'd prefer: if (users && users.length && users.length != table.rows.length && !modified) |
mike_conley | |
Is this still being used? |
mike_conley | |
Each of these functions should have a quick bit of documentation above to describe what exactly they do, what parameters … |
mike_conley | |
I'm curious why we're sticking with a numerical ID... doesn't that make it (cognitively) more difficult to map it to … |
mike_conley | |
space after if |
mike_conley | |
Best to use textContent here instead of innerHTML. |
mike_conley | |
This can be simplified to: option.value = serverDropdown.options.length; Even better though is to set the value to the URL itself? … |
mike_conley | |
Space before ( |
mike_conley | |
Space before ( |
mike_conley | |
Might as well simplify this: var allFields = $([apiKey, username, server]); |
mike_conley | |
This doesn't appear to be used. |
mike_conley | |
This should be indented 1 space. Also, replace "Reviewboard" with "Review Board" |
mike_conley | |
Instead of adding an event listener to every anchor element, you should add an event listener on a parent element … |
mike_conley | |
Bit strange to have a switch for just one option. Should probably just be an if condition. |
mike_conley | |
"review board" -> "Review Board" |
mike_conley | |
What calls this? |
mike_conley | |
This is not going to work with multi-process Firefox, as you'll have no access to the contentWindow. |
mike_conley | |
Same as above, re: adding an event listener to a parent and inspecting the event target id. |
mike_conley | |
"review board" -> "Review Board". Maybe take a TODO down to have all of this project metadata come from one … |
mike_conley |
-
This is a really great start, Justin!
I'll have more comments soon, once I've had another few nights to look at this.
-
It's possible that you'll be one of several people who eventually contribute to this project. Might be best to say:
Copyright (c) 2015 The Authors
and then put your name in the AUTHORS file.
Also, we should start this with "The MIT License (MIT)"
-
-
-
-
Alternatively, instead of generic <div>'s, you could use the new <section> element that is part of HTML5.
-
-
Nit - space before =
Also, it's usually best to use <label>'s for these things. Example:
<label for="account-select">Account:</label> <select id="account-select"></select>
-
-
-
-
Yeah, pretty sure you can get away with just a 90% height and width on the #screenshot element instead of actually resizing the image.
-
We should definitely do something more explicit to alert the user that the upload succeeded.
Might also be worthwhile to emit progress data somewhere with a progress bar while the upload occurs.
-
-
-
So right away, I can tell this add-on is not going to be multi-process friendly out of the box, because this script (which runs in the parent process) is synchronously accessing the contentWindow for the selected browser.
That's probably okay for now, but in the future, we're probably going to need to send a message down to the page content, and wait for the dataURL to come back from it.
-
-
This is, again, using synchronous access to the content to do something. We'll need to update this at some point to be multiprocess friendly.
-
All of this, and anything that manipulates content directly like this, should probably go into an additional contentScript that sends messages up to the parent to do things like persistence.
-
- Description:
-
Browser extension for Firefox and Chrome that allows the user to take screenshots of their browser's web content and post it to a Review Board server.
The extension adds the Review Board logo as an icon to the browser's toolbar. Clicking on the icon allows you to select different options of capturing web content. Currently you can captural all visible web content and crop a portion of the visible web content.
Chrome
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
+ - Can add/delete/modify users from the user.html page
Firefox
- Can take screenshot of all visible web content
~ - Can send screenshot to a Review Board user's review request
~ - Can crop a section of visible web content
+ - Can send screenshot to a Review Board user's review request
+ + TO DO LIST
+ + + + - Basic Validation on table cell editing
+ - Install Font-Awesome using just LESS
+ - Fix copy and paste style (does not remove text styling)
+ - Fix infinite loading when requesting to some servers
+ - Fill in all table cells alert message
+ - Link up table file with browser extension (Firefox)
+ - Fix CSS issues
+ - Make Crop option overlay current page and open new tab after cropping
+ - Firefox --> multiprocess friendly
- Diff:
-
Revision 2 (+8280)
- Added Files:
-
Tool: Pyflakes Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/font-awesome/scss/_rotated-flipped.scss browser_screenshot/content/css/jquery-ui.css browser_screenshot/content/font-awesome/less/font-awesome.less browser_screenshot/content/js/user_form.js browser_screenshot/content/font-awesome/scss/_core.scss browser_screenshot/content/font-awesome/less/fixed-width.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff2 browser_screenshot/xpi/package.json browser_screenshot/content/font-awesome/scss/_animated.scss browser_screenshot/content/images/filler.png browser_screenshot/content/js/users.js browser_screenshot/xpi/popup.html browser_screenshot/content/images/ajax-loader.gif browser_screenshot/crx/js/save_user.js browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.svg browser_screenshot/content/font-awesome/less/variables.less browser_screenshot/crx/js/background.js browser_screenshot/content/font-awesome/scss/_path.scss browser_screenshot/content/font-awesome/less/bordered-pulled.less browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/font-awesome/fonts/FontAwesome.otf browser_screenshot/xpi/js/popup.js browser_screenshot/crx/popup.html browser_screenshot/crx/js/popup.js browser_screenshot/content/images/ui-icons_222222_256x240.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/popup.html browser_screenshot/AUTHORS.md browser_screenshot/content/font-awesome/scss/_mixins.scss browser_screenshot/content/font-awesome/scss/_variables.scss browser_screenshot/content/js/screenshot.js browser_screenshot/gulpfile.js browser_screenshot/content/font-awesome/less/animated.less browser_screenshot/content/font-awesome/scss/_fixed-width.scss browser_screenshot/xpi/js/save_user.js browser_screenshot/content/font-awesome/scss/_stacked.scss browser_screenshot/crx/js/all_content.js browser_screenshot/content/font-awesome/scss/font-awesome.scss browser_screenshot/content/screenshot.html browser_screenshot/content/font-awesome/less/mixins.less browser_screenshot/content/font-awesome/less/rotated-flipped.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/xpi/index.js browser_screenshot/content/font-awesome/scss/_icons.scss browser_screenshot/crx/manifest.json browser_screenshot/content/images/icons/icon128.png browser_screenshot/content/font-awesome/less/larger.less browser_screenshot/content/font-awesome/scss/_bordered-pulled.scss browser_screenshot/.eslintrc browser_screenshot/xpi/chrome.manifest browser_screenshot/content/font-awesome/less/path.less browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/font-awesome/less/list.less browser_screenshot/content/font-awesome/less/stacked.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.ttf browser_screenshot/README.md browser_screenshot/content/font-awesome/less/core.less browser_screenshot/content/font-awesome/scss/_larger.scss browser_screenshot/xpi/README.md browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.eot browser_screenshot/LICENSE browser_screenshot/content/font-awesome/less/icons.less browser_screenshot/content/font-awesome/scss/_list.scss browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff browser_screenshot/content/font-awesome/css/font-awesome.css browser_screenshot/CONTRIBUTING.md browser_screenshot/crx/js/modify_users.js browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/content/font-awesome/css/font-awesome.min.css browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/css/users.css browser_screenshot/content/css/screenshot.less Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/font-awesome/scss/_rotated-flipped.scss browser_screenshot/content/css/jquery-ui.css browser_screenshot/content/font-awesome/less/font-awesome.less browser_screenshot/content/js/user_form.js browser_screenshot/content/font-awesome/scss/_core.scss browser_screenshot/content/font-awesome/less/fixed-width.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff2 browser_screenshot/xpi/package.json browser_screenshot/content/font-awesome/scss/_animated.scss browser_screenshot/content/images/filler.png browser_screenshot/content/js/users.js browser_screenshot/xpi/popup.html browser_screenshot/content/images/ajax-loader.gif browser_screenshot/crx/js/save_user.js browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.svg browser_screenshot/content/font-awesome/less/variables.less browser_screenshot/crx/js/background.js browser_screenshot/content/font-awesome/scss/_path.scss browser_screenshot/content/font-awesome/less/bordered-pulled.less browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/font-awesome/fonts/FontAwesome.otf browser_screenshot/xpi/js/popup.js browser_screenshot/crx/popup.html browser_screenshot/crx/js/popup.js browser_screenshot/content/images/ui-icons_222222_256x240.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/popup.html browser_screenshot/AUTHORS.md browser_screenshot/content/font-awesome/scss/_mixins.scss browser_screenshot/content/font-awesome/scss/_variables.scss browser_screenshot/content/js/screenshot.js browser_screenshot/gulpfile.js browser_screenshot/content/font-awesome/less/animated.less browser_screenshot/content/font-awesome/scss/_fixed-width.scss browser_screenshot/xpi/js/save_user.js browser_screenshot/content/font-awesome/scss/_stacked.scss browser_screenshot/crx/js/all_content.js browser_screenshot/content/font-awesome/scss/font-awesome.scss browser_screenshot/content/screenshot.html browser_screenshot/content/font-awesome/less/mixins.less browser_screenshot/content/font-awesome/less/rotated-flipped.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/xpi/index.js browser_screenshot/content/font-awesome/scss/_icons.scss browser_screenshot/crx/manifest.json browser_screenshot/content/images/icons/icon128.png browser_screenshot/content/font-awesome/less/larger.less browser_screenshot/content/font-awesome/scss/_bordered-pulled.scss browser_screenshot/.eslintrc browser_screenshot/xpi/chrome.manifest browser_screenshot/content/font-awesome/less/path.less browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/font-awesome/less/list.less browser_screenshot/content/font-awesome/less/stacked.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.ttf browser_screenshot/README.md browser_screenshot/content/font-awesome/less/core.less browser_screenshot/content/font-awesome/scss/_larger.scss browser_screenshot/xpi/README.md browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.eot browser_screenshot/LICENSE browser_screenshot/content/font-awesome/less/icons.less browser_screenshot/content/font-awesome/scss/_list.scss browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff browser_screenshot/content/font-awesome/css/font-awesome.css browser_screenshot/CONTRIBUTING.md browser_screenshot/crx/js/modify_users.js browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/content/font-awesome/css/font-awesome.min.css browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/css/users.css browser_screenshot/content/css/screenshot.less
-
Hey Justin,
I think if we can, we should try to land what you've currently got into rb-extension-pack, and then continue building on top of it.
So can you take this out of WIP and try polishing it up for landing? We can do your TODOs in follow-up review requests. Sound good?
- Description:
-
Browser extension for Firefox and Chrome that allows the user to take screenshots of their browser's web content and post it to a Review Board server.
The extension adds the Review Board logo as an icon to the browser's toolbar. Clicking on the icon allows you to select different options of capturing web content. Currently you can captural all visible web content and crop a portion of the visible web content.
Chrome
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
Firefox
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
+ - Can add/delete/modify users from the user.html page
TO DO LIST
- Basic Validation on table cell editing
~ - Install Font-Awesome using just LESS
~ - Fix copy and paste style (does not remove text styling)
~ - Fix infinite loading when requesting to some servers
~ - Fill in all table cells alert message
~ - Fix infinite loading when requesting to some servers
~ - Fill in all table cells alert message
~ - Make Crop option overlay current page and open new tab after cropping
~ - Firefox --> multiprocess friendly
- - Link up table file with browser extension (Firefox)
- - Fix CSS issues
- - Make Crop option overlay current page and open new tab after cropping
- - Firefox --> multiprocess friendly
- Diff:
-
Revision 3 (+9272)
- Removed Files:
-
Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/css/jquery-ui.css browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/font-awesome/less/font-awesome.less browser_screenshot/content/font-awesome/scss/_core.scss browser_screenshot/content/font-awesome/less/fixed-width.less browser_screenshot/crx/js/save_user.js browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/images/icons/icon16.png browser_screenshot/crx/js/background.js browser_screenshot/crx/js/all_content.js browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/font-awesome/less/rotated-flipped.less browser_screenshot/.eslintrc browser_screenshot/.gitignore browser_screenshot/crx/manifest.json browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/font-awesome.min.css browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/xpi/js/save_user.js browser_screenshot/content/js/users.js browser_screenshot/content/font-awesome/less/bordered-pulled.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.svg browser_screenshot/content/font-awesome/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/crx/popup.html browser_screenshot/content/js/toastr.min.js browser_screenshot/content/screenshot.html browser_screenshot/AUTHORS.md browser_screenshot/content/font-awesome/scss/_variables.scss browser_screenshot/content/font-awesome/less/animated.less browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/content/font-awesome/scss/_icons.scss browser_screenshot/content/users.html browser_screenshot/content/font-awesome/less/list.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.ttf browser_screenshot/CONTRIBUTING.md browser_screenshot/content/font-awesome/less/core.less browser_screenshot/content/font-awesome/scss/_larger.scss browser_screenshot/content/font-awesome/scss/_list.scss browser_screenshot/xpi/index.js browser_screenshot/content/css/popup.less browser_screenshot/content/js/user_form.js browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff2 browser_screenshot/content/font-awesome/scss/_animated.scss browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/xpi/popup.html browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/images/ui-icons_222222_256x240.png browser_screenshot/content/font-awesome/less/path.less browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/content/images/ajax-loader.gif browser_screenshot/content/font-awesome/scss/_stacked.scss browser_screenshot/gulpfile.js browser_screenshot/content/font-awesome/scss/font-awesome.scss browser_screenshot/content/font-awesome/less/mixins.less browser_screenshot/content/font-awesome/less/larger.less browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/README.md browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/content/font-awesome/less/icons.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff browser_screenshot/crx/js/modify_users.js browser_screenshot/crx/js/popup.js browser_screenshot/content/font-awesome/less/stacked.less browser_screenshot/content/css/screenshot.less browser_screenshot/content/font-awesome/scss/_rotated-flipped.scss browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/LICENSE browser_screenshot/xpi/package.json browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/font-awesome/less/variables.less browser_screenshot/content/font-awesome/scss/_path.scss browser_screenshot/content/css/toastr.less browser_screenshot/content/images/logo.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/font-awesome/scss/_fixed-width.scss browser_screenshot/content/popup.html browser_screenshot/xpi/chrome.manifest browser_screenshot/xpi/js/popup.js browser_screenshot/content/font-awesome/scss/_mixins.scss browser_screenshot/content/font-awesome/scss/_bordered-pulled.scss browser_screenshot/xpi/README.md browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.eot browser_screenshot/xpi/js/modify_users.js browser_screenshot/content/font-awesome/css/font-awesome.css browser_screenshot/content/font-awesome/css/font-awesome.min.css browser_screenshot/content/css/users.css browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png Tool: Pyflakes Ignored Files: browser_screenshot/content/css/jquery-ui.css browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/font-awesome/less/font-awesome.less browser_screenshot/content/font-awesome/scss/_core.scss browser_screenshot/content/font-awesome/less/fixed-width.less browser_screenshot/crx/js/save_user.js browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/images/icons/icon16.png browser_screenshot/crx/js/background.js browser_screenshot/crx/js/all_content.js browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/font-awesome/less/rotated-flipped.less browser_screenshot/.eslintrc browser_screenshot/.gitignore browser_screenshot/crx/manifest.json browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/font-awesome.min.css browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/xpi/js/save_user.js browser_screenshot/content/js/users.js browser_screenshot/content/font-awesome/less/bordered-pulled.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.svg browser_screenshot/content/font-awesome/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/crx/popup.html browser_screenshot/content/js/toastr.min.js browser_screenshot/content/screenshot.html browser_screenshot/AUTHORS.md browser_screenshot/content/font-awesome/scss/_variables.scss browser_screenshot/content/font-awesome/less/animated.less browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/content/font-awesome/scss/_icons.scss browser_screenshot/content/users.html browser_screenshot/content/font-awesome/less/list.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.ttf browser_screenshot/CONTRIBUTING.md browser_screenshot/content/font-awesome/less/core.less browser_screenshot/content/font-awesome/scss/_larger.scss browser_screenshot/content/font-awesome/scss/_list.scss browser_screenshot/xpi/index.js browser_screenshot/content/css/popup.less browser_screenshot/content/js/user_form.js browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff2 browser_screenshot/content/font-awesome/scss/_animated.scss browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/xpi/popup.html browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/images/ui-icons_222222_256x240.png browser_screenshot/content/font-awesome/less/path.less browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/content/images/ajax-loader.gif browser_screenshot/content/font-awesome/scss/_stacked.scss browser_screenshot/gulpfile.js browser_screenshot/content/font-awesome/scss/font-awesome.scss browser_screenshot/content/font-awesome/less/mixins.less browser_screenshot/content/font-awesome/less/larger.less browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/README.md browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/content/font-awesome/less/icons.less browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.woff browser_screenshot/crx/js/modify_users.js browser_screenshot/crx/js/popup.js browser_screenshot/content/font-awesome/less/stacked.less browser_screenshot/content/css/screenshot.less browser_screenshot/content/font-awesome/scss/_rotated-flipped.scss browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/LICENSE browser_screenshot/xpi/package.json browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/font-awesome/less/variables.less browser_screenshot/content/font-awesome/scss/_path.scss browser_screenshot/content/css/toastr.less browser_screenshot/content/images/logo.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/font-awesome/scss/_fixed-width.scss browser_screenshot/content/popup.html browser_screenshot/xpi/chrome.manifest browser_screenshot/xpi/js/popup.js browser_screenshot/content/font-awesome/scss/_mixins.scss browser_screenshot/content/font-awesome/scss/_bordered-pulled.scss browser_screenshot/xpi/README.md browser_screenshot/content/font-awesome/fonts/fontawesome-webfont.eot browser_screenshot/xpi/js/modify_users.js browser_screenshot/content/font-awesome/css/font-awesome.css browser_screenshot/content/font-awesome/css/font-awesome.min.css browser_screenshot/content/css/users.css browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
-
I'll look into this more deeply tomorrow, but for now, I'm wondering about this FontAwesome library that I see in here. It looks like you've brought in the entire FontAwesome source code... I was under the impression that you'd just need the font itself and the CSS? If so, can we get rid of the rest of the files?
-
-
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less
-
Still reviewing, but some more feedback here.
Do we also not need a package.json so that npm knows what other packages are required?
-
Each of these functions should have a quick bit of documentation above to describe what exactly they do, what parameters they take, what they return, etc.
Example:
/** * Adds a server to the list of servers that the user * can attach the image to. * * @param server (String) * The URL of the server to add. */
-
I'm curious why we're sticking with a numerical ID... doesn't that make it (cognitively) more difficult to map it to the right action?
Perhaps change "1" to be "capture_visible_content", "2" to be "capture_area", "3" to be "accounts", etc.
-
-
-
Tool: Pyflakes Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less
- Description:
-
Browser extension for Firefox and Chrome that allows the user to take screenshots of their browser's web content and post it to a Review Board server.
The extension adds the Review Board logo as an icon to the browser's toolbar. Clicking on the icon allows you to select different options of capturing web content. Currently you can captural all visible web content and crop a portion of the visible web content.
Chrome
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
Firefox
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
+ - Multiprocessing friendly
TO DO LIST
- Basic Validation on table cell editing
- Fix infinite loading when requesting to some servers
- Fill in all table cells alert message
- Make Crop option overlay current page and open new tab after cropping
- - Firefox --> multiprocess friendly
- Testing Done:
-
- Sent a screenshot to a review request on a local server (Firefox)
- Sent a screenshot to a review request on the Review Board server (Firefox)
~ - Sent a screenshot to a review request on a local server (Chrome)
~ - Sent a screenshot to a review request on the Review Board server (Chrome)
~ - Tested addon in nightly build with multiprocessing enabled (Firefox)
~ - Sent a screenshot to a review request on a local server (Chrome)
+ - Sent a screenshot to a review request on the Review Board server (Chrome)
-
Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less Tool: Pyflakes Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/filler.png browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less
-
As a first landing, I think this is pretty good! I think there are some UX and UI improvements to make, perhaps some simplifications in architecture[1], and perhaps there some more cleverness we can do to reduce the duplication between the crx/xpi folders, but as an initial landing I'm digging this.
[1]: At some point, we might want to try to combine some of these modules, unless there's a good reason to keep them separate. We might be able to reduce some of the functions that seem to just add another level of abstraction. We might also want to opt for top-level objects with function properties instead of top level functions. But I don't think we should worry about that for now - let's just stand this thing up and see how it feels, and then start filing bugs against it so we can start making improvements.
-
I guess this kind of magic is needed for jQuery selectmenus? Because traditional <select>'s normally size themselves to their largest child.
-
-
This can be simplified to:
option.value = serverDropdown.options.length;
Even better though is to set the value to the URL itself? Or is there an advantage to the value being the index?
-
-
-
-
-
-
Instead of adding an event listener to every anchor element, you should add an event listener on a parent element (like the buttons div), and then have your handler use the event.target.id to decide what to do.
-
-
-
-
This is not going to work with multi-process Firefox, as you'll have no access to the contentWindow.
-
-
"review board" -> "Review Board".
Maybe take a TODO down to have all of this project metadata come from one central place and get injected at build-time for the addons.
- Description:
-
Browser extension for Firefox and Chrome that allows the user to take screenshots of their browser's web content and post it to a Review Board server.
The extension adds the Review Board logo as an icon to the browser's toolbar. Clicking on the icon allows you to select different options of capturing web content. Currently you can captural all visible web content and crop a portion of the visible web content.
Chrome
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
Firefox
- Can take screenshot of all visible web content
- Can crop a section of visible web content
- Can send screenshot to a Review Board user's review request
- Can add/delete/modify users from the user.html page
- Multiprocessing friendly
TO DO LIST
- Basic Validation on table cell editing
- Fix infinite loading when requesting to some servers
- Fill in all table cells alert message
~ - Make Crop option overlay current page and open new tab after cropping
~ - Make Crop option overlay current page and open new tab after cropping (Chrome)
+ - Organize javascript folder into import libraries and non
+ - Alert user if user.html page has unsaved information
- Diff:
-
Revision 7 (+3365)
- Added Files:
-
Tool: PEP8 Style Checker Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/exit.png browser_screenshot/xpi/js/crop.js browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/xpi/js/capture-area.js browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/content/images/crop.png browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/content/css/jcrop-rb-style.css browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/images/filler.png browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less Tool: Pyflakes Ignored Files: browser_screenshot/content/images/icons/icon64.png browser_screenshot/content/css/font-awesome.min.css browser_screenshot/xpi/js/cs_screenshot.js browser_screenshot/content/fonts/fontawesome-webfont.woff browser_screenshot/content/fonts/FontAwesome.otf browser_screenshot/content/css/images/ui-icons_ef8c08_256x240.png browser_screenshot/content/js/user_form.js browser_screenshot/content/css/jquery-ui.min.js browser_screenshot/xpi/package.json browser_screenshot/xpi/js/save_user.js browser_screenshot/content/images/exit.png browser_screenshot/xpi/js/crop.js browser_screenshot/content/css/images/ui-icons_ffffff_256x240.png browser_screenshot/content/js/users.js browser_screenshot/crx/js/save_user.js browser_screenshot/content/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png browser_screenshot/content/js/jquery.Jcrop.min.js browser_screenshot/content/css/images/ui-bg_glass_65_ffffff_1x400.png browser_screenshot/content/popup.html browser_screenshot/content/css/toastr.less browser_screenshot/content/js/jquery-2.1.4.min.js browser_screenshot/content/images/icons/icon16.png browser_screenshot/content/images/logo.png browser_screenshot/xpi/js/modify_users.js browser_screenshot/xpi/index.js browser_screenshot/content/css/images/ui-icons_222222_256x240.png browser_screenshot/xpi/js/capture-area.js browser_screenshot/content/css/images/ui-bg_glass_100_fdf5ce_1x400.png browser_screenshot/content/js/toastr.min.js browser_screenshot/content/images/icons/icon48.png browser_screenshot/content/css/images/ui-icons_ffd27a_256x240.png browser_screenshot/content/css/images/ui-icons_228ef1_256x240.png browser_screenshot/AUTHORS.md browser_screenshot/package.json browser_screenshot/content/images/crop.png browser_screenshot/crx/js/modify_users.js browser_screenshot/content/js/screenshot.js browser_screenshot/content/css/images/ui-bg_diagonals-thick_20_666666_40x40.png browser_screenshot/content/css/jcrop-rb-style.css browser_screenshot/crx/js/popup.js browser_screenshot/crx/js/background.js browser_screenshot/content/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png browser_screenshot/gulpfile.js browser_screenshot/content/js/jquery-ui.min.js browser_screenshot/content/screenshot.html browser_screenshot/content/css/users.less browser_screenshot/content/images/icons/icon32.png browser_screenshot/content/images/icons/icon128.png browser_screenshot/xpi/chrome.manifest browser_screenshot/content/fonts/fontawesome-webfont.ttf browser_screenshot/xpi/js/capture.js browser_screenshot/content/fonts/fontawesome-webfont.svg browser_screenshot/.eslintrc browser_screenshot/xpi/js/popup.js browser_screenshot/content/users.html browser_screenshot/.gitignore browser_screenshot/content/css/images/ui-bg_flat_10_000000_40x100.png browser_screenshot/crx/manifest.json browser_screenshot/README.md browser_screenshot/content/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png browser_screenshot/content/css/jquery-ui.min.css browser_screenshot/LICENSE browser_screenshot/content/css/images/ui-bg_glass_100_f6f6f6_1x400.png browser_screenshot/CONTRIBUTING.md browser_screenshot/content/fonts/fontawesome-webfont.woff2 browser_screenshot/content/css/jquery.Jcrop.min.css browser_screenshot/xpi/README.md browser_screenshot/content/images/filler.png browser_screenshot/content/css/popup.less browser_screenshot/content/fonts/fontawesome-webfont.eot browser_screenshot/content/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png browser_screenshot/content/css/screenshot.less
-
As a foundation, I think this is good stuff. Thanks Justin!
I think we can build off of this over time - although it'd be good to get a polished architecture diagram somewhere for where you ended up, like on hackpad.
For now, just keep working off this in your GitHub, and don't change this underlying commit. Mark any future work as depending on this change. We're eventually going to get a repository for this thing set up, and then we'll get this landed in it.
Great work!