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

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

Issue 307553007: NOTFORREVIEW Unit tests for nodeImage() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 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 | « no previous file | Source/web/tests/data/drag-drop.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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 #include "core/frame/FrameView.h" 50 #include "core/frame/FrameView.h"
51 #include "core/frame/LocalFrame.h" 51 #include "core/frame/LocalFrame.h"
52 #include "core/frame/Settings.h" 52 #include "core/frame/Settings.h"
53 #include "core/html/HTMLFormElement.h" 53 #include "core/html/HTMLFormElement.h"
54 #include "core/loader/FrameLoadRequest.h" 54 #include "core/loader/FrameLoadRequest.h"
55 #include "core/page/EventHandler.h" 55 #include "core/page/EventHandler.h"
56 #include "core/rendering/HitTestResult.h" 56 #include "core/rendering/HitTestResult.h"
57 #include "core/rendering/RenderView.h" 57 #include "core/rendering/RenderView.h"
58 #include "core/rendering/TextAutosizer.h" 58 #include "core/rendering/TextAutosizer.h"
59 #include "core/rendering/compositing/RenderLayerCompositor.h" 59 #include "core/rendering/compositing/RenderLayerCompositor.h"
60 #include "platform/DragImage.h"
60 #include "platform/UserGestureIndicator.h" 61 #include "platform/UserGestureIndicator.h"
61 #include "platform/geometry/FloatRect.h" 62 #include "platform/geometry/FloatRect.h"
62 #include "platform/network/ResourceError.h" 63 #include "platform/network/ResourceError.h"
63 #include "platform/scroll/ScrollbarTheme.h" 64 #include "platform/scroll/ScrollbarTheme.h"
64 #include "public/platform/Platform.h" 65 #include "public/platform/Platform.h"
65 #include "public/platform/WebFloatRect.h" 66 #include "public/platform/WebFloatRect.h"
66 #include "public/platform/WebThread.h" 67 #include "public/platform/WebThread.h"
67 #include "public/platform/WebURL.h" 68 #include "public/platform/WebURL.h"
68 #include "public/platform/WebURLResponse.h" 69 #include "public/platform/WebURLResponse.h"
69 #include "public/platform/WebUnitTestSupport.h" 70 #include "public/platform/WebUnitTestSupport.h"
(...skipping 5318 matching lines...) Expand 10 before | Expand all | Expand 10 after
5388 { 5389 {
5389 registerMockedHttpURLLoad("link-manifest-change.html"); 5390 registerMockedHttpURLLoad("link-manifest-change.html");
5390 5391
5391 ManifestChangeWebFrameClient webFrameClient; 5392 ManifestChangeWebFrameClient webFrameClient;
5392 FrameTestHelpers::WebViewHelper webViewHelper; 5393 FrameTestHelpers::WebViewHelper webViewHelper;
5393 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient); 5394 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient);
5394 5395
5395 EXPECT_EQ(14, webFrameClient.manifestChangeCount()); 5396 EXPECT_EQ(14, webFrameClient.manifestChangeCount());
5396 } 5397 }
5397 5398
5399 TEST_F(WebFrameTest, DragDropTest)
5400 {
5401 UseMockScrollbarSettings mockScrollbarSettings;
5402 registerMockedHttpURLLoad("drag-drop.html");
5403
5404 FixedLayoutTestWebViewClient client;
5405 client.m_screenInfo.deviceScaleFactor = 1;
5406 int viewportWidth = 200;
5407 int viewportHeight = 200;
5408
5409 FrameTestHelpers::WebViewHelper webViewHelper;
5410 webViewHelper.initializeAndLoad(m_baseURL + "drag-drop.html", true, 0, &clie nt);
5411 // FIXME: This test breaks if the viewport is enabled before loading the pag e due to the paint
5412 // calls below not working on composited layers. For some reason, enabling t he viewport here
5413 // doesn't cause compositing
5414 webViewHelper.webView()->settings()->setViewportEnabled(true);
5415 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
5416 webViewHelper.webView()->layout();
5417
5418 SkBitmap bitmap;
5419 ASSERT_TRUE(bitmap.allocN32Pixels(80, 80));
5420 SkCanvas canvas(bitmap);
5421 canvas.drawColor(SK_ColorGREEN);
5422
5423 RefPtr<WebCore::LocalFrame> frame = webViewHelper.webViewImpl()->page()->mai nFrame();
5424 WebCore::Element* element = frame->document()->getElementById("drag");
5425 OwnPtr<WebCore::DragImage> dragImage = frame->nodeImage(*element);
5426 EXPECT_TRUE(dragImage);
5427 EXPECT_EQ(80, dragImage->size().width());
5428 EXPECT_EQ(80, dragImage->size().height());
5429 const SkBitmap& dragBitmap = dragImage->bitmap();
5430 ASSERT_EQ(bitmap.bytesPerPixel(), dragBitmap.bytesPerPixel());
5431 SkAutoLockPixels lockPixel(dragBitmap);
5432 ASSERT_TRUE(bitmap.getPixels());
5433 EXPECT_FALSE(dragBitmap.drawsNothing());
5434 EXPECT_EQ(0, memcmp(bitmap.getPixels(), dragBitmap.getPixels(), bitmap.rowBy tes() * 80));
5435 }
5436
5398 } // namespace 5437 } // namespace
OLDNEW
« no previous file with comments | « no previous file | Source/web/tests/data/drag-drop.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698