WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
70615
Flash of white when loading a page after a web process crash
https://bugs.webkit.org/show_bug.cgi?id=70615
Summary
Flash of white when loading a page after a web process crash
Anders Carlsson
Reported
2011-10-21 09:48:06 PDT
Flash of white when loading a page after a web process crash
Attachments
Patch
(7.70 KB, patch)
2011-10-21 09:59 PDT
,
Anders Carlsson
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Anders Carlsson
Comment 1
2011-10-21 09:59:01 PDT
Created
attachment 111977
[details]
Patch
Adam Roben (:aroben)
Comment 2
2011-10-21 10:05:04 PDT
Comment on
attachment 111977
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=111977&action=review
> Source/WebKit2/UIProcess/API/mac/WKView.mm:2075 > - (void)_didRelaunchProcess > { > - [self setNeedsDisplay:YES]; > }
Can we remove this method entirely?
> Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:86 > void DrawingAreaImpl::setNeedsDisplay(const IntRect& rect) > { > + if (!m_isPaintingEnabled) > + return; > + > IntRect dirtyRect = rect; > dirtyRect.intersect(m_webPage->bounds());
Should we continue to accumulate a dirty region when painting is disabled so that the right area will be repainted when painting is reenabled?
> Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:109 > void DrawingAreaImpl::scroll(const IntRect& scrollRect, const IntSize& scrollOffset) > { > + if (!m_isPaintingEnabled) > + return; > +
Similar question here.
Anders Carlsson
Comment 3
2011-10-21 10:06:19 PDT
(In reply to
comment #2
)
> (From update of
attachment 111977
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=111977&action=review
> > > Source/WebKit2/UIProcess/API/mac/WKView.mm:2075 > > - (void)_didRelaunchProcess > > { > > - [self setNeedsDisplay:YES]; > > } > > Can we remove this method entirely?
Maybe.
> > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:86 > > void DrawingAreaImpl::setNeedsDisplay(const IntRect& rect) > > { > > + if (!m_isPaintingEnabled) > > + return; > > + > > IntRect dirtyRect = rect; > > dirtyRect.intersect(m_webPage->bounds()); > > Should we continue to accumulate a dirty region when painting is disabled so that the right area will be repainted when painting is reenabled?
Nope - this is about disabling painting completely, not just suspending it.
> > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:109 > > void DrawingAreaImpl::scroll(const IntRect& scrollRect, const IntSize& scrollOffset) > > { > > + if (!m_isPaintingEnabled) > > + return; > > + > > Similar question here.
Similar answer here.
Simon Fraser (smfr)
Comment 4
2011-10-21 10:28:19 PDT
Comment on
attachment 111977
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=111977&action=review
> Source/WebKit2/WebProcess/WebPage/WebPage.cpp:251 > + m_drawingArea->setPaintingEnabled(true);
I sure hope we don't ever add an early return between setPaintingEnabled(false) and here.
Anders Carlsson
Comment 5
2011-10-21 10:45:42 PDT
Committed
r98113
: <
http://trac.webkit.org/changeset/98113
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug