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

Side by Side Diff: Source/web/WebFrameWidgetImpl.cpp

Issue 967213004: Removed FrameView's windowToContents and contentsToWindow methods. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 9 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
« no previous file with comments | « Source/web/WebDevToolsAgentImpl.cpp ('k') | Source/web/WebInputEventConversion.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 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 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 anchor = localFrame->editor().firstRectForRange(range.get()); 563 anchor = localFrame->editor().firstRectForRange(range.get());
564 564
565 range = Range::create(selectedRange->endContainer()->document(), 565 range = Range::create(selectedRange->endContainer()->document(),
566 selectedRange->endContainer(), 566 selectedRange->endContainer(),
567 selectedRange->endOffset(), 567 selectedRange->endOffset(),
568 selectedRange->endContainer(), 568 selectedRange->endContainer(),
569 selectedRange->endOffset()); 569 selectedRange->endOffset());
570 focus = localFrame->editor().firstRectForRange(range.get()); 570 focus = localFrame->editor().firstRectForRange(range.get());
571 } 571 }
572 572
573 IntRect scaledAnchor(localFrame->view()->contentsToWindow(anchor)); 573 // FIXME: This doesn't apply page scale. This should probably be contents to viewport. crbug.com/459293.
574 IntRect scaledFocus(localFrame->view()->contentsToWindow(focus)); 574 IntRect scaledAnchor(localFrame->view()->contentsToRootFrame(anchor));
575 IntRect scaledFocus(localFrame->view()->contentsToRootFrame(focus));
575 576
576 anchor = scaledAnchor; 577 anchor = scaledAnchor;
577 focus = scaledFocus; 578 focus = scaledFocus;
578 579
579 if (!selection.selection().isBaseFirst()) 580 if (!selection.selection().isBaseFirst())
580 std::swap(anchor, focus); 581 std::swap(anchor, focus);
581 return true; 582 return true;
582 } 583 }
583 584
584 bool WebFrameWidgetImpl::selectionTextDirection(WebTextDirection& start, WebText Direction& end) const 585 bool WebFrameWidgetImpl::selectionTextDirection(WebTextDirection& start, WebText Direction& end) const
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 PageWidgetEventHandler::handleMouseLeave(mainFrame, event); 683 PageWidgetEventHandler::handleMouseLeave(mainFrame, event);
683 } 684 }
684 685
685 void WebFrameWidgetImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEv ent& event) 686 void WebFrameWidgetImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEv ent& event)
686 { 687 {
687 // Take capture on a mouse down on a plugin so we can send it mouse events. 688 // Take capture on a mouse down on a plugin so we can send it mouse events.
688 // If the hit node is a plugin but a scrollbar is over it don't start mouse 689 // If the hit node is a plugin but a scrollbar is over it don't start mouse
689 // capture because it will interfere with the scrollbar receiving events. 690 // capture because it will interfere with the scrollbar receiving events.
690 IntPoint point(event.x, event.y); 691 IntPoint point(event.x, event.y);
691 if (event.button == WebMouseEvent::ButtonLeft) { 692 if (event.button == WebMouseEvent::ButtonLeft) {
692 point = m_localRoot->frameView()->windowToContents(point); 693 point = m_localRoot->frameView()->rootFrameToContents(point);
693 HitTestResult result(m_localRoot->frame()->eventHandler().hitTestResultA tPoint(point)); 694 HitTestResult result(m_localRoot->frame()->eventHandler().hitTestResultA tPoint(point));
694 result.setToShadowHostIfInClosedShadowRoot(); 695 result.setToShadowHostIfInClosedShadowRoot();
695 Node* hitNode = result.innerNonSharedNode(); 696 Node* hitNode = result.innerNonSharedNode();
696 697
697 if (!result.scrollbar() && hitNode && hitNode->layoutObject() && hitNode ->layoutObject()->isEmbeddedObject()) { 698 if (!result.scrollbar() && hitNode && hitNode->layoutObject() && hitNode ->layoutObject()->isEmbeddedObject()) {
698 m_mouseCaptureNode = hitNode; 699 m_mouseCaptureNode = hitNode;
699 TRACE_EVENT_ASYNC_BEGIN0("input", "capturing mouse", this); 700 TRACE_EVENT_ASYNC_BEGIN0("input", "capturing mouse", this);
700 } 701 }
701 } 702 }
702 703
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 // correspond to Page visibility, but is necessary until we properly sort ou t OOPIF visibility. 1035 // correspond to Page visibility, but is necessary until we properly sort ou t OOPIF visibility.
1035 m_page->setVisibilityState(static_cast<PageVisibilityState>(visibilityState) , isInitialState); 1036 m_page->setVisibilityState(static_cast<PageVisibilityState>(visibilityState) , isInitialState);
1036 1037
1037 if (m_layerTreeView) { 1038 if (m_layerTreeView) {
1038 bool visible = visibilityState == WebPageVisibilityStateVisible; 1039 bool visible = visibilityState == WebPageVisibilityStateVisible;
1039 m_layerTreeView->setVisible(visible); 1040 m_layerTreeView->setVisible(visible);
1040 } 1041 }
1041 } 1042 }
1042 1043
1043 } // namespace blink 1044 } // namespace blink
OLDNEW
« no previous file with comments | « Source/web/WebDevToolsAgentImpl.cpp ('k') | Source/web/WebInputEventConversion.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698