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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2860903003: Propagate viewport intersection across OOPIFs at the correct time (Closed)
Patch Set: Rebase 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) 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 4919 matching lines...) Expand 10 before | Expand all | Expand 10 after
4930 !owner_element->GetLayoutObject()) { 4930 !owner_element->GetLayoutObject()) {
4931 // No need to notify children because descendants of display:none frames 4931 // No need to notify children because descendants of display:none frames
4932 // should remain throttled. 4932 // should remain throttled.
4933 UpdateRenderThrottlingStatus(hidden_for_throttling_, subtree_throttled_, 4933 UpdateRenderThrottlingStatus(hidden_for_throttling_, subtree_throttled_,
4934 kDontForceThrottlingInvalidation, 4934 kDontForceThrottlingInvalidation,
4935 kDontNotifyChildren); 4935 kDontNotifyChildren);
4936 } 4936 }
4937 4937
4938 for (Frame* child = frame_->Tree().FirstChild(); child; 4938 for (Frame* child = frame_->Tree().FirstChild(); child;
4939 child = child->Tree().NextSibling()) { 4939 child = child->Tree().NextSibling()) {
4940 if (!child->IsLocalFrame()) 4940 DCHECK(child->IsRemoteFrame() || child->IsLocalFrame());
dcheng 2017/05/05 18:25:14 Isn't this DCHECK always going to be true?
kenrb 2017/05/05 19:01:31 Aren't *all* DCHECKs supposed to be always true? :
4941 if (child->IsRemoteFrame()) {
4942 if (RemoteFrameView* view = ToRemoteFrame(child)->View())
4943 view->UpdateRemoteViewportIntersection();
dcheng 2017/05/05 18:25:14 It almost feels like View() and <update intersecti
kenrb 2017/05/05 19:01:31 That might be reasonable for View(). For UpdateVie
dcheng 2017/05/05 22:47:53 Do you mind poking at this in a followup? FWIW, I
4941 continue; 4944 continue;
4945 }
4942 if (FrameView* view = ToLocalFrame(child)->View()) 4946 if (FrameView* view = ToLocalFrame(child)->View())
4943 view->UpdateViewportIntersectionsForSubtree(target_state); 4947 view->UpdateViewportIntersectionsForSubtree(target_state);
4944 } 4948 }
4945 } 4949 }
4946 4950
4947 void FrameView::UpdateRenderThrottlingStatusForTesting() { 4951 void FrameView::UpdateRenderThrottlingStatusForTesting() {
4948 visibility_observer_->DeliverObservationsForTesting(); 4952 visibility_observer_->DeliverObservationsForTesting();
4949 } 4953 }
4950 4954
4951 void FrameView::CrossOriginStatusChanged() { 4955 void FrameView::CrossOriginStatusChanged() {
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
5394 void FrameView::SetAnimationHost( 5398 void FrameView::SetAnimationHost(
5395 std::unique_ptr<CompositorAnimationHost> host) { 5399 std::unique_ptr<CompositorAnimationHost> host) {
5396 animation_host_ = std::move(host); 5400 animation_host_ = std::move(host);
5397 } 5401 }
5398 5402
5399 LayoutUnit FrameView::CaretWidth() const { 5403 LayoutUnit FrameView::CaretWidth() const {
5400 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); 5404 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1));
5401 } 5405 }
5402 5406
5403 } // namespace blink 5407 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698