Closed Bug 783095 Opened 12 years ago Closed 5 years ago

Make Mozilla build/run on IOS

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
iOS 5
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: romaxa, Unassigned)

References

Details

I think we should take all recent patches fixes for IOS and make fennec/gecko build and run on IOS out of mozilla-central.

After that we could test and measure performance and figure out possibilities of writing native support for IOS.

Not sure if component correct for this bug, fix me if not
Here is something to start from:
http://hg.mozilla.org/users/tanya.meshkova_gmail.com/ios-patches/

It is the clone of http://hg.mozilla.org/users/dougt_mozilla.com/arcticfox-patches/ + bug 682873 ipc-ios patch, rebased against one month old mozilla-central.
Plus there are some hacks in order get simple xul app work on iOS with Gecko process running on remote Linux machine.
Depends on: 682873
The first try with iOS sdk6.0: http://hg.mozilla.org/users/tanya.meshkova_gmail.com/ios-patches/rev/3ad68a28303c

It builds. Didn't run it on device yet.
I pulled a fresh mozilla-central and had to do minor patch unbitrotting, but also hit this error:

In file included from /Users/mfinkle/source/mozilla-ios/mozilla/widget/uikit/nsWidgetFactory.mm:49:
/Users/mfinkle/source/mozilla-ios/mozilla/widget/uikit/nsWindow.h:131:16: warning: 'nsWindow::CaptureRollupEvents' hides overloaded virtual function
      [-Woverloaded-virtual]
    NS_IMETHOD CaptureRollupEvents(nsIRollupListener *aListener,
               ^
../../dist/include/nsIWidget.h:1214:16: note: hidden overloaded virtual function 'nsIWidget::CaptureRollupEvents' declared here
    NS_IMETHOD CaptureRollupEvents(nsIRollupListener* aListener, bool aDoCapture) = 0;
               ^
/Users/mfinkle/source/mozilla-ios/mozilla/widget/uikit/nsWidgetFactory.mm:52:32: error: allocating an object of abstract class type 'nsWindow'
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindow)
                               ^
../../dist/include/mozilla/ModuleUtils.h:27:16: note: expanded from macro 'NS_GENERIC_FACTORY_CONSTRUCTOR'
    inst = new _InstanceClass();                                              \
               ^
../../dist/include/nsIWidget.h:1214:16: note: unimplemented pure virtual method 'CaptureRollupEvents' in 'nsWindow'
    NS_IMETHOD CaptureRollupEvents(nsIRollupListener* aListener, bool aDoCapture) = 0;
               ^
Bug 701760 changed the signature of CaptureRollupEvents. Fixing that locally and continuing my build...
I guess in order to avoid additional troubles it is better to use http://hg.mozilla.org/users/tanya.meshkova_gmail.com/ios-patches/diff/3ad68a28303c/changeset
;)
I don't have any ios6.0 compatible device a the moment. Before I used ios4.1 sdk to build fennec and jailbroken iPad1 running 5.0.1 to run fennec. This is how I've installed it that time:

1. Here is Fennec desktop file I've used: http://hg.mozilla.org/users/tanya.meshkova_gmail.com/ios-patches/raw-file/3ad68a28303c/Fennec.app/Info.plist
2. <iPad># mkdir /Applications/Fennec.app
3. <desktop/mozilla-central>$ scp .hg/patches/Fennec.app/Info.plist root@<device>:/Applications/Fennec.app/
4. <desktop/mozilla-central>$ scp -r <obj-dir>/dist/bin/* root@<device>:/Applications/Fennec.app/
5. reboot iPad in order to see Fennec icon
btw, when running from terminal widget doesn't get activated. So, Info.plist is necessary.
I had a patch in my queue for building an app bundle for Firefox (desktop, not fennec):
http://hg.mozilla.org/users/dougt_mozilla.com/arcticfox-patches/file/b0e8e163d49b/browser-uikit
Closing all opened bug in a graveyard component
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.