Labs/Extensions2/Examples: Difference between revisions
< Labs | Extensions2
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
== Possible API == | |||
ext = Extensions.get(version) | |||
*ext.Chrome | |||
**ContextMenu | |||
***add | |||
***get | |||
***list | |||
***remove | |||
**StatusBarIcon | |||
***add | |||
***list | |||
***remove | |||
***get | |||
**UrlBarIcon | |||
***add | |||
***list | |||
***remove | |||
***get | |||
Ent.Chrome. | |||
== Content Filter == | == Content Filter == | ||
<pre> | <pre> |
Revision as of 00:52, 20 January 2009
Possible API
ext = Extensions.get(version)
- ext.Chrome
- ContextMenu
- add
- get
- list
- remove
- StatusBarIcon
- add
- list
- remove
- get
- UrlBarIcon
- add
- list
- remove
- get
- ContextMenu
Ent.Chrome.
Content Filter
<html> <head> <title>Content Filter Extension</title> <!-- TODO: Meta Data --> <script> Ent.Privileges.request( "Modify DOM" ); </script> </head> <body> <script class="extension"> Ent.onPageLoad(function( page ){ jQuery("img", page).css({ "-moz-transform": "rotate(180deg)" }) }); </script> </body> </html>
Snapshot
<html> <head> <title>Screen Capture Extension</title> <author> <name>Aza Raskin</name> <email>aza@mozilla.com</email> </author> <license>MPL</license> <script> Ent.Privileges.request( "Add to Chrome", "Write File" ); </script> </head> <body> <div id="status-bar-icon"> <img src="myIcon.png"/> </div> <script class="extension"> function captureScreen(){ win = Ent.getFocusedWindow(); hiddenWin = Ent.getHiddenWindow(); var thumbnail = hiddenWin.document.createElementNS( "http://www.w3.org/1999/xhtml", "canvas" ); /* ... */ ctx.drawWindow(win, win.scrollX, win.scrollY, win.innerWidth, win.innerWidth, "rgb(255,255,255)"); var data = thumbnail.toDataURL("image/jpeg", "quality=80"); var f = Ent.Files.open( "thumbnail.jpg", "w" ) f.write( data ); f.close(); } function captureWebPage(){ /* capture screen */ } jQuery("#status-bar-icon").click(function(){ Ent.showContextMenu({ "Capture screen": captureScreen, "Capture web page": captureWebPage, }); }); Ent.Chrome.addToStatusBar( "#status-bar-icon" ); </script> </body> </html>