Bug 22103 - REGRESSION (r37126-r37300): Changing fonts in preferences does not immediately update WebViews
Summary: REGRESSION (r37126-r37300): Changing fonts in preferences does not immediatel...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Macintosh OS X 10.5
: P1 Major
Assignee: Darin Adler
URL:
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2008-11-06 09:40 PST by mitz
Modified: 2008-11-10 09:06 PST (History)
1 user (show)

See Also:


Attachments
patch (5.23 KB, patch)
2008-11-10 07:22 PST, Darin Adler
aroben: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mitz 2008-11-06 09:40:47 PST
Changes to the standard font family and size are not reflected in all open WebViews until style recalc is forced. To reproduce: open Safari Preferences, go to Appearance, and change the standard font size. Notice how the font size in open windows does not change until you reorder a window to the front.
Comment 1 mitz 2008-11-06 09:41:06 PST
<rdar://problem/6349376>
Comment 2 Darin Adler 2008-11-09 16:32:42 PST
Hyatt somehow broke this when he changed FrameView::invalidateRect to call Chrome::repaint which calls ChromeClient::repaint, which does nothing at all when _usesDocumentViews is true! I'm not sure which part of that is wrong.

Frame::setNeedsReapplyStyles calls FrameView::invalidate which calls the set of functions above.
Comment 3 Darin Adler 2008-11-10 07:22:22 PST
Created attachment 25015 [details]
patch
Comment 4 Adam Roben (:aroben) 2008-11-10 08:26:33 PST
Comment on attachment 25015 [details]
patch

r=me
Comment 5 Adam Roben (:aroben) 2008-11-10 08:27:04 PST
I wonder if we can use LayoutTestController's new ability to modify preferences to make a regression test for this?
Comment 6 Darin Adler 2008-11-10 09:01:47 PST
(In reply to comment #5)
> I wonder if we can use LayoutTestController's new ability to modify preferences
> to make a regression test for this?

Not in any obvious way. The symptom goes away when you do any layout or repainting, and I don't think DRT has any ability to test that sort of problem.