Bug 22103

Summary: REGRESSION (r37126-r37300): Changing fonts in preferences does not immediately update WebViews
Product: WebKit Reporter: mitz
Component: New BugsAssignee: Darin Adler <darin>
Status: RESOLVED FIXED    
Severity: Major CC: aroben
Priority: P1 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
patch aroben: review+

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.