WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
CLOSED FIXED
40378
[Qt] When any geometry change happens to a node it will resize the backing cache
https://bugs.webkit.org/show_bug.cgi?id=40378
Summary
[Qt] When any geometry change happens to a node it will resize the backing cache
Sam Magnuson
Reported
2010-06-09 11:44:15 PDT
We should attempt to use the same cache if possible since the whole area doesn't necessarily dirty and allocating a new backing surface may a bit costly.
Attachments
Continue to grow the cache, but never toss it.
(8.62 KB, patch)
2010-06-09 12:36 PDT
,
Sam Magnuson
kenneth
: review-
Details
Formatted Diff
Diff
Proposed patch with proper coding style
(8.76 KB, patch)
2010-06-12 10:22 PDT
,
Sam Magnuson
jedrzej.nowacki
: review-
jedrzej.nowacki
: commit-queue-
Details
Formatted Diff
Diff
Proposed patch with proper coding style, I had reapplied this after a pull from origin this week but never reposted
(9.43 KB, patch)
2010-06-15 12:26 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
Attached wrong patch in previous modification.
(9.45 KB, patch)
2010-06-15 12:39 PDT
,
Sam Magnuson
kenneth
: review-
Details
Formatted Diff
Diff
Take 3, same patch with cleanups proposed in last review.
(9.34 KB, patch)
2010-06-15 14:14 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
define to 0 as requested rather than just removing the define.
(9.51 KB, patch)
2010-06-16 09:35 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
define to 0 as requested rather than just removing the define.
(9.51 KB, patch)
2010-06-16 09:36 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
rebase and rediff
(9.65 KB, patch)
2010-06-21 15:21 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
Rediff against trunk
(9.13 KB, patch)
2010-06-22 16:09 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
Patch
(8.81 KB, patch)
2010-06-23 00:03 PDT
,
Sam Magnuson
no flags
Details
Formatted Diff
Diff
Show Obsolete
(9)
View All
Add attachment
proposed patch, testcase, etc.
Sam Magnuson
Comment 1
2010-06-09 12:36:52 PDT
Created
attachment 58275
[details]
Continue to grow the cache, but never toss it.
Kenneth Rohde Christiansen
Comment 2
2010-06-11 18:48:54 PDT
Comment on
attachment 58275
[details]
Continue to grow the cache, but never toss it. Can you please run check-webkit-style (in WebKitTools/Scripts) and fix the style issues before putting this up for review again? Please read the style guide on webkit.org
Sam Magnuson
Comment 3
2010-06-12 10:22:16 PDT
Created
attachment 58557
[details]
Proposed patch with proper coding style
Jędrzej Nowacki
Comment 4
2010-06-15 01:25:34 PDT
Comment on
attachment 58557
[details]
Proposed patch with proper coding style Patch doesn't apply (cq-) and it contains a coding style issue (r-).Please look at comment in 40376 (
https://bugs.webkit.org/show_bug.cgi?id=40376#c3
) similar problem applies.
Sam Magnuson
Comment 5
2010-06-15 12:26:51 PDT
Created
attachment 58805
[details]
Proposed patch with proper coding style, I had reapplied this after a pull from origin this week but never reposted
Sam Magnuson
Comment 6
2010-06-15 12:39:59 PDT
Created
attachment 58806
[details]
Attached wrong patch in previous modification.
Kenneth Rohde Christiansen
Comment 7
2010-06-15 13:35:40 PDT
Comment on
attachment 58806
[details]
Attached wrong patch in previous modification. =WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:44 + // #define QT_DEBUG_CACHEDUMP This alone accounts for an r-, please remove WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:222 + QSizeF size; We do not do indentation like this; just one space WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:316 + if ( QPixmapCache::find(m_backingStore.key, &pixmap) ) no space before QPixmap and at the end. WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:317 + QPixmapCache::remove(m_backingStore.key); // remove the reference to the pixmap in the cache to avoid a detach Comments starts with capital and ends with a punctuation mark (dot) WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:323 + // If the pixmap is not in the cache or the view has grown since the last cache missing dot WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:323 + // If the pixmap is not in the cache or the view has grown since the last cache since the last cache? since it was last cached? WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:333 + // If the pixmap I do not understand this comment WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:344 + // Blit the contents of oldPixmap back into the cached pixmap as we are just adding new pixels misses dot at the end WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:346 + const QRegion cleanRegion = (QRegion(0, 0, m_size.width(), m_size.height()) & the & should be at the next line, consult our style guide, please WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:348 + if ( !cleanRegion.isEmpty() ) { wrong style again WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:363 + if ( fill && !region.isEmpty() ) { // Clear the entire pixmap with the background again WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:373 + // If we have something to draw its time to erase it and render the contents misses dot at the end WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:374 + if ( !region.isEmpty() ) { wrong style (spaces) WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:387 + if ( !erased ) { // Erase the area in cache that we're drawing into again WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:395 + unneeded newline WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:405 + pixmap.save(QString().sprintf("/tmp/%05d_C.png", recacheCount), "PNG"); is PNG supposed to be uppercase? WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:409 + m_backingStore.size = m_size; // Store the used size of the pixmap dot WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:413 + m_backingStore.key = QPixmapCache::insert(pixmap); dot WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:531 + const QRectF r(0, 0, m_backingStore.size.width(), m_backingStore.size.height()); r is not a good variable name
Sam Magnuson
Comment 8
2010-06-15 14:14:29 PDT
Created
attachment 58817
[details]
Take 3, same patch with cleanups proposed in last review.
Sam Magnuson
Comment 9
2010-06-15 14:17:37 PDT
(In reply to
comment #7
)
> (From update of
attachment 58806
[details]
) > =WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:44 > + // #define QT_DEBUG_CACHEDUMP > This alone accounts for an r-, please remove >
It seems convenient to document the define somewhere for turning on debugging - where should that go instead?
> WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:222 > + QSizeF size; > We do not do indentation like this; just one space >
Ok.
> WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:316 > + if ( QPixmapCache::find(m_backingStore.key, &pixmap) ) > no space before QPixmap and at the end. >
I thought I've had such things flagged by check-webkit-style before - but these seemed to slip by...
> WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:323 > + // If the pixmap is not in the cache or the view has grown since the last cache > missing dot
> Fixed these.
> WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:346 > + const QRegion cleanRegion = (QRegion(0, 0, m_size.width(), m_size.height()) & > the & should be at the next line, consult our style guide, please
> I don't see that documented anywhere, or flagged by check-webkit-style. Where should I be looking for these details?
> WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:405 > + pixmap.save(QString().sprintf("/tmp/%05d_C.png", recacheCount), "PNG"); > is PNG supposed to be uppercase? >
Yes, I believe so:
http://doc.qt.nokia.com/4.6/qimage.html#reading-and-writing-image-files
//Sam
Kenneth Rohde Christiansen
Comment 10
2010-06-16 05:26:44 PDT
> It seems convenient to document the define somewhere for turning on debugging - where should that go instead?
define it as 0 instead of commenting it out would probably be ok
> > WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:346 > > + const QRegion cleanRegion = (QRegion(0, 0, m_size.width(), m_size.height()) & > > the & should be at the next line, consult our style guide, please > > > > I don't see that documented anywhere, or flagged by check-webkit-style. Where should I be looking for these details?
should follow the same rule as &&, || etc. When the line is broken they go to the front of the next line, not to the end of the previous one.
Kenneth Rohde Christiansen
Comment 11
2010-06-16 05:28:16 PDT
Comment on
attachment 58817
[details]
Take 3, same patch with cleanups proposed in last review. No'am can you have a quick look at this patch to see if you find anything out of order? Looks good to me.
Sam Magnuson
Comment 12
2010-06-16 09:35:33 PDT
Created
attachment 58899
[details]
define to 0 as requested rather than just removing the define.
Noam Rosenthal
Comment 13
2010-06-16 09:36:11 PDT
LGTM, as are all of Sam's patches to AC :)
Sam Magnuson
Comment 14
2010-06-16 09:36:36 PDT
Created
attachment 58900
[details]
define to 0 as requested rather than just removing the define.
WebKit Commit Bot
Comment 15
2010-06-19 04:44:44 PDT
Comment on
attachment 58900
[details]
define to 0 as requested rather than just removing the define. Rejecting patch 58900 from commit-queue. Failed to run "[u'/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply', u'--reviewer', u'Kenneth Rohde Christiansen', u'--force']" exit_code: 1 Parsed 2 diffs from patch file(s). patching file WebCore/ChangeLog Hunk #1 succeeded at 1 with fuzz 3. patching file WebCore/platform/graphics/qt/GraphicsLayerQt.cpp Hunk #2 succeeded at 229 (offset 11 lines). Hunk #3 FAILED at 321. Hunk #4 succeeded at 567 (offset 40 lines). Hunk #5 succeeded at 753 (offset 60 lines). Hunk #6 FAILED at 796. Hunk #7 FAILED at 1070. 3 out of 7 hunks FAILED -- saving rejects to file WebCore/platform/graphics/qt/GraphicsLayerQt.cpp.rej Full output:
http://webkit-commit-queue.appspot.com/results/3337357
Sam Magnuson
Comment 16
2010-06-21 15:21:32 PDT
Created
attachment 59299
[details]
rebase and rediff
Sam Magnuson
Comment 17
2010-06-21 15:23:03 PDT
(In reply to
comment #15
)
> (From update of
attachment 58900
[details]
) > Rejecting patch 58900 from commit-queue. >
Weird, I did a rebase to origin and resubmitted the patch.
Noam Rosenthal
Comment 18
2010-06-21 16:17:33 PDT
Comment on
attachment 59299
[details]
rebase and rediff Clearing the flags, it still doesn't apply cleanly, we're working on it :)
Eric Seidel (no email)
Comment 19
2010-06-22 13:23:48 PDT
Comment on
attachment 58900
[details]
define to 0 as requested rather than just removing the define. Cleared Kenneth Rohde Christiansen's review+ from obsolete
attachment 58900
[details]
so that this bug does not appear in
http://webkit.org/pending-commit
.
Sam Magnuson
Comment 20
2010-06-22 16:09:58 PDT
Created
attachment 59433
[details]
Rediff against trunk
Noam Rosenthal
Comment 21
2010-06-22 16:50:00 PDT
Comment on
attachment 59433
[details]
Rediff against trunk I have to take it off the cq because it doesn't compile
Sam Magnuson
Comment 22
2010-06-23 00:03:26 PDT
Created
attachment 59483
[details]
Patch
WebKit Commit Bot
Comment 23
2010-06-25 12:31:22 PDT
Comment on
attachment 59483
[details]
Patch Clearing flags on attachment: 59483 Committed
r61880
: <
http://trac.webkit.org/changeset/61880
>
WebKit Commit Bot
Comment 24
2010-06-25 12:31:28 PDT
All reviewed patches have been landed. Closing bug.
Simon Hausmann
Comment 25
2010-07-01 01:24:15 PDT
Revision
r61880
cherry-picked into qtwebkit-2.0 with commit 110642d6f33af6437d305058b73dbd9f03fc1c92
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