We should be able to handle everything in webcore. First patch makes everything work in WebCore, second will remove WebKit code.
Created attachment 82655 [details] Patch
Created attachment 82658 [details] Patch
Created attachment 82662 [details] [PATCH] For bots
Attachment 82662 [details] did not build on qt: Build output: http://queues.webkit.org/results/7920378
Attachment 82662 [details] did not build on win: Build output: http://queues.webkit.org/results/7918376
Comment on attachment 82658 [details] Patch Ok, so I now have a better understanding of why it was done in WebKit: compositing. James R. hinted that we could try introducing a separate layer on top of the world with the highlight. I'll look into it tomorrow. It should be all WebCore (rendering/ and platform/graphics/*).
Created attachment 95477 [details] Patch
This is a first attempt. I'd like to get some high level review on the approach. Also for some reason this doesn't work on mac non-WK2, whenever I try to highlight something in composited mode - highlight works fine, but all transformed layers disappear. I did not made anything about WK2 yet. see also: https://bugs.webkit.org/show_bug.cgi?id=54618
Comment on attachment 95477 [details] Patch Attachment 95477 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/8751808
Comment on attachment 95477 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=95477&action=review > Source/WebCore/rendering/RenderLayerCompositor.cpp:1474 > + } else if (graphicsLayer == m_overlayLayer) > + m_renderView->frameView()->frame()->page()->pageOverlay()->paintComposited(context); This is just too convoluted. RLC shouldn't have to know anything about page()->pageOverlay(). I still think that the overlay layer should be hooked up outside of WebCore, just like WK2 does it.
As per comment #10