Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutTable.cpp

Issue 1630793002: Stop hit testing culled inlines when a match is found (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Simpler approach, but duplicated code Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 * (C) 1997 Torben Weis (weis@kde.org) 3 * (C) 1997 Torben Weis (weis@kde.org)
4 * (C) 1998 Waldo Bastian (bastian@kde.org) 4 * (C) 1998 Waldo Bastian (bastian@kde.org)
5 * (C) 1999 Lars Knoll (knoll@kde.org) 5 * (C) 1999 Lars Knoll (knoll@kde.org)
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) 6 * (C) 1999 Antti Koivisto (koivisto@kde.org)
7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved.
8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 return true; 1349 return true;
1350 } 1350 }
1351 } 1351 }
1352 } 1352 }
1353 } 1353 }
1354 1354
1355 // Check our bounds next. 1355 // Check our bounds next.
1356 LayoutRect boundsRect(adjustedLocation, size()); 1356 LayoutRect boundsRect(adjustedLocation, size());
1357 if (visibleToHitTestRequest(result.hitTestRequest()) && (action == HitTestBl ockBackground || action == HitTestChildBlockBackground) && locationInContainer.i ntersects(boundsRect)) { 1357 if (visibleToHitTestRequest(result.hitTestRequest()) && (action == HitTestBl ockBackground || action == HitTestChildBlockBackground) && locationInContainer.i ntersects(boundsRect)) {
1358 updateHitTestResult(result, flipForWritingMode(locationInContainer.point () - toLayoutSize(adjustedLocation))); 1358 updateHitTestResult(result, flipForWritingMode(locationInContainer.point () - toLayoutSize(adjustedLocation)));
1359 if (!result.addNodeToListBasedTestResult(node(), locationInContainer, bo undsRect)) 1359 if (result.addNodeToListBasedTestResult(node(), locationInContainer, bou ndsRect) == StopHitTesting)
1360 return true; 1360 return true;
1361 } 1361 }
1362 1362
1363 return false; 1363 return false;
1364 } 1364 }
1365 1365
1366 LayoutTable* LayoutTable::createAnonymousWithParent(const LayoutObject* parent) 1366 LayoutTable* LayoutTable::createAnonymousWithParent(const LayoutObject* parent)
1367 { 1367 {
1368 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWithDisp lay(parent->styleRef(), parent->isLayoutInline() ? INLINE_TABLE : TABLE); 1368 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWithDisp lay(parent->styleRef(), parent->isLayoutInline() ? INLINE_TABLE : TABLE);
1369 LayoutTable* newTable = new LayoutTable(nullptr); 1369 LayoutTable* newTable = new LayoutTable(nullptr);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1455 1455
1456 LayoutUnit LayoutTable::paddingRight() const 1456 LayoutUnit LayoutTable::paddingRight() const
1457 { 1457 {
1458 if (collapseBorders()) 1458 if (collapseBorders())
1459 return LayoutUnit(); 1459 return LayoutUnit();
1460 1460
1461 return LayoutBlock::paddingRight(); 1461 return LayoutBlock::paddingRight();
1462 } 1462 }
1463 1463
1464 } // namespace blink 1464 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutInline.cpp ('k') | third_party/WebKit/Source/core/layout/line/EllipsisBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698