RESOLVED FIXED 126069
Start refactoring Filter code to reuse CachedSVGDocument for clipPath
https://bugs.webkit.org/show_bug.cgi?id=126069
Summary Start refactoring Filter code to reuse CachedSVGDocument for clipPath
Dirk Schulze
Reported 2013-12-20 07:58:29 PST
The current code in StyleResolver needs some refactoring so that clipPath can use SVG document caching as well.
Attachments
Patch (3.82 KB, patch)
2013-12-20 08:02 PST, Dirk Schulze
buildbot: commit-queue-
Patch (3.76 KB, patch)
2013-12-20 10:51 PST, Dirk Schulze
no flags
Archive of layout-test-results from webkit-cq-02 for mac-mountainlion (474.96 KB, application/zip)
2013-12-20 12:18 PST, WebKit Commit Bot
no flags
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2 (594.15 KB, application/zip)
2013-12-20 21:55 PST, Build Bot
no flags
Dirk Schulze
Comment 1 2013-12-20 08:02:38 PST
Andreas Kling
Comment 2 2013-12-20 08:24:46 PST
Comment on attachment 219759 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=219759&action=review > Source/WebCore/ChangeLog:12 > + Smaller refactoring of the CSS filter style resolver code. Previously the code > + requested the FilterOperations list from RenderStyle and compared the content > + in this list with an internal map. Then the resource loading was triggered. > + With the refactoring we do not request the list from RenderStyle anymore but > + rely on the hash map data entirely. Why is this not necessary anymore? > Source/WebCore/css/StyleResolver.cpp:3418 > + PendingSVGDocumentMap::iterator end = state.pendingSVGDocuments().end(); > + for (PendingSVGDocumentMap::iterator it = state.pendingSVGDocuments().begin(); it != end; ++it) { I'd shorten this down a bit with auto: for (auto it = state.pendingSVGDocuments().begin(), end = state.pendingSVGDocuments().end(); it != end; ++it) {
Dirk Schulze
Comment 3 2013-12-20 10:40:12 PST
(In reply to comment #2) > (From update of attachment 219759 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=219759&action=review > > > Source/WebCore/ChangeLog:12 > > + Smaller refactoring of the CSS filter style resolver code. Previously the code > > + requested the FilterOperations list from RenderStyle and compared the content > > + in this list with an internal map. Then the resource loading was triggered. > > + With the refactoring we do not request the list from RenderStyle anymore but > > + rely on the hash map data entirely. > > Why is this not necessary anymore? The HashMap has a pointer to the FilterOperation that needs the cached resource. The function currently has access to this pointer but instead uses RenderStyle to get the operator again. Even worst, we now need to iterate through the whole list of FilterOperations instead just taking the FilterOperations we know that they need resources. > > > Source/WebCore/css/StyleResolver.cpp:3418 > > + PendingSVGDocumentMap::iterator end = state.pendingSVGDocuments().end(); > > + for (PendingSVGDocumentMap::iterator it = state.pendingSVGDocuments().begin(); it != end; ++it) { > > I'd shorten this down a bit with auto: > > for (auto it = state.pendingSVGDocuments().begin(), end = state.pendingSVGDocuments().end(); it != end; ++it) { Will do.
Dirk Schulze
Comment 4 2013-12-20 10:51:41 PST
Andreas Kling
Comment 5 2013-12-20 11:42:16 PST
Comment on attachment 219769 [details] Patch r=me
WebKit Commit Bot
Comment 6 2013-12-20 12:18:28 PST
Comment on attachment 219769 [details] Patch Rejecting attachment 219769 [details] from commit-queue. New failing tests: editing/pasteboard/copy-image-with-alt-text.html Full output: http://webkit-queues.appspot.com/results/50948252
WebKit Commit Bot
Comment 7 2013-12-20 12:18:31 PST
Created attachment 219780 [details] Archive of layout-test-results from webkit-cq-02 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the commit-queue. Bot: webkit-cq-02 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Build Bot
Comment 8 2013-12-20 21:55:36 PST
Comment on attachment 219759 [details] Patch Attachment 219759 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/44438132 New failing tests: editing/inserting/insert-br-009.html
Build Bot
Comment 9 2013-12-20 21:55:38 PST
Created attachment 219837 [details] Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-16 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Dirk Schulze
Comment 10 2013-12-21 22:31:14 PST
Comment on attachment 219769 [details] Patch Looking at the tests, they seem unrelated to filters. Resubmitting.
WebKit Commit Bot
Comment 11 2013-12-21 22:58:35 PST
Comment on attachment 219769 [details] Patch Clearing flags on attachment: 219769 Committed r160973: <http://trac.webkit.org/changeset/160973>
Ahmad Saleem
Comment 12 2023-08-31 15:23:56 PDT
Radar WebKit Bug Importer
Comment 13 2023-08-31 15:24:16 PDT
Note You need to log in before you can comment on or make changes to this bug.