diff options
-rw-r--r-- | webkit/tools/layout_tests/test_expectations.txt | 92 | ||||
-rw-r--r-- | webkit/tools/test_shell/layout_test_controller.cc | 5 | ||||
-rw-r--r-- | webkit/tools/test_shell/layout_test_controller.h | 10 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell.cc | 20 |
4 files changed, 72 insertions, 55 deletions
diff --git a/webkit/tools/layout_tests/test_expectations.txt b/webkit/tools/layout_tests/test_expectations.txt index 495bd05..686f22f 100644 --- a/webkit/tools/layout_tests/test_expectations.txt +++ b/webkit/tools/layout_tests/test_expectations.txt @@ -941,7 +941,6 @@ BUG32444 LINUX WIN : svg/hixie/text/003.html = FAIL // SVG combined with font metrics. BUG24198 LINUX : svg/hixie/text/001-broken.xml = FAIL -BUG10300 LINUX : svg/text/text-text-08-b.svg = FAIL // SVG masks aren't quite working yet. // Might also be related to https://bugs.webkit.org/show_bug.cgi?id=21910 @@ -989,8 +988,6 @@ BUG10304 LINUX : svg/hixie/perf/005.xml = FAIL BUG10304 LINUX RELEASE : svg/hixie/perf/006.xml = FAIL BUG10304 LINUX DEBUG : svg/hixie/perf/006.xml = FAIL BUG10304 LINUX : svg/hixie/text/003b.xml = FAIL -BUG10304 LINUX : svg/text/text-spacing-01-b.svg = FAIL -BUG10304 LINUX : svg/text/text-text-01-b.svg = FAIL BUG10304 LINUX : svg/W3C-SVG-1.1/fonts-elem-01-t.svg = FAIL BUG10304 LINUX : svg/W3C-SVG-1.1/fonts-elem-02-t.svg = FAIL BUG10304 LINUX : svg/W3C-SVG-1.1/fonts-elem-03-b.svg = FAIL @@ -1780,41 +1777,6 @@ BUG23485 MAC : editing/style/apply-through-end-of-document.html = IMAGE // Extra space at the end of the table cell BUG23484 MAC : editing/pasteboard/5387578.html = IMAGE -// When finding, the reference image has a "found rectangle" and we do not -BUG23481 MAC : editing/selection/4402375.html = IMAGE -BUG23481 MAC : editing/selection/image-before-linebreak.html = IMAGE -BUG23481 MAC : editing/selection/replaced-boundaries-1.html = IMAGE -BUG23481 MAC : editing/selection/replaced-boundaries-2.html = IMAGE -BUG23481 MAC : editing/selection/replaced-boundaries-3.html = IMAGE - -// SVG expected images have what looks like a "found rectangle" around them; variation of above? -BUG23482 MAC : svg/text/text-align-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-align-02-b.svg = IMAGE -BUG23482 MAC : svg/text/text-align-03-b.svg = IMAGE -BUG23482 MAC : svg/text/text-align-04-b.svg = IMAGE -BUG23482 MAC : svg/text/text-align-05-b.svg = IMAGE -BUG23482 MAC : svg/text/text-align-06-b.svg = IMAGE -BUG23482 MAC : svg/text/text-altglyph-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-deco-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-fonts-01-t.svg = IMAGE -BUG23482 MAC : svg/text/text-fonts-02-t.svg = IMAGE -BUG23482 MAC : svg/text/text-intro-05-t.svg = IMAGE -BUG23482 MAC : svg/text/text-path-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-spacing-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-text-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-text-03-b.svg = IMAGE -BUG23482 MAC : svg/text/text-text-04-t.svg = IMAGE -BUG23482 MAC : svg/text/text-text-05-t.svg = IMAGE -BUG23482 MAC : svg/text/text-text-06-t.svg = IMAGE -BUG23482 MAC : svg/text/text-text-08-b.svg = IMAGE -BUG23482 MAC : svg/text/text-tref-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-tselect-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-tselect-02-f.svg = IMAGE -BUG23482 MAC : svg/text/text-tspan-01-b.svg = IMAGE -BUG23482 MAC : svg/text/text-ws-01-t.svg = IMAGE -BUG23482 MAC : svg/text/text-ws-02-t.svg = IMAGE -BUG23482 MAC : svg/text/textPathBoundsBug.svg = IMAGE - // Various drawing tests that are broken BUG23477 MAC : fast/backgrounds/bgCompositeCopy.html = IMAGE BUG23477 MAC : fast/canvas/canvas-as-image-incremental-repaint.html = IMAGE @@ -1937,7 +1899,6 @@ BUG10405 WIN : svg/custom/struct-use-09-b.svg = FAIL // Renders the width of "600" off by 3. Looks OK but could still be a bug // that we shouldn't rebaseline. BUG10417 LINUX : svg/W3C-SVG-1.1/text-fonts-02-t.svg = FAIL -BUG10417 LINUX : svg/text/text-fonts-02-t.svg = FAIL // New test. We should fix it, but it doesn't need to block the current release BUG10418 SLOW MAC RELEASE : fast/events/click-count.html = PASS @@ -1946,7 +1907,6 @@ BUG10418 WIN DEBUG : animations/change-keyframes-name.html = FAIL PASS // TODO(dsh): These started to fail after r9202. BUG10419 LINUX : svg/W3C-SVG-1.1/text-path-01-b.svg = FAIL -BUG10419 LINUX : svg/text/text-path-01-b.svg = FAIL // We could fix this test for us and upstream it if the test shell user agent // would let us differentiate test_shell and WebKit DumpTreeNode. @@ -2302,10 +2262,6 @@ BUG24126 : fast/dom/HTMLInputElement/size-attribute.html = FAIL // Started happening somewhere around http://trac.webkit.org/changeset/48989. BUG23955 LINUX MAC : fast/css/last-of-type-pseudo-class.html = FAIL - -// Fails since WebKit merge 49321:49372 -BUG24331 LINUX : svg/text/text-tselect-02-f.svg = FAIL - // WebKit update: 49190:49206 BUG_JPARENT LINUX DEBUG SLOW : fast/frames/calculate-fixed.html = PASS @@ -2525,9 +2481,6 @@ BUG29167 MAC : fast/dom/replaceChild.html = IMAGE PASS // Failure from WebKit merge 51607:51613 (51608 is the cause) BUG29239 : fast/css/variables/misplaced-import-test.html = FAIL -// Failures from WebKit merge 51618:51642 -BUG29344 MAC LINUX : svg/text/text-text-07-t.svg = FAIL - // Failures from WebKit merge 51642:51681 // Skip these tests since they all timeout and add ~1 minute to cycle time! BUG29393 SKIP DEFER : fast/loader/stateobjects = TIMEOUT @@ -2825,7 +2778,6 @@ BUG33358 : fast/dom/Window/window-postmessage-clone-frames.html = TEXT BUG33486 WIN LINUX : fast/text/international/hebrew-vowels.html = IMAGE+TEXT BUG33486 LINUX : fast/text/international/thai-baht-space.html = IMAGE BUG33486 LINUX : fast/text/international/thai-line-breaks.html = IMAGE -BUG33486 LINUX : svg/text/text-intro-05-t.svg = IMAGE // WebKit roll 54059 -> 54075 BUG33538 : fast/dom/Window/anonymous-slot-with-changes.html = TEXT @@ -2837,7 +2789,6 @@ BUG35064 WIN DEBUG : fast/forms/restore-selection-after-layout.html = TEXT PASS BUG35242 WIN : svg/W3C-SVG-1.1/filters-conv-01-f.svg = TEXT BUG35242 WIN : svg/W3C-SVG-1.1/text-intro-05-t.svg = TEXT BUG35242 WIN : svg/batik/text/textFeatures.svg = TEXT -BUG35242 WIN : svg/text/text-intro-05-t.svg = TEXT BUG35240 MAC : svg/custom/use-clipped-hit.svg = IMAGE // WebKit roll 54493 to 54530: new tests. @@ -2902,10 +2853,6 @@ BUG36019 : fast/borders/svg-as-border-image-2.html = IMAGE BUG36019 : fast/borders/svg-as-border-image.html = IMAGE BUG36019 : fast/images/svg-as-tiled-background.html = IMAGE -// Flaky tests -BUG36603 WIN RELEASE : svg/text/text-text-05-t.svg = CRASH PASS -BUG36603 WIN RELEASE : svg/text/text-text-06-t.svg = CRASH PASS - // WebKit roll 55161 to 55193 BUG36681 : java/argument-to-object-type.html = TEXT BUG36681 : java/array-return.html = TEXT @@ -2923,4 +2870,43 @@ BUG37049 WIN SKIP : websocket/tests/cookies/httponly-cookie.pl = PASS // WebKit roll 55373:55380 BUG37136 : fast/loader/api-test-go-to-current-back-forward-item.html = TIMEOUT +// These will be rebaselined after commit for bug 28646 +BUG28646 : svg/text/foreignObject-text-clipping-bug.xml = FAIL +BUG28646 : svg/text/selection-doubleclick.svg = FAIL +BUG28646 : svg/text/selection-tripleclick.svg = FAIL +BUG23481 : editing/selection/4402375.html = FAIL +BUG23481 : editing/selection/image-before-linebreak.html = FAIL +BUG23481 : editing/selection/replaced-boundaries-1.html = FAIL +BUG23481 : editing/selection/replaced-boundaries-2.html = FAIL +BUG23481 : editing/selection/replaced-boundaries-3.html = FAIL +BUG23482 : svg/text/text-align-01-b.svg = FAIL +BUG23482 : svg/text/text-align-02-b.svg = FAIL +BUG23482 : svg/text/text-align-03-b.svg = FAIL +BUG23482 : svg/text/text-align-04-b.svg = FAIL +BUG23482 : svg/text/text-align-05-b.svg = FAIL +BUG23482 : svg/text/text-align-06-b.svg = FAIL +BUG23482 : svg/text/text-altglyph-01-b.svg = FAIL +BUG23482 : svg/text/text-deco-01-b.svg = FAIL +BUG23482 : svg/text/text-fonts-01-t.svg = FAIL +BUG23482 : svg/text/text-fonts-02-t.svg = FAIL +BUG23482 : svg/text/text-intro-05-t.svg = FAIL +BUG23482 : svg/text/text-path-01-b.svg = FAIL +BUG23482 : svg/text/text-spacing-01-b.svg = FAIL +BUG23482 : svg/text/text-text-01-b.svg = FAIL +BUG23482 : svg/text/text-text-03-b.svg = FAIL +BUG23482 : svg/text/text-text-04-t.svg = FAIL +// Also flaky (crashes) on WIN RELESE. See BUG36603 +BUG23482 : svg/text/text-text-05-t.svg = FAIL CRASH +// Also flaky (crashes) on WIN RELESE. See BUG36603 +BUG23482 : svg/text/text-text-06-t.svg = FAIL CRASH +BUG23482 : svg/text/text-text-08-b.svg = FAIL +BUG23482 : svg/text/text-tref-01-b.svg = FAIL +BUG23482 : svg/text/text-tselect-01-b.svg = FAIL +BUG23482 : svg/text/text-tselect-02-f.svg = FAIL +BUG23482 : svg/text/text-tspan-01-b.svg = FAIL +BUG23482 : svg/text/text-ws-01-t.svg = FAIL +BUG23482 : svg/text/text-ws-02-t.svg = FAIL +BUG23482 : svg/text/textPathBoundsBug.svg = FAIL +BUG29344 : svg/text/text-text-07-t.svg = FAIL + BUG37248 LINUX : svg/W3C-SVG-1.1/filters-displace-01-f.svg = IMAGE+TEXT PASS TEXT
\ No newline at end of file diff --git a/webkit/tools/test_shell/layout_test_controller.cc b/webkit/tools/test_shell/layout_test_controller.cc index f06de24..337da70 100644 --- a/webkit/tools/test_shell/layout_test_controller.cc +++ b/webkit/tools/test_shell/layout_test_controller.cc @@ -52,6 +52,7 @@ bool LayoutTestController::dump_child_frame_scroll_positions_ = false; bool LayoutTestController::dump_child_frames_as_text_ = false; bool LayoutTestController::dump_window_status_changes_ = false; bool LayoutTestController::dump_title_changes_ = false; +bool LayoutTestController::dump_selection_rect_ = false; bool LayoutTestController::accepts_editing_ = true; bool LayoutTestController::wait_until_done_ = false; bool LayoutTestController::can_open_windows_ = false; @@ -130,11 +131,11 @@ LayoutTestController::LayoutTestController(TestShell* shell) : BindMethod("addUserScript", &LayoutTestController::addUserScript); BindMethod("pageNumberForElementById", &LayoutTestController::pageNumberForElementById); BindMethod("numberOfPages", &LayoutTestController::numberOfPages); + BindMethod("dumpSelectionRect", &LayoutTestController::dumpSelectionRect); // The following are stubs. BindMethod("dumpAsWebArchive", &LayoutTestController::dumpAsWebArchive); BindMethod("setMainFrameIsFirstResponder", &LayoutTestController::setMainFrameIsFirstResponder); - BindMethod("dumpSelectionRect", &LayoutTestController::dumpSelectionRect); BindMethod("display", &LayoutTestController::display); BindMethod("testRepaint", &LayoutTestController::testRepaint); BindMethod("repaintSweepHorizontally", &LayoutTestController::repaintSweepHorizontally); @@ -462,6 +463,7 @@ void LayoutTestController::Reset() { dump_child_frame_scroll_positions_ = false; dump_child_frames_as_text_ = false; dump_window_status_changes_ = false; + dump_selection_rect_ = false; dump_title_changes_ = false; accepts_editing_ = true; wait_until_done_ = false; @@ -805,6 +807,7 @@ void LayoutTestController::setMainFrameIsFirstResponder( void LayoutTestController::dumpSelectionRect( const CppArgumentList& args, CppVariant* result) { + dump_selection_rect_ = true; result->SetNull(); } diff --git a/webkit/tools/test_shell/layout_test_controller.h b/webkit/tools/test_shell/layout_test_controller.h index 50d7c91..6bf09bd 100644 --- a/webkit/tools/test_shell/layout_test_controller.h +++ b/webkit/tools/test_shell/layout_test_controller.h @@ -176,13 +176,14 @@ class LayoutTestController : public CppBoundClass { void setIconDatabaseEnabled(const CppArgumentList& args, CppVariant* result); + void dumpSelectionRect(const CppArgumentList& args, CppVariant* result); + // The following are only stubs. TODO(pamg): Implement any of these that // are needed to pass the layout tests. void dumpAsWebArchive(const CppArgumentList& args, CppVariant* result); void dumpTitleChanges(const CppArgumentList& args, CppVariant* result); void dumpResourceLoadCallbacks(const CppArgumentList& args, CppVariant* result); void setMainFrameIsFirstResponder(const CppArgumentList& args, CppVariant* result); - void dumpSelectionRect(const CppArgumentList& args, CppVariant* result); void display(const CppArgumentList& args, CppVariant* result); void testRepaint(const CppArgumentList& args, CppVariant* result); void repaintSweepHorizontally(const CppArgumentList& args, CppVariant* result); @@ -261,6 +262,9 @@ class LayoutTestController : public CppBoundClass { bool ShouldDumpStatusCallbacks() { return dump_window_status_changes_; } + bool ShouldDumpSelectionRect() { + return dump_selection_rect_; + } bool ShouldDumpBackForwardList() { return dump_back_forward_list_; } bool ShouldDumpTitleChanges() { return dump_title_changes_; } bool ShouldDumpChildFrameScrollPositions() { @@ -351,6 +355,10 @@ class LayoutTestController : public CppBoundClass { // command. static bool dump_editing_callbacks_; + // If true, the test_shell will draw the bounds of the current selection rect + // taking possible transforms of the selection rect into account. + static bool dump_selection_rect_; + // If true, the test_shell will output a descriptive line for each frame // load callback. static bool dump_frame_load_callbacks_; diff --git a/webkit/tools/test_shell/test_shell.cc b/webkit/tools/test_shell/test_shell.cc index 043fe94..b4fcac8 100644 --- a/webkit/tools/test_shell/test_shell.cc +++ b/webkit/tools/test_shell/test_shell.cc @@ -284,6 +284,26 @@ void TestShell::Dump(TestShell* shell) { } else { view_host->Paint(); } + + // See if we need to draw the selection bounds rect. Selection bounds + // rect is the rect enclosing the (possibly transformed) selection. + // The rect should be drawn after everything is laid out and painted. + if (shell->layout_test_controller_->ShouldDumpSelectionRect()) { + // If there is a selection rect - draw a red 1px border enclosing rect + WebRect wr = frame->selectionBoundsRect(); + if (!wr.isEmpty()) { + // Render a red rectangle bounding selection rect + SkPaint paint; + paint.setColor(0xFFFF0000); // Fully opaque red + paint.setStyle(SkPaint::kStroke_Style); + paint.setFlags(SkPaint::kAntiAlias_Flag); + paint.setStrokeWidth(1.0f); + SkIRect rect; // Bounding rect + rect.set(wr.x, wr.y, wr.x + wr.width, wr.y + wr.height); + view_host->canvas()->drawIRect(rect, paint); + } + } + std::string md5sum = DumpImage(view_host->canvas(), params->pixel_file_name, params->pixel_hash); printf("#MD5:%s\n", md5sum.c_str()); |