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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_mac.h

Issue 2914393002: Adding phase info to wheel events migrated to wheel phase handler class. (Closed)
Patch Set: fixed mouse_wheel_phase_handler_path in rwhv_mac Created 3 years, 6 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
OLDNEW
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_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 #include <IOSurface/IOSurface.h> 9 #include <IOSurface/IOSurface.h>
10 #include <stddef.h> 10 #include <stddef.h>
11 #include <stdint.h> 11 #include <stdint.h>
12 12
13 #include <list> 13 #include <list>
14 #include <map> 14 #include <map>
15 #include <memory> 15 #include <memory>
16 #include <set> 16 #include <set>
17 #include <string> 17 #include <string>
18 #include <utility> 18 #include <utility>
19 #include <vector> 19 #include <vector>
20 20
21 #include "base/mac/scoped_nsobject.h" 21 #include "base/mac/scoped_nsobject.h"
22 #include "base/macros.h" 22 #include "base/macros.h"
23 #include "base/memory/weak_ptr.h" 23 #include "base/memory/weak_ptr.h"
24 #include "base/time/time.h" 24 #include "base/time/time.h"
25 #include "cc/surfaces/surface_id.h" 25 #include "cc/surfaces/surface_id.h"
26 #include "content/browser/renderer_host/browser_compositor_view_mac.h" 26 #include "content/browser/renderer_host/browser_compositor_view_mac.h"
27 #include "content/browser/renderer_host/input/mouse_wheel_phase_handler.h"
27 #include "content/browser/renderer_host/input/mouse_wheel_rails_filter_mac.h" 28 #include "content/browser/renderer_host/input/mouse_wheel_rails_filter_mac.h"
28 #include "content/browser/renderer_host/render_widget_host_view_base.h" 29 #include "content/browser/renderer_host/render_widget_host_view_base.h"
29 #include "content/browser/renderer_host/text_input_manager.h" 30 #include "content/browser/renderer_host/text_input_manager.h"
30 #include "content/common/content_export.h" 31 #include "content/common/content_export.h"
31 #include "content/common/cursors/webcursor.h" 32 #include "content/common/cursors/webcursor.h"
32 #include "content/common/edit_command.h" 33 #include "content/common/edit_command.h"
33 #include "ipc/ipc_sender.h" 34 #include "ipc/ipc_sender.h"
34 #include "third_party/WebKit/public/web/WebCompositionUnderline.h" 35 #include "third_party/WebKit/public/web/WebCompositionUnderline.h"
35 #include "ui/accelerated_widget_mac/accelerated_widget_mac.h" 36 #include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
36 #include "ui/accelerated_widget_mac/display_link_mac.h" 37 #include "ui/accelerated_widget_mac/display_link_mac.h"
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 // the conversion failed, return gfx::Range::InvalidRange. 406 // the conversion failed, return gfx::Range::InvalidRange.
406 gfx::Range ConvertCharacterRangeToCompositionRange( 407 gfx::Range ConvertCharacterRangeToCompositionRange(
407 const gfx::Range& request_range); 408 const gfx::Range& request_range);
408 409
409 WebContents* GetWebContents(); 410 WebContents* GetWebContents();
410 411
411 // Applies background color without notifying the RenderWidget about 412 // Applies background color without notifying the RenderWidget about
412 // opaqueness changes. 413 // opaqueness changes.
413 void UpdateBackgroundColorFromRenderer(SkColor color); 414 void UpdateBackgroundColorFromRenderer(SkColor color);
414 415
416 bool HasPendingWheelEndEventForTesting() {
417 return mouse_wheel_phase_handler_.HasPendingWheelEndEvent();
418 }
419
415 // These member variables should be private, but the associated ObjC class 420 // These member variables should be private, but the associated ObjC class
416 // needs access to them and can't be made a friend. 421 // needs access to them and can't be made a friend.
417 422
418 // The associated Model. Can be NULL if Destroy() is called when 423 // The associated Model. Can be NULL if Destroy() is called when
419 // someone (other than superview) has retained |cocoa_view_|. 424 // someone (other than superview) has retained |cocoa_view_|.
420 RenderWidgetHostImpl* render_widget_host_; 425 RenderWidgetHostImpl* render_widget_host_;
421 426
422 // The background CoreAnimation layer which is hosted by |cocoa_view_|. 427 // The background CoreAnimation layer which is hosted by |cocoa_view_|.
423 base::scoped_nsobject<CALayer> background_layer_; 428 base::scoped_nsobject<CALayer> background_layer_;
424 429
425 // Delegated frame management and compositor interface. 430 // Delegated frame management and compositor interface.
426 std::unique_ptr<BrowserCompositorMac> browser_compositor_; 431 std::unique_ptr<BrowserCompositorMac> browser_compositor_;
427 432
428 // Set when the currently-displayed frame is the minimum scale. Used to 433 // Set when the currently-displayed frame is the minimum scale. Used to
429 // determine if pinch gestures need to be thresholded. 434 // determine if pinch gestures need to be thresholded.
430 bool page_at_minimum_scale_; 435 bool page_at_minimum_scale_;
431 436
437 MouseWheelPhaseHandler mouse_wheel_phase_handler_;
438
432 NSWindow* pepper_fullscreen_window() const { 439 NSWindow* pepper_fullscreen_window() const {
433 return pepper_fullscreen_window_; 440 return pepper_fullscreen_window_;
434 } 441 }
435 442
436 CONTENT_EXPORT void release_pepper_fullscreen_window_for_testing(); 443 CONTENT_EXPORT void release_pepper_fullscreen_window_for_testing();
437 444
438 RenderWidgetHostViewMac* fullscreen_parent_host_view() const { 445 RenderWidgetHostViewMac* fullscreen_parent_host_view() const {
439 return fullscreen_parent_host_view_; 446 return fullscreen_parent_host_view_;
440 } 447 }
441 448
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 486
480 // Returns the TextSelection information for the active widget. If 487 // Returns the TextSelection information for the active widget. If
481 // |is_guest_view_hack_| is true, then it will return the TextSelection 488 // |is_guest_view_hack_| is true, then it will return the TextSelection
482 // information for this RenderWidgetHostViewMac (which is serving as a 489 // information for this RenderWidgetHostViewMac (which is serving as a
483 // platform view for a guest). 490 // platform view for a guest).
484 const TextInputManager::TextSelection* GetTextSelection(); 491 const TextInputManager::TextSelection* GetTextSelection();
485 492
486 // Get the focused view that should be used for retrieving the text selection. 493 // Get the focused view that should be used for retrieving the text selection.
487 RenderWidgetHostViewBase* GetFocusedViewForTextSelection(); 494 RenderWidgetHostViewBase* GetFocusedViewForTextSelection();
488 495
489 void ScheduleMouseWheelEndDispatching(blink::WebMouseWheelEvent wheel_event,
490 bool should_route_event);
491 void DispatchPendingWheelEndEvent();
492 void IgnorePendingWheelEndEvent();
493 bool HasPendingWheelEndEvent();
494
495 // Returns the RenderWidgetHostDelegate corresponding to the currently focused 496 // Returns the RenderWidgetHostDelegate corresponding to the currently focused
496 // RenderWidgetHost. It is different from |render_widget_host_->delegate()| 497 // RenderWidgetHost. It is different from |render_widget_host_->delegate()|
497 // when there are focused inner WebContentses on the page. Also, this method 498 // when there are focused inner WebContentses on the page. Also, this method
498 // can return nullptr; for instance when |render_widget_host_| becomes nullptr 499 // can return nullptr; for instance when |render_widget_host_| becomes nullptr
499 // in the destruction path of the WebContentsImpl. 500 // in the destruction path of the WebContentsImpl.
500 RenderWidgetHostDelegate* GetFocusedRenderWidgetHostDelegate(); 501 RenderWidgetHostDelegate* GetFocusedRenderWidgetHostDelegate();
501 502
502 private: 503 private:
503 friend class RenderWidgetHostViewMacTest; 504 friend class RenderWidgetHostViewMacTest;
504 505
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 bool needs_begin_frames_; 568 bool needs_begin_frames_;
568 569
569 // Whether a request to flush input has been issued. 570 // Whether a request to flush input has been issued.
570 bool needs_flush_input_; 571 bool needs_flush_input_;
571 572
572 // The background color of the web content. This color will be drawn when the 573 // The background color of the web content. This color will be drawn when the
573 // web content is not able to draw in time. 574 // web content is not able to draw in time.
574 SkColor background_color_ = SK_ColorTRANSPARENT; 575 SkColor background_color_ = SK_ColorTRANSPARENT;
575 SkColor last_frame_root_background_color_ = SK_ColorTRANSPARENT; 576 SkColor last_frame_root_background_color_ = SK_ColorTRANSPARENT;
576 577
577 base::OneShotTimer mouse_wheel_end_dispatch_timer_;
578
579 // Factory used to safely scope delayed calls to ShutdownHost(). 578 // Factory used to safely scope delayed calls to ShutdownHost().
580 base::WeakPtrFactory<RenderWidgetHostViewMac> weak_factory_; 579 base::WeakPtrFactory<RenderWidgetHostViewMac> weak_factory_;
581 580
582 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); 581 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac);
583 }; 582 };
584 583
585 } // namespace content 584 } // namespace content
586 585
587 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 586 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698