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

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

Issue 2956023004: Add a flag to update hover effect when a layout is changed (Closed)
Patch Set: hover layout Created 3 years, 5 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 2578 matching lines...) Expand 10 before | Expand all | Expand 10 after
2589 2589
2590 frame_->Selection().DidLayout(); 2590 frame_->Selection().DidLayout();
2591 2591
2592 DCHECK(frame_->GetDocument()); 2592 DCHECK(frame_->GetDocument());
2593 2593
2594 FontFaceSet::DidLayout(*frame_->GetDocument()); 2594 FontFaceSet::DidLayout(*frame_->GetDocument());
2595 // Cursor update scheduling is done by the local root, which is the main frame 2595 // Cursor update scheduling is done by the local root, which is the main frame
2596 // if there are no RemoteFrame ancestors in the frame tree. Use of 2596 // if there are no RemoteFrame ancestors in the frame tree. Use of
2597 // localFrameRoot() is discouraged but will change when cursor update 2597 // localFrameRoot() is discouraged but will change when cursor update
2598 // scheduling is moved from EventHandler to PageEventHandler. 2598 // scheduling is moved from EventHandler to PageEventHandler.
2599 GetFrame().LocalFrameRoot().GetEventHandler().ScheduleCursorUpdate(); 2599
2600 // Fire a fake a mouse move event to update hover state and mouse cursor, and
2601 // send the right mouse out/over events.
2602 frame_->GetEventHandler().DispatchFakeMouseMoveEventSoon(
2603 DispatchInterval::kPerFrame);
2600 2604
2601 UpdateGeometries(); 2605 UpdateGeometries();
2602 2606
2603 // Plugins could have torn down the page inside updateGeometries(). 2607 // Plugins could have torn down the page inside updateGeometries().
2604 if (GetLayoutViewItem().IsNull()) 2608 if (GetLayoutViewItem().IsNull())
2605 return; 2609 return;
2606 2610
2607 ScheduleUpdatePluginsIfNecessary(); 2611 ScheduleUpdatePluginsIfNecessary();
2608 2612
2609 if (ScrollingCoordinator* scrolling_coordinator = 2613 if (ScrollingCoordinator* scrolling_coordinator =
(...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after
4163 scroll_offset_ = offset; 4167 scroll_offset_ = offset;
4164 4168
4165 if (!ScrollbarsSuppressed()) 4169 if (!ScrollbarsSuppressed())
4166 pending_scroll_delta_ += scroll_delta; 4170 pending_scroll_delta_ += scroll_delta;
4167 4171
4168 UpdateLayersAndCompositingAfterScrollIfNeeded(); 4172 UpdateLayersAndCompositingAfterScrollIfNeeded();
4169 4173
4170 Document* document = frame_->GetDocument(); 4174 Document* document = frame_->GetDocument();
4171 document->EnqueueScrollEventForNode(document); 4175 document->EnqueueScrollEventForNode(document);
4172 4176
4173 frame_->GetEventHandler().DispatchFakeMouseMoveEventSoon(); 4177 frame_->GetEventHandler().DispatchFakeMouseMoveEventSoon(
4178 DispatchInterval::kDuringScroll);
4174 if (scroll_type == kUserScroll || scroll_type == kCompositorScroll) { 4179 if (scroll_type == kUserScroll || scroll_type == kCompositorScroll) {
4175 Page* page = GetFrame().GetPage(); 4180 Page* page = GetFrame().GetPage();
4176 if (page) 4181 if (page)
4177 page->GetChromeClient().ClearToolTip(*frame_); 4182 page->GetChromeClient().ClearToolTip(*frame_);
4178 } 4183 }
4179 4184
4180 LayoutViewItem layout_view_item = document->GetLayoutViewItem(); 4185 LayoutViewItem layout_view_item = document->GetLayoutViewItem();
4181 if (!layout_view_item.IsNull()) { 4186 if (!layout_view_item.IsNull()) {
4182 if (layout_view_item.UsesCompositing()) 4187 if (layout_view_item.UsesCompositing())
4183 layout_view_item.Compositor()->FrameViewDidScroll(); 4188 layout_view_item.Compositor()->FrameViewDidScroll();
(...skipping 1295 matching lines...) Expand 10 before | Expand all | Expand 10 after
5479 void LocalFrameView::SetAnimationHost( 5484 void LocalFrameView::SetAnimationHost(
5480 std::unique_ptr<CompositorAnimationHost> host) { 5485 std::unique_ptr<CompositorAnimationHost> host) {
5481 animation_host_ = std::move(host); 5486 animation_host_ = std::move(host);
5482 } 5487 }
5483 5488
5484 LayoutUnit LocalFrameView::CaretWidth() const { 5489 LayoutUnit LocalFrameView::CaretWidth() const {
5485 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1)); 5490 return LayoutUnit(GetChromeClient()->WindowToViewportScalar(1));
5486 } 5491 }
5487 5492
5488 } // namespace blink 5493 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698