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 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 const WebColor kTranslucentPutty = 0x80BFB196; | 396 const WebColor kTranslucentPutty = 0x80BFB196; |
397 const WebColor kTransparent = 0x00000000; | 397 const WebColor kTransparent = 0x00000000; |
398 | 398 |
399 WebViewBase* web_view = web_view_helper_.Initialize(); | 399 WebViewBase* web_view = web_view_helper_.Initialize(); |
400 EXPECT_EQ(kWhite, web_view->BackgroundColor()); | 400 EXPECT_EQ(kWhite, web_view->BackgroundColor()); |
401 | 401 |
402 web_view->SetBaseBackgroundColor(kBlue); | 402 web_view->SetBaseBackgroundColor(kBlue); |
403 EXPECT_EQ(kBlue, web_view->BackgroundColor()); | 403 EXPECT_EQ(kBlue, web_view->BackgroundColor()); |
404 | 404 |
405 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 405 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
406 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 406 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
407 "<html><head><style>body " | 407 "<html><head><style>body " |
408 "{background-color:#227788}</style></head></" | 408 "{background-color:#227788}</style></head></" |
409 "html>", | 409 "html>", |
410 base_url); | 410 base_url); |
411 EXPECT_EQ(kDarkCyan, web_view->BackgroundColor()); | 411 EXPECT_EQ(kDarkCyan, web_view->BackgroundColor()); |
412 | 412 |
413 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 413 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
414 "<html><head><style>body " | 414 "<html><head><style>body " |
415 "{background-color:rgba(255,0,0,0.5)}</" | 415 "{background-color:rgba(255,0,0,0.5)}</" |
416 "style></head></html>", | 416 "style></head></html>", |
417 base_url); | 417 base_url); |
418 // Expected: red (50% alpha) blended atop base of kBlue. | 418 // Expected: red (50% alpha) blended atop base of kBlue. |
419 EXPECT_EQ(0xFF80007F, web_view->BackgroundColor()); | 419 EXPECT_EQ(0xFF80007F, web_view->BackgroundColor()); |
420 | 420 |
421 web_view->SetBaseBackgroundColor(kTranslucentPutty); | 421 web_view->SetBaseBackgroundColor(kTranslucentPutty); |
422 // Expected: red (50% alpha) blended atop kTranslucentPutty. Note the alpha. | 422 // Expected: red (50% alpha) blended atop kTranslucentPutty. Note the alpha. |
423 EXPECT_EQ(0xBFE93A31, web_view->BackgroundColor()); | 423 EXPECT_EQ(0xBFE93A31, web_view->BackgroundColor()); |
424 | 424 |
425 web_view->SetBaseBackgroundColor(kTransparent); | 425 web_view->SetBaseBackgroundColor(kTransparent); |
426 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 426 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
427 "<html><head><style>body " | 427 "<html><head><style>body " |
428 "{background-color:transparent}</style></" | 428 "{background-color:transparent}</style></" |
429 "head></html>", | 429 "head></html>", |
430 base_url); | 430 base_url); |
431 // Expected: transparent on top of kTransparent will still be transparent. | 431 // Expected: transparent on top of kTransparent will still be transparent. |
432 EXPECT_EQ(kTransparent, web_view->BackgroundColor()); | 432 EXPECT_EQ(kTransparent, web_view->BackgroundColor()); |
433 | 433 |
434 LocalFrame* frame = web_view->MainFrameImpl()->GetFrame(); | 434 LocalFrame* frame = web_view->MainFrameImpl()->GetFrame(); |
435 // The shutdown() calls are a hack to prevent this test | 435 // The shutdown() calls are a hack to prevent this test |
436 // from violating invariants about frame state during navigation/detach. | 436 // from violating invariants about frame state during navigation/detach. |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
809 WebViewBase* web_view_impl = web_view_helper.Initialize(true, 0, &client); | 809 WebViewBase* web_view_impl = web_view_helper.Initialize(true, 0, &client); |
810 | 810 |
811 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 811 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
812 // Here, we need to construct a document that has a special property: | 812 // Here, we need to construct a document that has a special property: |
813 // Adding id="foo" to the <path> element will trigger creation of an SVG | 813 // Adding id="foo" to the <path> element will trigger creation of an SVG |
814 // instance tree for the use <use> element. | 814 // instance tree for the use <use> element. |
815 // This is significant, because SVG instance trees are actually created lazily | 815 // This is significant, because SVG instance trees are actually created lazily |
816 // during Document::updateStyleAndLayout code, thus incrementing the DOM tree | 816 // during Document::updateStyleAndLayout code, thus incrementing the DOM tree |
817 // version and freaking out the EphemeralRange (invalidating it). | 817 // version and freaking out the EphemeralRange (invalidating it). |
818 FrameTestHelpers::LoadHTMLString( | 818 FrameTestHelpers::LoadHTMLString( |
819 web_view_impl->MainFrame(), | 819 web_view_impl->MainFrameImpl(), |
820 "<svg height='100%' version='1.1' viewBox='0 0 14 14' width='100%'>" | 820 "<svg height='100%' version='1.1' viewBox='0 0 14 14' width='100%'>" |
821 "<use xmlns:xlink='http://www.w3.org/1999/xlink' xlink:href='#foo'></use>" | 821 "<use xmlns:xlink='http://www.w3.org/1999/xlink' xlink:href='#foo'></use>" |
822 "<path d='M 100 100 L 300 100 L 200 300 z' fill='#000'></path>" | 822 "<path d='M 100 100 L 300 100 L 200 300 z' fill='#000'></path>" |
823 "</svg>" | 823 "</svg>" |
824 "<input>", | 824 "<input>", |
825 base_url); | 825 base_url); |
826 web_view_impl->SetInitialFocus(false); | 826 web_view_impl->SetInitialFocus(false); |
827 | 827 |
828 // Add id="foo" to <path>, thus triggering the condition described above. | 828 // Add id="foo" to <path>, thus triggering the condition described above. |
829 Document* document = | 829 Document* document = |
(...skipping 1759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2589 WebViewBase* web_view_impl = web_view_helper.Initialize( | 2589 WebViewBase* web_view_impl = web_view_helper.Initialize( |
2590 true, nullptr, fake_compositing_web_view_client.get(), nullptr, | 2590 true, nullptr, fake_compositing_web_view_client.get(), nullptr, |
2591 &ConfigueCompositingWebView); | 2591 &ConfigueCompositingWebView); |
2592 | 2592 |
2593 int page_width = 640; | 2593 int page_width = 640; |
2594 int page_height = 480; | 2594 int page_height = 480; |
2595 web_view_impl->Resize(WebSize(page_width, page_height)); | 2595 web_view_impl->Resize(WebSize(page_width, page_height)); |
2596 | 2596 |
2597 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 2597 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
2598 FrameTestHelpers::LoadHTMLString( | 2598 FrameTestHelpers::LoadHTMLString( |
2599 web_view_impl->MainFrame(), | 2599 web_view_impl->MainFrameImpl(), |
2600 "<a href='http://www.test.com' style='position: absolute; left: 20px; " | 2600 "<a href='http://www.test.com' style='position: absolute; left: 20px; " |
2601 "top: 20px; width: 200px; transform:translateZ(0);'>A link to " | 2601 "top: 20px; width: 200px; transform:translateZ(0);'>A link to " |
2602 "highlight</a>", | 2602 "highlight</a>", |
2603 base_url); | 2603 base_url); |
2604 | 2604 |
2605 WebGestureEvent event(WebInputEvent::kGestureShowPress, | 2605 WebGestureEvent event(WebInputEvent::kGestureShowPress, |
2606 WebInputEvent::kNoModifiers, | 2606 WebInputEvent::kNoModifiers, |
2607 WebInputEvent::kTimeStampForTesting); | 2607 WebInputEvent::kTimeStampForTesting); |
2608 event.source_device = kWebGestureDeviceTouchscreen; | 2608 event.source_device = kWebGestureDeviceTouchscreen; |
2609 event.x = 20; | 2609 event.x = 20; |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2828 bool did_focus_called_; | 2828 bool did_focus_called_; |
2829 }; | 2829 }; |
2830 | 2830 |
2831 TEST_P(WebViewTest, DoNotFocusCurrentFrameOnNavigateFromLocalFrame) { | 2831 TEST_P(WebViewTest, DoNotFocusCurrentFrameOnNavigateFromLocalFrame) { |
2832 ViewCreatingWebViewClient client; | 2832 ViewCreatingWebViewClient client; |
2833 FrameTestHelpers::WebViewHelper web_view_helper; | 2833 FrameTestHelpers::WebViewHelper web_view_helper; |
2834 WebViewBase* web_view_impl = web_view_helper.Initialize(true, 0, &client); | 2834 WebViewBase* web_view_impl = web_view_helper.Initialize(true, 0, &client); |
2835 | 2835 |
2836 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 2836 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
2837 FrameTestHelpers::LoadHTMLString( | 2837 FrameTestHelpers::LoadHTMLString( |
2838 web_view_impl->MainFrame(), | 2838 web_view_impl->MainFrameImpl(), |
2839 "<html><body><iframe src=\"about:blank\"></iframe></body></html>", | 2839 "<html><body><iframe src=\"about:blank\"></iframe></body></html>", |
2840 base_url); | 2840 base_url); |
2841 | 2841 |
2842 // Make a request from a local frame. | 2842 // Make a request from a local frame. |
2843 WebURLRequest web_url_request_with_target_start; | 2843 WebURLRequest web_url_request_with_target_start; |
2844 LocalFrame* local_frame = | 2844 LocalFrame* local_frame = |
2845 ToWebLocalFrameBase(web_view_impl->MainFrame()->FirstChild())->GetFrame(); | 2845 ToWebLocalFrameBase(web_view_impl->MainFrame()->FirstChild())->GetFrame(); |
2846 FrameLoadRequest request_with_target_start( | 2846 FrameLoadRequest request_with_target_start( |
2847 local_frame->GetDocument(), | 2847 local_frame->GetDocument(), |
2848 web_url_request_with_target_start.ToResourceRequest(), "_top"); | 2848 web_url_request_with_target_start.ToResourceRequest(), "_top"); |
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4176 // visibleContentRect doesn't change. | 4176 // visibleContentRect doesn't change. |
4177 EXPECT_EQ(IntRect(50, 55, 50, 75), | 4177 EXPECT_EQ(IntRect(50, 55, 50, 75), |
4178 *dev_tools_emulator->VisibleContentRectForPainting()); | 4178 *dev_tools_emulator->VisibleContentRectForPainting()); |
4179 } | 4179 } |
4180 | 4180 |
4181 TEST_P(WebViewTest, ResizeForPrintingViewportUnits) { | 4181 TEST_P(WebViewTest, ResizeForPrintingViewportUnits) { |
4182 WebViewBase* web_view = web_view_helper_.Initialize(); | 4182 WebViewBase* web_view = web_view_helper_.Initialize(); |
4183 web_view->Resize(WebSize(800, 600)); | 4183 web_view->Resize(WebSize(800, 600)); |
4184 | 4184 |
4185 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 4185 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
4186 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 4186 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
4187 "<style>" | 4187 "<style>" |
4188 " body { margin: 0px; }" | 4188 " body { margin: 0px; }" |
4189 " #vw { width: 100vw; height: 100vh; }" | 4189 " #vw { width: 100vw; height: 100vh; }" |
4190 "</style>" | 4190 "</style>" |
4191 "<div id=vw></div>", | 4191 "<div id=vw></div>", |
4192 base_url); | 4192 base_url); |
4193 | 4193 |
4194 WebLocalFrameBase* frame = web_view->MainFrameImpl(); | 4194 WebLocalFrameBase* frame = web_view->MainFrameImpl(); |
4195 Document* document = frame->GetFrame()->GetDocument(); | 4195 Document* document = frame->GetFrame()->GetDocument(); |
4196 Element* vw_element = document->getElementById("vw"); | 4196 Element* vw_element = document->getElementById("vw"); |
(...skipping 23 matching lines...) Expand all Loading... |
4220 | 4220 |
4221 EXPECT_EQ(800, vw_element->OffsetWidth()); | 4221 EXPECT_EQ(800, vw_element->OffsetWidth()); |
4222 } | 4222 } |
4223 | 4223 |
4224 TEST_P(WebViewTest, WidthMediaQueryWithPageZoomAfterPrinting) { | 4224 TEST_P(WebViewTest, WidthMediaQueryWithPageZoomAfterPrinting) { |
4225 WebViewBase* web_view = web_view_helper_.Initialize(); | 4225 WebViewBase* web_view = web_view_helper_.Initialize(); |
4226 web_view->Resize(WebSize(800, 600)); | 4226 web_view->Resize(WebSize(800, 600)); |
4227 web_view->SetZoomLevel(WebView::ZoomFactorToZoomLevel(2.0)); | 4227 web_view->SetZoomLevel(WebView::ZoomFactorToZoomLevel(2.0)); |
4228 | 4228 |
4229 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 4229 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
4230 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 4230 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
4231 "<style>" | 4231 "<style>" |
4232 " @media (max-width: 600px) {" | 4232 " @media (max-width: 600px) {" |
4233 " div { color: green }" | 4233 " div { color: green }" |
4234 " }" | 4234 " }" |
4235 "</style>" | 4235 "</style>" |
4236 "<div id=d></div>", | 4236 "<div id=d></div>", |
4237 base_url); | 4237 base_url); |
4238 | 4238 |
4239 WebLocalFrameBase* frame = web_view->MainFrameImpl(); | 4239 WebLocalFrameBase* frame = web_view->MainFrameImpl(); |
4240 Document* document = frame->GetFrame()->GetDocument(); | 4240 Document* document = frame->GetFrame()->GetDocument(); |
(...skipping 14 matching lines...) Expand all Loading... |
4255 EXPECT_EQ(MakeRGB(0, 128, 0), | 4255 EXPECT_EQ(MakeRGB(0, 128, 0), |
4256 div->GetComputedStyle()->VisitedDependentColor(CSSPropertyColor)); | 4256 div->GetComputedStyle()->VisitedDependentColor(CSSPropertyColor)); |
4257 } | 4257 } |
4258 | 4258 |
4259 TEST_P(WebViewTest, ViewportUnitsPrintingWithPageZoom) { | 4259 TEST_P(WebViewTest, ViewportUnitsPrintingWithPageZoom) { |
4260 WebViewBase* web_view = web_view_helper_.Initialize(); | 4260 WebViewBase* web_view = web_view_helper_.Initialize(); |
4261 web_view->Resize(WebSize(800, 600)); | 4261 web_view->Resize(WebSize(800, 600)); |
4262 web_view->SetZoomLevel(WebView::ZoomFactorToZoomLevel(2.0)); | 4262 web_view->SetZoomLevel(WebView::ZoomFactorToZoomLevel(2.0)); |
4263 | 4263 |
4264 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 4264 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
4265 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 4265 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
4266 "<style>" | 4266 "<style>" |
4267 " body { margin: 0 }" | 4267 " body { margin: 0 }" |
4268 " #t1 { width: 100% }" | 4268 " #t1 { width: 100% }" |
4269 " #t2 { width: 100vw }" | 4269 " #t2 { width: 100vw }" |
4270 "</style>" | 4270 "</style>" |
4271 "<div id=t1></div>" | 4271 "<div id=t1></div>" |
4272 "<div id=t2></div>", | 4272 "<div id=t2></div>", |
4273 base_url); | 4273 base_url); |
4274 | 4274 |
4275 WebLocalFrameBase* frame = web_view->MainFrameImpl(); | 4275 WebLocalFrameBase* frame = web_view->MainFrameImpl(); |
(...skipping 17 matching lines...) Expand all Loading... |
4293 EXPECT_EQ(expected_width, t2->OffsetWidth()); | 4293 EXPECT_EQ(expected_width, t2->OffsetWidth()); |
4294 | 4294 |
4295 frame->PrintEnd(); | 4295 frame->PrintEnd(); |
4296 } | 4296 } |
4297 | 4297 |
4298 TEST_P(WebViewTest, DeviceEmulationResetScrollbars) { | 4298 TEST_P(WebViewTest, DeviceEmulationResetScrollbars) { |
4299 WebViewBase* web_view = web_view_helper_.Initialize(); | 4299 WebViewBase* web_view = web_view_helper_.Initialize(); |
4300 web_view->Resize(WebSize(800, 600)); | 4300 web_view->Resize(WebSize(800, 600)); |
4301 | 4301 |
4302 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); | 4302 WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); |
4303 FrameTestHelpers::LoadHTMLString(web_view->MainFrame(), | 4303 FrameTestHelpers::LoadHTMLString(web_view->MainFrameImpl(), |
4304 "<!doctype html>" | 4304 "<!doctype html>" |
4305 "<meta name='viewport'" | 4305 "<meta name='viewport'" |
4306 " content='width=device-width'>" | 4306 " content='width=device-width'>" |
4307 "<style>" | 4307 "<style>" |
4308 " body {margin: 0px; height:3000px;}" | 4308 " body {margin: 0px; height:3000px;}" |
4309 "</style>", | 4309 "</style>", |
4310 base_url); | 4310 base_url); |
4311 | 4311 |
4312 WebLocalFrameBase* frame = web_view->MainFrameImpl(); | 4312 WebLocalFrameBase* frame = web_view->MainFrameImpl(); |
4313 auto* frame_view = frame->GetFrameView(); | 4313 auto* frame_view = frame->GetFrameView(); |
(...skipping 24 matching lines...) Expand all Loading... |
4338 EXPECT_FALSE(frame_view->VisualViewportSuppliesScrollbars()); | 4338 EXPECT_FALSE(frame_view->VisualViewportSuppliesScrollbars()); |
4339 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { | 4339 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
4340 EXPECT_NE(nullptr, | 4340 EXPECT_NE(nullptr, |
4341 frame_view->LayoutViewportScrollableArea()->VerticalScrollbar()); | 4341 frame_view->LayoutViewportScrollableArea()->VerticalScrollbar()); |
4342 } else { | 4342 } else { |
4343 EXPECT_NE(nullptr, frame_view->VerticalScrollbar()); | 4343 EXPECT_NE(nullptr, frame_view->VerticalScrollbar()); |
4344 } | 4344 } |
4345 } | 4345 } |
4346 | 4346 |
4347 } // namespace blink | 4347 } // namespace blink |
OLD | NEW |