Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Side by Side Diff: Source/web/tests/WebFrameTest.cpp

Issue 278293002: [Regression] Fix Draggable is float:left and container is overflow:hidden (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/rendering/InlineFlowBox.cpp ('k') | Source/web/tests/data/nodeimage.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 5490 matching lines...) Expand 10 before | Expand all | Expand 10 after
5501 // Check that a reload ignoring cache on a frame will result in the cache 5501 // Check that a reload ignoring cache on a frame will result in the cache
5502 // policy of the request being set to ReloadBypassingCache. 5502 // policy of the request being set to ReloadBypassingCache.
5503 registerMockedHttpURLLoad("foo.html"); 5503 registerMockedHttpURLLoad("foo.html");
5504 FrameTestHelpers::WebViewHelper webViewHelper; 5504 FrameTestHelpers::WebViewHelper webViewHelper;
5505 webViewHelper.initializeAndLoad(m_baseURL + "foo.html", true); 5505 webViewHelper.initializeAndLoad(m_baseURL + "foo.html", true);
5506 WebFrame* frame = webViewHelper.webView()->mainFrame(); 5506 WebFrame* frame = webViewHelper.webView()->mainFrame();
5507 FrameTestHelpers::reloadFrameIgnoringCache(frame); 5507 FrameTestHelpers::reloadFrameIgnoringCache(frame);
5508 EXPECT_EQ(WebURLRequest::ReloadBypassingCache, frame->dataSource()->request( ).cachePolicy()); 5508 EXPECT_EQ(WebURLRequest::ReloadBypassingCache, frame->dataSource()->request( ).cachePolicy());
5509 } 5509 }
5510 5510
5511 static void nodeImageTestValidation(const WebCore::IntSize& referenceBitmapSize, WebCore::DragImage* dragImage)
5512 {
5513 // Prepare the reference bitmap.
5514 SkBitmap bitmap;
5515 ASSERT_TRUE(bitmap.allocN32Pixels(referenceBitmapSize.width(), referenceBitm apSize.height()));
5516 SkCanvas canvas(bitmap);
5517 canvas.drawColor(SK_ColorGREEN);
5518
5519 EXPECT_EQ(referenceBitmapSize.width(), dragImage->size().width());
5520 EXPECT_EQ(referenceBitmapSize.height(), dragImage->size().height());
5521 const SkBitmap& dragBitmap = dragImage->bitmap();
5522 SkAutoLockPixels lockPixel(dragBitmap);
5523 EXPECT_EQ(0, memcmp(bitmap.getPixels(), dragBitmap.getPixels(), bitmap.getSi ze()));
5524 }
5525
5511 TEST_F(WebFrameTest, NodeImageTestCSSTransform) 5526 TEST_F(WebFrameTest, NodeImageTestCSSTransform)
5512 { 5527 {
5513 FrameTestHelpers::WebViewHelper webViewHelper; 5528 FrameTestHelpers::WebViewHelper webViewHelper;
5514 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-css-transform")); 5529 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-css-transform"));
5515 EXPECT_TRUE(dragImage); 5530 EXPECT_TRUE(dragImage);
5516 5531
5517 SkBitmap bitmap; 5532 nodeImageTestValidation(WebCore::IntSize(40, 40), dragImage.get());
5518 ASSERT_TRUE(bitmap.allocN32Pixels(40, 40));
5519 SkCanvas canvas(bitmap);
5520 canvas.drawColor(SK_ColorGREEN);
5521
5522 EXPECT_EQ(40, dragImage->size().width());
5523 EXPECT_EQ(40, dragImage->size().height());
5524 const SkBitmap& dragBitmap = dragImage->bitmap();
5525 SkAutoLockPixels lockPixel(dragBitmap);
5526 EXPECT_EQ(0, memcmp(bitmap.getPixels(), dragBitmap.getPixels(), bitmap.getSi ze()));
5527 } 5533 }
5528 5534
5529 TEST_F(WebFrameTest, NodeImageTestCSS3DTransform) 5535 TEST_F(WebFrameTest, NodeImageTestCSS3DTransform)
5530 { 5536 {
5531 FrameTestHelpers::WebViewHelper webViewHelper; 5537 FrameTestHelpers::WebViewHelper webViewHelper;
5532 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-css-3dtransform")); 5538 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-css-3dtransform"));
5533 EXPECT_TRUE(dragImage); 5539 EXPECT_TRUE(dragImage);
5534 5540
5535 SkBitmap bitmap; 5541 nodeImageTestValidation(WebCore::IntSize(20, 40), dragImage.get());
5536 ASSERT_TRUE(bitmap.allocN32Pixels(20, 40)); 5542 }
5537 SkCanvas canvas(bitmap);
5538 canvas.drawColor(SK_ColorGREEN);
5539 5543
5540 EXPECT_EQ(20, dragImage->size().width()); 5544 TEST_F(WebFrameTest, NodeImageTestInlineBlock)
5541 EXPECT_EQ(40, dragImage->size().height()); 5545 {
5542 const SkBitmap& dragBitmap = dragImage->bitmap(); 5546 FrameTestHelpers::WebViewHelper webViewHelper;
5543 SkAutoLockPixels lockPixel(dragBitmap); 5547 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-inlineblock"));
5544 EXPECT_EQ(0, memcmp(bitmap.getPixels(), dragBitmap.getPixels(), bitmap.getSi ze())); 5548 EXPECT_TRUE(dragImage);
5549
5550 nodeImageTestValidation(WebCore::IntSize(40, 40), dragImage.get());
5551 }
5552
5553 TEST_F(WebFrameTest, NodeImageTestFloatLeft)
5554 {
5555 FrameTestHelpers::WebViewHelper webViewHelper;
5556 OwnPtr<WebCore::DragImage> dragImage = nodeImageTestSetup(&webViewHelper, st d::string("case-float-left-overflow-hidden"));
5557 EXPECT_TRUE(dragImage);
5558
5559 nodeImageTestValidation(WebCore::IntSize(40, 40), dragImage.get());
5545 } 5560 }
5546 5561
5547 class BrandColorTestWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 5562 class BrandColorTestWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
5548 public: 5563 public:
5549 BrandColorTestWebFrameClient() 5564 BrandColorTestWebFrameClient()
5550 : m_didNotify(false) 5565 : m_didNotify(false)
5551 { 5566 {
5552 } 5567 }
5553 5568
5554 bool didNotify() const 5569 bool didNotify() const
(...skipping 14 matching lines...) Expand all
5569 { 5584 {
5570 registerMockedHttpURLLoad("brand_color_test.html"); 5585 registerMockedHttpURLLoad("brand_color_test.html");
5571 FrameTestHelpers::WebViewHelper webViewHelper; 5586 FrameTestHelpers::WebViewHelper webViewHelper;
5572 BrandColorTestWebFrameClient client; 5587 BrandColorTestWebFrameClient client;
5573 webViewHelper.initializeAndLoad(m_baseURL + "brand_color_test.html", false, &client); 5588 webViewHelper.initializeAndLoad(m_baseURL + "brand_color_test.html", false, &client);
5574 EXPECT_TRUE(client.didNotify()); 5589 EXPECT_TRUE(client.didNotify());
5575 EXPECT_EQ(0xff0000ff, webViewHelper.webViewImpl()->mainFrameImpl()->document ().brandColor()); 5590 EXPECT_EQ(0xff0000ff, webViewHelper.webViewImpl()->mainFrameImpl()->document ().brandColor());
5576 } 5591 }
5577 5592
5578 } // namespace 5593 } // namespace
OLDNEW
« no previous file with comments | « Source/core/rendering/InlineFlowBox.cpp ('k') | Source/web/tests/data/nodeimage.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698