| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 ASSERT(m_mapping.isEmpty() || | 189 ASSERT(m_mapping.isEmpty() || |
| 190 isTopmostLayoutView(m_mapping[0].m_layoutObject)); | 190 isTopmostLayoutView(m_mapping[0].m_layoutObject)); |
| 191 } | 191 } |
| 192 | 192 |
| 193 static bool canMapBetweenLayoutObjects(const LayoutObject& layoutObject, | 193 static bool canMapBetweenLayoutObjects(const LayoutObject& layoutObject, |
| 194 const LayoutObject& ancestor) { | 194 const LayoutObject& ancestor) { |
| 195 for (const LayoutObject* current = &layoutObject;; | 195 for (const LayoutObject* current = &layoutObject;; |
| 196 current = current->parent()) { | 196 current = current->parent()) { |
| 197 const ComputedStyle& style = current->styleRef(); | 197 const ComputedStyle& style = current->styleRef(); |
| 198 if (style.position() == EPosition::kFixed || | 198 if (style.position() == EPosition::kFixed || |
| 199 style.isFlippedBlocksWritingMode()) | 199 style.isFlippedBlocksWritingMode() || |
| 200 style.hasTransformRelatedProperty()) |
| 200 return false; | 201 return false; |
| 201 | 202 |
| 202 if (current->style()->canContainFixedPositionObjects() || | 203 if (current->canContainFixedPositionObjects() || |
| 203 current->isLayoutFlowThread() || current->isSVGRoot()) | 204 current->isLayoutFlowThread() || current->isSVGRoot()) |
| 204 return false; | 205 return false; |
| 205 | 206 |
| 206 if (current == &ancestor) | 207 if (current == &ancestor) |
| 207 break; | 208 break; |
| 208 | 209 |
| 209 if (current->isFloatingWithNonContainingBlockParent()) | 210 if (current->isFloatingWithNonContainingBlockParent()) |
| 210 return false; | 211 return false; |
| 211 } | 212 } |
| 212 | 213 |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 // If we're not working with multiple LayoutViews, then any view is considered | 374 // If we're not working with multiple LayoutViews, then any view is considered |
| 374 // "topmost" (to preserve original behavior). | 375 // "topmost" (to preserve original behavior). |
| 375 if (!(m_mapCoordinatesFlags & TraverseDocumentBoundaries)) | 376 if (!(m_mapCoordinatesFlags & TraverseDocumentBoundaries)) |
| 376 return true; | 377 return true; |
| 377 | 378 |
| 378 return layoutObject->frame()->isMainFrame(); | 379 return layoutObject->frame()->isMainFrame(); |
| 379 } | 380 } |
| 380 #endif | 381 #endif |
| 381 | 382 |
| 382 } // namespace blink | 383 } // namespace blink |
| OLD | NEW |