WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-49079-20101109120517.patch (text/plain), 3.24 KB, created by
Simon Fraser (smfr)
on 2010-11-09 12:05:18 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2010-11-09 12:05:18 PST
Size:
3.24 KB
patch
obsolete
>diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog >index 934267d9a0f3f4bdae3e2859e071378fbb561434..20486fab0ecff1c9090e6655177b89c76989a317 100644 >--- a/WebCore/ChangeLog >+++ b/WebCore/ChangeLog >@@ -1,5 +1,26 @@ > 2010-11-09 Simon Fraser <simon.fraser@apple.com> > >+ Reviewed by NOBODY (OOPS!). >+ >+ Caret fails to render with some combination of iframes and compositing >+ https://bugs.webkit.org/show_bug.cgi?id=49079 >+ >+ Because it's possible for the caret to jump between different >+ compositing layers and the view, caret repainting currently dirties >+ both the view and all compositing layers that intersect the caret rect, >+ via repaintRectangleInViewAndCompositedLayers(). >+ >+ When an iframe contained compositing layers, we erroneously skipped >+ invalidating the compositing layer inside the iframe, which caused >+ the caret to fail to blink. >+ >+ * manual-tests/compositing/caret-in-compositing-frame.html: Added. >+ * manual-tests/compositing/resources/editable-compositing-subframe.html: Added. >+ * rendering/RenderView.cpp: >+ (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): >+ >+2010-11-09 Simon Fraser <simon.fraser@apple.com> >+ > Reviewed by Dave Hyatt. > > https://bugs.webkit.org/show_bug.cgi?id=49197 >diff --git a/WebCore/manual-tests/compositing/caret-in-compositing-frame.html b/WebCore/manual-tests/compositing/caret-in-compositing-frame.html >new file mode 100644 >index 0000000000000000000000000000000000000000..703f3b25b763d7a2875431ebf76aaa69ffbb0358 >--- /dev/null >+++ b/WebCore/manual-tests/compositing/caret-in-compositing-frame.html >@@ -0,0 +1,7 @@ >+<style type="text/css" media="screen"> >+ iframe { >+ border: 1px solid black; >+ width: 400px; >+ } >+</style> >+<iframe src="resources/editable-compositing-subframe.html" scrolling="no"></iframe> >diff --git a/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html b/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html >new file mode 100644 >index 0000000000000000000000000000000000000000..24b43e8da28dcf59c33c136ddbf98f5371a67da1 >--- /dev/null >+++ b/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html >@@ -0,0 +1,9 @@ >+<style type="text/css" media="screen"> >+ #editable { >+ height: 100px; >+ -webkit-transform: translateZ(0px); >+ } >+</style> >+<div id="editable" contenteditable="true"> >+The caret should blink correctly when editing this paragraph. >+</div> >diff --git a/WebCore/rendering/RenderView.cpp b/WebCore/rendering/RenderView.cpp >index 16bb6b374b0805e0054f976e0b6c9581b20f9771..90a708980801dfa91fa6f5c2b2eabdad71bdcbb7 100644 >--- a/WebCore/rendering/RenderView.cpp >+++ b/WebCore/rendering/RenderView.cpp >@@ -278,11 +278,6 @@ void RenderView::repaintRectangleInViewAndCompositedLayers(const IntRect& ur, bo > repaintViewRectangle(ur, immediate); > > #if USE(ACCELERATED_COMPOSITING) >- // If we're a frame, repaintViewRectangle will have repainted via a RenderObject in the >- // parent document. >- if (document()->ownerElement()) >- return; >- > if (compositor()->inCompositingMode()) > compositor()->repaintCompositedLayersAbsoluteRect(ur); > #endif
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
darin
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 49079
:
73087
| 73398