Closed Bug 585080 Opened 12 years ago Closed 12 years ago

Clicking on mailto: URI crashes the content process

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(fennec2.0a1+)

VERIFIED FIXED
Tracking Status
fennec 2.0a1+ ---

People

(Reporter: mbrubeck, Assigned: blassey)

Details

Attachments

(1 file, 1 obsolete file)

On Android, load any page with a mailto: link, e.g. http://bugzil.la/12345 and click the mailto: link.  The content process crashes.
tracking-fennec: --- → ?
This works for me on build:
Mozilla/5.0 (Android; U; Linux armv71; en-US; rv:2.0b4pre) Gecko/20100811 Namoroka/4.0b4pre Fennec/2.0a1pre
I can still reproduce this on the same nightly Android build (20100811).
Attached patch patch (obsolete) — Splinter Review
the crash you're seeing is due to use trying to use the bridge from the content process, this patch fixes that.

Unfortunately I see another crash that happens after this that I haven't been able to figure out. With this patch you can launch the picker and the helper app, but then some time later (several seconds to a minute or two later) the browser will crash. I think we should take this patch as it is a better experience and file another bug for that second crash.
Attachment #464897 - Flags: review?(mwu)
Comment on attachment 464897 [details] [diff] [review]
patch

Looks ok. Just a bunch of formatting nits that should be fixed.

> already_AddRefed<nsIMIMEInfo>
> nsMIMEInfoAndroid::GetMimeInfoForMimeType(const nsACString& aMimeType)
> {
>   mozilla::AndroidBridge* bridge = mozilla::AndroidBridge::Bridge();
>+    if (!bridge) 
>+    {
>+      // we don't have access to the bridge, so just assume we can handle 
>+      // the protocol for now and let the system deal with it
>+      return new nsMIMEInfoAndroid(aMimeType);
>+    }
>+  
Wrong indentation level. { should be on the same line as the if.

>@@ -91,6 +101,9 @@ nsMIMEInfoAndroid::GetMimeInfoForMimeTyp
> already_AddRefed<nsIMIMEInfo>
> nsMIMEInfoAndroid::GetMimeInfoForFileExt(const nsACString& aFileExt)
> {
>+  
>+  if (!mozilla::AndroidBridge::Bridge())
>+    return nsnull;
Remove the extra space at the top.

>@@ -102,12 +115,22 @@ nsMIMEInfoAndroid::GetMimeInfoForProtoco
>                                           PRBool *found,
>                                           nsIHandlerInfo **info)
> {
>+    const nsString &empty = EmptyString();
>+    const nsCString &emptyC = EmptyCString();
>     mozilla::AndroidBridge* bridge = mozilla::AndroidBridge::Bridge();
>+    if (!bridge) 
>+    {
>+      // we don't have access to the bridge, so just assume we can handle 
>+      // the protocol for now and let the system deal with it
>+      *found = PR_TRUE;
>+      *info = new nsMIMEInfoAndroid(emptyC);       
>+      return NS_OK;
>+    }
>+      
>+
{ should be on the same line as if. Indentation is inconsistent.
Attachment #464897 - Flags: review?(mwu) → review+
Attached patch patchSplinter Review
Did a white space clean up for the whole file. Carrying the review.
Assignee: nobody → blassey.bugs
Attachment #464897 - Attachment is obsolete: true
Attachment #465136 - Flags: review+
tracking-fennec: ? → 2.0a1+
http://hg.mozilla.org/mozilla-central/rev/de9594c50aa9
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Verified fixed on:
Mozilla/5.0 (Android;Linux armv7l;rv:9.0a1)Gecko/20110919
Firefox/9.0a1 Fennec/9.0a1
Device: HTC Desire
OS: Android 2.2
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.