| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 2383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2394 | 2394 |
| 2395 WebLocalFrameImpl* frame = webView->mainFrameImpl(); | 2395 WebLocalFrameImpl* frame = webView->mainFrameImpl(); |
| 2396 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); | 2396 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); |
| 2397 | 2397 |
| 2398 WebRange range = webView->caretOrSelectionRange(); | 2398 WebRange range = webView->caretOrSelectionRange(); |
| 2399 EXPECT_FALSE(range.isNull()); | 2399 EXPECT_FALSE(range.isNull()); |
| 2400 EXPECT_EQ(0, range.startOffset()); | 2400 EXPECT_EQ(0, range.startOffset()); |
| 2401 EXPECT_EQ(static_cast<int>(testWord.length()), range.length()); | 2401 EXPECT_EQ(static_cast<int>(testWord.length()), range.length()); |
| 2402 } | 2402 } |
| 2403 | 2403 |
| 2404 TEST_F(WebViewTest, KeyDownScrollsHandled) { |
| 2405 URLTestHelpers::registerMockedURLFromBaseURL( |
| 2406 WebString::fromUTF8(m_baseURL.c_str()), |
| 2407 WebString::fromUTF8("content-width-1000.html")); |
| 2408 |
| 2409 WebViewImpl* webView = m_webViewHelper.initializeAndLoad( |
| 2410 m_baseURL + "content-width-1000.html", true); |
| 2411 webView->resize(WebSize(100, 100)); |
| 2412 webView->updateAllLifecyclePhases(); |
| 2413 runPendingTasks(); |
| 2414 |
| 2415 WebKeyboardEvent keyEvent; |
| 2416 |
| 2417 // RawKeyDown pagedown should be handled. |
| 2418 keyEvent.windowsKeyCode = VKEY_NEXT; |
| 2419 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2420 EXPECT_EQ(WebInputEventResult::HandledSystem, |
| 2421 webView->handleInputEvent(keyEvent)); |
| 2422 keyEvent.type = WebInputEvent::KeyUp; |
| 2423 webView->handleInputEvent(keyEvent); |
| 2424 |
| 2425 // Coalesced KeyDown arrow-down should be handled. |
| 2426 keyEvent.windowsKeyCode = VKEY_DOWN; |
| 2427 keyEvent.type = WebInputEvent::KeyDown; |
| 2428 EXPECT_EQ(WebInputEventResult::HandledSystem, |
| 2429 webView->handleInputEvent(keyEvent)); |
| 2430 keyEvent.type = WebInputEvent::KeyUp; |
| 2431 webView->handleInputEvent(keyEvent); |
| 2432 |
| 2433 // Ctrl-Home should be handled... |
| 2434 keyEvent.windowsKeyCode = VKEY_HOME; |
| 2435 keyEvent.modifiers = WebInputEvent::ControlKey; |
| 2436 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2437 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2438 webView->handleInputEvent(keyEvent)); |
| 2439 keyEvent.type = WebInputEvent::KeyUp; |
| 2440 webView->handleInputEvent(keyEvent); |
| 2441 |
| 2442 // But Ctrl-Down should not. |
| 2443 keyEvent.windowsKeyCode = VKEY_DOWN; |
| 2444 keyEvent.modifiers = WebInputEvent::ControlKey; |
| 2445 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2446 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2447 webView->handleInputEvent(keyEvent)); |
| 2448 keyEvent.type = WebInputEvent::KeyUp; |
| 2449 webView->handleInputEvent(keyEvent); |
| 2450 |
| 2451 // Shift, meta, and alt should not be handled. |
| 2452 keyEvent.windowsKeyCode = VKEY_NEXT; |
| 2453 keyEvent.modifiers = WebInputEvent::ShiftKey; |
| 2454 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2455 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2456 webView->handleInputEvent(keyEvent)); |
| 2457 keyEvent.type = WebInputEvent::KeyUp; |
| 2458 webView->handleInputEvent(keyEvent); |
| 2459 |
| 2460 keyEvent.windowsKeyCode = VKEY_NEXT; |
| 2461 keyEvent.modifiers = WebInputEvent::MetaKey; |
| 2462 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2463 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2464 webView->handleInputEvent(keyEvent)); |
| 2465 keyEvent.type = WebInputEvent::KeyUp; |
| 2466 webView->handleInputEvent(keyEvent); |
| 2467 |
| 2468 keyEvent.windowsKeyCode = VKEY_NEXT; |
| 2469 keyEvent.modifiers = WebInputEvent::AltKey; |
| 2470 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2471 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2472 webView->handleInputEvent(keyEvent)); |
| 2473 keyEvent.type = WebInputEvent::KeyUp; |
| 2474 webView->handleInputEvent(keyEvent); |
| 2475 |
| 2476 // System-key labeled Alt-Down (as in Windows) should do nothing, |
| 2477 // but non-system-key labeled Alt-Down (as in Mac) should be handled |
| 2478 // as a page-down. |
| 2479 keyEvent.windowsKeyCode = VKEY_DOWN; |
| 2480 keyEvent.modifiers = WebInputEvent::AltKey; |
| 2481 keyEvent.isSystemKey = true; |
| 2482 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2483 EXPECT_EQ(WebInputEventResult::NotHandled, |
| 2484 webView->handleInputEvent(keyEvent)); |
| 2485 keyEvent.type = WebInputEvent::KeyUp; |
| 2486 webView->handleInputEvent(keyEvent); |
| 2487 |
| 2488 keyEvent.windowsKeyCode = VKEY_DOWN; |
| 2489 keyEvent.modifiers = WebInputEvent::AltKey; |
| 2490 keyEvent.isSystemKey = false; |
| 2491 keyEvent.type = WebInputEvent::RawKeyDown; |
| 2492 EXPECT_EQ(WebInputEventResult::HandledSystem, |
| 2493 webView->handleInputEvent(keyEvent)); |
| 2494 keyEvent.type = WebInputEvent::KeyUp; |
| 2495 webView->handleInputEvent(keyEvent); |
| 2496 } |
| 2497 |
| 2404 static void configueCompositingWebView(WebSettings* settings) { | 2498 static void configueCompositingWebView(WebSettings* settings) { |
| 2405 settings->setAcceleratedCompositingEnabled(true); | 2499 settings->setAcceleratedCompositingEnabled(true); |
| 2406 settings->setPreferCompositingToLCDTextEnabled(true); | 2500 settings->setPreferCompositingToLCDTextEnabled(true); |
| 2407 } | 2501 } |
| 2408 | 2502 |
| 2409 TEST_F(WebViewTest, ShowPressOnTransformedLink) { | 2503 TEST_F(WebViewTest, ShowPressOnTransformedLink) { |
| 2410 std::unique_ptr<FrameTestHelpers::TestWebViewClient> | 2504 std::unique_ptr<FrameTestHelpers::TestWebViewClient> |
| 2411 fakeCompositingWebViewClient = | 2505 fakeCompositingWebViewClient = |
| 2412 wrapUnique(new FrameTestHelpers::TestWebViewClient()); | 2506 wrapUnique(new FrameTestHelpers::TestWebViewClient()); |
| 2413 FrameTestHelpers::WebViewHelper webViewHelper; | 2507 FrameTestHelpers::WebViewHelper webViewHelper; |
| (...skipping 1715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4129 .translate(50, 55) | 4223 .translate(50, 55) |
| 4130 .scale(1. / 2.f); | 4224 .scale(1. / 2.f); |
| 4131 EXPECT_EQ(expectedMatrix, | 4225 EXPECT_EQ(expectedMatrix, |
| 4132 webViewImpl->getDeviceEmulationTransformForTesting()); | 4226 webViewImpl->getDeviceEmulationTransformForTesting()); |
| 4133 // visibleContentRect doesn't change. | 4227 // visibleContentRect doesn't change. |
| 4134 EXPECT_EQ(IntRect(50, 55, 50, 75), | 4228 EXPECT_EQ(IntRect(50, 55, 50, 75), |
| 4135 *devToolsEmulator->visibleContentRectForPainting()); | 4229 *devToolsEmulator->visibleContentRectForPainting()); |
| 4136 } | 4230 } |
| 4137 | 4231 |
| 4138 } // namespace blink | 4232 } // namespace blink |
| OLD | NEW |