Chromium Code Reviews| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <utility> | |
|
Charlie Reis
2016/12/14 18:06:50
Might not need this if we use GlobalRoutingID.
| |
| 9 | 10 |
| 10 #include "base/auto_reset.h" | 11 #include "base/auto_reset.h" |
| 11 #include "base/command_line.h" | 12 #include "base/command_line.h" |
| 12 #include "base/files/file_util.h" | 13 #include "base/files/file_util.h" |
| 13 #include "base/macros.h" | 14 #include "base/macros.h" |
| 14 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
| 15 #include "build/build_config.h" | 16 #include "build/build_config.h" |
| 16 #include "content/browser/browser_plugin/browser_plugin_guest.h" | 17 #include "content/browser/browser_plugin/browser_plugin_guest.h" |
| 17 #include "content/browser/download/drag_download_util.h" | 18 #include "content/browser/download/drag_download_util.h" |
| 18 #include "content/browser/frame_host/interstitial_page_impl.h" | 19 #include "content/browser/frame_host/interstitial_page_impl.h" |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 393 web_input_event_modifiers |= blink::WebInputEvent::MetaKey; | 394 web_input_event_modifiers |= blink::WebInputEvent::MetaKey; |
| 394 if (aura_event_flags & ui::EF_LEFT_MOUSE_BUTTON) | 395 if (aura_event_flags & ui::EF_LEFT_MOUSE_BUTTON) |
| 395 web_input_event_modifiers |= blink::WebInputEvent::LeftButtonDown; | 396 web_input_event_modifiers |= blink::WebInputEvent::LeftButtonDown; |
| 396 if (aura_event_flags & ui::EF_MIDDLE_MOUSE_BUTTON) | 397 if (aura_event_flags & ui::EF_MIDDLE_MOUSE_BUTTON) |
| 397 web_input_event_modifiers |= blink::WebInputEvent::MiddleButtonDown; | 398 web_input_event_modifiers |= blink::WebInputEvent::MiddleButtonDown; |
| 398 if (aura_event_flags & ui::EF_RIGHT_MOUSE_BUTTON) | 399 if (aura_event_flags & ui::EF_RIGHT_MOUSE_BUTTON) |
| 399 web_input_event_modifiers |= blink::WebInputEvent::RightButtonDown; | 400 web_input_event_modifiers |= blink::WebInputEvent::RightButtonDown; |
| 400 return web_input_event_modifiers; | 401 return web_input_event_modifiers; |
| 401 } | 402 } |
| 402 | 403 |
| 404 std::pair<int, int> GetRenderViewHostID(RenderViewHost* rvh) { | |
| 405 return std::make_pair(rvh->GetProcess()->GetID(), rvh->GetRoutingID()); | |
| 406 } | |
| 407 | |
| 403 } // namespace | 408 } // namespace |
| 404 | 409 |
| 405 class WebContentsViewAura::WindowObserver | 410 class WebContentsViewAura::WindowObserver |
| 406 : public aura::WindowObserver, public aura::WindowTreeHostObserver { | 411 : public aura::WindowObserver, public aura::WindowTreeHostObserver { |
| 407 public: | 412 public: |
| 408 explicit WindowObserver(WebContentsViewAura* view) | 413 explicit WindowObserver(WebContentsViewAura* view) |
| 409 : view_(view), | 414 : view_(view), |
| 410 host_window_(NULL) { | 415 host_window_(NULL) { |
| 411 view_->window_->AddObserver(this); | 416 view_->window_->AddObserver(this); |
| 412 } | 417 } |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 508 | 513 |
| 509 //////////////////////////////////////////////////////////////////////////////// | 514 //////////////////////////////////////////////////////////////////////////////// |
| 510 // WebContentsViewAura, public: | 515 // WebContentsViewAura, public: |
| 511 | 516 |
| 512 WebContentsViewAura::WebContentsViewAura(WebContentsImpl* web_contents, | 517 WebContentsViewAura::WebContentsViewAura(WebContentsImpl* web_contents, |
| 513 WebContentsViewDelegate* delegate) | 518 WebContentsViewDelegate* delegate) |
| 514 : web_contents_(web_contents), | 519 : web_contents_(web_contents), |
| 515 delegate_(delegate), | 520 delegate_(delegate), |
| 516 current_drag_op_(blink::WebDragOperationNone), | 521 current_drag_op_(blink::WebDragOperationNone), |
| 517 drag_dest_delegate_(nullptr), | 522 drag_dest_delegate_(nullptr), |
| 518 current_rvh_for_drag_(nullptr), | 523 current_rvh_for_drag_(-1, -1), |
|
lfg
2016/12/14 16:10:09
You should use kInvalidUniqueID for invalid proces
| |
| 524 drag_source_rph_(-1), | |
| 525 drag_source_rvh_(-1, -1), | |
| 519 current_overscroll_gesture_(OVERSCROLL_NONE), | 526 current_overscroll_gesture_(OVERSCROLL_NONE), |
| 520 completed_overscroll_gesture_(OVERSCROLL_NONE), | 527 completed_overscroll_gesture_(OVERSCROLL_NONE), |
| 521 navigation_overlay_(nullptr), | 528 navigation_overlay_(nullptr), |
| 522 init_rwhv_with_null_parent_for_testing_(false) {} | 529 init_rwhv_with_null_parent_for_testing_(false) {} |
| 523 | 530 |
| 524 void WebContentsViewAura::SetDelegateForTesting( | 531 void WebContentsViewAura::SetDelegateForTesting( |
| 525 WebContentsViewDelegate* delegate) { | 532 WebContentsViewDelegate* delegate) { |
| 526 delegate_.reset(delegate); | 533 delegate_.reset(delegate); |
| 527 } | 534 } |
| 528 | 535 |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 545 if (web_contents_->GetInterstitialPage()) | 552 if (web_contents_->GetInterstitialPage()) |
| 546 web_contents_->GetInterstitialPage()->SetSize(size); | 553 web_contents_->GetInterstitialPage()->SetSize(size); |
| 547 RenderWidgetHostView* rwhv = | 554 RenderWidgetHostView* rwhv = |
| 548 web_contents_->GetRenderWidgetHostView(); | 555 web_contents_->GetRenderWidgetHostView(); |
| 549 if (rwhv) | 556 if (rwhv) |
| 550 rwhv->SetSize(size); | 557 rwhv->SetSize(size); |
| 551 } | 558 } |
| 552 | 559 |
| 553 void WebContentsViewAura::EndDrag(RenderWidgetHost* source_rwh, | 560 void WebContentsViewAura::EndDrag(RenderWidgetHost* source_rwh, |
| 554 blink::WebDragOperationsMask ops) { | 561 blink::WebDragOperationsMask ops) { |
| 562 drag_source_rph_ = -1; | |
|
lfg
2016/12/14 16:10:09
kInvalidUniqueID
| |
| 563 drag_source_rvh_ = std::make_pair(-1, -1); | |
|
lfg
2016/12/14 16:10:09
kInvalidUniqueID, MSG_ROUTING_NONE.
| |
| 564 | |
| 555 if (!web_contents_) | 565 if (!web_contents_) |
| 556 return; | 566 return; |
| 557 | 567 |
| 558 aura::Window* window = GetContentNativeView(); | 568 aura::Window* window = GetContentNativeView(); |
| 559 gfx::Point screen_loc = display::Screen::GetScreen()->GetCursorScreenPoint(); | 569 gfx::Point screen_loc = display::Screen::GetScreen()->GetCursorScreenPoint(); |
| 560 gfx::Point client_loc = screen_loc; | 570 gfx::Point client_loc = screen_loc; |
| 561 aura::client::ScreenPositionClient* screen_position_client = | 571 aura::client::ScreenPositionClient* screen_position_client = |
| 562 aura::client::GetScreenPositionClient(window->GetRootWindow()); | 572 aura::client::GetScreenPositionClient(window->GetRootWindow()); |
| 563 if (screen_position_client) | 573 if (screen_position_client) |
| 564 screen_position_client->ConvertPointFromScreen(window, &client_loc); | 574 screen_position_client->ConvertPointFromScreen(window, &client_loc); |
| 565 | 575 |
| 566 // TODO(paulmeyer): In the OOPIF case, should |client_loc| be converted to | 576 // TODO(paulmeyer): In the OOPIF case, should |client_loc| be converted to the |
| 567 // the coordinates local to |drag_start_rwh_|? See crbug.com/647249. | 577 // coordinates local to |source_rwh|? See crbug.com/647249. |
| 568 web_contents_->DragSourceEndedAt(client_loc.x(), client_loc.y(), | 578 web_contents_->DragSourceEndedAt(client_loc.x(), client_loc.y(), |
| 569 screen_loc.x(), screen_loc.y(), ops, | 579 screen_loc.x(), screen_loc.y(), ops, |
| 570 source_rwh); | 580 source_rwh); |
| 571 | 581 |
| 572 web_contents_->SystemDragEnded(source_rwh); | 582 web_contents_->SystemDragEnded(source_rwh); |
| 573 } | 583 } |
| 574 | 584 |
| 575 void WebContentsViewAura::InstallOverscrollControllerDelegate( | 585 void WebContentsViewAura::InstallOverscrollControllerDelegate( |
| 576 RenderWidgetHostViewAura* view) { | 586 RenderWidgetHostViewAura* view) { |
| 577 const std::string value = base::CommandLine::ForCurrentProcess()-> | 587 const std::string value = base::CommandLine::ForCurrentProcess()-> |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 622 ToRenderWidgetHostViewAura(web_contents_->GetRenderWidgetHostView()); | 632 ToRenderWidgetHostViewAura(web_contents_->GetRenderWidgetHostView()); |
| 623 return view ? view->selection_controller_client() : nullptr; | 633 return view ? view->selection_controller_client() : nullptr; |
| 624 } | 634 } |
| 625 | 635 |
| 626 gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { | 636 gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { |
| 627 if (init_rwhv_with_null_parent_for_testing_) | 637 if (init_rwhv_with_null_parent_for_testing_) |
| 628 return nullptr; | 638 return nullptr; |
| 629 return window_.get(); | 639 return window_.get(); |
| 630 } | 640 } |
| 631 | 641 |
| 642 bool WebContentsViewAura::ValidDragTarget( | |
| 643 RenderWidgetHostImpl* target_rwh) const { | |
| 644 return target_rwh->GetProcess()->GetID() == drag_source_rph_ || | |
|
Charlie Reis
2016/12/14 18:06:50
Please put a comment explaining what this is tryin
Charlie Reis
2016/12/14 18:36:36
I think you missed this comment, which I think is
paulmeyer
2016/12/14 18:53:18
Oh sorry, I meant to reply that the comment is alr
| |
| 645 GetRenderViewHostID(web_contents_->GetRenderViewHost()) != | |
| 646 drag_source_rvh_; | |
| 647 } | |
| 648 | |
| 632 //////////////////////////////////////////////////////////////////////////////// | 649 //////////////////////////////////////////////////////////////////////////////// |
| 633 // WebContentsViewAura, WebContentsView implementation: | 650 // WebContentsViewAura, WebContentsView implementation: |
| 634 | 651 |
| 635 gfx::NativeView WebContentsViewAura::GetNativeView() const { | 652 gfx::NativeView WebContentsViewAura::GetNativeView() const { |
| 636 return window_.get(); | 653 return window_.get(); |
| 637 } | 654 } |
| 638 | 655 |
| 639 gfx::NativeView WebContentsViewAura::GetContentNativeView() const { | 656 gfx::NativeView WebContentsViewAura::GetContentNativeView() const { |
| 640 RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView(); | 657 RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView(); |
| 641 return rwhv ? rwhv->GetNativeView() : NULL; | 658 return rwhv ? rwhv->GetNativeView() : NULL; |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 900 } | 917 } |
| 901 | 918 |
| 902 // Grab a weak pointer to the RenderWidgetHost, since it can be destroyed | 919 // Grab a weak pointer to the RenderWidgetHost, since it can be destroyed |
| 903 // during the drag and drop nested message loop in StartDragAndDrop. | 920 // during the drag and drop nested message loop in StartDragAndDrop. |
| 904 // For example, the RenderWidgetHost can be deleted if a cross-process | 921 // For example, the RenderWidgetHost can be deleted if a cross-process |
| 905 // transfer happens while dragging, since the RenderWidgetHost is deleted in | 922 // transfer happens while dragging, since the RenderWidgetHost is deleted in |
| 906 // that case. | 923 // that case. |
| 907 base::WeakPtr<RenderWidgetHostImpl> source_rwh_weak_ptr = | 924 base::WeakPtr<RenderWidgetHostImpl> source_rwh_weak_ptr = |
| 908 source_rwh->GetWeakPtr(); | 925 source_rwh->GetWeakPtr(); |
| 909 | 926 |
| 927 drag_source_rph_ = source_rwh->GetProcess()->GetID(); | |
| 928 drag_source_rvh_ = GetRenderViewHostID(web_contents_->GetRenderViewHost()); | |
| 929 | |
| 910 ui::TouchSelectionController* selection_controller = GetSelectionController(); | 930 ui::TouchSelectionController* selection_controller = GetSelectionController(); |
| 911 if (selection_controller) | 931 if (selection_controller) |
| 912 selection_controller->HideAndDisallowShowingAutomatically(); | 932 selection_controller->HideAndDisallowShowingAutomatically(); |
| 913 std::unique_ptr<ui::OSExchangeData::Provider> provider = | 933 std::unique_ptr<ui::OSExchangeData::Provider> provider = |
| 914 ui::OSExchangeDataProviderFactory::CreateProvider(); | 934 ui::OSExchangeDataProviderFactory::CreateProvider(); |
| 915 PrepareDragData(drop_data, provider.get(), web_contents_); | 935 PrepareDragData(drop_data, provider.get(), web_contents_); |
| 916 | 936 |
| 917 ui::OSExchangeData data( | 937 ui::OSExchangeData data( |
| 918 std::move(provider)); // takes ownership of |provider|. | 938 std::move(provider)); // takes ownership of |provider|. |
| 919 | 939 |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1123 web_contents_->GetDelegate()->ContentsMouseEvent( | 1143 web_contents_->GetDelegate()->ContentsMouseEvent( |
| 1124 web_contents_, display::Screen::GetScreen()->GetCursorScreenPoint(), | 1144 web_contents_, display::Screen::GetScreen()->GetCursorScreenPoint(), |
| 1125 type == ui::ET_MOUSE_MOVED, type == ui::ET_MOUSE_EXITED); | 1145 type == ui::ET_MOUSE_MOVED, type == ui::ET_MOUSE_EXITED); |
| 1126 } | 1146 } |
| 1127 | 1147 |
| 1128 //////////////////////////////////////////////////////////////////////////////// | 1148 //////////////////////////////////////////////////////////////////////////////// |
| 1129 // WebContentsViewAura, aura::client::DragDropDelegate implementation: | 1149 // WebContentsViewAura, aura::client::DragDropDelegate implementation: |
| 1130 | 1150 |
| 1131 void WebContentsViewAura::OnDragEntered(const ui::DropTargetEvent& event) { | 1151 void WebContentsViewAura::OnDragEntered(const ui::DropTargetEvent& event) { |
| 1132 gfx::Point transformed_pt; | 1152 gfx::Point transformed_pt; |
| 1133 current_rwh_for_drag_ = | 1153 RenderWidgetHostImpl* target_rwh = |
| 1134 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( | 1154 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( |
| 1135 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), | 1155 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), |
| 1136 event.location(), &transformed_pt)->GetWeakPtr(); | 1156 event.location(), &transformed_pt); |
| 1137 current_rvh_for_drag_ = web_contents_->GetRenderViewHost(); | |
| 1138 | 1157 |
| 1158 if (!ValidDragTarget(target_rwh)) | |
| 1159 return; | |
| 1160 | |
| 1161 current_rwh_for_drag_ = target_rwh->GetWeakPtr(); | |
| 1162 current_rvh_for_drag_ = | |
| 1163 GetRenderViewHostID(web_contents_->GetRenderViewHost()); | |
| 1139 current_drop_data_.reset(new DropData()); | 1164 current_drop_data_.reset(new DropData()); |
| 1140 PrepareDropData(current_drop_data_.get(), event.data()); | 1165 PrepareDropData(current_drop_data_.get(), event.data()); |
| 1141 current_rwh_for_drag_->FilterDropData(current_drop_data_.get()); | 1166 current_rwh_for_drag_->FilterDropData(current_drop_data_.get()); |
| 1142 | 1167 |
| 1143 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); | 1168 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); |
| 1144 | 1169 |
| 1145 // Give the delegate an opportunity to cancel the drag. | 1170 // Give the delegate an opportunity to cancel the drag. |
| 1146 if (web_contents_->GetDelegate() && | 1171 if (web_contents_->GetDelegate() && |
| 1147 !web_contents_->GetDelegate()->CanDragEnter( | 1172 !web_contents_->GetDelegate()->CanDragEnter( |
| 1148 web_contents_, *current_drop_data_.get(), op)) { | 1173 web_contents_, *current_drop_data_.get(), op)) { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 1164 } | 1189 } |
| 1165 } | 1190 } |
| 1166 | 1191 |
| 1167 int WebContentsViewAura::OnDragUpdated(const ui::DropTargetEvent& event) { | 1192 int WebContentsViewAura::OnDragUpdated(const ui::DropTargetEvent& event) { |
| 1168 gfx::Point transformed_pt; | 1193 gfx::Point transformed_pt; |
| 1169 RenderWidgetHostImpl* target_rwh = | 1194 RenderWidgetHostImpl* target_rwh = |
| 1170 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( | 1195 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( |
| 1171 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), | 1196 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), |
| 1172 event.location(), &transformed_pt); | 1197 event.location(), &transformed_pt); |
| 1173 | 1198 |
| 1199 if (!ValidDragTarget(target_rwh)) | |
| 1200 return ui::DragDropTypes::DRAG_NONE; | |
| 1201 | |
| 1174 if (target_rwh != current_rwh_for_drag_.get()) { | 1202 if (target_rwh != current_rwh_for_drag_.get()) { |
| 1175 if (current_rwh_for_drag_) | 1203 if (current_rwh_for_drag_) |
| 1176 current_rwh_for_drag_->DragTargetDragLeave(); | 1204 current_rwh_for_drag_->DragTargetDragLeave(); |
| 1177 OnDragEntered(event); | 1205 OnDragEntered(event); |
| 1178 } | 1206 } |
| 1179 | 1207 |
| 1180 if (!current_drop_data_) | 1208 if (!current_drop_data_) |
| 1181 return ui::DragDropTypes::DRAG_NONE; | 1209 return ui::DragDropTypes::DRAG_NONE; |
| 1182 | 1210 |
| 1183 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); | 1211 blink::WebDragOperationsMask op = ConvertToWeb(event.source_operations()); |
| 1184 gfx::Point screen_pt = event.root_location(); | 1212 gfx::Point screen_pt = event.root_location(); |
| 1185 target_rwh->DragTargetDragOver( | 1213 target_rwh->DragTargetDragOver( |
| 1186 transformed_pt, screen_pt, op, | 1214 transformed_pt, screen_pt, op, |
| 1187 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); | 1215 ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); |
| 1188 | 1216 |
| 1189 if (drag_dest_delegate_) | 1217 if (drag_dest_delegate_) |
| 1190 drag_dest_delegate_->OnDragOver(); | 1218 drag_dest_delegate_->OnDragOver(); |
| 1191 | 1219 |
| 1192 return ConvertFromWeb(current_drag_op_); | 1220 return ConvertFromWeb(current_drag_op_); |
| 1193 } | 1221 } |
| 1194 | 1222 |
| 1195 void WebContentsViewAura::OnDragExited() { | 1223 void WebContentsViewAura::OnDragExited() { |
| 1196 if (current_rvh_for_drag_ != web_contents_->GetRenderViewHost() || | 1224 if (current_rvh_for_drag_ != |
| 1225 GetRenderViewHostID(web_contents_->GetRenderViewHost()) || | |
| 1197 !current_drop_data_) { | 1226 !current_drop_data_) { |
| 1198 return; | 1227 return; |
| 1199 } | 1228 } |
| 1200 | 1229 |
| 1201 if (current_rwh_for_drag_) { | 1230 if (current_rwh_for_drag_) { |
| 1202 current_rwh_for_drag_->DragTargetDragLeave(); | 1231 current_rwh_for_drag_->DragTargetDragLeave(); |
| 1203 current_rwh_for_drag_.reset(); | 1232 current_rwh_for_drag_.reset(); |
| 1204 } | 1233 } |
| 1205 | 1234 |
| 1206 if (drag_dest_delegate_) | 1235 if (drag_dest_delegate_) |
| 1207 drag_dest_delegate_->OnDragLeave(); | 1236 drag_dest_delegate_->OnDragLeave(); |
| 1208 | 1237 |
| 1209 current_drop_data_.reset(); | 1238 current_drop_data_.reset(); |
| 1210 } | 1239 } |
| 1211 | 1240 |
| 1212 int WebContentsViewAura::OnPerformDrop(const ui::DropTargetEvent& event) { | 1241 int WebContentsViewAura::OnPerformDrop(const ui::DropTargetEvent& event) { |
| 1213 gfx::Point transformed_pt; | 1242 gfx::Point transformed_pt; |
| 1214 RenderWidgetHostImpl* target_rwh = | 1243 RenderWidgetHostImpl* target_rwh = |
| 1215 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( | 1244 web_contents_->GetInputEventRouter()->GetRenderWidgetHostAtPoint( |
| 1216 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), | 1245 web_contents_->GetRenderViewHost()->GetWidget()->GetView(), |
| 1217 event.location(), &transformed_pt); | 1246 event.location(), &transformed_pt); |
| 1218 | 1247 |
| 1248 if (!ValidDragTarget(target_rwh)) | |
| 1249 return ui::DragDropTypes::DRAG_NONE; | |
| 1250 | |
| 1219 if (target_rwh != current_rwh_for_drag_.get()) { | 1251 if (target_rwh != current_rwh_for_drag_.get()) { |
| 1220 if (current_rwh_for_drag_) | 1252 if (current_rwh_for_drag_) |
| 1221 current_rwh_for_drag_->DragTargetDragLeave(); | 1253 current_rwh_for_drag_->DragTargetDragLeave(); |
| 1222 OnDragEntered(event); | 1254 OnDragEntered(event); |
| 1223 } | 1255 } |
| 1224 | 1256 |
| 1225 if (!current_drop_data_) | 1257 if (!current_drop_data_) |
| 1226 return ui::DragDropTypes::DRAG_NONE; | 1258 return ui::DragDropTypes::DRAG_NONE; |
| 1227 | 1259 |
| 1228 target_rwh->DragTargetDrop( | 1260 target_rwh->DragTargetDrop( |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 1255 bool allow_multiple_selection) { | 1287 bool allow_multiple_selection) { |
| 1256 NOTIMPLEMENTED() << " show " << items.size() << " menu items"; | 1288 NOTIMPLEMENTED() << " show " << items.size() << " menu items"; |
| 1257 } | 1289 } |
| 1258 | 1290 |
| 1259 void WebContentsViewAura::HidePopupMenu() { | 1291 void WebContentsViewAura::HidePopupMenu() { |
| 1260 NOTIMPLEMENTED(); | 1292 NOTIMPLEMENTED(); |
| 1261 } | 1293 } |
| 1262 #endif | 1294 #endif |
| 1263 | 1295 |
| 1264 } // namespace content | 1296 } // namespace content |
| OLD | NEW |