WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
191577
[cairo] BackingStore::incorporateUpdate should use CompositeCopy to support drawsBackground=false in general Cairo ports
https://bugs.webkit.org/show_bug.cgi?id=191577
Summary
[cairo] BackingStore::incorporateUpdate should use CompositeCopy to support d...
Tomoki Imai
Reported
2018-11-12 21:02:25 PST
Created
attachment 354641
[details]
Test HTML which doesn't have background color. I'm trying to implement a transparent background feature in Cairo port, and found that it works only in GTK+ port because of BackingStore::incorporateUpdate. # How to reproduce The other cairo ports doesn't have transparent background feature yet, but this is reproducable in GTK+ port by removing platform specific code. 1. Delete GTK+ specific code from BackingStore::incorporateUpdate -
https://trac.webkit.org/browser/webkit/trunk/Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp?rev=227728#L96
2. Build WebKitGTK+ as usual 3. Run MiniBrowser with custom background color. - $ Tools/Scripts/run-minibrowser --gtk --bg-color="rgba(0,0,0,0)" 4. Go to webpage which doesn't have background. - You can use attached HTML file. # Expected result The webpage's background becomes transparent. # Actual result You see collapsed image because previous image are not cleared. (I'll attach image) I'll post the patch.
Attachments
Test HTML which doesn't have background color.
(1.27 KB, text/html)
2018-11-12 21:02 PST
,
Tomoki Imai
no flags
Details
Actual result of the testcase
(286.07 KB, image/png)
2018-11-12 21:06 PST
,
Tomoki Imai
no flags
Details
Use CompositeCopy to update bitmap to overwrite existing surface
(3.43 KB, patch)
2018-11-12 21:18 PST
,
Tomoki Imai
no flags
Details
Formatted Diff
Diff
Use CompositeCopy to update bitmap to overwrite existing surface
(3.56 KB, patch)
2018-11-12 21:39 PST
,
Tomoki Imai
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Tomoki Imai
Comment 1
2018-11-12 21:06:08 PST
Created
attachment 354644
[details]
Actual result of the testcase At first, MiniBrowser opens WebKitGTK+ webpage. After that, I opened
Attachment 354641
[details]
.
Tomoki Imai
Comment 2
2018-11-12 21:18:49 PST
Created
attachment 354645
[details]
Use CompositeCopy to update bitmap to overwrite existing surface We should set graphicsContext.setCompositeOperation(WebCore::CompositeCopy) before updating surface. We should overwrite existing surface by the source even if it contains non opaque parts.
Tomoki Imai
Comment 3
2018-11-12 21:39:00 PST
Created
attachment 354649
[details]
Use CompositeCopy to update bitmap to overwrite existing surface I updated ChangeLog as the bugtitle doesn't match to bugzilla, and the style is different from the others.
Tomoki Imai
Comment 4
2018-11-12 21:45:22 PST
I guess we can get rid of GTK+ specific code from BackingStore::incorporateUpdate if user-defined background color is used in WebProcess side.
https://trac.webkit.org/browser/webkit/trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp?rev=238057#L2817
Carlos Garcia Campos
Comment 5
2018-11-19 02:20:43 PST
Comment on
attachment 354649
[details]
Use CompositeCopy to update bitmap to overwrite existing surface Ok.
WebKit Commit Bot
Comment 6
2018-11-19 13:22:57 PST
Comment on
attachment 354649
[details]
Use CompositeCopy to update bitmap to overwrite existing surface Clearing flags on attachment: 354649 Committed
r238379
: <
https://trac.webkit.org/changeset/238379
>
WebKit Commit Bot
Comment 7
2018-11-19 13:22:59 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 8
2018-11-19 13:23:32 PST
<
rdar://problem/46173057
>
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