[Webkit-unassigned] [Bug 81786] Support fixed position elements in Qt WebKit2
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 23 06:18:22 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=81786
Noam Rosenthal <noam.rosenthal at nokia.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #133414|review? |review-
Flag| |
--- Comment #17 from Noam Rosenthal <noam.rosenthal at nokia.com> 2012-03-23 06:18:22 PST ---
(From update of attachment 133414)
View in context: https://bugs.webkit.org/attachment.cgi?id=133414&action=review
Discussed this on IRC;
I'd rather we don't pass around all this fixed-position information, and instead do something more aligned with how GraphicsLayer are offseted in WebCore, by setting a scrollOffset on all of them.
> Source/WebCore/page/FrameView.cpp:1717
> + if (m_frame->page()->settings()->acceleratedCompositingForFixedPositionEnabled()) {
> + updateFixedElementsAfterScrolling();
> + repaintFixedElementsAfterScrolling();
> + }
This probably needs a comment.
> Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h:109
> + HashMap<int, WebCore::Length> m_fixedPositionInformation;
I don't like using a map for 4 items. Please see previous comment.
> Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:126
> + if (m_fixedLayers.size()) {
> + LayerMap::iterator end = m_fixedLayers.end();
> + for (LayerMap::iterator it = m_fixedLayers.begin(); it != end; ++it)
> + it->second->syncCompositingStateForThisLayerOnly();
> + }
Why do you need to sync these again?
> Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:167
> + m_contentsSize = contentsSize;
how is this different from DrawingArea::contentsRect()?
> Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:196
> + adjustedX = visibleEdgeLeft + left.getFloatValue() * m_visibleContentsRect.width() / 100;
You're doing manually what WebCore::Length can do automatically.
> Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h:120
> + WebKit::PositionInformationMap& fixedPositionInformation() { return m_fixedPositionInformation; }
> + bool hasFixedPosition() const { return m_hasFixedPosition; }
> + void setHasFixedPosition(bool isFixed) { m_hasFixedPosition = isFixed; }
> +
I'd rather call this
fixedToViewport
and offsetFromViewport
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list