OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
387 // In order to do a DFS cross-frame walk of the RenderLayer tree, we need to kno w which | 387 // In order to do a DFS cross-frame walk of the RenderLayer tree, we need to kno w which |
388 // RenderLayers have child frames inside of them. This computes a mapping for th e | 388 // RenderLayers have child frames inside of them. This computes a mapping for th e |
389 // current frame which we can consult while walking the layers of that frame. | 389 // current frame which we can consult while walking the layers of that frame. |
390 // Whenever we descend into a new frame, a new map will be created. | 390 // Whenever we descend into a new frame, a new map will be created. |
391 typedef HashMap<const RenderLayer*, Vector<const LocalFrame*> > LayerFrameMap; | 391 typedef HashMap<const RenderLayer*, Vector<const LocalFrame*> > LayerFrameMap; |
392 static void makeLayerChildFrameMap(const LocalFrame* currentFrame, LayerFrameMap * map) | 392 static void makeLayerChildFrameMap(const LocalFrame* currentFrame, LayerFrameMap * map) |
393 { | 393 { |
394 map->clear(); | 394 map->clear(); |
395 const FrameTree& tree = currentFrame->tree(); | 395 const FrameTree& tree = currentFrame->tree(); |
396 for (const LocalFrame* child = tree.firstChild(); child; child = child->tree ().nextSibling()) { | 396 for (const LocalFrame* child = tree.firstChild(); child; child = child->tree ().nextSibling()) { |
397 if (const RenderLayer* containingLayer = child->ownerRenderer()->enclosi ngLayer()) { | 397 if (const RenderObject* ownerRenderer = child->ownerRenderer()) { |
esprehn
2014/03/27 23:54:28
Might be nicer to use a "continue" instead of nest
| |
398 const RenderLayer* containingLayer = ownerRenderer->enclosingLayer() ; | |
398 LayerFrameMap::iterator iter = map->find(containingLayer); | 399 LayerFrameMap::iterator iter = map->find(containingLayer); |
399 if (iter == map->end()) | 400 if (iter == map->end()) |
400 map->add(containingLayer, Vector<const LocalFrame*>()).storedVal ue->value.append(child); | 401 map->add(containingLayer, Vector<const LocalFrame*>()).storedVal ue->value.append(child); |
401 else | 402 else |
402 iter->value.append(child); | 403 iter->value.append(child); |
403 } | 404 } |
404 } | 405 } |
405 } | 406 } |
406 | 407 |
407 static void convertLayerRectsToEnclosingCompositedLayerRecursive( | 408 static void convertLayerRectsToEnclosingCompositedLayerRecursive( |
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
954 bool frameIsScrollable = frameView && frameView->isScrollable(); | 955 bool frameIsScrollable = frameView && frameView->isScrollable(); |
955 if (frameIsScrollable != m_wasFrameScrollable) | 956 if (frameIsScrollable != m_wasFrameScrollable) |
956 return true; | 957 return true; |
957 | 958 |
958 if (WebLayer* scrollLayer = frameView ? toWebLayer(frameView->layerForScroll ing()) : 0) | 959 if (WebLayer* scrollLayer = frameView ? toWebLayer(frameView->layerForScroll ing()) : 0) |
959 return blink::WebSize(frameView->contentsSize()) != scrollLayer->bounds( ); | 960 return blink::WebSize(frameView->contentsSize()) != scrollLayer->bounds( ); |
960 return false; | 961 return false; |
961 } | 962 } |
962 | 963 |
963 } // namespace WebCore | 964 } // namespace WebCore |
OLD | NEW |