OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 #include "wtf/OwnPtr.h" | 60 #include "wtf/OwnPtr.h" |
61 #include "wtf/RefCounted.h" | 61 #include "wtf/RefCounted.h" |
62 #include "wtf/Vector.h" | 62 #include "wtf/Vector.h" |
63 | 63 |
64 namespace blink { | 64 namespace blink { |
65 | 65 |
66 class DataObject; | 66 class DataObject; |
67 class Frame; | 67 class Frame; |
68 class FullscreenController; | 68 class FullscreenController; |
69 class LinkHighlight; | 69 class LinkHighlight; |
70 class PopupContainer; | |
71 class RenderLayerCompositor; | 70 class RenderLayerCompositor; |
72 class UserGestureToken; | 71 class UserGestureToken; |
73 class WebActiveGestureAnimation; | 72 class WebActiveGestureAnimation; |
74 class WebDevToolsAgentPrivate; | 73 class WebDevToolsAgentPrivate; |
75 class WebLayerTreeView; | 74 class WebLayerTreeView; |
76 class WebLocalFrameImpl; | 75 class WebLocalFrameImpl; |
77 class WebImage; | 76 class WebImage; |
78 class WebPagePopupImpl; | 77 class WebPagePopupImpl; |
79 class WebPlugin; | 78 class WebPlugin; |
80 class WebSettingsImpl; | 79 class WebSettingsImpl; |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 | 398 |
400 // Start a system drag and drop operation. | 399 // Start a system drag and drop operation. |
401 void startDragging( | 400 void startDragging( |
402 LocalFrame*, | 401 LocalFrame*, |
403 const WebDragData& dragData, | 402 const WebDragData& dragData, |
404 WebDragOperationsMask mask, | 403 WebDragOperationsMask mask, |
405 const WebImage& dragImage, | 404 const WebImage& dragImage, |
406 const WebPoint& dragImageOffset); | 405 const WebPoint& dragImageOffset); |
407 | 406 |
408 // Notification that a popup was opened/closed. | 407 // Notification that a popup was opened/closed. |
409 void popupOpened(PopupContainer*); | |
410 void popupClosed(PopupContainer*); | |
411 PagePopup* openPagePopup(PagePopupClient*, const IntRect& originBoundsInRoot
View); | 408 PagePopup* openPagePopup(PagePopupClient*, const IntRect& originBoundsInRoot
View); |
412 void closePagePopup(PagePopup*); | 409 void closePagePopup(PagePopup*); |
413 LocalDOMWindow* pagePopupWindow() const; | 410 LocalDOMWindow* pagePopupWindow() const; |
414 | 411 |
415 // Returns the input event we're currently processing. This is used in some | 412 // Returns the input event we're currently processing. This is used in some |
416 // cases where the WebCore DOM event doesn't have the information we need. | 413 // cases where the WebCore DOM event doesn't have the information we need. |
417 static const WebInputEvent* currentInputEvent() | 414 static const WebInputEvent* currentInputEvent() |
418 { | 415 { |
419 return m_currentInputEvent; | 416 return m_currentInputEvent; |
420 } | 417 } |
421 | 418 |
422 GraphicsLayer* rootGraphicsLayer(); | 419 GraphicsLayer* rootGraphicsLayer(); |
423 void setRootGraphicsLayer(GraphicsLayer*); | 420 void setRootGraphicsLayer(GraphicsLayer*); |
424 void scheduleCompositingLayerSync(); | 421 void scheduleCompositingLayerSync(); |
425 GraphicsLayerFactory* graphicsLayerFactory() const; | 422 GraphicsLayerFactory* graphicsLayerFactory() const; |
426 RenderLayerCompositor* compositor() const; | 423 RenderLayerCompositor* compositor() const; |
427 void registerForAnimations(WebLayer*); | 424 void registerForAnimations(WebLayer*); |
428 void scheduleAnimation(); | 425 void scheduleAnimation(); |
429 | 426 |
430 virtual void setVisibilityState(WebPageVisibilityState, bool) override; | 427 virtual void setVisibilityState(WebPageVisibilityState, bool) override; |
431 | 428 |
432 PopupContainer* selectPopup() const { return m_selectPopup.get(); } | 429 bool hasOpenedPopup() const { return m_pagePopup; } |
433 bool hasOpenedPopup() const { return m_selectPopup || m_pagePopup; } | |
434 | 430 |
435 // Returns true if the event leads to scrolling. | 431 // Returns true if the event leads to scrolling. |
436 static bool mapKeyCodeForScroll( | 432 static bool mapKeyCodeForScroll( |
437 int keyCode, | 433 int keyCode, |
438 ScrollDirection*, | 434 ScrollDirection*, |
439 ScrollGranularity*); | 435 ScrollGranularity*); |
440 | 436 |
441 // Called by a full frame plugin inside this view to inform it that its | 437 // Called by a full frame plugin inside this view to inform it that its |
442 // zoom level has been updated. The plugin should only call this function | 438 // zoom level has been updated. The plugin should only call this function |
443 // if the zoom change was triggered by the browser, it's only needed in case | 439 // if the zoom change was triggered by the browser, it's only needed in case |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
551 WebString inputModeOfFocusedElement(); | 547 WebString inputModeOfFocusedElement(); |
552 | 548 |
553 // Returns true if the event was actually processed. | 549 // Returns true if the event was actually processed. |
554 bool keyEventDefault(const WebKeyboardEvent&); | 550 bool keyEventDefault(const WebKeyboardEvent&); |
555 | 551 |
556 bool confirmComposition(const WebString& text, ConfirmCompositionBehavior); | 552 bool confirmComposition(const WebString& text, ConfirmCompositionBehavior); |
557 | 553 |
558 // Returns true if the view was scrolled. | 554 // Returns true if the view was scrolled. |
559 bool scrollViewWithKeyboard(int keyCode, int modifiers); | 555 bool scrollViewWithKeyboard(int keyCode, int modifiers); |
560 | 556 |
561 void hideSelectPopup(); | |
562 | |
563 // Converts |pos| from window coordinates to contents coordinates and gets | 557 // Converts |pos| from window coordinates to contents coordinates and gets |
564 // the HitTestResult for it. | 558 // the HitTestResult for it. |
565 HitTestResult hitTestResultForWindowPos(const IntPoint&); | 559 HitTestResult hitTestResultForWindowPos(const IntPoint&); |
566 | 560 |
567 // Consolidate some common code between starting a drag over a target and | 561 // Consolidate some common code between starting a drag over a target and |
568 // updating a drag over a target. If we're starting a drag, |isEntering| | 562 // updating a drag over a target. If we're starting a drag, |isEntering| |
569 // should be true. | 563 // should be true. |
570 WebDragOperation dragTargetDragEnterOrOver(const WebPoint& clientPoint, | 564 WebDragOperation dragTargetDragEnterOrOver(const WebPoint& clientPoint, |
571 const WebPoint& screenPoint, | 565 const WebPoint& screenPoint, |
572 DragAction, | 566 DragAction, |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 bool m_imeAcceptEvents; | 676 bool m_imeAcceptEvents; |
683 | 677 |
684 // The available drag operations (copy, move link...) allowed by the source. | 678 // The available drag operations (copy, move link...) allowed by the source. |
685 WebDragOperation m_operationsAllowed; | 679 WebDragOperation m_operationsAllowed; |
686 | 680 |
687 // The current drag operation as negotiated by the source and destination. | 681 // The current drag operation as negotiated by the source and destination. |
688 // When not equal to DragOperationNone, the drag data can be dropped onto th
e | 682 // When not equal to DragOperationNone, the drag data can be dropped onto th
e |
689 // current drop target in this WebView (the drop target can accept the drop)
. | 683 // current drop target in this WebView (the drop target can accept the drop)
. |
690 WebDragOperation m_dragOperation; | 684 WebDragOperation m_dragOperation; |
691 | 685 |
692 // The popup associated with a select element. | |
693 RefPtrWillBePersistent<PopupContainer> m_selectPopup; | |
694 | |
695 // The popup associated with an input element. | 686 // The popup associated with an input element. |
696 RefPtr<WebPagePopupImpl> m_pagePopup; | 687 RefPtr<WebPagePopupImpl> m_pagePopup; |
697 | 688 |
698 OwnPtr<WebDevToolsAgentPrivate> m_devToolsAgent; | 689 OwnPtr<WebDevToolsAgentPrivate> m_devToolsAgent; |
699 OwnPtr<PageOverlayList> m_pageOverlays; | 690 OwnPtr<PageOverlayList> m_pageOverlays; |
700 | 691 |
701 // Whether the webview is rendering transparently. | 692 // Whether the webview is rendering transparently. |
702 bool m_isTransparent; | 693 bool m_isTransparent; |
703 | 694 |
704 // Whether the user can press tab to focus links. | 695 // Whether the user can press tab to focus links. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
752 float m_topControlsLayoutHeight; | 743 float m_topControlsLayoutHeight; |
753 }; | 744 }; |
754 | 745 |
755 // We have no ways to check if the specified WebView is an instance of | 746 // We have no ways to check if the specified WebView is an instance of |
756 // WebViewImpl because WebViewImpl is the only implementation of WebView. | 747 // WebViewImpl because WebViewImpl is the only implementation of WebView. |
757 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); | 748 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); |
758 | 749 |
759 } // namespace blink | 750 } // namespace blink |
760 | 751 |
761 #endif | 752 #endif |
OLD | NEW |