Changeset 181605 in webkit
- Timestamp:
- Mar 16, 2015, 6:47:50 PM (11 years ago)
- Location:
- branches/safari-600.5-branch/Source
- Files:
-
- 5 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/page/FrameView.cpp (modified) (2 diffs)
-
WebCore/page/FrameView.h (modified) (1 diff)
-
WebKit/mac/ChangeLog (modified) (1 diff)
-
WebKit/mac/WebView/WebClipView.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-600.5-branch/Source/WebCore/ChangeLog
r181590 r181605 1 2015-03-16 Babak Shafiei <bshafiei@apple.com> 2 3 Merge r181587. 4 5 2015-03-16 Brent Fulgham <bfulgham@apple.com> 6 7 WebKit1 Clients Are Not Reliably Repainted 8 https://bugs.webkit.org/show_bug.cgi?id=142750 9 <rdar://problem/20042453> 10 11 Reviewed by Simon Fraser. 12 13 * page/FrameView.cpp: 14 (WebCore::FrameView::paintContents): Move "Red Rect" debug painting before 15 the early return so we can see when this happening in debug builds. 16 * page/FrameView.h: 17 (WebCore::FrameView::inPaintableState): Added. 18 1 19 2015-03-16 Babak Shafiei <bshafiei@apple.com> 2 20 -
branches/safari-600.5-branch/Source/WebCore/page/FrameView.cpp
r180387 r181605 3710 3710 void FrameView::paintContents(GraphicsContext* context, const IntRect& dirtyRect) 3711 3711 { 3712 if (m_layoutPhase == InViewSizeAdjust)3713 return;3714 3715 ASSERT(m_layoutPhase == InPostLayerPositionsUpdatedAfterLayout || m_layoutPhase == OutsideLayout);3716 3717 3712 #ifndef NDEBUG 3718 3713 bool fillWithRed; … … 3734 3729 #endif 3735 3730 3731 if (m_layoutPhase == InViewSizeAdjust) 3732 return; 3733 3734 ASSERT(m_layoutPhase == InPostLayerPositionsUpdatedAfterLayout || m_layoutPhase == OutsideLayout); 3735 3736 3736 RenderView* renderView = this->renderView(); 3737 3737 if (!renderView) { -
branches/safari-600.5-branch/Source/WebCore/page/FrameView.h
r180387 r181605 111 111 bool layoutPending() const; 112 112 bool isInLayout() const { return m_layoutPhase == InLayout; } 113 bool inPaintableState() { return m_layoutPhase != InLayout && m_layoutPhase != InViewSizeAdjust && m_layoutPhase != InPostLayout; } 113 114 114 115 RenderObject* layoutRoot(bool onlyDuringLayout = false) const; -
branches/safari-600.5-branch/Source/WebKit/mac/ChangeLog
r179901 r181605 1 2015-03-16 Babak Shafiei <bshafiei@apple.com> 2 3 Merge r181587. 4 5 2015-03-16 Brent Fulgham <bfulgham@apple.com> 6 7 WebKit1 Clients Are Not Reliably Repainted 8 https://bugs.webkit.org/show_bug.cgi?id=142750 9 <rdar://problem/20042453> 10 11 Reviewed by Simon Fraser. 12 13 Check with the FrameView to see if we are in an immediately paintable state. If we are not, 14 mark the view as dirty once the _immediateScrollToPoint operation is complete so that the 15 region will be painted properly. 16 17 * WebView/WebClipView.mm: 18 (-[WebClipView _immediateScrollToPoint:]): 19 1 20 2015-02-10 Lucas Forschler <lforschler@apple.com> 2 21 -
branches/safari-600.5-branch/Source/WebKit/mac/WebView/WebClipView.mm
r165676 r181605 1 1 /* 2 * Copyright (C) 2005 Apple Inc. All rights reserved.2 * Copyright (C) 2005, 2015 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 112 112 [[self window] _enableDelayedWindowDisplay]; 113 113 114 // We may hit this immediate scrolling code during a layout operation trigged by an AppKit call. When 115 // this happens, WebCore will not paint. So, we need to mark this region dirty so that it paints properly. 116 WebFrameView *webFrameView = (WebFrameView *)[[self superview] superview]; 117 if ([webFrameView isKindOfClass:[WebFrameView class]]) { 118 if (Frame* coreFrame = core([webFrameView webFrame])) { 119 if (FrameView* frameView = coreFrame->view()) { 120 if (!frameView->inPaintableState()) 121 [self setNeedsDisplay:YES]; 122 } 123 } 124 } 125 114 126 _isScrolling = NO; 115 127 }
Note:
See TracChangeset
for help on using the changeset viewer.