IFrameLayerAndroid.cpp revision cc6ffa0710f304fbcaa43953b0dc89e1d9b931a2
1d487c56b47c747d3e331ee1892e4c0473363afd2Chris Craik#define LOG_TAG "IFrameLayerAndroid" 2d487c56b47c747d3e331ee1892e4c0473363afd2Chris Craik#define LOG_NDEBUG 1 3d487c56b47c747d3e331ee1892e4c0473363afd2Chris Craik 447b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard#include "config.h" 547b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard#include "IFrameLayerAndroid.h" 647b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 747b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard#if USE(ACCELERATED_COMPOSITING) 847b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 9d487c56b47c747d3e331ee1892e4c0473363afd2Chris Craik#include "AndroidLog.h" 1047b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard#include "DumpLayer.h" 1147b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 1247b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roardnamespace WebCore { 1347b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 1447b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas RoardIFrameLayerAndroid* IFrameLayerAndroid::updatePosition(SkRect viewport, 1547b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard IFrameLayerAndroid* parentIframeLayer) 1647b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard{ 1747b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard // As we are an iframe, accumulate the offset from the parent with 1847b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard // the current position, and change the parent pointer. 1947b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 2047b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard // If this is the top level, take the current position 2147b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard SkPoint parentOffset; 2247b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard parentOffset.set(0,0); 2347b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard if (parentIframeLayer) 2447b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard parentOffset = parentIframeLayer->getPosition(); 2547b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 2647b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard SkPoint offset = parentOffset + getPosition(); 2747b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard m_iframeOffset = IntPoint(offset.fX, offset.fY); 2847b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 2947b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard return this; 3047b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard} 3147b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 32cc6ffa0710f304fbcaa43953b0dc89e1d9b931a2John Reckvoid IFrameLayerAndroid::dumpLayer(LayerDumper* dumper) const 3347b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard{ 34cc6ffa0710f304fbcaa43953b0dc89e1d9b931a2John Reck LayerAndroid::dumpLayer(dumper); 35cc6ffa0710f304fbcaa43953b0dc89e1d9b931a2John Reck dumper->writeIntPoint("m_iframeOffset", m_iframeOffset); 3647b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard} 3747b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 3847b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard} // namespace WebCore 3947b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard 4047b8a953ab1b71113b605fd84489f63938bd7dd7Nicolas Roard#endif // USE(ACCELERATED_COMPOSITING) 41