Firefox/Windows 8 Integration: Difference between revisions

no edit summary
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 13: Line 13:


Please file front end bugs under the product [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20for%20Metro Firefox for Metro]. Back end bugs should be filed in the appropriate Platform component.
Please file front end bugs under the product [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20for%20Metro Firefox for Metro]. Back end bugs should be filed in the appropriate Platform component.
===Blockers===
We are using the following whiteboard tags to track bugs that block our release with Firefox 28:
* [beta28] - for bugs that must be fixed before Firefox 28 reaches the beta channel
* [release28] - for bugs that mut be fixed before Firefox 28 reaches the release channel
Queries:
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL+sw:beta28,release28 all blockers]
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw:beta28,release28+-sw:fixed-in-fx-team open blockers]
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw:beta28,release28+@nobody unassigned blockers]
* [http://mzl.la/1gU09QW blockers awaiting Beta nomination]
* [http://mzl.la/1ngxYJp blockers awaiting Beta landing]


=== Front End Windows 8 Development ===
=== Front End Windows 8 Development ===
Line 21: Line 36:
* The front end code is located in browser/metro
* The front end code is located in browser/metro
* Style guidelines of all types can be found on https://wiki.mozilla.org/Firefox/Windows_8_Metro_Style_Guides
* Style guidelines of all types can be found on https://wiki.mozilla.org/Firefox/Windows_8_Metro_Style_Guides
* the front end code is to be literally a user friendly. it helps developers to get understood easily.


=== Platform Integration Windows 8 Development ===
=== Platform Integration Windows 8 Development ===
Line 32: Line 46:
* You can find Windows 8 platform integration bugs here http://goo.gl/B0Xjo or by doing an advanced bugzilla search for: OS = Windows 8 Metro, Product = Core, Component = Widget: Win32
* You can find Windows 8 platform integration bugs here http://goo.gl/B0Xjo or by doing an advanced bugzilla search for: OS = Windows 8 Metro, Product = Core, Component = Widget: Win32


== Metro Builds ==
== Firefox for Windows 8 Builds ==


Firefox for Metro is included in [http://nightly.mozilla.org/ nightly development builds] of Firefox for Windows.
Firefox for Windows 8 is currently included in Nightly, Aurora, and Beta builds of Firefox for Windows. It will reach the release channel with Firefox 28 around March 17th, 2014.


For more detailed help on installing / setting the browser as the default, visit the [https://support.mozilla.org/en-US/kb/how-do-i-install-windows-8-metro-style-firefox Metro Firefox support page].
For more detailed help on installing / setting the browser as the default, visit the [https://support.mozilla.org/en-US/kb/how-do-i-install-windows-8-metro-style-firefox Metro Firefox support page].


=== Nightly Crash Reports ===
=== Browser Crash Reports ===


[https://crash-stats.mozilla.com/home/products/MetroFirefox Firefox for Metro crash stats]
[https://crash-stats.mozilla.com/home/products/MetroFirefox Firefox for Metro crash stats]
Line 169: Line 183:


# [https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles Create a new profile] named "desktop".  (You can use Firefox Sync to keep this in sync with your default profile.)
# [https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles Create a new profile] named "desktop".  (You can use Firefox Sync to keep this in sync with your default profile.)
# Launch desktop Firefox by running <code>firefox.exe -p desktop -no-remote</code>.  (You can create a [http://kb.mozillazine.org/Shortcut_to_a_specific_profile shortcut] to make this more convenient.)
# Launch desktop Firefox by running <code>firefox.exe -p desktop -no-remote</code>.  (You can create a [http://kb.mozillazine.org/Shortcut_to_a_specific_profile shortcut] to make this more convenient. Instructions for Windows 7+ [http://lifehacker.com/5475752/customize-pinned-shortcuts-on-the-windows-7-taskbar here])
#* If you are making changes to the Metro Firefox source code, it's useful to start desktop Firefox from separate installation rather than your objdir, so you don't need to close it each time you rebuild.
#* If you are making changes to the Metro Firefox source code, it's useful to start desktop Firefox from separate installation rather than your objdir, so you don't need to close it each time you rebuild.
# To launch Metro Firefox, run <code>firefox.exe -no-remote</code> (or <code>./mach run</code>) and then press the ''Windows 8 Touch'' menu button.
# To launch Metro Firefox, run <code>firefox.exe -no-remote</code> (or <code>./mach run</code>) and then press the ''Windows 8 Touch'' menu button.
Line 257: Line 271:
* Open the "Settings" charm and choose the "Crash Now" entry.  Tap/click it to crash.
* Open the "Settings" charm and choose the "Crash Now" entry.  Tap/click it to crash.
* Restart Metro. You should see the crash dialog as shown here: [https://bug903426.bugzilla.mozilla.org/attachment.cgi?id=8343538 screenshot]
* Restart Metro. You should see the crash dialog as shown here: [https://bug903426.bugzilla.mozilla.org/attachment.cgi?id=8343538 screenshot]
=== WinRT Compiler Generated Code ===
Compiler switches:
* /d1ZWtokens - dump C++ code generated code for C++/CX.
* /d1reportAllClassLayout - dump class layouts
* /d1reportSingleClassLayoutXXX - where XXX performs substring matches against the class name.


=== Remote Debugging with a VM ===
=== Remote Debugging with a VM ===
Line 313: Line 320:
Note you might have to fiddle with access permissions a bit. Opening everything up to Everyone saves a lot of time, but might not be the most secure environment, depending on your situation.
Note you might have to fiddle with access permissions a bit. Opening everything up to Everyone saves a lot of time, but might not be the most secure environment, depending on your situation.


=== Diagnosing Command Execute Handler Issues ===
=== Diagnosing Launch Issues ===


The CEH handles program launch on Windows 8. It's a small win32 program that Explorer launches when the browser is invoked. If issues arise, there are some debugging features built into the program to help diagnose issues.
The CEH handles program launch on Windows 8. It's a small win32 program that Explorer launches when the browser is invoked. If issues arise, there are some debugging features built into the program to help diagnose issues.
Line 325: Line 332:


To turn off debug output for the CEH, change the registry value from 01 to 00, or delete the CEHDump key.
To turn off debug output for the CEH, change the registry value from 01 to 00, or delete the CEHDump key.
=== Localized Build ===
Language Pack extensions are not yet enabled by default in Firefox for Metro, but you can use l10n binary repack method described [https://developer.mozilla.org/en/docs/Creating_a_Language_Pack here] to get localized build.
To create localized binary repack for ''x-testing'' locale that is based on current sources from Mozilla Central create package locally via [https://developer.mozilla.org/en-US/docs/pymake Pymake] instead of downloading it from Mozilla's ftp servers.
<pre>
$ cd ../firefox-build
$ pymake package
$ cd ../firefox-build/browser/locales
$ pymake unpack
$ pymake merge-x-testing LOCALE_MERGEDIR=$(PWD)/mergedir
$ pymake installers-x-testing LOCALE_MERGEDIR=$(PWD)/mergedir
</pre>
Your localized repack will be available at ''../firefox-build/dist'' folder.
Appropriate l10n sources (to use with --with-l10n-base parameter in .mozconfig) can be downloaded from the following locations:
* [http://hg.mozilla.org/l10n-central/ http://hg.mozilla.org/l10n-central/x-testing]
* [http://hg.mozilla.org/releases/l10n/mozilla-aurora/ http://hg.mozilla.org/releases/l10n/mozilla-aurora/x-testing]
* [http://hg.mozilla.org/releases/l10n/mozilla-beta/ http://hg.mozilla.org/releases/l10n/mozilla-beta/x-testing]
* [http://hg.mozilla.org/releases/l10n/mozilla-release/ http://hg.mozilla.org/releases/l10n/mozilla-release/x-testing]
Please note that you may need to install [https://developer.mozilla.org/en/docs/Compare-locales compare-locale] python script to successfully perform merge locale step.


== Testing Harness ==
== Testing Harness ==
9

edits