Can 2.2+ Browser be ported to 2.1?

OffWorld

Senior Member
Oct 5, 2010
460
67
We've probably all seen things like Flash for Froyo backported to Android 2.1 (I never got it to work) and the Gingerbread music player (which I also couldn't get to run) and I think a keyboard app (I never tried), and I don't know what else.

That has made me wonder whether the stock Chrome browser in Android 2.2 or 2.3 can be backported to 2.1? I'd assume the manifest needs to be changed and the app repackaged or something and that you couldn't just grab the .apk off one device and install it on a 2.1. I'm not clear on how integrated the browser is, or dependent on OS features, if at all.

Why do I ask? Well, I've been working on some web stuff that isn't really targeted at mobile but it would be nice if it looked pretty in mobile. Right now it's looking like I'll need to just use images instead of text (ack!).

The layouts I'm doing use the CSS @font-face method to deliver some custom fonts. This reportedly worked in the stock Android browser before 2.0, at which point it quit working (which also begs the question of whether the older stock browser can be run in a later version of Android?) I've seen mention that it may have been fixed in 2.2 or 2.3. Browser compatibility charts I've seen actually list 2.1 as having "partial support" but don't elaborate on what that means but I think it's because it would only be ttf/otf support (except I haven't seen any evidence 2.1 was actually fixed).

Thus far I haven't seen @font-face work in ANY browser on my Haipad running Eclair (but I was aware Opera Mini and Opera Mobile don't support it, and while Dolphin is based on Webkit I haven't seen any @font-face sites working in it yet. I haven't had any luck getting Firefox 4 Mobile beta 3 to install (no idea if they were going to make it support @font-face or not anyway).

In contrast iOS also has "partial support" because it will only use SVG fonts to 4.1, but at least the layouts look correct (I think ttf/otf support finally came in 4.2).

I was looking through the bug reports on this and it appears the Android devs decided the problem was "fixed" because it apparently works right in Froyo. Of course that ignores the fact that many people can't update their devices to Froyo and we're stuck using a broken browser. Unless, of course, the fixed browser can be backported or the old browser that allegedly worked right could be installed.
 
Last edited:
Might look into this, but basically on Android 2.1: http://www.css3.info/preview/web-fonts-with-font-face/ doesn't work properly?

StackOverflow: http://stackoverflow.com/questions/4193502/external-font-doesnt-load-in-android-2-1

And: http://code.google.com/p/android/issues/detail?id=4448

libwebcore or libskia? Not familiar enough with AOSP here...

These should be the associated files: http://android.git.kernel.org/?p=platform%2Fexternal%2Fwebkit.git&a=search&h=HEAD&st=grep&s=font-face

I'm not a developer, but this shouldn't be am impossible fix. Someone has to backport code from Froyo into Eclair webkit. There is a webkit patch in there just released after the Eclair release. Applying that commit might have the desired effects.

This was probably fixed Cyanogemod 5, but that source code tree has since been taken down.
 
Might look into this, but basically on Android 2.1: Web fonts with @font-face - CSS3 . Info doesn't work properly?

Nope. Just uses the "Droid" system font.

Of course even if I could fix it (or find a fix) for MY tablet, there will be tons of folks out there stuck on 2.1 who can't or won't know how to fix their browsers. It would have been nice if the stock browser in Android was updatable just like any other app, I wonder why it isn't?
 
Actually, the Browser is just a shell to the internal webkit engine that runs every web based element in Android. Most browsers actually rely on the built in Android engine. Opera Mini and Firefox are the only browsers that were not supposed to run on the internal engine. Almost every browser is a skin on top of the built in engine. That's why I'm referring to libwebcore.
 
Back
Top