Firefox for Windows 8 Metro, status update 5

News and other things I find interesting


RSS Feed


Jul
19
2012

Firefox for Windows 8 Metro, status update 5

Last modified: Thursday, July 19, 2012

It's been a couple months since the last progress update on Firefox for Metro, but things have been progressing at a steady pace.

A new intern working under Frank Yan named Jonathan Wilde started working with us. He's focused on the Metro front-end code, and is really tearing through tasks fast. He's implemented the new URL bar and tab bar as seen here.

Since the last update we've also more or less finished work on the appbar control (the orange bar that appears when doing an edge gesture in Windows 8).

We determined that sharing the same Firefox profile in both Desktop and Metro is out of scope for the initial version, so instead we plan to sync the settings between 2 profiles using Firefox Sync augmented with some key local events to force a sync right away by using Windows Messages, events, and the registry.

We've cleaned up and tweaked a lot of the Windows 8 contracts work. Fixed soft keyboard issues, improved gesture input support, fixed support for invoking external applications, and more.

The graphics code has also been improved by getting rid of the Basic Layers support and moving to LayerManager.

The upgrade from Windows 8 Consumer Preview to Windows 8 Release Preview came with several changes as well that were fixed up.

We removed the XAML interop support because MS decided this was for Metro applications only and not Metro style enabled desktop browsers. To do this we had to change some startup code, gfx code, and re-implement the appbar using XBL/XUL/JS.

Tim Abraldes finished work on combining metrofirefox.exe with firefox.exe, so now there's only one shared exe that dynamically determines which front-end to use. Metro Firefox uses a modified copy of Fennec XUL front-end which is found in browser/metro/.

We also implemented various bugs to support the registration for default browser in Metro. In particular, Windows itself must be responsible for invoking the default browser UI, so we added code to get Windows to prompt for it. The code for detecting which browser is the default has also changed in Windows 8, so that was updated too.

An existing open question was how we would distribute one build that worked both with Windows XP and Windows 8. Microsoft announced that they will be providing support for this, so we won't have to worry too much about it.

Of particular note is Bug 755724 which is to split up platform and app resources so that they can be loaded individually. This is probably the main thing holding us up from landing on mozilla-central. It needs an owner so please reach out to us on #windev if you have time to help out with this task.

A new command line firefox.exe -metrodesktop can be used for viewing the metro front-end in desktop mode. This is useful for things like debugging since Windows kills your process if you have it paused for too long. We're also starting to use this now to get tests running with the Metro front end. There's another bug filed but not completed yet to get tests running actually in Metro mode.

Tags:

Add a new comment | 5 comment(s)

Gravatar image Steve on Thursday, July 19, 2012 (06:07:53) says:

1 Question:
Does is support Adobe Flash?

(unlike Metro IE10 which currently forces an archaic whitelist of only public sites after a 10 week delay/approval process)

Gravatar image Percy Cabello on Thursday, July 19, 2012 (07:07:30) says:

Hope we can get this ahead of Windows 8 release! :D

Is there some build we can try? I am planning to move to Windows 8 this weekend and maybe I can help providing some feedback. Thanks!

Gravatar image Ahmed Nefzaoui on Thursday, July 19, 2012 (09:07:03) says:

Hi Brian, I tried "firefox.exe -metrodesktop"
but it opens the normal desktop view in both Official release and nightly. How can I get the metro version, and if it is not possible.. Should we expect a pre-release date ?

Gravatar image Brian R. Bondy on Friday, July 20, 2012 (11:07:21) says:

There are only builds available if you build from source code here:
http://hg.mozilla.org/projects/elm/

Once we get the code on mozilla-central though you'll be able to test things out with normal Nightly builds.

Gravatar image Yuhong Bao on Sunday, July 29, 2012 (05:07:02) says:

Another thing: VC2012 defaults to SSE2 code generation. This can be disabled by using /arch:IA32.