notes on testing Firefox themes

Discuss application theming and theme development.
Locked
User avatar
ShareBird
Posts: 2740
Joined: December 8th, 2004, 7:09 am
Location: Berlin | Made in Brasil
Contact:

Re: notes on testing themes

Post by ShareBird »

Thanks mcdavis!
Silvermel - A Theme for Firefox and Thunderbird
YATT - Yet Another Theme Tutorial
Don't give a man a fish. Teach him how to fish instead.
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Sure, glad to. :)
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Added GCLI to the test checklist at the start of the thread.
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: notes on testing themes

Post by patrickjdempsey »

mcdavis wrote:Added GCLI to the test checklist at the start of the thread.


My dyslexia does not like this acronym one bit. Aside from being an "interface within and interface within an interface" :roll: what purpose does this serve? All I keep seeing in the documentation is that it's better than the Unix command line from 1970 or something. Is this some core Mozilla developer-centric stuff that real-world humans will never use?

Anyway:
http://blog.mozilla.com/devtools/2012/0 ... te-jan-26/

GCLI (Command Line) has been turned off again in Nightly. The plan is for it to reappear in the developer toolbar.


That in turn links to a bug that discusses completely reinventing how the whole thing works. So aside from copying the default theme stuff, I wouldn't worry about theming this monster until Mozilla figures out where it's going and what it's doing.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
KLB
Posts: 2282
Joined: December 21st, 2003, 9:25 am
Location: Saco Maine
Contact:

Re: notes on testing themes

Post by KLB »

I'll be so glad to stop seeing CSS errors in the error console for GCLI. That stuff lands in FF12 right?
Ken Barbalace - AMO Editor (I focus on reviewing themes)
I maintain Classic Compact, a very compact yet clean Firefox theme.
EnvironmentalChemistry.com (Periodic Table)
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: notes on testing themes

Post by patrickjdempsey »

According to the bug it's being pushed back to 13 at least. I don't care when it lands as long as Mozilla doesn't stuff the code into browser.css... someone really needs to wrap some knuckles about that, devtools stuff has no business in browser.css.
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
KLB
Posts: 2282
Joined: December 21st, 2003, 9:25 am
Location: Saco Maine
Contact:

Re: notes on testing themes

Post by KLB »

Agreed! There is way too much crap in browser.css as it is.
Ken Barbalace - AMO Editor (I focus on reviewing themes)
I maintain Classic Compact, a very compact yet clean Firefox theme.
EnvironmentalChemistry.com (Periodic Table)
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

What's the right way to test the new-for-Fx13 profile reset function (Bug 717070) without putting profile data at risk?

Can you, for example:

1 - make a copy of some entire profile directory
2 - run Firefox on that profile
3 - execute a profile reset as allowed by Bug 717070
4 - exit Firefox
5 - delete the entire contents of the profile directory
6 - copy in what you saved out in step 1
7 - and end up back with what you had when you started?

Does profile reset always run on the profile with which Firefox was started? (Seems obvious, but worth making sure!)
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

How to test click-to-play plugin changes for Fx16 and Bug 760625 - use the blocklist to inform click-to-play plugins

Note that the overall click-to-play feature is still work in progress as of this bug.

- make sure you have a current Shockwave Flash plugin installed on your system and available to Firefox
-- you should see it in AOM plugins list
-- make sure it's enabled in AOM
- set pref plugins.click_to_play to true
- disable NoScript entirely
-- so you may want a new profile just for this, and visit only the test page (below)
- edit blocklist.xml in profile directory
- add the following item in blocklist.xml under <pluginItems> and save the file

Code: Select all

      <pluginItem  blockID="p999">
        <match name="name" exp="^Shockwave Flash"/>
        <versionRange  minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="0"></versionRange>
      </pluginItem>

- keep blocklist.xml open in editor so it will warn you if Firefox happens to update the file during your test
-- or turn off updating with instructions available elsewhere
- permute vulnerabilitystatus in blocklist.xml through each of the values "0", "1", "2"
-- save file and restart Firefox after changing value
-- visit a safe test page after restart, with each value
--- needs to be one you consider safe enough to visit with NoScript off
--- I use http://home.comcast.net/~username54321/ ... video.html
--- in content, as placeholder for plugin, should see click-to-play icon, appropriate message and pointer cursor over clickable areas

FYI, the values are:

Code: Select all

0 VULNERABILITYSTATUS_NONE - essentially meaningless, the same as omitting vulnerabilitystatus from blocklist.xml
1 VULNERABILITYSTATUS_UPDATE_AVAILABLE
2 VULNERABILITYSTATUS_NO_UPDATE
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Here's a helper page I use for testing the Devtools Debugger.

http://home.comcast.net/~username54321/ ... rties.html

Instructions:

- Load this page from local file:// or online source.
- Make sure JavaScript is allowed (check NoScript).
- Open the Firefox devtools debugger (e.g., from Tools > Web Developer > Debugger).
- In the debugger, set a breakpoint on the first line of onButtonClick().
- Click the button. (See if you can guess which one.)
- In the debugger variables display area, look for ATestObject (under Global Scope), and expand that to see permutations of configurable/enumerable/writable.

About configurable/enumerable/writable:
- http://yehudakatz.com/2011/08/12/unders ... avascript/
- https://developer.mozilla.org/en-US/doc ... neProperty

Apparently variables (in addition to object properties as above) can also be configurable/enumerable/writable, but I haven't yet seen how that is set on variables. Anyone know?
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

