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 |