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

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

Issue 300863002: mac: History swiping doesn't work right with iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase against top of tree. Created 6 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 #include "content/browser/renderer_host/render_widget_host_view_mac.h" 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 #include <QuartzCore/QuartzCore.h> 8 #include <QuartzCore/QuartzCore.h>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 return methodDescription.name != NULL || methodDescription.types != NULL; 151 return methodDescription.name != NULL || methodDescription.types != NULL;
152 } 152 }
153 153
154 // Private methods: 154 // Private methods:
155 @interface RenderWidgetHostViewCocoa () 155 @interface RenderWidgetHostViewCocoa ()
156 @property(nonatomic, assign) NSRange selectedRange; 156 @property(nonatomic, assign) NSRange selectedRange;
157 @property(nonatomic, assign) NSRange markedRange; 157 @property(nonatomic, assign) NSRange markedRange;
158 158
159 + (BOOL)shouldAutohideCursorForEvent:(NSEvent*)event; 159 + (BOOL)shouldAutohideCursorForEvent:(NSEvent*)event;
160 - (id)initWithRenderWidgetHostViewMac:(RenderWidgetHostViewMac*)r; 160 - (id)initWithRenderWidgetHostViewMac:(RenderWidgetHostViewMac*)r;
161 - (void)gotUnhandledWheelEvent; 161 - (void)processedWheelEvent:(const blink::WebMouseWheelEvent&)event
162 consumed:(BOOL)consumed;
163
162 - (void)scrollOffsetPinnedToLeft:(BOOL)left toRight:(BOOL)right; 164 - (void)scrollOffsetPinnedToLeft:(BOOL)left toRight:(BOOL)right;
163 - (void)setHasHorizontalScrollbar:(BOOL)has_horizontal_scrollbar; 165 - (void)setHasHorizontalScrollbar:(BOOL)has_horizontal_scrollbar;
164 - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv; 166 - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv;
165 - (void)windowDidChangeBackingProperties:(NSNotification*)notification; 167 - (void)windowDidChangeBackingProperties:(NSNotification*)notification;
166 - (void)windowChangedGlobalFrame:(NSNotification*)notification; 168 - (void)windowChangedGlobalFrame:(NSNotification*)notification;
167 - (void)drawWithDirtyRect:(CGRect)dirtyRect 169 - (void)drawWithDirtyRect:(CGRect)dirtyRect
168 inContext:(CGContextRef)context; 170 inContext:(CGContextRef)context;
169 - (void)checkForPluginImeCancellation; 171 - (void)checkForPluginImeCancellation;
170 - (void)updateScreenProperties; 172 - (void)updateScreenProperties;
171 - (void)setResponderDelegate: 173 - (void)setResponderDelegate:
(...skipping 1851 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 CGAssociateMouseAndMouseCursorPosition(YES); 2025 CGAssociateMouseAndMouseCursorPosition(YES);
2024 [NSCursor unhide]; 2026 [NSCursor unhide];
2025 2027
2026 if (render_widget_host_) 2028 if (render_widget_host_)
2027 render_widget_host_->LostMouseLock(); 2029 render_widget_host_->LostMouseLock();
2028 } 2030 }
2029 2031
2030 void RenderWidgetHostViewMac::WheelEventAck( 2032 void RenderWidgetHostViewMac::WheelEventAck(
2031 const blink::WebMouseWheelEvent& event, 2033 const blink::WebMouseWheelEvent& event,
2032 InputEventAckState ack_result) { 2034 InputEventAckState ack_result) {
2033 if (ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) 2035 bool consumed = ack_result == INPUT_EVENT_ACK_STATE_CONSUMED;
2034 return;
2035
2036 // Only record a wheel event as unhandled if JavaScript handlers got a chance 2036 // Only record a wheel event as unhandled if JavaScript handlers got a chance
2037 // to see it (no-op wheel events are ignored by the event dispatcher) 2037 // to see it (no-op wheel events are ignored by the event dispatcher)
2038 if (event.deltaX || event.deltaY) 2038 if (event.deltaX || event.deltaY)
2039 [cocoa_view_ gotUnhandledWheelEvent]; 2039 [cocoa_view_ processedWheelEvent:event consumed:consumed];
2040 } 2040 }
2041 2041
2042 bool RenderWidgetHostViewMac::Send(IPC::Message* message) { 2042 bool RenderWidgetHostViewMac::Send(IPC::Message* message) {
2043 if (render_widget_host_) 2043 if (render_widget_host_)
2044 return render_widget_host_->Send(message); 2044 return render_widget_host_->Send(message);
2045 delete message; 2045 delete message;
2046 return false; 2046 return false;
2047 } 2047 }
2048 2048
2049 void RenderWidgetHostViewMac::SoftwareFrameWasFreed( 2049 void RenderWidgetHostViewMac::SoftwareFrameWasFreed(
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
2560 responderDelegate_.reset([delegate retain]); 2560 responderDelegate_.reset([delegate retain]);
2561 } 2561 }
2562 2562
2563 - (void)resetCursorRects { 2563 - (void)resetCursorRects {
2564 if (currentCursor_) { 2564 if (currentCursor_) {
2565 [self addCursorRect:[self visibleRect] cursor:currentCursor_]; 2565 [self addCursorRect:[self visibleRect] cursor:currentCursor_];
2566 [currentCursor_ setOnMouseEntered:YES]; 2566 [currentCursor_ setOnMouseEntered:YES];
2567 } 2567 }
2568 } 2568 }
2569 2569
2570 - (void)gotUnhandledWheelEvent { 2570 - (void)processedWheelEvent:(const blink::WebMouseWheelEvent&)event
2571 if (responderDelegate_ && 2571 consumed:(BOOL)consumed {
2572 [responderDelegate_ 2572 [responderDelegate_ rendererHandledWheelEvent:event consumed:consumed];
2573 respondsToSelector:@selector(gotUnhandledWheelEvent)]) {
2574 [responderDelegate_ gotUnhandledWheelEvent];
2575 }
2576 } 2573 }
2577 2574
2578 - (void)scrollOffsetPinnedToLeft:(BOOL)left toRight:(BOOL)right { 2575 - (void)scrollOffsetPinnedToLeft:(BOOL)left toRight:(BOOL)right {
2579 if (responderDelegate_ && 2576 if (responderDelegate_ &&
2580 [responderDelegate_ 2577 [responderDelegate_
2581 respondsToSelector:@selector(scrollOffsetPinnedToLeft:toRight:)]) { 2578 respondsToSelector:@selector(scrollOffsetPinnedToLeft:toRight:)]) {
2582 [responderDelegate_ scrollOffsetPinnedToLeft:left toRight:right]; 2579 [responderDelegate_ scrollOffsetPinnedToLeft:left toRight:right];
2583 } 2580 }
2584 } 2581 }
2585 2582
(...skipping 1798 matching lines...) Expand 10 before | Expand all | Expand 10 after
4384 4381
4385 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding 4382 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding
4386 // regions that are not draggable. (See ControlRegionView in 4383 // regions that are not draggable. (See ControlRegionView in
4387 // native_app_window_cocoa.mm). This requires the render host view to be 4384 // native_app_window_cocoa.mm). This requires the render host view to be
4388 // draggable by default. 4385 // draggable by default.
4389 - (BOOL)mouseDownCanMoveWindow { 4386 - (BOOL)mouseDownCanMoveWindow {
4390 return YES; 4387 return YES;
4391 } 4388 }
4392 4389
4393 @end 4390 @end
OLDNEW
« no previous file with comments | « chrome/test/data/scroll/iframe.html ('k') | content/browser/renderer_host/render_widget_host_view_mac_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698