| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
| 6 #include <stddef.h> | 6 #include <stddef.h> |
| 7 | 7 |
| 8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
| 9 #import "base/mac/scoped_objc_class_swizzler.h" | 9 #import "base/mac/scoped_objc_class_swizzler.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 IMP CurrentEventMethod() { | 234 IMP CurrentEventMethod() { |
| 235 return swizzle_current_event_->GetOriginalImplementation(); | 235 return swizzle_current_event_->GetOriginalImplementation(); |
| 236 } | 236 } |
| 237 | 237 |
| 238 NSWindow* window() { return window_.get(); } | 238 NSWindow* window() { return window_.get(); } |
| 239 ui::test::EventGenerator* owner() { return owner_; } | 239 ui::test::EventGenerator* owner() { return owner_; } |
| 240 | 240 |
| 241 // Overridden from ui::EventTarget: | 241 // Overridden from ui::EventTarget: |
| 242 bool CanAcceptEvent(const ui::Event& event) override { return true; } | 242 bool CanAcceptEvent(const ui::Event& event) override { return true; } |
| 243 ui::EventTarget* GetParentTarget() override { return nullptr; } | 243 ui::EventTarget* GetParentTarget() override { return nullptr; } |
| 244 scoped_ptr<ui::EventTargetIterator> GetChildIterator() const override; | 244 std::unique_ptr<ui::EventTargetIterator> GetChildIterator() const override; |
| 245 ui::EventTargeter* GetEventTargeter() override { return this; } | 245 ui::EventTargeter* GetEventTargeter() override { return this; } |
| 246 | 246 |
| 247 // Overridden from ui::EventHandler: | 247 // Overridden from ui::EventHandler: |
| 248 void OnMouseEvent(ui::MouseEvent* event) override; | 248 void OnMouseEvent(ui::MouseEvent* event) override; |
| 249 void OnKeyEvent(ui::KeyEvent* event) override; | 249 void OnKeyEvent(ui::KeyEvent* event) override; |
| 250 void OnTouchEvent(ui::TouchEvent* event) override; | 250 void OnTouchEvent(ui::TouchEvent* event) override; |
| 251 | 251 |
| 252 // Overridden from ui::EventSource: | 252 // Overridden from ui::EventSource: |
| 253 ui::EventProcessor* GetEventProcessor() override { return this; } | 253 ui::EventProcessor* GetEventProcessor() override { return this; } |
| 254 | 254 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 } | 295 } |
| 296 | 296 |
| 297 private: | 297 private: |
| 298 friend struct base::DefaultSingletonTraits<EventGeneratorDelegateMac>; | 298 friend struct base::DefaultSingletonTraits<EventGeneratorDelegateMac>; |
| 299 | 299 |
| 300 EventGeneratorDelegateMac(); | 300 EventGeneratorDelegateMac(); |
| 301 ~EventGeneratorDelegateMac() override; | 301 ~EventGeneratorDelegateMac() override; |
| 302 | 302 |
| 303 ui::test::EventGenerator* owner_; | 303 ui::test::EventGenerator* owner_; |
| 304 base::scoped_nsobject<NSWindow> window_; | 304 base::scoped_nsobject<NSWindow> window_; |
| 305 scoped_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_pressed_; | 305 std::unique_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_pressed_; |
| 306 scoped_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_location_; | 306 std::unique_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_location_; |
| 307 scoped_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_current_event_; | 307 std::unique_ptr<base::mac::ScopedObjCClassSwizzler> swizzle_current_event_; |
| 308 base::scoped_nsobject<NSMenu> fake_menu_; | 308 base::scoped_nsobject<NSMenu> fake_menu_; |
| 309 | 309 |
| 310 DISALLOW_COPY_AND_ASSIGN(EventGeneratorDelegateMac); | 310 DISALLOW_COPY_AND_ASSIGN(EventGeneratorDelegateMac); |
| 311 }; | 311 }; |
| 312 | 312 |
| 313 EventGeneratorDelegateMac::EventGeneratorDelegateMac() : owner_(nullptr) { | 313 EventGeneratorDelegateMac::EventGeneratorDelegateMac() : owner_(nullptr) { |
| 314 DCHECK(!ui::test::EventGenerator::default_delegate); | 314 DCHECK(!ui::test::EventGenerator::default_delegate); |
| 315 ui::test::EventGenerator::default_delegate = this; | 315 ui::test::EventGenerator::default_delegate = this; |
| 316 SetTargetHandler(this); | 316 SetTargetHandler(this); |
| 317 // Install a fake "edit" menu. This is normally provided by Chrome's | 317 // Install a fake "edit" menu. This is normally provided by Chrome's |
| (...skipping 17 matching lines...) Expand all Loading... |
| 335 keyEquivalent:fake_menu_item[i].key_equivalent | 335 keyEquivalent:fake_menu_item[i].key_equivalent |
| 336 atIndex:i]; | 336 atIndex:i]; |
| 337 } | 337 } |
| 338 } | 338 } |
| 339 | 339 |
| 340 EventGeneratorDelegateMac::~EventGeneratorDelegateMac() { | 340 EventGeneratorDelegateMac::~EventGeneratorDelegateMac() { |
| 341 DCHECK_EQ(this, ui::test::EventGenerator::default_delegate); | 341 DCHECK_EQ(this, ui::test::EventGenerator::default_delegate); |
| 342 ui::test::EventGenerator::default_delegate = nullptr; | 342 ui::test::EventGenerator::default_delegate = nullptr; |
| 343 } | 343 } |
| 344 | 344 |
| 345 scoped_ptr<ui::EventTargetIterator> | 345 std::unique_ptr<ui::EventTargetIterator> |
| 346 EventGeneratorDelegateMac::GetChildIterator() const { | 346 EventGeneratorDelegateMac::GetChildIterator() const { |
| 347 // Return nullptr to dispatch all events to the result of GetRootTarget(). | 347 // Return nullptr to dispatch all events to the result of GetRootTarget(). |
| 348 return nullptr; | 348 return nullptr; |
| 349 } | 349 } |
| 350 | 350 |
| 351 void EventGeneratorDelegateMac::OnMouseEvent(ui::MouseEvent* event) { | 351 void EventGeneratorDelegateMac::OnMouseEvent(ui::MouseEvent* event) { |
| 352 NSEvent* ns_event = CreateMouseEventInWindow(window_, | 352 NSEvent* ns_event = CreateMouseEventInWindow(window_, |
| 353 event->type(), | 353 event->type(), |
| 354 event->location(), | 354 event->location(), |
| 355 event->changed_button_flags()); | 355 event->changed_button_flags()); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 - (NSEvent*)currentEvent { | 484 - (NSEvent*)currentEvent { |
| 485 if (g_current_event) | 485 if (g_current_event) |
| 486 return g_current_event; | 486 return g_current_event; |
| 487 | 487 |
| 488 // Find the original implementation and invoke it. | 488 // Find the original implementation and invoke it. |
| 489 IMP original = EventGeneratorDelegateMac::GetInstance()->CurrentEventMethod(); | 489 IMP original = EventGeneratorDelegateMac::GetInstance()->CurrentEventMethod(); |
| 490 return original(self, _cmd); | 490 return original(self, _cmd); |
| 491 } | 491 } |
| 492 | 492 |
| 493 @end | 493 @end |
| OLD | NEW |