Bug 72836 - REGRESSION(r100691): Safari error pages and Growl notifications fail to load stylesheets
Summary: REGRESSION(r100691): Safari error pages and Growl notifications fail to load ...
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P1 Normal
Assignee: Adam Barth
Keywords: Regression
Depends on:
Reported: 2011-11-20 13:23 PST by Mark Rowe (bdash)
Modified: 2011-11-20 18:26 PST (History)
5 users (show)

See Also:

Before (20.33 KB, image/png)
2011-11-20 13:23 PST, Mark Rowe (bdash)
no flags Details
After (21.88 KB, image/png)
2011-11-20 13:23 PST, Mark Rowe (bdash)
no flags Details
Patch (5.45 KB, patch)
2011-11-20 15:59 PST, Adam Barth
no flags Details | Formatted Diff | Diff
Patch for landing (6.41 KB, patch)
2011-11-20 16:53 PST, Adam Barth
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Rowe (bdash) 2011-11-20 13:23:00 PST
After updating my system WebKit frameworks past r100691 I’m seeing that Growl's notification alerts appear to be failing to load any style information. See the before / after screenshots.
Comment 1 Mark Rowe (bdash) 2011-11-20 13:23:17 PST
Created attachment 115995 [details]
Comment 2 Mark Rowe (bdash) 2011-11-20 13:23:33 PST
Created attachment 115997 [details]
Comment 3 Adam Barth 2011-11-20 13:34:51 PST
How can I reproduce the issue?
Comment 4 Adam Barth 2011-11-20 13:37:53 PST
The problem might be on Line 127 if SchemeRegistry::shouldTreatURLSchemeAsLocal is overbroad and should be restricted to "file".

Can you tell me the URL of the document displayed in the Growl notification?
Comment 5 Mark Rowe (bdash) 2011-11-20 13:44:38 PST
You can reproduce the issue by running Growl against tip of tree WebKit and triggering any notification. The app I was testing with was UnPlugged, since it will trigger a notification simply by plugging / unplugging from power.

I have no idea what URLs Growl is using for its notifications.
Comment 6 Adam Barth 2011-11-20 13:52:42 PST
Ok.  I have Colloquy, which apparently uses Growl, and I have a tip of tree build of WebKit.  How do I wire the two up to each other to exhibit the problem?

I can try hacking up ./Tools/Scripts/run-safari to run Colloquy via runMacWebKitApp.  Is that the right approach?
Comment 7 Mark Rowe (bdash) 2011-11-20 13:55:49 PST
With Growl 1.3.1 all I did was kill the Growl process, then run /Applications/Growl.app with DYLD_FRAMEWORK_PATH set to my build directory.
Comment 8 Adam Barth 2011-11-20 13:56:21 PST
Thanks.  Will try.
Comment 9 Mark Rowe (bdash) 2011-11-20 13:57:36 PST
Hopefully you’re also aware of the run-webkit-app script!
Comment 10 Adam Barth 2011-11-20 14:04:08 PST
> Hopefully you’re also aware of the run-webkit-app script!

Nope!  That looks very useful for this issue.  Thanks.
Comment 11 Adam Barth 2011-11-20 14:32:43 PST
I was able to run Colloquy with tip-of-tree WebKit (verified using gdb), but the notifications looked fine.  Growl claims to be used by Firefox, but they really mean by a Firefox addon, which doesn't work in modern versions of Firefox.

I installed UnPlugged, but there doesn't appear to be any way to trigger a notification with this software on my Mac Pro because my Mac Pro doesn't have a battery (i.e., unplugging it turns it off).

There are a number of paths forward:

1) If you can give me repro instructions I'm able to follow, I can debug the issue locally.
2) If you're willing to iterate with me, I can give you a couple patches to try.  That will help us narrow down the problem and arrive at a solution.
3) I can try fixing the bug blind based on what you've told me so far.  (This is really just approach 2 with a longer iteration cycle, but perhaps less work on your part.)

Please let me know how you'd like to proceed.
Comment 12 Mark Rowe (bdash) 2011-11-20 14:46:21 PST
This also appears to reproduce in Safari, which may make reproducing and debugging easier. Loading <http://this.does.not.exist.apple.com/> in the latest WebKit nightly running with Safari 5.1.1 results in an unstyled error page.
Comment 13 Mark Rowe (bdash) 2011-11-20 14:55:20 PST
Note that in the Growl case it’s not the app *using* Growl that needs to run with tip of tree WebKit, it’s the separate Growl process that displays the notification that does.
Comment 14 Adam Barth 2011-11-20 14:55:36 PST
Thanks.  I have the repro in Safari now.
Comment 15 Adam Barth 2011-11-20 15:08:29 PST
I have a fix.  Working on tests now.
Comment 16 Adam Barth 2011-11-20 15:59:09 PST
Created attachment 116004 [details]
Comment 17 WebKit Review Bot 2011-11-20 16:39:39 PST
Comment on attachment 116004 [details]

Attachment 116004 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10472426

New failing tests:
Comment 18 Adam Barth 2011-11-20 16:53:56 PST
Created attachment 116010 [details]
Patch for landing
Comment 19 WebKit Review Bot 2011-11-20 18:26:33 PST
Comment on attachment 116010 [details]
Patch for landing

Clearing flags on attachment: 116010

Committed r100877: <http://trac.webkit.org/changeset/100877>
Comment 20 WebKit Review Bot 2011-11-20 18:26:38 PST
All reviewed patches have been landed.  Closing bug.