| 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 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 if (overflow_y == EOverflow::kHidden) | 754 if (overflow_y == EOverflow::kHidden) |
| 755 v_mode = kScrollbarAlwaysOff; | 755 v_mode = kScrollbarAlwaysOff; |
| 756 } | 756 } |
| 757 | 757 |
| 758 if (overflow_x == EOverflow::kScroll) | 758 if (overflow_x == EOverflow::kScroll) |
| 759 h_mode = kScrollbarAlwaysOn; | 759 h_mode = kScrollbarAlwaysOn; |
| 760 if (overflow_y == EOverflow::kScroll) | 760 if (overflow_y == EOverflow::kScroll) |
| 761 v_mode = kScrollbarAlwaysOn; | 761 v_mode = kScrollbarAlwaysOn; |
| 762 } | 762 } |
| 763 | 763 |
| 764 void FrameView::CalculateScrollbarModes( | 764 void FrameView::CalculateScrollbarModes(ScrollbarMode& h_mode, |
| 765 ScrollbarMode& h_mode, | 765 ScrollbarMode& v_mode) const { |
| 766 ScrollbarMode& v_mode, | |
| 767 ScrollbarModesCalculationStrategy strategy) const { | |
| 768 #define RETURN_SCROLLBAR_MODE(mode) \ | 766 #define RETURN_SCROLLBAR_MODE(mode) \ |
| 769 { \ | 767 { \ |
| 770 h_mode = v_mode = mode; \ | 768 h_mode = v_mode = mode; \ |
| 771 return; \ | 769 return; \ |
| 772 } | 770 } |
| 773 | 771 |
| 774 // Setting scrolling="no" on an iframe element disables scrolling. | 772 // Setting scrolling="no" on an iframe element disables scrolling. |
| 775 if (frame_->Owner() && | 773 if (frame_->Owner() && |
| 776 frame_->Owner()->ScrollingMode() == kScrollbarAlwaysOff) | 774 frame_->Owner()->ScrollingMode() == kScrollbarAlwaysOff) |
| 777 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); | 775 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); |
| 778 | 776 |
| 779 // Framesets can't scroll. | 777 // Framesets can't scroll. |
| 780 Node* body = frame_->GetDocument()->body(); | 778 Node* body = frame_->GetDocument()->body(); |
| 781 if (isHTMLFrameSetElement(body) && body->GetLayoutObject()) | 779 if (isHTMLFrameSetElement(body) && body->GetLayoutObject()) |
| 782 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); | 780 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); |
| 783 | 781 |
| 784 // Scrollbars can be disabled by FrameView::setCanHaveScrollbars. | 782 // Scrollbars can be disabled by FrameView::setCanHaveScrollbars. |
| 785 if (!can_have_scrollbars_ && strategy != kRulesFromWebContentOnly) | 783 if (!can_have_scrollbars_) |
| 786 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); | 784 RETURN_SCROLLBAR_MODE(kScrollbarAlwaysOff); |
| 787 | 785 |
| 788 // This will be the LayoutObject for either the body element or the html | 786 // This will be the LayoutObject for either the body element or the html |
| 789 // element (see Document::viewportDefiningElement). | 787 // element (see Document::viewportDefiningElement). |
| 790 LayoutObject* viewport = ViewportLayoutObject(); | 788 LayoutObject* viewport = ViewportLayoutObject(); |
| 791 if (!viewport || !viewport->Style()) | 789 if (!viewport || !viewport->Style()) |
| 792 RETURN_SCROLLBAR_MODE(kScrollbarAuto); | 790 RETURN_SCROLLBAR_MODE(kScrollbarAuto); |
| 793 | 791 |
| 794 if (viewport->IsSVGRoot()) { | 792 if (viewport->IsSVGRoot()) { |
| 795 // Don't allow overflow to affect <img> and css backgrounds | 793 // Don't allow overflow to affect <img> and css backgrounds |
| (...skipping 1930 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2726 // Covers #2. | 2724 // Covers #2. |
| 2727 // FIXME: Do we need to fix this for OOPI? | 2725 // FIXME: Do we need to fix this for OOPI? |
| 2728 HTMLFrameOwnerElement* owner = frame_->DeprecatedLocalOwner(); | 2726 HTMLFrameOwnerElement* owner = frame_->DeprecatedLocalOwner(); |
| 2729 if (owner && (!owner->GetLayoutObject() || | 2727 if (owner && (!owner->GetLayoutObject() || |
| 2730 !owner->GetLayoutObject()->VisibleToHitTesting())) | 2728 !owner->GetLayoutObject()->VisibleToHitTesting())) |
| 2731 return kNotScrollableNotVisible; | 2729 return kNotScrollableNotVisible; |
| 2732 | 2730 |
| 2733 // Cover #3 and #4. | 2731 // Cover #3 and #4. |
| 2734 ScrollbarMode horizontal_mode; | 2732 ScrollbarMode horizontal_mode; |
| 2735 ScrollbarMode vertical_mode; | 2733 ScrollbarMode vertical_mode; |
| 2736 CalculateScrollbarModes(horizontal_mode, vertical_mode, | 2734 CalculateScrollbarModes(horizontal_mode, vertical_mode); |
| 2737 kRulesFromWebContentOnly); | |
| 2738 if (horizontal_mode == kScrollbarAlwaysOff && | 2735 if (horizontal_mode == kScrollbarAlwaysOff && |
| 2739 vertical_mode == kScrollbarAlwaysOff) | 2736 vertical_mode == kScrollbarAlwaysOff) |
| 2740 return kNotScrollableExplicitlyDisabled; | 2737 return kNotScrollableExplicitlyDisabled; |
| 2741 | 2738 |
| 2742 return kScrollable; | 2739 return kScrollable; |
| 2743 } | 2740 } |
| 2744 | 2741 |
| 2745 void FrameView::UpdateParentScrollableAreaSet() { | 2742 void FrameView::UpdateParentScrollableAreaSet() { |
| 2746 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) | 2743 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
| 2747 return; | 2744 return; |
| (...skipping 2641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5389 void FrameView::SetAnimationHost( | 5386 void FrameView::SetAnimationHost( |
| 5390 std::unique_ptr<CompositorAnimationHost> host) { | 5387 std::unique_ptr<CompositorAnimationHost> host) { |
| 5391 animation_host_ = std::move(host); | 5388 animation_host_ = std::move(host); |
| 5392 } | 5389 } |
| 5393 | 5390 |
| 5394 LayoutUnit FrameView::CaretWidth() const { | 5391 LayoutUnit FrameView::CaretWidth() const { |
| 5395 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); | 5392 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); |
| 5396 } | 5393 } |
| 5397 | 5394 |
| 5398 } // namespace blink | 5395 } // namespace blink |
| OLD | NEW |