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

Side by Side Diff: third_party/WebKit/Source/core/page/SpatialNavigation.cpp

Issue 2569013006: Changed EOverflow to an enum class and renamed its members (Closed)
Patch Set: Rebase Created 4 years 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) 2009 Nokia Corporation and/or its subsidiary(-ies) 2 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
3 * Copyright (C) 2009 Antonio Gomes <tonikitoo@webkit.org> 3 * Copyright (C) 2009 Antonio Gomes <tonikitoo@webkit.org>
4 * 4 *
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 ASSERT(container); 323 ASSERT(container);
324 if (container->isDocumentNode()) 324 if (container->isDocumentNode())
325 return canScrollInDirection(toDocument(container)->frame(), type); 325 return canScrollInDirection(toDocument(container)->frame(), type);
326 326
327 if (!isScrollableNode(container)) 327 if (!isScrollableNode(container))
328 return false; 328 return false;
329 329
330 switch (type) { 330 switch (type) {
331 case WebFocusTypeLeft: 331 case WebFocusTypeLeft:
332 return (container->layoutObject()->style()->overflowX() != 332 return (container->layoutObject()->style()->overflowX() !=
333 OverflowHidden && 333 EOverflow::Hidden &&
334 container->layoutBox()->scrollLeft() > 0); 334 container->layoutBox()->scrollLeft() > 0);
335 case WebFocusTypeUp: 335 case WebFocusTypeUp:
336 return (container->layoutObject()->style()->overflowY() != 336 return (container->layoutObject()->style()->overflowY() !=
337 OverflowHidden && 337 EOverflow::Hidden &&
338 container->layoutBox()->scrollTop() > 0); 338 container->layoutBox()->scrollTop() > 0);
339 case WebFocusTypeRight: 339 case WebFocusTypeRight:
340 return (container->layoutObject()->style()->overflowX() != 340 return (container->layoutObject()->style()->overflowX() !=
341 OverflowHidden && 341 EOverflow::Hidden &&
342 container->layoutBox()->scrollLeft() + 342 container->layoutBox()->scrollLeft() +
343 container->layoutBox()->clientWidth() < 343 container->layoutBox()->clientWidth() <
344 container->layoutBox()->scrollWidth()); 344 container->layoutBox()->scrollWidth());
345 case WebFocusTypeDown: 345 case WebFocusTypeDown:
346 return (container->layoutObject()->style()->overflowY() != 346 return (container->layoutObject()->style()->overflowY() !=
347 OverflowHidden && 347 EOverflow::Hidden &&
348 container->layoutBox()->scrollTop() + 348 container->layoutBox()->scrollTop() +
349 container->layoutBox()->clientHeight() < 349 container->layoutBox()->clientHeight() <
350 container->layoutBox()->scrollHeight()); 350 container->layoutBox()->scrollHeight());
351 default: 351 default:
352 ASSERT_NOT_REACHED(); 352 ASSERT_NOT_REACHED();
353 return false; 353 return false;
354 } 354 }
355 } 355 }
356 356
357 bool canScrollInDirection(const LocalFrame* frame, WebFocusType type) { 357 bool canScrollInDirection(const LocalFrame* frame, WebFocusType type) {
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 weightedOrthogonalAxisDistance - sqrt(overlap); 619 weightedOrthogonalAxisDistance - sqrt(overlap);
620 } 620 }
621 621
622 bool canBeScrolledIntoView(WebFocusType type, const FocusCandidate& candidate) { 622 bool canBeScrolledIntoView(WebFocusType type, const FocusCandidate& candidate) {
623 ASSERT(candidate.visibleNode && candidate.isOffscreen); 623 ASSERT(candidate.visibleNode && candidate.isOffscreen);
624 LayoutRect candidateRect = candidate.rect; 624 LayoutRect candidateRect = candidate.rect;
625 for (Node& parentNode : NodeTraversal::ancestorsOf(*candidate.visibleNode)) { 625 for (Node& parentNode : NodeTraversal::ancestorsOf(*candidate.visibleNode)) {
626 LayoutRect parentRect = nodeRectInAbsoluteCoordinates(&parentNode); 626 LayoutRect parentRect = nodeRectInAbsoluteCoordinates(&parentNode);
627 if (!candidateRect.intersects(parentRect)) { 627 if (!candidateRect.intersects(parentRect)) {
628 if (((type == WebFocusTypeLeft || type == WebFocusTypeRight) && 628 if (((type == WebFocusTypeLeft || type == WebFocusTypeRight) &&
629 parentNode.layoutObject()->style()->overflowX() == OverflowHidden) || 629 parentNode.layoutObject()->style()->overflowX() ==
630 EOverflow::Hidden) ||
630 ((type == WebFocusTypeUp || type == WebFocusTypeDown) && 631 ((type == WebFocusTypeUp || type == WebFocusTypeDown) &&
631 parentNode.layoutObject()->style()->overflowY() == OverflowHidden)) 632 parentNode.layoutObject()->style()->overflowY() ==
633 EOverflow::Hidden))
632 return false; 634 return false;
633 } 635 }
634 if (parentNode == candidate.enclosingScrollableBox) 636 if (parentNode == candidate.enclosingScrollableBox)
635 return canScrollInDirection(&parentNode, type); 637 return canScrollInDirection(&parentNode, type);
636 } 638 }
637 return true; 639 return true;
638 } 640 }
639 641
640 // The starting rect is the rect of the focused node, in document coordinates. 642 // The starting rect is the rect of the focused node, in document coordinates.
641 // Compose a virtual starting rect if there is no focused node or if it is off 643 // Compose a virtual starting rect if there is no focused node or if it is off
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 return rect; 683 return rect;
682 } 684 }
683 685
684 HTMLFrameOwnerElement* frameOwnerElement(FocusCandidate& candidate) { 686 HTMLFrameOwnerElement* frameOwnerElement(FocusCandidate& candidate) {
685 return candidate.isFrameOwnerElement() 687 return candidate.isFrameOwnerElement()
686 ? toHTMLFrameOwnerElement(candidate.visibleNode) 688 ? toHTMLFrameOwnerElement(candidate.visibleNode)
687 : nullptr; 689 : nullptr;
688 }; 690 };
689 691
690 } // namespace blink 692 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698