Chromium Code Reviews| 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 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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()); |
| 356 if (owner_->targeting_application()) | 356 using Target = ui::test::EventGenerator::Target; |
| 357 switch (owner_->target()) { | |
| 358 case Target::APPLICATION: | |
|
tapted
2016/11/18 07:28:04
this should be indented - git cl format?
themblsha
2016/11/18 13:31:50
Ah, I'm probably using an outdated clang-format in
| |
| 357 [NSApp sendEvent:ns_event]; | 359 [NSApp sendEvent:ns_event]; |
| 358 else | 360 break; |
| 361 case Target::WINDOW: | |
| 362 [window_ sendEvent:ns_event]; | |
| 363 break; | |
| 364 case Target::WIDGET: | |
| 359 EmulateSendEvent(window_, ns_event); | 365 EmulateSendEvent(window_, ns_event); |
| 366 break; | |
| 367 } | |
| 360 } | 368 } |
| 361 | 369 |
| 362 void EventGeneratorDelegateMac::OnKeyEvent(ui::KeyEvent* event) { | 370 void EventGeneratorDelegateMac::OnKeyEvent(ui::KeyEvent* event) { |
| 363 NSUInteger modifiers = EventFlagsToModifiers(event->flags()); | 371 NSUInteger modifiers = EventFlagsToModifiers(event->flags()); |
| 364 NSEvent* ns_event = cocoa_test_event_utils::SynthesizeKeyEvent( | 372 NSEvent* ns_event = cocoa_test_event_utils::SynthesizeKeyEvent( |
| 365 window_, event->type() == ui::ET_KEY_PRESSED, event->key_code(), | 373 window_, event->type() == ui::ET_KEY_PRESSED, event->key_code(), |
| 366 modifiers, event->is_char() ? event->GetDomKey() : ui::DomKey::NONE); | 374 modifiers, event->is_char() ? event->GetDomKey() : ui::DomKey::NONE); |
| 367 if (owner_->targeting_application()) { | 375 |
| 376 using Target = ui::test::EventGenerator::Target; | |
| 377 switch (owner_->target()) { | |
| 378 case Target::APPLICATION: | |
| 368 [NSApp sendEvent:ns_event]; | 379 [NSApp sendEvent:ns_event]; |
| 369 return; | 380 break; |
| 381 case Target::WINDOW: | |
| 382 [window_ sendEvent:ns_event]; | |
| 383 break; | |
| 384 case Target::WIDGET: | |
| 385 if ([fake_menu_ performKeyEquivalent:ns_event]) | |
| 386 return; | |
| 387 | |
| 388 EmulateSendEvent(window_, ns_event); | |
| 389 break; | |
| 370 } | 390 } |
| 371 | |
| 372 if ([fake_menu_ performKeyEquivalent:ns_event]) | |
| 373 return; | |
| 374 | |
| 375 EmulateSendEvent(window_, ns_event); | |
| 376 } | 391 } |
| 377 | 392 |
| 378 void EventGeneratorDelegateMac::OnTouchEvent(ui::TouchEvent* event) { | 393 void EventGeneratorDelegateMac::OnTouchEvent(ui::TouchEvent* event) { |
| 379 NOTREACHED() << "Touchscreen events not supported on Chrome Mac."; | 394 NOTREACHED() << "Touchscreen events not supported on Chrome Mac."; |
| 380 } | 395 } |
| 381 | 396 |
| 382 void EventGeneratorDelegateMac::SetContext(ui::test::EventGenerator* owner, | 397 void EventGeneratorDelegateMac::SetContext(ui::test::EventGenerator* owner, |
| 383 gfx::NativeWindow root_window, | 398 gfx::NativeWindow root_window, |
| 384 gfx::NativeWindow window) { | 399 gfx::NativeWindow window) { |
| 385 // Mac doesn't use a |root_window|. Assume that if a single-argument | 400 // Mac doesn't use a |root_window|. Assume that if a single-argument |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 491 - (NSEvent*)currentEvent { | 506 - (NSEvent*)currentEvent { |
| 492 if (g_current_event) | 507 if (g_current_event) |
| 493 return g_current_event; | 508 return g_current_event; |
| 494 | 509 |
| 495 // Find the original implementation and invoke it. | 510 // Find the original implementation and invoke it. |
| 496 IMP original = EventGeneratorDelegateMac::GetInstance()->CurrentEventMethod(); | 511 IMP original = EventGeneratorDelegateMac::GetInstance()->CurrentEventMethod(); |
| 497 return original(self, _cmd); | 512 return original(self, _cmd); |
| 498 } | 513 } |
| 499 | 514 |
| 500 @end | 515 @end |
| OLD | NEW |