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

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

Issue 2893833004: When moving past a left-hand scrollbar, don't jump way outside the content box. (Closed)
Patch Set: Created 3 years, 7 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 FloatingObject* new_floating_object = floating_objects_->Add( 614 FloatingObject* new_floating_object = floating_objects_->Add(
615 floating_object->CopyToNewContainer(offset, false, true)); 615 floating_object->CopyToNewContainer(offset, false, true));
616 new_floating_object->SetIsLowestNonOverhangingFloatInChild(true); 616 new_floating_object->SetIsLowestNonOverhangingFloatInChild(true);
617 } 617 }
618 618
619 DISABLE_CFI_PERF 619 DISABLE_CFI_PERF
620 void LayoutBlockFlow::DetermineLogicalLeftPositionForChild(LayoutBox& child) { 620 void LayoutBlockFlow::DetermineLogicalLeftPositionForChild(LayoutBox& child) {
621 LayoutUnit start_position = BorderStart() + PaddingStart(); 621 LayoutUnit start_position = BorderStart() + PaddingStart();
622 LayoutUnit initial_start_position = start_position; 622 LayoutUnit initial_start_position = start_position;
623 if (ShouldPlaceBlockDirectionScrollbarOnLogicalLeft()) 623 if (ShouldPlaceBlockDirectionScrollbarOnLogicalLeft())
624 start_position -= VerticalScrollbarWidth(); 624 start_position -= VerticalScrollbarWidthClampedToContentBox();
625 LayoutUnit total_available_logical_width = 625 LayoutUnit total_available_logical_width =
626 BorderAndPaddingLogicalWidth() + AvailableLogicalWidth(); 626 BorderAndPaddingLogicalWidth() + AvailableLogicalWidth();
627 627
628 LayoutUnit child_margin_start = MarginStartForChild(child); 628 LayoutUnit child_margin_start = MarginStartForChild(child);
629 LayoutUnit new_position = start_position + child_margin_start; 629 LayoutUnit new_position = start_position + child_margin_start;
630 630
631 if (child.AvoidsFloats() && ContainsFloats()) { 631 if (child.AvoidsFloats() && ContainsFloats()) {
632 LayoutUnit position_to_avoid_floats = 632 LayoutUnit position_to_avoid_floats =
633 StartOffsetForLine(LogicalTopForChild(child), kDoNotIndentText, 633 StartOffsetForLine(LogicalTopForChild(child), kDoNotIndentText,
634 LogicalHeightForChild(child)); 634 LogicalHeightForChild(child));
(...skipping 4059 matching lines...) Expand 10 before | Expand all | Expand 10 after
4694 return LayoutBlock::DeprecatedInvalidatePaint(paint_invalidation_state); 4694 return LayoutBlock::DeprecatedInvalidatePaint(paint_invalidation_state);
4695 } 4695 }
4696 4696
4697 void LayoutBlockFlow::InvalidateDisplayItemClients( 4697 void LayoutBlockFlow::InvalidateDisplayItemClients(
4698 PaintInvalidationReason invalidation_reason) const { 4698 PaintInvalidationReason invalidation_reason) const {
4699 BlockFlowPaintInvalidator(*this).InvalidateDisplayItemClients( 4699 BlockFlowPaintInvalidator(*this).InvalidateDisplayItemClients(
4700 invalidation_reason); 4700 invalidation_reason);
4701 } 4701 }
4702 4702
4703 } // namespace blink 4703 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698