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 #ifndef CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ |
6 #define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ | 6 #define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/callback_forward.h" | 9 #include "base/callback_forward.h" |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
11 #include "base/string16.h" | 11 #include "base/string16.h" |
12 #include "base/supports_user_data.h" | 12 #include "base/supports_user_data.h" |
13 #include "content/common/content_export.h" | 13 #include "content/common/content_export.h" |
14 #include "content/public/browser/navigation_controller.h" | 14 #include "content/public/browser/navigation_controller.h" |
15 #include "content/public/browser/page_navigator.h" | 15 #include "content/public/browser/page_navigator.h" |
16 #include "content/public/browser/save_page_type.h" | 16 #include "content/public/browser/save_page_type.h" |
17 #include "content/public/browser/web_ui.h" | 17 #include "content/public/browser/web_ui.h" |
18 #include "ipc/ipc_sender.h" | 18 #include "ipc/ipc_sender.h" |
19 #include "third_party/skia/include/core/SkColor.h" | 19 #include "third_party/skia/include/core/SkColor.h" |
| 20 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragOperation.h" |
20 #include "ui/base/window_open_disposition.h" | 21 #include "ui/base/window_open_disposition.h" |
21 #include "ui/gfx/native_widget_types.h" | 22 #include "ui/gfx/native_widget_types.h" |
22 #include "ui/gfx/size.h" | 23 #include "ui/gfx/size.h" |
23 | 24 |
24 namespace base { | 25 namespace base { |
25 class TimeTicks; | 26 class TimeTicks; |
26 } | 27 } |
27 | 28 |
28 namespace gfx { | 29 namespace gfx { |
29 class Rect; | 30 class Rect; |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 virtual base::TimeTicks GetNewTabStartTime() const = 0; | 339 virtual base::TimeTicks GetNewTabStartTime() const = 0; |
339 | 340 |
340 // Tells the tab to close now. The tab will take care not to close until it's | 341 // Tells the tab to close now. The tab will take care not to close until it's |
341 // out of nested message loops. | 342 // out of nested message loops. |
342 virtual void Close() = 0; | 343 virtual void Close() = 0; |
343 | 344 |
344 // Notification that tab closing has started. This can be called multiple | 345 // Notification that tab closing has started. This can be called multiple |
345 // times, subsequent calls are ignored. | 346 // times, subsequent calls are ignored. |
346 virtual void OnCloseStarted() = 0; | 347 virtual void OnCloseStarted() = 0; |
347 | 348 |
348 // A render view-originated drag has ended. Informs the render view host and | 349 // Informs the render view host and the BrowserPluginEmbedder, if present, of |
349 // WebContentsDelegate. | 350 // a Drag Source End. |
| 351 virtual void DragSourceEndedAt(int client_x, int client_y, int screen_x, |
| 352 int screen_y, WebKit::WebDragOperation operation) = 0; |
| 353 |
| 354 // Informs the render view host and the BrowserPluginEmbedder, if present, of |
| 355 // a Drag Source Move. |
| 356 virtual void DragSourceMovedTo(int client_x, int client_y, |
| 357 int screen_x, int screen_y) = 0; |
| 358 |
| 359 // A render view-originated drag has ended. Informs the render view host, the |
| 360 // WebContentsDelegate, and the BrowserPluginEmbedder, if present. |
350 virtual void SystemDragEnded() = 0; | 361 virtual void SystemDragEnded() = 0; |
351 | 362 |
352 // Notification the user has made a gesture while focus was on the | 363 // Notification the user has made a gesture while focus was on the |
353 // page. This is used to avoid uninitiated user downloads (aka carpet | 364 // page. This is used to avoid uninitiated user downloads (aka carpet |
354 // bombing), see DownloadRequestLimiter for details. | 365 // bombing), see DownloadRequestLimiter for details. |
355 virtual void UserGestureDone() = 0; | 366 virtual void UserGestureDone() = 0; |
356 | 367 |
357 // Indicates if this tab was explicitly closed by the user (control-w, close | 368 // Indicates if this tab was explicitly closed by the user (control-w, close |
358 // tab menu item...). This is false for actions that indirectly close the tab, | 369 // tab menu item...). This is false for actions that indirectly close the tab, |
359 // such as closing the window. The setter is maintained by TabStripModel, and | 370 // such as closing the window. The setter is maintained by TabStripModel, and |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 | 439 |
429 private: | 440 private: |
430 // This interface should only be implemented inside content. | 441 // This interface should only be implemented inside content. |
431 friend class WebContentsImpl; | 442 friend class WebContentsImpl; |
432 WebContents() {} | 443 WebContents() {} |
433 }; | 444 }; |
434 | 445 |
435 } // namespace content | 446 } // namespace content |
436 | 447 |
437 #endif // CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ | 448 #endif // CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_ |
OLD | NEW |