| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 3605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3616 IntPoint FrameView::ConvertToLayoutItem(const LayoutItem& layout_item, | 3616 IntPoint FrameView::ConvertToLayoutItem(const LayoutItem& layout_item, |
| 3617 const IntPoint& frame_point) const { | 3617 const IntPoint& frame_point) const { |
| 3618 IntPoint point = frame_point; | 3618 IntPoint point = frame_point; |
| 3619 | 3619 |
| 3620 // Convert from FrameView coords into page ("absolute") coordinates. | 3620 // Convert from FrameView coords into page ("absolute") coordinates. |
| 3621 point += IntSize(ScrollX(), ScrollY()); | 3621 point += IntSize(ScrollX(), ScrollY()); |
| 3622 | 3622 |
| 3623 return RoundedIntPoint(layout_item.AbsoluteToLocal(point, kUseTransforms)); | 3623 return RoundedIntPoint(layout_item.AbsoluteToLocal(point, kUseTransforms)); |
| 3624 } | 3624 } |
| 3625 | 3625 |
| 3626 IntPoint FrameView::ConvertSelfToChild(const FrameViewBase* child, |
| 3627 const IntPoint& point) const { |
| 3628 // TODO(joelhockey): Remove this check once Scrollbar no longer inherits from |
| 3629 // FrameViewBase. |
| 3630 DCHECK(!IsFrameViewScrollbar(child)); |
| 3631 IntPoint new_point = point; |
| 3632 new_point = FrameToContents(point); |
| 3633 new_point.MoveBy(-child->Location()); |
| 3634 return new_point; |
| 3635 } |
| 3636 |
| 3626 IntRect FrameView::ConvertToContainingFrameViewBase( | 3637 IntRect FrameView::ConvertToContainingFrameViewBase( |
| 3627 const IntRect& local_rect) const { | 3638 const IntRect& local_rect) const { |
| 3628 if (const FrameView* parent_view = ToFrameView(Parent())) { | 3639 if (const FrameView* parent = ToFrameView(Parent())) { |
| 3629 // Get our layoutObject in the parent view | 3640 // Get our layoutObject in the parent view |
| 3630 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); | 3641 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); |
| 3631 if (layout_item.IsNull()) | 3642 if (layout_item.IsNull()) |
| 3632 return local_rect; | 3643 return local_rect; |
| 3633 | 3644 |
| 3634 IntRect rect(local_rect); | 3645 IntRect rect(local_rect); |
| 3635 // Add borders and padding?? | 3646 // Add borders and padding?? |
| 3636 rect.Move((layout_item.BorderLeft() + layout_item.PaddingLeft()).ToInt(), | 3647 rect.Move((layout_item.BorderLeft() + layout_item.PaddingLeft()).ToInt(), |
| 3637 (layout_item.BorderTop() + layout_item.PaddingTop()).ToInt()); | 3648 (layout_item.BorderTop() + layout_item.PaddingTop()).ToInt()); |
| 3638 return parent_view->ConvertFromLayoutItem(layout_item, rect); | 3649 return parent->ConvertFromLayoutItem(layout_item, rect); |
| 3639 } | 3650 } |
| 3640 | 3651 |
| 3641 return local_rect; | 3652 return local_rect; |
| 3642 } | 3653 } |
| 3643 | 3654 |
| 3644 IntRect FrameView::ConvertFromContainingFrameViewBase( | 3655 IntRect FrameView::ConvertFromContainingFrameViewBase( |
| 3645 const IntRect& parent_rect) const { | 3656 const IntRect& parent_rect) const { |
| 3646 if (const FrameView* parent_view = ToFrameView(Parent())) { | 3657 if (const FrameView* parent = ToFrameView(Parent())) { |
| 3647 // Get our layoutObject in the parent view | 3658 IntRect local_rect = parent_rect; |
| 3648 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); | 3659 local_rect.SetLocation( |
| 3649 if (layout_item.IsNull()) | 3660 parent->ConvertSelfToChild(this, local_rect.Location())); |
| 3650 return parent_rect; | 3661 return local_rect; |
| 3651 | |
| 3652 IntRect rect = parent_view->ConvertToLayoutItem(layout_item, parent_rect); | |
| 3653 // Subtract borders and padding | |
| 3654 rect.Move((-layout_item.BorderLeft() - layout_item.PaddingLeft()).ToInt(), | |
| 3655 (-layout_item.BorderTop() - layout_item.PaddingTop()).ToInt()); | |
| 3656 return rect; | |
| 3657 } | 3662 } |
| 3658 | 3663 |
| 3659 return parent_rect; | 3664 return parent_rect; |
| 3660 } | 3665 } |
| 3661 | 3666 |
| 3662 IntPoint FrameView::ConvertToContainingFrameViewBase( | 3667 IntPoint FrameView::ConvertToContainingFrameViewBase( |
| 3663 const IntPoint& local_point) const { | 3668 const IntPoint& local_point) const { |
| 3664 if (const FrameView* parent_view = ToFrameView(Parent())) { | 3669 if (const FrameView* parent = ToFrameView(Parent())) { |
| 3665 // Get our layoutObject in the parent view | 3670 // Get our layoutObject in the parent view |
| 3666 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); | 3671 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); |
| 3667 if (layout_item.IsNull()) | 3672 if (layout_item.IsNull()) |
| 3668 return local_point; | 3673 return local_point; |
| 3669 | 3674 |
| 3670 IntPoint point(local_point); | 3675 IntPoint point(local_point); |
| 3671 | 3676 |
| 3672 // Add borders and padding | 3677 // Add borders and padding |
| 3673 point.Move((layout_item.BorderLeft() + layout_item.PaddingLeft()).ToInt(), | 3678 point.Move((layout_item.BorderLeft() + layout_item.PaddingLeft()).ToInt(), |
| 3674 (layout_item.BorderTop() + layout_item.PaddingTop()).ToInt()); | 3679 (layout_item.BorderTop() + layout_item.PaddingTop()).ToInt()); |
| 3675 return parent_view->ConvertFromLayoutItem(layout_item, point); | 3680 return parent->ConvertFromLayoutItem(layout_item, point); |
| 3676 } | 3681 } |
| 3677 | 3682 |
| 3678 return local_point; | 3683 return local_point; |
| 3679 } | 3684 } |
| 3680 | 3685 |
| 3681 IntPoint FrameView::ConvertFromContainingFrameViewBase( | 3686 IntPoint FrameView::ConvertFromContainingFrameViewBase( |
| 3682 const IntPoint& parent_point) const { | 3687 const IntPoint& parent_point) const { |
| 3683 if (const FrameView* parent_view = ToFrameView(Parent())) { | 3688 if (const FrameView* parent = ToFrameView(Parent())) { |
| 3684 // Get our layoutObject in the parent view | 3689 // Get our layoutObject in the parent view |
| 3685 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); | 3690 LayoutPartItem layout_item = frame_->OwnerLayoutItem(); |
| 3686 if (layout_item.IsNull()) | 3691 if (layout_item.IsNull()) |
| 3687 return parent_point; | 3692 return parent_point; |
| 3688 | 3693 |
| 3689 IntPoint point = | 3694 IntPoint point = parent->ConvertToLayoutItem(layout_item, parent_point); |
| 3690 parent_view->ConvertToLayoutItem(layout_item, parent_point); | |
| 3691 // Subtract borders and padding | 3695 // Subtract borders and padding |
| 3692 point.Move((-layout_item.BorderLeft() - layout_item.PaddingLeft()).ToInt(), | 3696 point.Move((-layout_item.BorderLeft() - layout_item.PaddingLeft()).ToInt(), |
| 3693 (-layout_item.BorderTop() - layout_item.PaddingTop()).ToInt()); | 3697 (-layout_item.BorderTop() - layout_item.PaddingTop()).ToInt()); |
| 3694 return point; | 3698 return point; |
| 3695 } | 3699 } |
| 3696 | 3700 |
| 3697 return parent_point; | 3701 return parent_point; |
| 3698 } | 3702 } |
| 3699 | 3703 |
| 3700 void FrameView::SetInitialTracksPaintInvalidationsForTesting( | 3704 void FrameView::SetInitialTracksPaintInvalidationsForTesting( |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3810 animating_scrollable_areas_ = new ScrollableAreaSet; | 3814 animating_scrollable_areas_ = new ScrollableAreaSet; |
| 3811 animating_scrollable_areas_->insert(scrollable_area); | 3815 animating_scrollable_areas_->insert(scrollable_area); |
| 3812 } | 3816 } |
| 3813 | 3817 |
| 3814 void FrameView::RemoveAnimatingScrollableArea(ScrollableArea* scrollable_area) { | 3818 void FrameView::RemoveAnimatingScrollableArea(ScrollableArea* scrollable_area) { |
| 3815 if (!animating_scrollable_areas_) | 3819 if (!animating_scrollable_areas_) |
| 3816 return; | 3820 return; |
| 3817 animating_scrollable_areas_->erase(scrollable_area); | 3821 animating_scrollable_areas_->erase(scrollable_area); |
| 3818 } | 3822 } |
| 3819 | 3823 |
| 3820 void FrameView::SetParent(FrameViewBase* parent_view) { | 3824 void FrameView::SetParent(FrameViewBase* parent) { |
| 3821 if (parent_view == Parent()) | 3825 if (parent == Parent()) |
| 3822 return; | 3826 return; |
| 3823 | 3827 |
| 3824 FrameViewBase::SetParent(parent_view); | 3828 FrameViewBase::SetParent(parent); |
| 3825 | 3829 |
| 3826 UpdateParentScrollableAreaSet(); | 3830 UpdateParentScrollableAreaSet(); |
| 3827 SetupRenderThrottling(); | 3831 SetupRenderThrottling(); |
| 3828 | 3832 |
| 3829 if (ParentFrameView()) | 3833 if (ParentFrameView()) |
| 3830 subtree_throttled_ = ParentFrameView()->CanThrottleRendering(); | 3834 subtree_throttled_ = ParentFrameView()->CanThrottleRendering(); |
| 3831 } | 3835 } |
| 3832 | 3836 |
| 3833 void FrameView::RemoveChild(FrameViewBase* child) { | 3837 void FrameView::RemoveChild(FrameViewBase* child) { |
| 3834 DCHECK(child->Parent() == this); | 3838 DCHECK(child->Parent() == this); |
| (...skipping 856 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4691 frame_point.X() < vertical_scrollbar_x_max && | 4695 frame_point.X() < vertical_scrollbar_x_max && |
| 4692 frame_point.Y() > vertical_scrollbar_y_min; | 4696 frame_point.Y() > vertical_scrollbar_y_min; |
| 4693 } | 4697 } |
| 4694 | 4698 |
| 4695 bool FrameView::ScrollbarCornerPresent() const { | 4699 bool FrameView::ScrollbarCornerPresent() const { |
| 4696 return (HorizontalScrollbar() && | 4700 return (HorizontalScrollbar() && |
| 4697 Width() - HorizontalScrollbar()->Width() > 0) || | 4701 Width() - HorizontalScrollbar()->Width() > 0) || |
| 4698 (VerticalScrollbar() && Height() - VerticalScrollbar()->Height() > 0); | 4702 (VerticalScrollbar() && Height() - VerticalScrollbar()->Height() > 0); |
| 4699 } | 4703 } |
| 4700 | 4704 |
| 4701 IntRect FrameView::ConvertFromScrollbarToContainingFrameViewBase( | 4705 IntRect FrameView::ConvertToRootFrame(const IntRect& local_rect) const { |
| 4702 const Scrollbar& scrollbar, | 4706 if (const FrameView* parent = ToFrameView(Parent())) { |
| 4703 const IntRect& local_rect) const { | 4707 IntRect parent_rect = ConvertToContainingFrameViewBase(local_rect); |
| 4704 // Scrollbars won't be transformed within us | 4708 return parent->ConvertToRootFrame(parent_rect); |
| 4705 IntRect new_rect = local_rect; | 4709 } |
| 4706 new_rect.MoveBy(scrollbar.Location()); | 4710 return local_rect; |
| 4707 return new_rect; | |
| 4708 } | 4711 } |
| 4709 | 4712 |
| 4710 IntRect FrameView::ConvertFromContainingFrameViewBaseToScrollbar( | 4713 IntPoint FrameView::ConvertToRootFrame(const IntPoint& local_point) const { |
| 4711 const Scrollbar& scrollbar, | 4714 if (const FrameView* parent = ToFrameView(Parent())) { |
| 4712 const IntRect& parent_rect) const { | 4715 IntPoint parent_point = ConvertToContainingFrameViewBase(local_point); |
| 4713 IntRect new_rect = parent_rect; | 4716 return parent->ConvertToRootFrame(parent_point); |
| 4714 // Scrollbars won't be transformed within us | 4717 } |
| 4715 new_rect.MoveBy(-scrollbar.Location()); | 4718 return local_point; |
| 4716 return new_rect; | |
| 4717 } | |
| 4718 | |
| 4719 // FIXME: test these on windows | |
| 4720 IntPoint FrameView::ConvertFromScrollbarToContainingFrameViewBase( | |
| 4721 const Scrollbar& scrollbar, | |
| 4722 const IntPoint& local_point) const { | |
| 4723 // Scrollbars won't be transformed within us | |
| 4724 IntPoint new_point = local_point; | |
| 4725 new_point.MoveBy(scrollbar.Location()); | |
| 4726 return new_point; | |
| 4727 } | 4719 } |
| 4728 | 4720 |
| 4729 IntPoint FrameView::ConvertFromContainingFrameViewBaseToScrollbar( | 4721 IntPoint FrameView::ConvertFromContainingFrameViewBaseToScrollbar( |
| 4730 const Scrollbar& scrollbar, | 4722 const Scrollbar& scrollbar, |
| 4731 const IntPoint& parent_point) const { | 4723 const IntPoint& parent_point) const { |
| 4732 IntPoint new_point = parent_point; | 4724 IntPoint new_point = parent_point; |
| 4733 // Scrollbars won't be transformed within us | 4725 // Scrollbars won't be transformed within us |
| 4734 new_point.MoveBy(-scrollbar.Location()); | 4726 new_point.MoveBy(-scrollbar.Location()); |
| 4735 return new_point; | 4727 return new_point; |
| 4736 } | 4728 } |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5350 void FrameView::SetAnimationHost( | 5342 void FrameView::SetAnimationHost( |
| 5351 std::unique_ptr<CompositorAnimationHost> host) { | 5343 std::unique_ptr<CompositorAnimationHost> host) { |
| 5352 animation_host_ = std::move(host); | 5344 animation_host_ = std::move(host); |
| 5353 } | 5345 } |
| 5354 | 5346 |
| 5355 LayoutUnit FrameView::CaretWidth() const { | 5347 LayoutUnit FrameView::CaretWidth() const { |
| 5356 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); | 5348 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); |
| 5357 } | 5349 } |
| 5358 | 5350 |
| 5359 } // namespace blink | 5351 } // namespace blink |
| OLD | NEW |