HOWTO and a test page for Fx17 and Fx18 click-to-play blocklisted plug-in arrowpanel doorhanger urlbar notification popup UI.

See bugs 754472, 793338, and 797334.

Test page: http://home.comcast.net/~username54321/ ... ugins.html

- for the single-plugin case, use same procedure as for Bug 760625 and fx16
-- then click the little plugin icon in the urlbar to open the doorhanger
- for the multiple-plugin case
-- make sure you have all the following plugins installed
--- QuickTime, Flash, Silverlight
-- in AOM, user-ENABLE those three plugins
-- add the following to blocklist.xml in the profile directory

Code: Select all

        <pluginItem  blockID="p998">
          <match name="name" exp="^QuickTime"/>
          <versionRange  minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="1"></versionRange>
        </pluginItem>
        <pluginItem  blockID="p999">
          <match name="name" exp="^Shockwave Flash"/>
          <versionRange  minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="2"></versionRange>
        </pluginItem>

-- set pref plugins.click_to_play to true
-- disable NoScript entirely
-- restart browser after editing blocklist.xml
-- visit the following test page
--- file:///D:/MCD/dvl/moztheme/nasanightlaunch/xulplanet/threeplugins.html
--- http://home.comcast.net/~username54321/ ... ugins.html
-- with the test page loaded
--- should see small plugin icon in urlbar
--- click the icon to open the doorhanger
--- should see all three plugins listed in doorhanger
--- should see warning icon and message below flash
--- should see warning icon, message and update link below quicktime
--- should see silverlight listed, with neither warning icon, update link nor message
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Popup desktop notification tester add-on, by Jared Wein: https://bugzilla.mozilla.org/show_bug.cgi?id=770433#c5
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Notes on Testing Social UI in Fx17

- social UI (eg facebook integration) is new for fx17
- does require a Facebook account (or two, to test chatting)
- requires pref social.enabled=true

-- about:socialerror
--- to test: simply view about:socialerror in a tab, it's roughly the same as what's shown when it's in the social sidebar

-- the social sidebar
--- the contents are not themeable, they're filled in by the social provider eg facebook
--- to test: simply open the chat sidebar via menbar > view > sidebar > Facebook Messenger, should look like a sidebar with un-themed social content in it

-- the chatbar
--- across the bottom of the content area when social-chatting
--- invisible except for any pinned chats in it (they're represented as just a 16px icon in a small button -- see chatbox here below)
--- to test: should be invisible when no chats, should also probably be invisible (as appropr for your theme) with chats

-- the chatbox
--- a popup-like region shown overlain on the content area when social-chatting, showing chat messages in a chat with one person
--- the frame and titlebar are theme-able
---- but not the chat status icon in the chat box titlebar (not theme-able, assigned by src attr from social provider)
--- the contents are not themeable, they're filled in by the social provider eg facebook
--- sizes/states
---- regular sized, minimized to titlebar, uber-minimized to icon-only "pinned state"
---- selected vs. normal (when multiple chatboxes)
---- activity vs. normal
--- to test:
---- log in with two separate facebook accounts at the same time, one in each of two firefox instances (fx17+), each running a separate profile
---- in facebook, using facebook itself, open a chat between the two users
---- in the profile where you're testing the theme, open the chat sidebar, see the name listed for the person you're chatting with, and click that to open the theme-able Firefox chat UI
---- should see a a popup-like region shown overlain on the content area
---- click titlebar to minimize / expand
---- TODO Q: how create a pinned chat? how pin/unpin?
---- operate the close button in the titlebar to see styling
---- TODO Q: how open multiple chats?
---- with multiple chats open, make sure the selected one is indicated with styling
---- with chat activity, activity icon should appear in titlebar

-- the social provider toolbarbutton
--- it's a normal toolbarbutton-1[type="menu"], although the def theme hides the dropmarker
--- customization (ie moving) of this is not supported .. its position in the nav toolbar is fixed
--- to test: look at it in all toolbar modes, including customization

-- the social provider menu
--- this is a menupopup opening from the social provider toolbarbutton
--- two modes: 1) not logged in, 2) already logged in to provider through provider site
--- to test, simply click the tbb to open

-- the toolbarbutton-like jewels, next to the social provider toolbarbutton
--- with notification-count label
---- to test: with DOMi, add value="5" to .social-notification-icon-label
--- to test: view in all toolbar modes, including customization

-- the jewel arrowpanels
--- the arrowpanel contents are not themeable, they're filled in by the social provider eg facebook
--- to test, simply click the jewel and view the arrowpanel

-- the social activation notification
--- a popup notification that shows from the social provider button
--- TODO Q: how test? what is the exact trigger for this? is it setting social.enable? allowing a provider? is it specific to clicking the "Turn On" link on https://www.facebook.com/about/messenge ... ox_promo_2 ?

-- the share button in URL bar
--- disabled in fx17, so nothing to see here, but watch for it in the future

-- the recommending panel / unshare panel
--- opening from the share button in URL bar
--- disabled in fx17, so nothing to see here, but watch for it in the future
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Downloads Indicator UI States for Fx20

http://home.comcast.net/~username54321/ ... r.fx20.png
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
User avatar
mcdavis
Posts: 3195
Joined: December 9th, 2005, 5:51 am

Re: notes on testing themes

Post by mcdavis »

Test page for Web Notifications (Bug 782211):

http://home.comcast.net/~username54321/ ... onapi.html
Theme Development is Radical Participation.
NNL Beta Builds for Current and Up-coming Firefox
Dear User: Your Help is Needed
Locked