johngraciliano / simplewhite

A minimal theme for Mozilla Firefox.
https://addons.mozilla.org/addon/simplewhitex/
Mozilla Public License 2.0
44 stars 4 forks source link

Firefox Nightly 44.0a1 changed Developer Tools skin files root #2

Closed johngraciliano closed 8 years ago

johngraciliano commented 8 years ago

The latest target in Firefox development changed the root for the Developer Tools skin files. When Firefox Nightly changed from Firefox 43.0a1 to 44.0a1 all the skin resources where moved from /browser/devtools/ into /devtools/themes/. Any css referred as: chrome://browser/skin/devtools/rest_of_path_name.css is now chrome://devtools/skin/themes/rest_of_path_name.css Pictures that resided with the css files are now in a separate images sub-folder. Without any changes to the theme, this means that the Developer Tools would use the Firefox default/classic theme and any customization would be ignored. To customize the skin two things must happen:

  1. All the css files have to be copied to their new location in the theme. This css may be from one of two sources.

    1. It may come from the default/classic theme in Nightly. If all the images are copied in the same manner, this would create a theme copy that could be modified to set any variations in the theme. This would create a lot of duplicate image files that may be cleared by after changing all necessary references in the css files.
    2. The css may be replicated from the theme itself, and so image files would not need to be copied as long as their references were absolute and not relative. This looses the chance to refresh the code and clear any hidden bugs that had been carried in the code. It also has the peril of not addressing any changes in the DOM and would need a supplement from the alternative process in case of missing new css files.

    If there were references to the images in the new directory structure from directly from the content, those images would need to be copied/created. _Note:_ I do not know if it is possible to have links within the directory structure of a theme, but if so, it would avoid a lot of duplication!

  2. This new resource has to be included in chrome.manifest with the line skin devtools simplewhitex whitefox/devtools/ appversion>=44.0a1

I will wait and see how this goes before I commit any changes regarding this, especially, if it only affects Nightly.

johngraciliano commented 8 years ago

When I started step 1.ii too many icons failed to show because they are referenced from within the DOM nodes directly. For that reason step 1.i is the way to go and I will regard the duplication of images as a non-issue. It won't be hard to port the few changes i made to the Developer Tools. I will check, but I don't think @louischan made any (besides keeping it updated with the default theme). An interesting finding is that the "Minimize the toolbox" button (that I allowed to show) now changes when minimized (in Nightly), yet it is still hidden in the default/classic theme for Nightly, even though it appears as working perfectly to me. I imagine that will change soon in the classic/default theme for Nightly and could even make it into an update in the current Firefox.

lychichem commented 8 years ago

See also at https://bugzilla.mozilla.org/show_bug.cgi?id=912121, I think it will never revert to previous ways. Now you may use Version number in install.rdf to force users install a beta one or a release one.

johngraciliano commented 8 years ago

There were more changes to the Developer Tools in Firefox 45.0a1 recently. If I had pushed the changes I did regarding this issue I would have a broken theme and a pile of work. Letting this code settle for a bit longer seems to be a good idea for now. Especially because not taking any action leaves the default theme for the Developer Tools. It is not worth the trouble to add a few minor changes that a few people may appreciate (and some dislike!) while risking to break support for the changing Firefox code.

johngraciliano commented 8 years ago

There is a correction in v2.2b18.x1.04 that cannot extend to the Firefox 44.0a2 and 45.0a1 because of this issue. I will have to address this issue soon, or at least before Firefox 44 becomes beta.

johngraciliano commented 8 years ago

The style sheets of Firefox 45.0a1 are used as basis for all supported versions. Now, all changes are in, except that chrome.manifest needs to be changed so that the pieces in place will be effective in versions of Firefox 44.0a1 and later. Last tests still show incompatibility within the new memory tool. It does not seem to work in Firefox 43.0b9 but the default theme also fails there, thus I will not worry for that now. However the style sheets from Firefox 45.0a1 are not compatible with Firefox 44.0a2, and this is yet unsolved.

johngraciliano commented 8 years ago

The style sheet for the memory tool now works for Firefox 45.0a1 and 44.0a2. Since any other problems in the development tools I found were shared with the default theme of all Firefox versions (I already fixed some) I will close this issue. I will fix the remaining problems that I am aware quietly.