Presentation on how to chat with PDF using ChatGPT code interpreter
Firefox extension Development
1. Mozilla Firefox
Extensions
Development
Tutorial
2009, October FOSS GN09 @ Engineering College Bikaner
Abhinav Chittora, Google Summer of Code Student,
Xiph.org Foundation 2009
5. Firefox
is closer to a
Web app
than a conventional
application
6. Firefox architecture is very similar to
web pages that use Dynamic HTML
Firefox HTML DHTML
Structure XUL HTML HTML
Control JavaScript JScript JavaScript
Customized XPCOM ActiveX CGI
Processes
12. Similar to HTML
A GUI widget like an HTML form
Simplifies and standardizes GUI widgets
that were difficult to build using DHTML
(Drop-down lists, scrollbars, tabs, etc.)
Can be used on the web, not just in Firefox
http://sakshama.org/latest/mozilla/index.xul
25. Stylesheet language used to describe
the presentation of XML documents
in an easy to read format
#content {
font-size: 10pt;
border-width: 1pt;
border-color: red;
border-style: solid;
}
26. XUL is also styled using CSS
button[type="menu-button"] {
-moz-box-align: center;
-moz-box-pack: center;
margin: 0;
border: none;
}
.button-menu-dropmarker,
.button-menubutton-dropmarker {
margin: 1px;
background-image:
url("chrome://global/skin/arrow/arrow-dn.gif");
background-repeat: no-repeat;
background-position: center center;
min-width:11px;
min-height:11px;
}
39. JavaScript in Firefox 2
・JavaScript 1.7
ECMAScript Edition 3
extended
・E4X
・ECMAScript for XML・
is supported
40. ・Grammar is similar to C
(easier to learn)
・Highly flexible
・Untyped variables (almost entirely)
・There is garbage collection
・Not strictly structured like Java
etc.
49. Summary
Application Conditional
Presentation
Logic tasks
Regular app C++, etc. C++, etc. C++, etc.
JavaScript
Web app HTML CSS
Jscript
Firefox XUL CSS JavaScript
56. ・ Platform independent
framework for component
development
・Components developed
based on this framework
・ Functionality offered by
these components
57. XPCOM example
nsIFile::create(
in unsigned long type,
in unsigned long permissions
)
・Creates a file
・Has two parameters
File type (File or Directory)
Permission (UNIX-style)
=> Permission value is ignored
depending on the environment
62. ・JavaScript calls
XPCOM components written in C++
・C++ calls
XPCOM components written in JavaScript
・Java calls
XPCOM components written in C++
...
75. Summary
Applicatio Presentati Conditional
Specialized tasks
n Logic on tasks
Regular C++, C++, COM .NET
C++, etc. Framework
app etc. etc.
JavaScript ActiveX CGI
Web app HTML CSS Jscript script
Firefox XUL CSS JavaScript XPCOM
80. Conditional Specialized
Logic Presentation
tasks tasks
Firefox XUL CSS JavaScript XPCOM
Adobe AIR HTML CSS JavaScript Flash
81. Capable
Platform Platform
of flashy Standard
compatibility dependency
tasks
Machine code High High High -
Java Low Low High Open
Flash/AIR Low Low High Closed
Silverlight ? Low High Closed
XUL Modestly high Low Slight Open
Not flashy but it is solid