| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/web_contents/web_contents_view_aura.h" | 5 #include "content/browser/web_contents/web_contents_view_aura.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1480 | 1480 |
| 1481 current_drop_data_.reset(new DropData()); | 1481 current_drop_data_.reset(new DropData()); |
| 1482 | 1482 |
| 1483 PrepareDropData(current_drop_data_.get(), event.data()); | 1483 PrepareDropData(current_drop_data_.get(), event.data()); |
| 1484 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); | 1484 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); |
| 1485 | 1485 |
| 1486 gfx::Point screen_pt = | 1486 gfx::Point screen_pt = |
| 1487 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); | 1487 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); |
| 1488 current_rvh_for_drag_ = web_contents_->GetRenderViewHost(); | 1488 current_rvh_for_drag_ = web_contents_->GetRenderViewHost(); |
| 1489 web_contents_->GetRenderViewHost()->DragTargetDragEnter( | 1489 web_contents_->GetRenderViewHost()->DragTargetDragEnter( |
| 1490 *current_drop_data_.get(), event.location(), screen_pt, op, | 1490 *current_drop_data_.get(), |
| 1491 gfx::ToFlooredPoint(event.location()), |
| 1492 screen_pt, |
| 1493 op, |
| 1491 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); | 1494 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); |
| 1492 | 1495 |
| 1493 if (drag_dest_delegate_) { | 1496 if (drag_dest_delegate_) { |
| 1494 drag_dest_delegate_->OnReceiveDragData(event.data()); | 1497 drag_dest_delegate_->OnReceiveDragData(event.data()); |
| 1495 drag_dest_delegate_->OnDragEnter(); | 1498 drag_dest_delegate_->OnDragEnter(); |
| 1496 } | 1499 } |
| 1497 } | 1500 } |
| 1498 | 1501 |
| 1499 int WebContentsViewAura::OnDragUpdated(const ui::DropTargetEvent& event) { | 1502 int WebContentsViewAura::OnDragUpdated(const ui::DropTargetEvent& event) { |
| 1500 DCHECK(current_rvh_for_drag_); | 1503 DCHECK(current_rvh_for_drag_); |
| 1501 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) | 1504 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) |
| 1502 OnDragEntered(event); | 1505 OnDragEntered(event); |
| 1503 | 1506 |
| 1504 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); | 1507 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); |
| 1505 gfx::Point screen_pt = | 1508 gfx::Point screen_pt = |
| 1506 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); | 1509 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); |
| 1507 web_contents_->GetRenderViewHost()->DragTargetDragOver( | 1510 web_contents_->GetRenderViewHost()->DragTargetDragOver( |
| 1508 event.location(), screen_pt, op, | 1511 gfx::ToFlooredPoint(event.location()), |
| 1512 screen_pt, |
| 1513 op, |
| 1509 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); | 1514 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); |
| 1510 | 1515 |
| 1511 if (drag_dest_delegate_) | 1516 if (drag_dest_delegate_) |
| 1512 drag_dest_delegate_->OnDragOver(); | 1517 drag_dest_delegate_->OnDragOver(); |
| 1513 | 1518 |
| 1514 return ConvertFromWeb(current_drag_op_); | 1519 return ConvertFromWeb(current_drag_op_); |
| 1515 } | 1520 } |
| 1516 | 1521 |
| 1517 void WebContentsViewAura::OnDragExited() { | 1522 void WebContentsViewAura::OnDragExited() { |
| 1518 DCHECK(current_rvh_for_drag_); | 1523 DCHECK(current_rvh_for_drag_); |
| 1519 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) | 1524 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) |
| 1520 return; | 1525 return; |
| 1521 | 1526 |
| 1522 web_contents_->GetRenderViewHost()->DragTargetDragLeave(); | 1527 web_contents_->GetRenderViewHost()->DragTargetDragLeave(); |
| 1523 if (drag_dest_delegate_) | 1528 if (drag_dest_delegate_) |
| 1524 drag_dest_delegate_->OnDragLeave(); | 1529 drag_dest_delegate_->OnDragLeave(); |
| 1525 | 1530 |
| 1526 current_drop_data_.reset(); | 1531 current_drop_data_.reset(); |
| 1527 } | 1532 } |
| 1528 | 1533 |
| 1529 int WebContentsViewAura::OnPerformDrop(const ui::DropTargetEvent& event) { | 1534 int WebContentsViewAura::OnPerformDrop(const ui::DropTargetEvent& event) { |
| 1530 DCHECK(current_rvh_for_drag_); | 1535 DCHECK(current_rvh_for_drag_); |
| 1531 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) | 1536 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost()) |
| 1532 OnDragEntered(event); | 1537 OnDragEntered(event); |
| 1533 | 1538 |
| 1534 web_contents_->GetRenderViewHost()->DragTargetDrop( | 1539 web_contents_->GetRenderViewHost()->DragTargetDrop( |
| 1535 event.location(), | 1540 gfx::ToFlooredPoint(event.location()), |
| 1536 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(), | 1541 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(), |
| 1537 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); | 1542 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); |
| 1538 if (drag_dest_delegate_) | 1543 if (drag_dest_delegate_) |
| 1539 drag_dest_delegate_->OnDrop(); | 1544 drag_dest_delegate_->OnDrop(); |
| 1540 current_drop_data_.reset(); | 1545 current_drop_data_.reset(); |
| 1541 return ConvertFromWeb(current_drag_op_); | 1546 return ConvertFromWeb(current_drag_op_); |
| 1542 } | 1547 } |
| 1543 | 1548 |
| 1544 } // namespace content | 1549 } // namespace content |
| OLD | NEW |