[webkit-changes] [122659] trunk/Tools
Title: [122659] trunk/Tools Revision 122659 Author dpra...@chromium.org Date 2012-07-13 20:45:48 -0700 (Fri, 13 Jul 2012) Log Message run-webkit-test outputs the wrong number of tests executed when some are skipped. https://bugs.webkit.org/show_bug.cgi?id=89894 Reviewed by Ojan Vafai. Fix the logging of the actual number of tests run so that tests that are skipped aren't included. Also revamp the 'expected' output so we distinguish the number of tests found from the number of tests run (to account for --repeat-each and --iterations). Covered by existing tests. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.prepare_lists_and_print_output): (Manager._log_num_workers): (Manager.run): (Manager._print_result_summary): * Scripts/webkitpy/layout_tests/models/result_summary.py: (ResultSummary.__init__): (ResultSummary.add): * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_one_line_summary): * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_one_line_summary): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py trunk/Tools/Scripts/webkitpy/layout_tests/models/result_summary.py trunk/Tools/Scripts/webkitpy/layout_tests/views/printing.py trunk/Tools/Scripts/webkitpy/layout_tests/views/printing_unittest.py Diff Modified: trunk/Tools/ChangeLog (122658 => 122659) --- trunk/Tools/ChangeLog 2012-07-14 03:05:06 UTC (rev 122658) +++ trunk/Tools/ChangeLog 2012-07-14 03:45:48 UTC (rev 122659) @@ -1,5 +1,34 @@ 2012-07-13 Dirk Pranke +run-webkit-test outputs the wrong number of tests executed when some are skipped. +https://bugs.webkit.org/show_bug.cgi?id=89894 + +Reviewed by Ojan Vafai. + +Fix the logging of the actual number of tests run so that tests +that are skipped aren't included. + +Also revamp the 'expected' output so we distinguish the number +of tests found from the number of tests run (to account for +--repeat-each and --iterations). + +Covered by existing tests. + +* Scripts/webkitpy/layout_tests/controllers/manager.py: +(Manager.prepare_lists_and_print_output): +(Manager._log_num_workers): +(Manager.run): +(Manager._print_result_summary): +* Scripts/webkitpy/layout_tests/models/result_summary.py: +(ResultSummary.__init__): +(ResultSummary.add): +* Scripts/webkitpy/layout_tests/views/printing.py: +(Printer.print_one_line_summary): +* Scripts/webkitpy/layout_tests/views/printing_unittest.py: +(Testprinter.test_print_one_line_summary): + +2012-07-13 Dirk Pranke + nrwt: actually print the exception name and message for otherwise unhandled exceptions https://bugs.webkit.org/show_bug.cgi?id=91305 Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (122658 => 122659) --- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py 2012-07-14 03:05:06 UTC (rev 122658) +++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py 2012-07-14 03:45:48 UTC (rev 122659) @@ -480,20 +480,13 @@ # now make sure we're explicitly running any tests passed on the command line. self._test_files.update(found_test_files.intersection(self._paths)) -if not num_all_test_files: +num_to_run = len(self._test_files) +num_skipped = num_all_test_files - num_to_run + +if not num_to_run: _log.critical('No tests to run.') return None -num_skipped = num_all_test_files - len(self._test_files) -if num_skipped: -self._printer.print_expected("Running %s (found %d, skipping %d)." % ( -grammar.pluralize('test', num_all_test_files - num_skipped), -num_all_test_files, num_skipped)) -elif len(self._test_files) > 1: -self._printer.print_expected("Running all %d tests." % len(self._test_files)) -else: -self._printer.print_expected("Running 1 test.") - # Create a sorted list of test files so the subset chunk, # if used, contains alphabetically consecutive tests. self._test_files_list = list(self._test_files) @@ -518,6 +511,8 @@ (self._options.repeat_each if self._options.repeat_each else 1) * \ (self._options.iterations if self._options.iterations else 1) result_summary = ResultSummary(self._expectations, self._test_files | skipped, iterations) + +self._printer.print_expected('Found %s.' % grammar.pluralize('test', num_all_test_files)) self._print_expected_results_of_type(result_summary, test_expectations.PASS, "passes") self._print_expected_results_of_type(result_summary, test_expectations.FAIL, "failures") self._print_expected_results_of_type(result_summary, test_expectations.FLAKY, "flaky") @@ -530,17 +525,16 @@
[webkit-changes] [122657] trunk/Tools
Title: [122657] trunk/Tools Revision 122657 Author dpra...@chromium.org Date 2012-07-13 19:09:44 -0700 (Fri, 13 Jul 2012) Log Message nrwt: actually print the exception name and message for otherwise unhandled exceptions https://bugs.webkit.org/show_bug.cgi?id=91305 Reviewed by Adam Barth. Two more places where I was printing the stack trace but not the exception itself :(. These two spots can't easily be unit-tested, but I tested them by hand. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (run): (main): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py Diff Modified: trunk/Tools/ChangeLog (122656 => 122657) --- trunk/Tools/ChangeLog 2012-07-14 02:07:48 UTC (rev 122656) +++ trunk/Tools/ChangeLog 2012-07-14 02:09:44 UTC (rev 122657) @@ -1,3 +1,18 @@ +2012-07-13 Dirk Pranke + +nrwt: actually print the exception name and message for otherwise unhandled exceptions +https://bugs.webkit.org/show_bug.cgi?id=91305 + +Reviewed by Adam Barth. + +Two more places where I was printing the stack trace but not the +exception itself :(. These two spots can't easily be +unit-tested, but I tested them by hand. + +* Scripts/webkitpy/layout_tests/run_webkit_tests.py: +(run): +(main): + 2012-07-13 Josh Hawn Fix for WebContext::getWebCoreStatistics() causes crash if no m_process Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (122656 => 122657) --- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2012-07-14 02:07:48 UTC (rev 122656) +++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2012-07-14 02:09:44 UTC (rev 122657) @@ -132,6 +132,7 @@ except Exception: exception_type, exception_value, exception_traceback = sys.exc_info() if exception_type not in (KeyboardInterrupt, TestRunInterruptedException, WorkerException): +print >> sys.stderr, '\n%s raised: %s' % (exception_type.__name__, exception_value) stack_utils.log_traceback(_log.error, exception_traceback) raise finally: @@ -470,7 +471,8 @@ # FIXME: is this the best way to handle unsupported port names? print >> sys.stderr, str(e) return EXCEPTIONAL_EXIT_STATUS -except: +except Exception, e: +print >> sys.stderr, '\n%s raised: %s' % (e.__class__.__name__, str(e)) traceback.print_exc(file=sys.stderr) raise ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122656] trunk
Title: [122656] trunk Revision 122656 Author tk...@chromium.org Date 2012-07-13 19:07:48 -0700 (Fri, 13 Jul 2012) Log Message Internals: Clean up the mock PagePopupDriver correctly. https://bugs.webkit.org/show_bug.cgi?id=91250 Source/WebCore: Unreviewed, a trivial testing code fix. * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::reset): Resetting PaePopupDriver here instead of Backup::restoreTo. Also, close the mock popup before resetting PagePopupDriver by clearing m_pagePopupDriver. * testing/MockPagePopupDriver.cpp: (WebCore::MockPagePopupDriver::~MockPagePopupDriver): Close the popup. LayoutTests: * platform/chromium/TestExpectations: Remove CRASH expectation for date-apparance.html. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/testing/InternalSettings.cpp trunk/Source/WebCore/testing/MockPagePopupDriver.cpp Diff Modified: trunk/LayoutTests/ChangeLog (122655 => 122656) --- trunk/LayoutTests/ChangeLog 2012-07-14 02:03:21 UTC (rev 122655) +++ trunk/LayoutTests/ChangeLog 2012-07-14 02:07:48 UTC (rev 122656) @@ -1,3 +1,10 @@ +2012-07-13 Kent Tamura + +Internals: Clean up the mock PagePopupDriver correctly. +https://bugs.webkit.org/show_bug.cgi?id=91250 + +* platform/chromium/TestExpectations: Remove CRASH expectation for date-apparance.html. + 2012-07-13 Kiran Muppala REGRESSION: RenderInline boundingBox ignores relative position offset Modified: trunk/LayoutTests/platform/chromium/TestExpectations (122655 => 122656) --- trunk/LayoutTests/platform/chromium/TestExpectations 2012-07-14 02:03:21 UTC (rev 122655) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2012-07-14 02:07:48 UTC (rev 122656) @@ -3741,9 +3741,6 @@ BUGWK90980 LINUX MAC DEBUG : fast/forms/textarea/textarea-state-restore.html = PASS TIMEOUT BUGWK90980 WIN : fast/forms/textarea/textarea-state-restore.html = PASS TIMEOUT -// Started crashing after 122558 -BUGWK91250 DEBUG : fast/forms/date/date-appearance.html = CRASH - // Started crashing after 122286 BUGWK91133 WIN : storage/indexeddb/constants.html = PASS CRASH Modified: trunk/Source/WebCore/ChangeLog (122655 => 122656) --- trunk/Source/WebCore/ChangeLog 2012-07-14 02:03:21 UTC (rev 122655) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 02:07:48 UTC (rev 122656) @@ -1,3 +1,19 @@ +2012-07-13 Kent Tamura + +Internals: Clean up the mock PagePopupDriver correctly. +https://bugs.webkit.org/show_bug.cgi?id=91250 + +Unreviewed, a trivial testing code fix. + +* testing/InternalSettings.cpp: +(WebCore::InternalSettings::Backup::restoreTo): +(WebCore::InternalSettings::reset): +Resetting PaePopupDriver here instead of Backup::restoreTo. +Also, close the mock popup before resetting PagePopupDriver by clearing m_pagePopupDriver. +* testing/MockPagePopupDriver.cpp: +(WebCore::MockPagePopupDriver::~MockPagePopupDriver): +Close the popup. + 2012-07-13 Tony Payne Remove Widget from screenColorProfile Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (122655 => 122656) --- trunk/Source/WebCore/testing/InternalSettings.cpp 2012-07-14 02:03:21 UTC (rev 122655) +++ trunk/Source/WebCore/testing/InternalSettings.cpp 2012-07-14 02:07:48 UTC (rev 122656) @@ -124,11 +124,6 @@ #if ENABLE(DIALOG_ELEMENT) RuntimeEnabledFeatures::setDialogElementEnabled(m_originalDialogElementEnabled); #endif - -#if ENABLE(PAGE_POPUP) -if (page->chrome()) -page->chrome()->client()->resetPagePopupDriver(); -#endif } InternalSettings* InternalSettings::from(Page* page) @@ -155,6 +150,11 @@ setUserPreferredLanguages(Vector()); page()->setPagination(Page::Pagination()); page()->setPageScaleFactor(1, IntPoint(0, 0)); +#if ENABLE(PAGE_POPUP) +m_pagePopupDriver.clear(); +if (page()->chrome()) +page()->chrome()->client()->resetPagePopupDriver(); +#endif m_backup.restoreTo(page(), settings()); m_backup = Backup(page(), settings()); Modified: trunk/Source/WebCore/testing/MockPagePopupDriver.cpp (122655 => 122656) --- trunk/Source/WebCore/testing/MockPagePopupDriver.cpp 2012-07-14 02:03:21 UTC (rev 122655) +++ trunk/Source/WebCore/testing/MockPagePopupDriver.cpp 2012-07-14 02:07:48 UTC (rev 122656) @@ -101,6 +101,7 @@ MockPagePopupDriver::~MockPagePopupDriver() { +closePagePopup(m_mockPagePopup.get()); } PagePopup* MockPagePopupDriver::openPagePopup(PagePopupClient* client, const IntRect& originBoundsInRootView) ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122655] trunk/Source
Title: [122655] trunk/Source Revision 122655 Author commit-qu...@webkit.org Date 2012-07-13 19:03:21 -0700 (Fri, 13 Jul 2012) Log Message Remove Widget from screenColorProfile https://bugs.webkit.org/show_bug.cgi?id=91300 Patch by Tony Payne on 2012-07-13 Reviewed by Adam Barth. Source/Platform: * chromium/public/Platform.h: (Platform): Updated comment to reflect that we no longer have a type param. Source/WebCore: Chromium, the only platform implementing screenColorProfile, does not need the Widget, so removing for simplicity. Covered by existing tests. * platform/PlatformScreen.h: (WebCore): Updated comment to remove reference to type param that no longer exists and removed Widget param. * platform/blackberry/PlatformScreenBlackBerry.cpp: (WebCore::screenColorProfile): Removed widget param. * platform/chromium/PlatformScreenChromium.cpp: (WebCore::screenColorProfile): Removed widget param. * platform/efl/PlatformScreenEfl.cpp: (WebCore::screenColorProfile): Removed widget param. * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenColorProfile): Removed widget param. * platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::qcmsOutputDeviceProfile): removed param to match screenColorProfile()'s new spec. * platform/mac/PlatformScreenMac.mm: (WebCore::screenColorProfile): Removed widget param. * platform/qt/PlatformScreenQt.cpp: (WebCore::screenColorProfile): Removed widget param. * platform/win/PlatformScreenWin.cpp: (WebCore::screenColorProfile): Removed widget param. Modified Paths trunk/Source/Platform/ChangeLog trunk/Source/Platform/chromium/public/Platform.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/PlatformScreen.h trunk/Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp trunk/Source/WebCore/platform/chromium/PlatformScreenChromium.cpp trunk/Source/WebCore/platform/efl/PlatformScreenEfl.cpp trunk/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp trunk/Source/WebCore/platform/image-decoders/ImageDecoder.h trunk/Source/WebCore/platform/mac/PlatformScreenMac.mm trunk/Source/WebCore/platform/qt/PlatformScreenQt.cpp trunk/Source/WebCore/platform/win/PlatformScreenWin.cpp Diff Modified: trunk/Source/Platform/ChangeLog (122654 => 122655) --- trunk/Source/Platform/ChangeLog 2012-07-14 01:49:13 UTC (rev 122654) +++ trunk/Source/Platform/ChangeLog 2012-07-14 02:03:21 UTC (rev 122655) @@ -1,3 +1,13 @@ +2012-07-13 Tony Payne + +Remove Widget from screenColorProfile +https://bugs.webkit.org/show_bug.cgi?id=91300 + +Reviewed by Adam Barth. + +* chromium/public/Platform.h: +(Platform): Updated comment to reflect that we no longer have a type param. + 2012-07-11 Alexandre Elias [chromium] Move compositor quads to Platform/chromium/public Modified: trunk/Source/Platform/chromium/public/Platform.h (122654 => 122655) --- trunk/Source/Platform/chromium/public/Platform.h 2012-07-14 01:49:13 UTC (rev 122654) +++ trunk/Source/Platform/chromium/public/Platform.h 2012-07-14 02:03:21 UTC (rev 122655) @@ -242,7 +242,7 @@ // Screen - -// Supplies the system monitor color profile ("monitor") or a named ICC profile. +// Supplies the system monitor color profile. virtual void screenColorProfile(WebVector* profile) { } Modified: trunk/Source/WebCore/ChangeLog (122654 => 122655) --- trunk/Source/WebCore/ChangeLog 2012-07-14 01:49:13 UTC (rev 122654) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 02:03:21 UTC (rev 122655) @@ -1,3 +1,36 @@ +2012-07-13 Tony Payne + +Remove Widget from screenColorProfile +https://bugs.webkit.org/show_bug.cgi?id=91300 + +Reviewed by Adam Barth. + +Chromium, the only platform implementing screenColorProfile, does not +need the Widget, so removing for simplicity. + +Covered by existing tests. + +* platform/PlatformScreen.h: +(WebCore): Updated comment to remove reference to type param that no +longer exists and removed Widget param. +* platform/blackberry/PlatformScreenBlackBerry.cpp: +(WebCore::screenColorProfile): Removed widget param. +* platform/chromium/PlatformScreenChromium.cpp: +(WebCore::screenColorProfile): Removed widget param. +* platform/efl/PlatformScreenEfl.cpp: +(WebCore::screenColorProfile): Removed widget param. +* platform/gtk/PlatformScreenGtk.cpp: +(WebCore::screenColorProfile): Removed widget param. +* platform/image-decoders/ImageDecoder.h: +(WebCore::ImageDecoder::qcmsOutputDeviceProfile): removed param to +match screenColorProfile()'s new spec. +* platform/mac/PlatformScreenMac.mm: +(WebCore::screenColorProfile): Removed widget param. +* platform/qt/PlatformScreenQt.cpp: +(WebCore::screenColorProfile): Removed widget param. +* platform/win/PlatformScreenWin.cpp: +
[webkit-changes] [122654] trunk/Source
Title: [122654] trunk/Source Revision 122654 Author commit-qu...@webkit.org Date 2012-07-13 18:49:13 -0700 (Fri, 13 Jul 2012) Log Message Source/WebCore: [chromium] Add flushes to CCTextureUpdater::update https://bugs.webkit.org/show_bug.cgi?id=89035 Patch by Brian Anderson on 2012-07-13 Reviewed by Adrienne Walker. Automatic flushes are being removed from the command buffer, so this moves the flushes into the CCTextureUpdater itself. CCTextureUpdaterTest added to verify texture upload/flushing patterns. * platform/graphics/chromium/cc/CCGraphicsContext.h: (WebCore::CCGraphicsContext::flush): (CCGraphicsContext): * platform/graphics/chromium/cc/CCTextureUpdater.cpp: (WebCore): (WebCore::CCTextureUpdater::update): Manual flushes added here. Source/WebKit/chromium: Add flushes to CCTextureUpdater::update https://bugs.webkit.org/show_bug.cgi?id=89035 Patch by Brian Anderson on 2012-07-13 Reviewed by Adrienne Walker. CCTextureUpdaterTest added to verify texture upload/flushing patterns. * WebKit.gypi: * tests/CCTextureUpdaterTest.cpp: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/WebKit.gypi Added Paths trunk/Source/WebKit/chromium/tests/CCTextureUpdaterTest.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (122653 => 122654) --- trunk/Source/WebCore/ChangeLog 2012-07-14 01:08:07 UTC (rev 122653) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 01:49:13 UTC (rev 122654) @@ -1,3 +1,22 @@ +2012-07-13 Brian Anderson + +[chromium] Add flushes to CCTextureUpdater::update +https://bugs.webkit.org/show_bug.cgi?id=89035 + +Reviewed by Adrienne Walker. + +Automatic flushes are being removed from the command buffer, so +this moves the flushes into the CCTextureUpdater itself. + +CCTextureUpdaterTest added to verify texture upload/flushing patterns. + +* platform/graphics/chromium/cc/CCGraphicsContext.h: +(WebCore::CCGraphicsContext::flush): +(CCGraphicsContext): +* platform/graphics/chromium/cc/CCTextureUpdater.cpp: +(WebCore): +(WebCore::CCTextureUpdater::update): Manual flushes added here. + 2012-07-13 Kiran Muppala REGRESSION: RenderInline boundingBox ignores relative position offset Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h (122653 => 122654) --- trunk/Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h 2012-07-14 01:08:07 UTC (rev 122653) +++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h 2012-07-14 01:49:13 UTC (rev 122654) @@ -48,6 +48,12 @@ WebKit::WebGraphicsContext3D* context3D() { return m_context3D.get(); } +void flush() +{ +if (m_context3D) +m_context3D->flush(); +} + private: CCGraphicsContext() { } explicit CCGraphicsContext(PassOwnPtr context3D) Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp (122653 => 122654) --- trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp 2012-07-14 01:08:07 UTC (rev 122653) +++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp 2012-07-14 01:49:13 UTC (rev 122654) @@ -39,6 +39,8 @@ namespace WebCore { +static const int kUploadFlushPeriod = 4; + CCTextureUpdater::CCTextureUpdater() : m_entryIndex(0) { @@ -93,12 +95,20 @@ uploader->beginUploads(); +int fullUploadCount = 0; size_t maxIndex = min(m_entryIndex + count, m_fullEntries.size()); for (index = m_entryIndex; index < maxIndex; ++index) { UpdateEntry& entry = m_fullEntries[index]; uploader->uploadTexture(context, entry.texture, allocator, entry.sourceRect, entry.destRect); +fullUploadCount++; +if (!(fullUploadCount % kUploadFlushPeriod)) +context->flush(); } +// Make sure there are no dangling uploads without a flush. +if (fullUploadCount % kUploadFlushPeriod) +context->flush(); + bool moreUploads = maxIndex < m_fullEntries.size(); ASSERT(m_partialEntries.size() <= count); @@ -116,8 +126,16 @@ for (index = 0; index < m_partialEntries.size(); ++index) { UpdateEntry& entry = m_partialEntries[index]; uploader->uploadTexture(context, entry.texture, allocator, entry.sourceRect, entry.destRect); +if (!((index+1) % kUploadFlushPeriod)) +context->flush(); } +// Make sure there are no dangling partial uploads without a flush. +// Note: We don't need to use (index+1) in this case because index was +// incremented at the end of the for loop. +if (index % kUploadFlushPeriod) +context->flu
[webkit-changes] [122653] trunk
Title: [122653] trunk Revision 122653 Author commit-qu...@webkit.org Date 2012-07-13 18:08:07 -0700 (Fri, 13 Jul 2012) Log Message REGRESSION: RenderInline boundingBox ignores relative position offset https://bugs.webkit.org/show_bug.cgi?id=91168 Patch by Kiran Muppala on 2012-07-13 Reviewed by Simon Fraser. Source/WebCore: RenderGeometryMap, used for caching the transform to the view, expects the first mapping pushed, to be that of the view itself. RenderInline was instead pushing it's own offset first. Besides the offset of the view itself was not being pushed. Relaxed the RenderGeometryMap restriction that the first pushed step should be of the view. It is sufficient that the view's mapping is pushed in the first call to pushMappingsToAncestor. Modified RenderInline to push the offset of the view also to the geometry map. Test: fast/inline/inline-relative-offset-boundingbox.html * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor): Add assertion to check if mapping to view was pushed in first invocation. (WebCore::RenderGeometryMap::pushView): Correct assertion that checks if the view's mapping is the first one to be applied. (WebCore::RenderGeometryMap::stepInserted): Use isRenderView to check if a mapping step belongs to a view instead of using mapping size. (WebCore::RenderGeometryMap::stepRemoved): Ditto. * rendering/RenderInline.cpp: (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext): Push mappings all the way up to and including the view. LayoutTests: Add a regression test for boundingBox of an inline element with relative position offsets. * fast/inline/inline-relative-offset-boundingbox-expected.txt: Added. * fast/inline/inline-relative-offset-boundingbox.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderGeometryMap.cpp trunk/Source/WebCore/rendering/RenderInline.cpp Added Paths trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox-expected.txt trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox.html Diff Modified: trunk/LayoutTests/ChangeLog (122652 => 122653) --- trunk/LayoutTests/ChangeLog 2012-07-14 01:03:14 UTC (rev 122652) +++ trunk/LayoutTests/ChangeLog 2012-07-14 01:08:07 UTC (rev 122653) @@ -1,3 +1,15 @@ +2012-07-13 Kiran Muppala + +REGRESSION: RenderInline boundingBox ignores relative position offset +https://bugs.webkit.org/show_bug.cgi?id=91168 + +Reviewed by Simon Fraser. + +Add a regression test for boundingBox of an inline element with relative position offsets. + +* fast/inline/inline-relative-offset-boundingbox-expected.txt: Added. +* fast/inline/inline-relative-offset-boundingbox.html: Added. + 2012-07-13 Xianzhu Wang [Chromium] Sometimes bottom of text is truncated when page has a fractional scale Added: trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox-expected.txt (0 => 122653) --- trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox-expected.txt (rev 0) +++ trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox-expected.txt 2012-07-14 01:08:07 UTC (rev 122653) @@ -0,0 +1,10 @@ +Bug 91168: REGRESSION: RenderInline boundingBox ignores relative position offset + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS successfullyParsed is true + +TEST COMPLETE +PASS inlineRect.left is parentRect.left + inlineLeftOffset + Added: trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox.html (0 => 122653) --- trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox.html (rev 0) +++ trunk/LayoutTests/fast/inline/inline-relative-offset-boundingbox.html 2012-07-14 01:08:07 UTC (rev 122653) @@ -0,0 +1,24 @@ + + + +description(': REGRESSION: RenderInline boundingBox ignores relative position offset'); + +function runTest() +{ +inline = document.getElementById("inlineElement"); +inlineRect = inline.getBoundingClientRect(); +inlineLeftOffset = parseInt(inline.style.left); +parent = inline.parentNode; +parentRect = parent.getBoundingClientRect(); +shouldBe("inlineRect.left", "parentRect.left + inlineLeftOffset"); +} + +window._onload_ = runTest; + + + + +
[webkit-changes] [122651] trunk
Title: [122651] trunk Revision 122651 Author wangxian...@chromium.org Date 2012-07-13 17:52:56 -0700 (Fri, 13 Jul 2012) Log Message [Chromium] Sometimes bottom of text is truncated when page has a fractional scale https://bugs.webkit.org/show_bug.cgi?id=88684 Reviewed by Tony Chang. Source/WebCore: When the page has a fractional scale, the ascent and descent part of the fonts might be fractional. If the descent part is rounded down, the bottom of the text might be truncated when displayed when subpixel text positioning is enabled. To avoid that, borrow one unit from the ascent when possible. Test: fast/text/descent-clip-in-scaled-page.html * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: (WebCore::FontPlatformData::setupPaint): Moved NoPreference handling into querySystemForRenderStyle so that fontRenderStyle() can have actual styles without NoPreference. (WebCore::FontPlatformData::querySystemForRenderStyle): Added NoPreference handling (moved from setupPaint) * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: (FontPlatformData): (WebCore::FontPlatformData::fontRenderStyle): Added to let SimpleFontDataSkia access the font render styles. * platform/graphics/skia/SimpleFontDataSkia.cpp: (WebCore::SimpleFontData::platformInit): LayoutTests: New test case. * fast/text/descent-clip-in-scaled-page-expected.html: Added. * fast/text/descent-clip-in-scaled-page.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp trunk/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h trunk/Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp Added Paths trunk/LayoutTests/fast/text/descent-clip-in-scaled-page-expected.html trunk/LayoutTests/fast/text/descent-clip-in-scaled-page.html Diff Modified: trunk/LayoutTests/ChangeLog (122650 => 122651) --- trunk/LayoutTests/ChangeLog 2012-07-14 00:44:47 UTC (rev 122650) +++ trunk/LayoutTests/ChangeLog 2012-07-14 00:52:56 UTC (rev 122651) @@ -1,3 +1,15 @@ +2012-07-13 Xianzhu Wang + +[Chromium] Sometimes bottom of text is truncated when page has a fractional scale +https://bugs.webkit.org/show_bug.cgi?id=88684 + +Reviewed by Tony Chang. + +New test case. + +* fast/text/descent-clip-in-scaled-page-expected.html: Added. +* fast/text/descent-clip-in-scaled-page.html: Added. + 2012-07-13 Filip Pizlo ASSERTION FAILED: use.useKind() != DoubleUse Added: trunk/LayoutTests/fast/text/descent-clip-in-scaled-page-expected.html (0 => 122651) --- trunk/LayoutTests/fast/text/descent-clip-in-scaled-page-expected.html (rev 0) +++ trunk/LayoutTests/fast/text/descent-clip-in-scaled-page-expected.html 2012-07-14 00:52:56 UTC (rev 122651) @@ -0,0 +1,24 @@ + + + + +div { +font-family: ahem; +font-size: 16px; +} + + +if (window.layoutTestController && window.layoutTestController.setTextSubpixelPositioning) +window.layoutTestController.setTextSubpixelPositioning(true); +if (window.internals) +window.internals.settings.setPageScaleFactor(1.7, 0, 0); + + + +Tests if the bottom of the text is truncated when the page is scaled by a fractional factor. +If success, the text in the "overflow: hidden" div (the test case) should be displayed +the same as in a normal div (the ref html). +'p' is the character in ahem font with only the descent part. + + + Added: trunk/LayoutTests/fast/text/descent-clip-in-scaled-page.html (0 => 122651) --- trunk/LayoutTests/fast/text/descent-clip-in-scaled-page.html (rev 0) +++ trunk/LayoutTests/fast/text/descent-clip-in-scaled-page.html 2012-07-14 00:52:56 UTC (rev 122651) @@ -0,0 +1,25 @@ + + + + +div { +font-family: ahem; +font-size: 16px; +overflow: hidden; /* the only difference between the test the the ref html */ +} + + +if (window.layoutTestController && window.layoutTestController.setTextSubpixelPositioning) +window.layoutTestController.setTextSubpixelPositioning(true); +if (window.internals) +window.internals.settings.setPageScaleFactor(1.7, 0, 0); + + + +Tests if the bottom of the text is truncated when the page is scaled by a fractional factor. +If success, the text in the "overflow: hidden" div (the test case) should be displayed +the same as in a normal div (the ref html). +'p' is the character in ahem font with only the descent part. + + + Modified: trunk/Source/WebCore/ChangeLog (122650 => 122651) --- trunk/Source/WebCore/ChangeLog 2012-07-14 00:44:47 UTC (rev 122650) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 00:52:56 UTC (rev 122651) @@ -1,3 +1,26 @@ +2012-07-13 Xianzhu Wang + +[Chromium] Sometimes bottom of text is truncated when page has a fractional scale +https://bugs.webkit.org/show_bug.cgi?id=8
[webkit-changes] [122649] trunk/Source/WebCore
Title: [122649] trunk/Source/WebCore Revision 122649 Author rn...@webkit.org Date 2012-07-13 17:44:02 -0700 (Fri, 13 Jul 2012) Log Message Remove an assertion after r122637. * dom/DynamicNodeList.h: (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/DynamicNodeList.h Diff Modified: trunk/Source/WebCore/ChangeLog (122648 => 122649) --- trunk/Source/WebCore/ChangeLog 2012-07-14 00:33:28 UTC (rev 122648) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 00:44:02 UTC (rev 122649) @@ -1,3 +1,10 @@ +2012-07-13 Ryosuke Niwa + +Remove an assertion after r122637. + +* dom/DynamicNodeList.h: +(WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): + 2012-07-13 Pierre Rossi [Qt] Improve the mobile theme slightly Modified: trunk/Source/WebCore/dom/DynamicNodeList.h (122648 => 122649) --- trunk/Source/WebCore/dom/DynamicNodeList.h 2012-07-14 00:33:28 UTC (rev 122648) +++ trunk/Source/WebCore/dom/DynamicNodeList.h 2012-07-14 00:44:02 UTC (rev 122649) @@ -122,7 +122,6 @@ return attrName == HTMLNames::itemscopeAttr || attrName == HTMLNames::itempropAttr || attrName == HTMLNames::itemtypeAttr; #endif // Intentionally fall through case DoNotInvalidateOnAttributeChanges: -ASSERT_NOT_REACHED(); return false; case InvalidateOnAnyAttrChange: return true; ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122648] trunk
Title: [122648] trunk Revision 122648 Author commit-qu...@webkit.org Date 2012-07-13 17:33:28 -0700 (Fri, 13 Jul 2012) Log Message Fix for WebContext::getWebCoreStatistics() causes crash if no m_process https://bugs.webkit.org/show_bug.cgi?id=91116 .: Patch by Josh Hawn on 2012-07-12 Reviewed by Simon Fraser. * Source/WebKit2/UIProcess/WebContext.cpp: WebContext::getWebCoreStatistics(): Now invalidates callback if no m_process. Tools: Patch by Josh Hawn on 2012-07-13 Reviewed by Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new test file. * TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Added. (TestWebKitAPI::wkContextGetStatisticsCallback): Tests that callback function receives an error. (TestWebKitAPI::TEST): Creates a dummy web context object (no web process). Calls WKContextGetStatistics with the web context and test callback. The test callback should get an expected error. Modified Paths trunk/ChangeLog trunk/Source/WebKit2/UIProcess/WebContext.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp Diff Modified: trunk/ChangeLog (122647 => 122648) --- trunk/ChangeLog 2012-07-14 00:15:43 UTC (rev 122647) +++ trunk/ChangeLog 2012-07-14 00:33:28 UTC (rev 122648) @@ -1,3 +1,14 @@ +2012-07-12 Josh Hawn + +Fix for WebContext::getWebCoreStatistics() causes crash if no m_process +https://bugs.webkit.org/show_bug.cgi?id=91116 + +Reviewed by Simon Fraser. + +* Source/WebKit2/UIProcess/WebContext.cpp: + WebContext::getWebCoreStatistics(): +Now invalidates callback if no m_process. + 2012-07-13 Thiago Marcos P. Santos [CMake] Proper handling of ENABLE_API_TESTS build option Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (122647 => 122648) --- trunk/Source/WebKit2/UIProcess/WebContext.cpp 2012-07-14 00:15:43 UTC (rev 122647) +++ trunk/Source/WebKit2/UIProcess/WebContext.cpp 2012-07-14 00:33:28 UTC (rev 122648) @@ -969,9 +969,12 @@ #endif } -void WebContext::getWebCoreStatistics(PassRefPtr prpCallback) +void WebContext::getWebCoreStatistics(PassRefPtr callback) { -RefPtr callback = prpCallback; +if (!m_process) { +callback->invalidate(); +return; +} uint64_t callbackID = callback->callbackID(); m_dictionaryCallbacks.set(callbackID, callback.get()); Modified: trunk/Tools/ChangeLog (122647 => 122648) --- trunk/Tools/ChangeLog 2012-07-14 00:15:43 UTC (rev 122647) +++ trunk/Tools/ChangeLog 2012-07-14 00:33:28 UTC (rev 122648) @@ -1,3 +1,20 @@ +2012-07-13 Josh Hawn + +Fix for WebContext::getWebCoreStatistics() causes crash if no m_process +https://bugs.webkit.org/show_bug.cgi?id=91116 + +Reviewed by Simon Fraser. + +* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: +Added new test file. +* TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Added. +(TestWebKitAPI::wkContextGetStatisticsCallback): +Tests that callback function receives an error. +(TestWebKitAPI::TEST): +Creates a dummy web context object (no web process). +Calls WKContextGetStatistics with the web context and test callback. +The test callback should get an expected error. + 2012-07-13 Dirk Pranke test-webkitpy: move printing-related code out of the runner Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (122647 => 122648) --- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2012-07-14 00:15:43 UTC (rev 122647) +++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2012-07-14 00:33:28 UTC (rev 122648) @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 0BCD833514857CE400EA2003 /* HashMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BCD833414857CE400EA2003 /* HashMap.cpp */; }; 0BCD856A1485C98B00EA2003 /* TemporaryChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BCD85691485C98B00EA2003 /* TemporaryChange.cpp */; }; + 0F17BBD615AF6C4D007AB753 /* WebCoreStatisticsWithNoWebProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F17BBD415AF6C4D007AB753 /* WebCoreStatisticsWithNoWebProcess.cpp */; }; 0FC6C4CC141027E0005B7F0C /* RedBlackTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC6C4CB141027E0005B7F0C /* RedBlackTree.cpp */; }; 0FC6C4CF141034AD005B7F0C /* MetaAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC6C4CE141034AD005B7F0C /* MetaAllocator.cpp */; }; 1A02C84F125D4A8400E3F4BD /* Find.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A02C84E125D4A8400E3F4BD /* Find.cpp */; }; @@ -229,6 +230,7 @@ /* Begin PBXFileReference section */ 0BCD833414857CE400EA2003 /* HashMap.cpp */ = {isa = PBXFileReference; fileEnc
[webkit-changes] [122647] trunk/Source/WebCore
Title: [122647] trunk/Source/WebCore Revision 122647 Author pierre.ro...@gmail.com Date 2012-07-13 17:15:43 -0700 (Fri, 13 Jul 2012) Log Message [Qt] Improve the mobile theme slightly https://bugs.webkit.org/show_bug.cgi?id=90806 Reviewed by Kenneth Rohde Christiansen. Improve drawing of the mobile theme's controls' background. Ensure the focus ring never appears with the mobile theme, since it looks bad in combination with the highlights. No new tests. The painting code from the mobile theme is still not covered specifically (it will when we revive pixel tests). * platform/qt/RenderThemeQtMobile.cpp: (WebCore): (WebCore::addPointToOctants): Added. This is simply a helper to avoid doing too much duplicate work in drawControlBackground. (WebCore::drawControlBackground): Rely on the octant logic added above and take the opportunity to increase the granularity. (WebCore::borderPen): (WebCore::StylePainterMobile::findLineEdit): (WebCore::RenderThemeQtMobile::adjustTextFieldStyle): * platform/qt/RenderThemeQtMobile.h: (RenderThemeQtMobile): (WebCore::RenderThemeQtMobile::supportsFocusRing): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp trunk/Source/WebCore/platform/qt/RenderThemeQtMobile.h Diff Modified: trunk/Source/WebCore/ChangeLog (122646 => 122647) --- trunk/Source/WebCore/ChangeLog 2012-07-13 23:55:18 UTC (rev 122646) +++ trunk/Source/WebCore/ChangeLog 2012-07-14 00:15:43 UTC (rev 122647) @@ -1,3 +1,31 @@ +2012-07-13 Pierre Rossi + +[Qt] Improve the mobile theme slightly +https://bugs.webkit.org/show_bug.cgi?id=90806 + +Reviewed by Kenneth Rohde Christiansen. + +Improve drawing of the mobile theme's controls' background. + +Ensure the focus ring never appears with the mobile theme, since it +looks bad in combination with the highlights. + +No new tests. The painting code from the mobile theme is still +not covered specifically (it will when we revive pixel tests). + +* platform/qt/RenderThemeQtMobile.cpp: +(WebCore): +(WebCore::addPointToOctants): Added. This is simply a helper to avoid +doing too much duplicate work in drawControlBackground. +(WebCore::drawControlBackground): Rely on the octant logic added above +and take the opportunity to increase the granularity. +(WebCore::borderPen): +(WebCore::StylePainterMobile::findLineEdit): +(WebCore::RenderThemeQtMobile::adjustTextFieldStyle): +* platform/qt/RenderThemeQtMobile.h: +(RenderThemeQtMobile): +(WebCore::RenderThemeQtMobile::supportsFocusRing): + 2012-07-13 Julien Chaffraix Remove an always-failing table-wrapping check in RenderObject::addChild Modified: trunk/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp (122646 => 122647) --- trunk/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp 2012-07-13 23:55:18 UTC (rev 122646) +++ trunk/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp 2012-07-14 00:15:43 UTC (rev 122647) @@ -66,7 +66,7 @@ static const float buttonPaddingTop = 2; static const float buttonPaddingBottom = 3; static const float menuListPadding = 9; -static const float textFieldPadding = 5; +static const float textFieldPadding = 10; static const float radiusFactor = 0.36; static const float progressBarChunkPercentage = 0.2; #if ENABLE(PROGRESS_TAG) @@ -108,6 +108,44 @@ return hash; } +/* + * The octants' indices are identified below, for each point (x,y) + * in the first octant, we can populate the 7 others with the corresponding + * point. + * + * index | xpos | ypos + *xd--- + * 4 |<--->| 30 | xd + x |y + * __ 1 | xd + y |x + */ \ 2 | xd + y | -x + * 5 | .(c) | 2 3 | xd + x | -y + * 6 || 1 4 | -xd - x | -y + *\__/ 5 | -xd - y | -x + * 6 | -xd - y |x + * 7 07 | -xd - x |y + * + **/ + +static void addPointToOctants(QVector& octants, const QPointF& center, qreal x, qreal y , int xDelta = 0) +{ +ASSERT(octants.count() == 8); + +for (short i = 0; i < 8; ++i) { +QPainterPath& octant = octants[i]; +QPointF pos(center); +// The Gray code corresponding to the octant's index helps doing the math in a more generic way. +const short gray = (i >> 1) ^ i; +const qreal xOffset = xDelta + ((gray & 1) ? y : x); +pos.ry() += ((gray & 2)? -1 : 1) * ((gray & 1) ? x : y); +pos.rx() += (i < 4) ? xOffset : -xOffset; + +if (octant.elementCount()) +octant.lineTo(pos);
[webkit-changes] [122646] trunk
Title: [122646] trunk Revision 122646 Author fpi...@apple.com Date 2012-07-13 16:55:18 -0700 (Fri, 13 Jul 2012) Log Message ASSERTION FAILED: use.useKind() != DoubleUse https://bugs.webkit.org/show_bug.cgi?id=91082 Reviewed by Geoffrey Garen. Source/_javascript_Core: The implementation of Branch() was unwisely relying on register allocation state to decide what speculations to perform. That's never correct. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): LayoutTests: * fast/js/dfg-mispredict-variable-but-prove-int-expected.txt: Added. * fast/js/dfg-mispredict-variable-but-prove-int.html: Added. * fast/js/script-tests/dfg-mispredict-variable-but-prove-int.js: Added. (foo): Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp Added Paths trunk/LayoutTests/fast/js/dfg-mispredict-variable-but-prove-int-expected.txt trunk/LayoutTests/fast/js/dfg-mispredict-variable-but-prove-int.html trunk/LayoutTests/fast/js/script-tests/dfg-mispredict-variable-but-prove-int.js Diff Modified: trunk/LayoutTests/ChangeLog (122645 => 122646) --- trunk/LayoutTests/ChangeLog 2012-07-13 23:39:13 UTC (rev 122645) +++ trunk/LayoutTests/ChangeLog 2012-07-13 23:55:18 UTC (rev 122646) @@ -1,3 +1,15 @@ +2012-07-13 Filip Pizlo + +ASSERTION FAILED: use.useKind() != DoubleUse +https://bugs.webkit.org/show_bug.cgi?id=91082 + +Reviewed by Geoffrey Garen. + +* fast/js/dfg-mispredict-variable-but-prove-int-expected.txt: Added. +* fast/js/dfg-mispredict-variable-but-prove-int.html: Added. +* fast/js/script-tests/dfg-mispredict-variable-but-prove-int.js: Added. +(foo): + 2012-07-13 Sudarsana Nagineni [EFL] Unskip fast/css/font-face-download-error.html Added: trunk/LayoutTests/fast/js/dfg-mispredict-variable-but-prove-int-expected.txt (0 => 122646) --- trunk/LayoutTests/fast/js/dfg-mispredict-variable-but-prove-int-expected.txt (rev 0) +++ trunk/LayoutTests/fast/js/dfg-mispredict-variable-but-prove-int-expected.txt 2012-07-13 23:55:18 UTC (rev 122646) @@ -0,0 +1,210 @@ +Tests that a variable predicted to be either int or double but proven to be an int does confuse the Branch logic. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS foo(0, 1, 0) is 0.5 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS foo(i, i + 1, i + 2) is 1 +PASS
[webkit-changes] [122645] trunk/Tools
Title: [122645] trunk/Tools Revision 122645 Author dpra...@chromium.org Date 2012-07-13 16:39:13 -0700 (Fri, 13 Jul 2012) Log Message test-webkitpy: move printing-related code out of the runner https://bugs.webkit.org/show_bug.cgi?id=91289 Reviewed by Ryosuke Niwa. More refactoring ... this moves all printing-related stuff out of runner.py and into printer.py. No functional changes; covered by existing tests. * Scripts/webkitpy/test/main.py: (Tester._run_tests): * Scripts/webkitpy/test/printer.py: (Printer.__init__): (Printer): (Printer.test_name): (Printer.print_started_test): (Printer.print_finished_test): (Printer.print_result): * Scripts/webkitpy/test/runner.py: (Runner.__init__): (Runner.all_test_names): (Runner.run): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_regular): (RunnerTest.test_verbose): (RunnerTest.test_timing): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/test/main.py trunk/Tools/Scripts/webkitpy/test/printer.py trunk/Tools/Scripts/webkitpy/test/runner.py trunk/Tools/Scripts/webkitpy/test/runner_unittest.py Diff Modified: trunk/Tools/ChangeLog (122644 => 122645) --- trunk/Tools/ChangeLog 2012-07-13 23:36:34 UTC (rev 122644) +++ trunk/Tools/ChangeLog 2012-07-13 23:39:13 UTC (rev 122645) @@ -1,5 +1,35 @@ 2012-07-13 Dirk Pranke +test-webkitpy: move printing-related code out of the runner +https://bugs.webkit.org/show_bug.cgi?id=91289 + +Reviewed by Ryosuke Niwa. + +More refactoring ... this moves all printing-related stuff out +of runner.py and into printer.py. + +No functional changes; covered by existing tests. + +* Scripts/webkitpy/test/main.py: +(Tester._run_tests): +* Scripts/webkitpy/test/printer.py: +(Printer.__init__): +(Printer): +(Printer.test_name): +(Printer.print_started_test): +(Printer.print_finished_test): +(Printer.print_result): +* Scripts/webkitpy/test/runner.py: +(Runner.__init__): +(Runner.all_test_names): +(Runner.run): +* Scripts/webkitpy/test/runner_unittest.py: +(RunnerTest.test_regular): +(RunnerTest.test_verbose): +(RunnerTest.test_timing): + +2012-07-13 Dirk Pranke + webkitpy: split printing/logging code for test-webkitpy out into a new class https://bugs.webkit.org/show_bug.cgi?id=91282 Modified: trunk/Tools/Scripts/webkitpy/test/main.py (122644 => 122645) --- trunk/Tools/Scripts/webkitpy/test/main.py 2012-07-13 23:36:34 UTC (rev 122644) +++ trunk/Tools/Scripts/webkitpy/test/main.py 2012-07-13 23:39:13 UTC (rev 122645) @@ -114,7 +114,7 @@ suites.append(loader.loadTestsFromName(name, None)) test_suite = unittest.TestSuite(suites) -test_runner = Runner(self.printer.stream, self._options, loader) +test_runner = Runner(self.printer, self._options, loader) _log.debug("Running the tests.") result = test_runner.run(test_suite) Modified: trunk/Tools/Scripts/webkitpy/test/printer.py (122644 => 122645) --- trunk/Tools/Scripts/webkitpy/test/printer.py 2012-07-13 23:36:34 UTC (rev 122644) +++ trunk/Tools/Scripts/webkitpy/test/printer.py 2012-07-13 23:39:13 UTC (rev 122645) @@ -22,6 +22,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import logging +import re import StringIO from webkitpy.common.system import outputcapture @@ -33,7 +34,12 @@ def __init__(self, stream, options=None): self.stream = stream self.options = options +self.test_description = re.compile("(\w+) \(([\w.]+)\)") +def test_name(self, test): +m = self.test_description.match(str(test)) +return "%s.%s" % (m.group(2), m.group(1)) + def configure(self, options): self.options = options @@ -92,7 +98,61 @@ if self.options.pass_through: outputcapture.OutputCapture.stream_wrapper = _CaptureAndPassThroughStream +def print_started_test(self, test_name): +if self.options.verbose: +self.stream.write(test_name) +def print_finished_test(self, result, test_name, test_time, failure, err): +timing = '' +if self.options.timing: +timing = ' %.4fs' % test_time +if self.options.verbose: +if failure: +msg = ' failed' +elif err: +msg = ' erred' +else: +msg = ' passed' +self.stream.write(msg + timing + '\n') +else: +if failure: +msg = 'F' +elif err: +msg = 'E' +else: +msg = '.' +self.stream.write(msg) + +def print_result(self, result, run_time): +self.stream.write('\n') + +for (test, err) in result.errors: +self.stream.write("=" * 80 + '\n') +self.stream.write("ERROR: "
[webkit-changes] [122643] trunk/Tools
Title: [122643] trunk/Tools Revision 122643 Author dpra...@chromium.org Date 2012-07-13 16:36:29 -0700 (Fri, 13 Jul 2012) Log Message webkitpy: split printing/logging code for test-webkitpy out into a new class https://bugs.webkit.org/show_bug.cgi?id=91282 Reviewed by Ojan Vafai. This patch is the first step at splitting all of the printing/logging code out separately from the actual test-running code. This is just moving stuff around; no new functionality and no new tests needed. * Scripts/webkitpy/test/finder_unittest.py: (FinderTest.setUp): * Scripts/webkitpy/test/main.py: (Tester.__init__): (Tester._parse_args): (Tester.run): (Tester._run_tests): (Tester._log_exception): * Scripts/webkitpy/test/main_unittest.py: (TesterTest.test_no_tests_found): * Scripts/webkitpy/test/printer.py: Added. (Printer): (Printer.__init__): (Printer.configure): (Printer.configure.filter): (_CaptureAndPassThroughStream): (_CaptureAndPassThroughStream.__init__): (_CaptureAndPassThroughStream.write): (_CaptureAndPassThroughStream._message_is_from_pdb): (_CaptureAndPassThroughStream.flush): (_CaptureAndPassThroughStream.getvalue): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/test/finder_unittest.py trunk/Tools/Scripts/webkitpy/test/main.py trunk/Tools/Scripts/webkitpy/test/main_unittest.py Added Paths trunk/Tools/Scripts/webkitpy/test/printer.py Diff Modified: trunk/Tools/ChangeLog (122642 => 122643) --- trunk/Tools/ChangeLog 2012-07-13 23:34:00 UTC (rev 122642) +++ trunk/Tools/ChangeLog 2012-07-13 23:36:29 UTC (rev 122643) @@ -1,3 +1,39 @@ +2012-07-13 Dirk Pranke + +webkitpy: split printing/logging code for test-webkitpy out into a new class +https://bugs.webkit.org/show_bug.cgi?id=91282 + +Reviewed by Ojan Vafai. + +This patch is the first step at splitting all of the +printing/logging code out separately from the actual +test-running code. + +This is just moving stuff around; no new functionality and no +new tests needed. + +* Scripts/webkitpy/test/finder_unittest.py: +(FinderTest.setUp): +* Scripts/webkitpy/test/main.py: +(Tester.__init__): +(Tester._parse_args): +(Tester.run): +(Tester._run_tests): +(Tester._log_exception): +* Scripts/webkitpy/test/main_unittest.py: +(TesterTest.test_no_tests_found): +* Scripts/webkitpy/test/printer.py: Added. +(Printer): +(Printer.__init__): +(Printer.configure): +(Printer.configure.filter): +(_CaptureAndPassThroughStream): +(_CaptureAndPassThroughStream.__init__): +(_CaptureAndPassThroughStream.write): +(_CaptureAndPassThroughStream._message_is_from_pdb): +(_CaptureAndPassThroughStream.flush): +(_CaptureAndPassThroughStream.getvalue): + 2012-07-13 James Simonsen [Navigation Timing] Imported W3C tests contain duplicates and are DOS formatted Modified: trunk/Tools/Scripts/webkitpy/test/finder_unittest.py (122642 => 122643) --- trunk/Tools/Scripts/webkitpy/test/finder_unittest.py 2012-07-13 23:34:00 UTC (rev 122642) +++ trunk/Tools/Scripts/webkitpy/test/finder_unittest.py 2012-07-13 23:36:29 UTC (rev 122643) @@ -49,7 +49,7 @@ self.root_logger = logging.getLogger() self.log_handler = None for h in self.root_logger.handlers: -if getattr(h, 'name', None) == 'webkitpy.test.main': +if getattr(h, 'name', None) == 'webkitpy.test.printer': self.log_handler = h break if self.log_handler: Modified: trunk/Tools/Scripts/webkitpy/test/main.py (122642 => 122643) --- trunk/Tools/Scripts/webkitpy/test/main.py 2012-07-13 23:34:00 UTC (rev 122642) +++ trunk/Tools/Scripts/webkitpy/test/main.py 2012-07-13 23:36:29 UTC (rev 122643) @@ -25,15 +25,14 @@ import logging import optparse -import os import StringIO import sys import traceback import unittest from webkitpy.common.system.filesystem import FileSystem -from webkitpy.common.system import outputcapture from webkitpy.test.finder import Finder +from webkitpy.test.printer import Printer from webkitpy.test.runner import Runner _log = logging.getLogger(__name__) @@ -42,7 +41,8 @@ class Tester(object): def __init__(self, filesystem=None): self.finder = Finder(filesystem or FileSystem()) -self.stream = sys.stderr +self.printer = Printer(sys.stderr) +self._options = None def add_tree(self, top_directory, starting_subdirectory=None): self.finder.add_tree(top_directory, starting_subdirectory) @@ -50,13 +50,13 @@ def _parse_args(self): parser = optparse.OptionParser(usage='usage: %prog [options] [args...]') parser.add_option('-a', '--all', action='', default=False, - help='run all the tests'), + help='run all the tests') parser.ad
[webkit-changes] [122644] trunk/Source/JavaScriptCore
Title: [122644] trunk/Source/_javascript_Core Revision 122644 Author commit-qu...@webkit.org Date 2012-07-13 16:36:34 -0700 (Fri, 13 Jul 2012) Log Message Unreviewed, rolling out r122640. http://trac.webkit.org/changeset/122640 https://bugs.webkit.org/show_bug.cgi?id=91298 LLInt apparently does not expect to mark these (Requested by olliej on #webkit). Patch by Sheriff Bot on 2012-07-13 * bytecode/CodeBlock.cpp: (JSC::CodeBlock::visitStructures): (JSC::CodeBlock::stronglyVisitStrongReferences): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (122643 => 122644) --- trunk/Source/_javascript_Core/ChangeLog 2012-07-13 23:36:29 UTC (rev 122643) +++ trunk/Source/_javascript_Core/ChangeLog 2012-07-13 23:36:34 UTC (rev 122644) @@ -1,3 +1,16 @@ +2012-07-13 Sheriff Bot + +Unreviewed, rolling out r122640. +http://trac.webkit.org/changeset/122640 +https://bugs.webkit.org/show_bug.cgi?id=91298 + +LLInt apparently does not expect to mark these (Requested by +olliej on #webkit). + +* bytecode/CodeBlock.cpp: +(JSC::CodeBlock::visitStructures): +(JSC::CodeBlock::stronglyVisitStrongReferences): + 2012-07-13 Oliver Hunt LLInt fails to mark structures stored in the bytecode Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (122643 => 122644) --- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-07-13 23:36:29 UTC (rev 122643) +++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-07-13 23:36:34 UTC (rev 122644) @@ -1840,11 +1840,11 @@ { Interpreter* interpreter = m_globalData->interpreter; -if ((vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_out_of_line)) && vPC[4].u.structure) { +if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id) && vPC[4].u.structure) { visitor.append(&vPC[4].u.structure); return; } - + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_custom_self)) { visitor.append(&vPC[4].u.structure); return; @@ -1860,16 +1860,6 @@ visitor.append(&vPC[5].u.structureChain); return; } -#if ENABLE(LLINT) -if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_direct) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_direct_out_of_line) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_normal) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_normal_out_of_line)) { -visitor.append(&vPC[4].u.structure); -visitor.append(&vPC[6].u.structure); -if (vPC[7].u.structureChain) -visitor.append(&vPC[7].u.structureChain); -return; -} -#endif - if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition)) { visitor.append(&vPC[4].u.structure); visitor.append(&vPC[5].u.structure); @@ -1877,7 +1867,7 @@ visitor.append(&vPC[6].u.structureChain); return; } -if ((vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_out_of_line)) && vPC[4].u.structure) { +if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id) && vPC[4].u.structure) { visitor.append(&vPC[4].u.structure); return; } @@ -2248,14 +2238,6 @@ visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]); } #endif -#if ENABLE(LLINT) -if (!m_globalData->interpreter->classicEnabled() && !!numberOfInstructions() && getJITType() < JITCode::bottomTierJIT()) { -for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i) -visitStructures(visitor, &instructions()[m_propertyAccessInstructions[i]]); -for (size_t size = m_globalResolveInstructions.size(), i = 0; i < size; ++i) -visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]); -} -#endif updateAllPredictions(Collection); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122642] trunk/Source/WebCore
Title: [122642] trunk/Source/WebCore Revision 122642 Author jchaffr...@webkit.org Date 2012-07-13 16:34:00 -0700 (Fri, 13 Jul 2012) Log Message Remove an always-failing table-wrapping check in RenderObject::addChild https://bugs.webkit.org/show_bug.cgi?id=91286 Reviewed by Eric Seidel. Due to the structure of the code, this test is always failing (newChild->isTableCell() is true to get in the branch). The changeset adding the code didn't add testing so I poundered adding the mentioned test, which is passing. However the test would need to be blindly changed to be included in our test harness. I would also expect this code to be exercised by other table tests anyway. * rendering/RenderObject.cpp: (WebCore::RenderObject::addChild): Removed never-reached branch. While at it, removed a 'what' comment in the same file. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderObject.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (122641 => 122642) --- trunk/Source/WebCore/ChangeLog 2012-07-13 23:23:40 UTC (rev 122641) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 23:34:00 UTC (rev 122642) @@ -1,3 +1,21 @@ +2012-07-13 Julien Chaffraix + +Remove an always-failing table-wrapping check in RenderObject::addChild +https://bugs.webkit.org/show_bug.cgi?id=91286 + +Reviewed by Eric Seidel. + +Due to the structure of the code, this test is always failing (newChild->isTableCell() +is true to get in the branch). + +The changeset adding the code didn't add testing so I poundered adding the mentioned test, +which is passing. However the test would need to be blindly changed to be included in our +test harness. I would also expect this code to be exercised by other table tests anyway. + +* rendering/RenderObject.cpp: +(WebCore::RenderObject::addChild): +Removed never-reached branch. While at it, removed a 'what' comment in the same file. + 2012-07-13 Emil A Eklund Use LayoutBoxExtent for image outsets Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (122641 => 122642) --- trunk/Source/WebCore/rendering/RenderObject.cpp 2012-07-13 23:23:40 UTC (rev 122641) +++ trunk/Source/WebCore/rendering/RenderObject.cpp 2012-07-13 23:34:00 UTC (rev 122642) @@ -282,15 +282,8 @@ needsTable = !isTable(); else if (newChild->isTableRow()) needsTable = !isTableSection(); -else if (newChild->isTableCell()) { +else if (newChild->isTableCell()) needsTable = !isTableRow(); -// I'm not 100% sure this is the best way to fix this, but without this -// change we recurse infinitely when trying to render the CSS2 test page: -// http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/htmlbodyheadrendering2.html. -// See Radar 2925291. -if (needsTable && isTableCell() && !children->firstChild() && !newChild->isTableCell()) -needsTable = false; -} if (needsTable) { RenderTable* table; @@ -302,10 +295,8 @@ addChild(table, beforeChild); } table->addChild(newChild); -} else { -// Just add it... +} else children->insertChildNode(this, newChild, beforeChild); -} if (newChild->isText() && newChild->style()->textTransform() == CAPITALIZE) toRenderText(newChild)->transformText(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122641] trunk/Source/WebCore
Title: [122641] trunk/Source/WebCore Revision 122641 Author e...@chromium.org Date 2012-07-13 16:23:40 -0700 (Fri, 13 Jul 2012) Log Message Use LayoutBoxExtent for image outsets https://bugs.webkit.org/show_bug.cgi?id=91166 Reviewed by Tony Chang. Change RenderStyle and calling code to use LayoutBoxExtent for image outsets and remove text direction and writing mode versions of the outline getters from RenderStyle as LayoutBoxExtent provides the same functionality. No new tests, no change in functionality. * platform/graphics/FractionalLayoutBoxExtent.h: * platform/graphics/FractionalLayoutBoxExtent.cpp: (WebCore::FractionalLayoutBoxExtent::logicalTop): (WebCore::FractionalLayoutBoxExtent::logicalBottom): Add logicalTop and logicalBottom methods to go with the existing logicalLeft and logicalRight ones. * platform/graphics/FractionalLayoutRect.h: (WebCore::FractionalLayoutRect::expand): Add FractionalLayoutBoxExtent version of expand method. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow): Change implementation to use the new FractionalLayoutBoxExtent version of borderImageOutsets and the logicalTop/Bottom/Left/Right methods. (WebCore::clipRectForNinePieceImageStrip): Change implementation to use the new FractionalLayoutBoxExtent version of borderImageOutsets. * rendering/RenderBox.cpp: (WebCore::RenderBox::maskClipRect): Change implementation to use the new FractionalLayoutBoxExtent version of borderImageOutsets and the new FractionalLayoutRect::expand method. (WebCore::RenderBox::addVisualEffectOverflow): Change implementation to use the new FractionalLayoutBoxExtent version of borderImageOutsets. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintNinePieceImage): Change implementation to use the new FractionalLayoutBoxExtent version of borderImageOutsets and the new FractionalLayoutRect::expand method. * rendering/style/RenderStyle.h: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::imageOutsets): Change getImageOutsets to return a FractionalLayoutBoxExtent object and rename to imageOutsets to match the webkit naming convention for getters. Remove getBorderImageHorizontalOutsets, getBorderImageVerticalOutsets, getBorderImageInlineDirectionOutsets, getImageHorizontalOutsets, getImageVerticalOutsets and getBorderImageBlockDirectionOutsets methods as the same functionality is provided by FractionalLayoutBoxExtent. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/FractionalLayoutBoxExtent.cpp trunk/Source/WebCore/platform/graphics/FractionalLayoutBoxExtent.h trunk/Source/WebCore/platform/graphics/FractionalLayoutRect.h trunk/Source/WebCore/rendering/InlineFlowBox.cpp trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/rendering/style/RenderStyle.h Diff Modified: trunk/Source/WebCore/ChangeLog (122640 => 122641) --- trunk/Source/WebCore/ChangeLog 2012-07-13 23:12:14 UTC (rev 122640) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 23:23:40 UTC (rev 122641) @@ -1,3 +1,62 @@ +2012-07-13 Emil A Eklund + +Use LayoutBoxExtent for image outsets +https://bugs.webkit.org/show_bug.cgi?id=91166 + +Reviewed by Tony Chang. + +Change RenderStyle and calling code to use LayoutBoxExtent for image +outsets and remove text direction and writing mode versions of the +outline getters from RenderStyle as LayoutBoxExtent provides the same +functionality. + +No new tests, no change in functionality. + +* platform/graphics/FractionalLayoutBoxExtent.h: +* platform/graphics/FractionalLayoutBoxExtent.cpp: +(WebCore::FractionalLayoutBoxExtent::logicalTop): +(WebCore::FractionalLayoutBoxExtent::logicalBottom): +Add logicalTop and logicalBottom methods to go with the existing +logicalLeft and logicalRight ones. + +* platform/graphics/FractionalLayoutRect.h: +(WebCore::FractionalLayoutRect::expand): +Add FractionalLayoutBoxExtent version of expand method. + +* rendering/InlineFlowBox.cpp: +(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow): +Change implementation to use the new FractionalLayoutBoxExtent version of +borderImageOutsets and the logicalTop/Bottom/Left/Right methods. + +(WebCore::clipRectForNinePieceImageStrip): +Change implementation to use the new FractionalLayoutBoxExtent version of +borderImageOutsets. + +* rendering/RenderBox.cpp: +(WebCore::RenderBox::maskClipRect): +Change implementation to use the new FractionalLayoutBoxExtent version of +borderImageOutsets and the new FractionalLayoutRect::expand method. + +(WebCore::RenderBox::addVisualEffectOverflow): +Change implementation to use the new Fractio
[webkit-changes] [122640] trunk/Source/JavaScriptCore
Title: [122640] trunk/Source/_javascript_Core Revision 122640 Author oli...@apple.com Date 2012-07-13 16:12:14 -0700 (Fri, 13 Jul 2012) Log Message LLInt fails to mark structures stored in the bytecode https://bugs.webkit.org/show_bug.cgi?id=91296 Reviewed by Geoffrey Garen. LLInt stores structures in the bytecode, so we need to visit the appropriate instructions as we would if we were running in the classic interpreter. This requires adding additional checks for the LLInt specific opcodes, and the lint specific variants of operand ordering. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::visitStructures): (JSC::CodeBlock::stronglyVisitStrongReferences): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (122639 => 122640) --- trunk/Source/_javascript_Core/ChangeLog 2012-07-13 22:57:16 UTC (rev 122639) +++ trunk/Source/_javascript_Core/ChangeLog 2012-07-13 23:12:14 UTC (rev 122640) @@ -1,3 +1,19 @@ +2012-07-13 Oliver Hunt + +LLInt fails to mark structures stored in the bytecode +https://bugs.webkit.org/show_bug.cgi?id=91296 + +Reviewed by Geoffrey Garen. + +LLInt stores structures in the bytecode, so we need to visit the appropriate +instructions as we would if we were running in the classic interpreter. +This requires adding additional checks for the LLInt specific opcodes, and +the lint specific variants of operand ordering. + +* bytecode/CodeBlock.cpp: +(JSC::CodeBlock::visitStructures): +(JSC::CodeBlock::stronglyVisitStrongReferences): + 2012-07-13 Yong Li [BlackBerry] Implement GCActivityCallback with platform timer Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (122639 => 122640) --- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-07-13 22:57:16 UTC (rev 122639) +++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-07-13 23:12:14 UTC (rev 122640) @@ -1840,11 +1840,11 @@ { Interpreter* interpreter = m_globalData->interpreter; -if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id) && vPC[4].u.structure) { +if ((vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_out_of_line)) && vPC[4].u.structure) { visitor.append(&vPC[4].u.structure); return; } - + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_custom_self)) { visitor.append(&vPC[4].u.structure); return; @@ -1860,6 +1860,16 @@ visitor.append(&vPC[5].u.structureChain); return; } +#if ENABLE(LLINT) +if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_direct) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_direct_out_of_line) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_normal) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition_normal_out_of_line)) { +visitor.append(&vPC[4].u.structure); +visitor.append(&vPC[6].u.structure); +if (vPC[7].u.structureChain) +visitor.append(&vPC[7].u.structureChain); +return; +} +#endif + if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_transition)) { visitor.append(&vPC[4].u.structure); visitor.append(&vPC[5].u.structure); @@ -1867,7 +1877,7 @@ visitor.append(&vPC[6].u.structureChain); return; } -if (vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id) && vPC[4].u.structure) { +if ((vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id) || vPC[0].u.opcode == interpreter->getOpcode(op_put_by_id_out_of_line)) && vPC[4].u.structure) { visitor.append(&vPC[4].u.structure); return; } @@ -2238,6 +2248,14 @@ visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]); } #endif +#if ENABLE(LLINT) +if (!m_globalData->interpreter->classicEnabled() && !!numberOfInstructions() && getJITType() < JITCode::bottomTierJIT()) { +for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i) +visitStructures(visitor, &instructions()[m_propertyAccessInstructions[i]]); +for (size_t size = m_globalResolveInstructions.size(), i = 0; i < size; ++i) +visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]); +} +#endif updateAllPredictions(Collection); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122639] trunk/Source/WebCore
Title: [122639] trunk/Source/WebCore Revision 122639 Author hy...@apple.com Date 2012-07-13 15:57:16 -0700 (Fri, 13 Jul 2012) Log Message https://bugs.webkit.org/show_bug.cgi?id=91278 Improve block margin estimation function to account for not having a layout and for quirks mode Reviewed by Simon Fraser. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::marginBeforeEstimateForChild): Revise marginBeforeEstimateForChild so that it computes block margins for the grandchild before recurring. This includes the quirks margin information as well. This ensures that the margins are up-to-date when checked, even before the object has had its first layout. * rendering/RenderBlock.h: (WebCore::RenderBlock::setMarginStartForChild): (WebCore::RenderBlock::setMarginEndForChild): (WebCore::RenderBlock::setMarginBeforeForChild): (WebCore::RenderBlock::setMarginAfterForChild): * rendering/RenderBox.cpp: (WebCore::RenderBox::computeBlockDirectionMargins): * rendering/RenderBox.h: (RenderBox): Add consts in order to compile. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp trunk/Source/WebCore/rendering/RenderBlock.h trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (122638 => 122639) --- trunk/Source/WebCore/ChangeLog 2012-07-13 22:46:41 UTC (rev 122638) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 22:57:16 UTC (rev 122639) @@ -1,3 +1,27 @@ +2012-07-13 David Hyatt + +https://bugs.webkit.org/show_bug.cgi?id=91278 +Improve block margin estimation function to account for not having a layout and for quirks mode + +Reviewed by Simon Fraser. + +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::marginBeforeEstimateForChild): +Revise marginBeforeEstimateForChild so that it computes block margins for the grandchild before +recurring. This includes the quirks margin information as well. This ensures that the margins are +up-to-date when checked, even before the object has had its first layout. + +* rendering/RenderBlock.h: +(WebCore::RenderBlock::setMarginStartForChild): +(WebCore::RenderBlock::setMarginEndForChild): +(WebCore::RenderBlock::setMarginBeforeForChild): +(WebCore::RenderBlock::setMarginAfterForChild): +* rendering/RenderBox.cpp: +(WebCore::RenderBox::computeBlockDirectionMargins): +* rendering/RenderBox.h: +(RenderBox): +Add consts in order to compile. + 2012-07-13 Ryosuke Niwa NodeLists should not invalidate on irreleavnt attribute changes Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (122638 => 122639) --- trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-07-13 22:46:41 UTC (rev 122638) +++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-07-13 22:57:16 UTC (rev 122639) @@ -2091,8 +2091,11 @@ void RenderBlock::marginBeforeEstimateForChild(RenderBox* child, LayoutUnit& positiveMarginBefore, LayoutUnit& negativeMarginBefore) const { -// FIXME: We could get even more quirks mode cases right if we dealt with quirk containers. // FIXME: We should deal with the margin-collapse-* style extensions that prevent collapsing and that discard margins. +// Give up if in quirks mode and we're a body/table cell and the top margin of the child box is quirky. +if (document()->inQuirksMode() && child->isMarginBeforeQuirk() && (isTableCell() || isBody())) +return; + LayoutUnit beforeChildMargin = marginBeforeForChild(child); positiveMarginBefore = max(positiveMarginBefore, beforeChildMargin); negativeMarginBefore = max(negativeMarginBefore, -beforeChildMargin); @@ -2118,6 +2121,13 @@ if (!grandchildBox || grandchildBox->style()->clear() != CNONE) return; +// Make sure to update the block margins now for the grandchild box so that we're looking at current values. +if (grandchildBox->needsLayout()) { +grandchildBox->computeBlockDirectionMargins(this); +grandchildBox->setMarginBeforeQuirk(grandchildBox->style()->marginBefore().quirk()); +grandchildBox->setMarginAfterQuirk(grandchildBox->style()->marginAfter().quirk()); +} + // Collapse the margin of the grandchild box with our own to produce an estimate. childBlock->marginBeforeEstimateForChild(grandchildBox, positiveMarginBefore, negativeMarginBefore); } Modified: trunk/Source/WebCore/rendering/RenderBlock.h (122638 => 122639) --- trunk/Source/WebCore/rendering/RenderBlock.h 2012-07-13 22:46:41 UTC (rev 122638) +++ trunk/Source/WebCore/rendering/RenderBlock.h 2012-07-13 22:57:16 UTC (rev 122639) @@ -295,10 +295,10 @@ LayoutUnit marginAfterForChild(const RenderBoxModelObject* child) const { return child->marginAfter(style()); } LayoutUnit marginStartForChild(const RenderBoxModelObject* child) const { return chil
[webkit-changes] [122638] trunk/Source/WebKit/blackberry
Title: [122638] trunk/Source/WebKit/blackberry Revision 122638 Author stai...@webkit.org Date 2012-07-13 15:46:41 -0700 (Fri, 13 Jul 2012) Log Message [BlackBerry] Fix crash due to unguarded use of renderer in select popup. https://bugs.webkit.org/show_bug.cgi?id=91287 Reviewed by Rob Buis. No known testcase for this. Found in the wild. * WebCoreSupport/SelectPopupClient.cpp: (WebCore::SelectPopupClient::setValueAndClosePopup): Modified Paths trunk/Source/WebKit/blackberry/ChangeLog trunk/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp Diff Modified: trunk/Source/WebKit/blackberry/ChangeLog (122637 => 122638) --- trunk/Source/WebKit/blackberry/ChangeLog 2012-07-13 22:44:46 UTC (rev 122637) +++ trunk/Source/WebKit/blackberry/ChangeLog 2012-07-13 22:46:41 UTC (rev 122638) @@ -1,3 +1,16 @@ +2012-07-13 George Staikos + +[BlackBerry] Fix crash due to unguarded use of renderer in select +popup. +https://bugs.webkit.org/show_bug.cgi?id=91287 + +Reviewed by Rob Buis. + +No known testcase for this. Found in the wild. + +* WebCoreSupport/SelectPopupClient.cpp: +(WebCore::SelectPopupClient::setValueAndClosePopup): + 2012-07-13 Mike Fenton [BlackBerry] Add support for attributes to define keyboard and enter key type on the Virtual Keyboard Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp (122637 => 122638) --- trunk/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp 2012-07-13 22:44:46 UTC (rev 122637) +++ trunk/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp 2012-07-13 22:46:41 UTC (rev 122638) @@ -168,7 +168,8 @@ // Force repaint because we do not send mouse events to the select element // and the element doesn't automatically repaint itself. m_element->dispatchFormControlChangeEvent(); -m_element->renderer()->repaint(); +if (m_element->renderer()) +m_element->renderer()->repaint(); closePopup(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122637] trunk/Source/WebCore
Title: [122637] trunk/Source/WebCore Revision 122637 Author rn...@webkit.org Date 2012-07-13 15:44:46 -0700 (Fri, 13 Jul 2012) Log Message NodeLists should not invalidate on irreleavnt attribute changes https://bugs.webkit.org/show_bug.cgi?id=91277 Reviewed by Ojan Vafai. Explicitely check the invalidation type and the changed attribute in NodeListNodeData::invalidateCaches and ElementRareData::clearHTMLCollectionCaches to only invalidate node lists affected by the change. Also merged invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged as invalidateNodeListCachesInAncestors since they're almost identical after r122498. In addition, moved shouldInvalidateNodeListForType from Document.cpp to DynamicNodeList.h and renamed it to shouldInvalidateTypeOnAttributeChange since it needs to called in Node.cpp and ElementRareData.h. * dom/Attr.cpp: (WebCore::Attr::setValue): (WebCore::Attr::childrenChanged): * dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): * dom/Document.cpp: (WebCore::Document::registerNodeListCache): Calls isRootedAtDocument() instead of directly comparing the value of NodeListRootType in order to prepare for the bug 80269. (WebCore::Document::unregisterNodeListCache): Ditto. (WebCore): shouldInvalidateNodeListForType is moved to DynamicNodeList.h (WebCore::Document::shouldInvalidateNodeListCaches): * dom/DynamicNodeList.h: (DynamicNodeListCacheBase): (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Moved from Document.cpp. * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/ElementRareData.h: (WebCore::ElementRareData::clearHTMLCollectionCaches): Takes const QualifiedName* to compare against the invalidation type of HTML collections via shouldInvalidateTypeOnAttributeChange. * dom/Node.cpp: (WebCore::Node::invalidateNodeListCachesInAncestors): Merged invalidateNodeListCachesInAncestors and invalidateNodeListsCacheAfterChildrenChanged. Also pass attrName to clearHTMLCollectionCaches. (WebCore::NodeListsNodeData::invalidateCaches): Compares attrName against the invalidation type of node lists via shouldInvalidateTypeOnAttributeChange. (WebCore): * dom/Node.h: (Node): * dom/NodeRareData.h: (WebCore::NodeRareData::ensureNodeLists): Merged NodeRareData::createNodeLists. (WebCore::NodeRareData::clearChildNodeListCache): Moved from Node.cpp. (NodeRareData): * html/HTMLCollection.h: (HTMLCollectionCacheBase): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Attr.cpp trunk/Source/WebCore/dom/ContainerNode.cpp trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/DynamicNodeList.h trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/dom/ElementRareData.h trunk/Source/WebCore/dom/Node.cpp trunk/Source/WebCore/dom/Node.h trunk/Source/WebCore/dom/NodeRareData.h trunk/Source/WebCore/html/HTMLCollection.h Diff Modified: trunk/Source/WebCore/ChangeLog (122636 => 122637) --- trunk/Source/WebCore/ChangeLog 2012-07-13 22:37:58 UTC (rev 122636) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 22:44:46 UTC (rev 122637) @@ -1,3 +1,53 @@ +2012-07-13 Ryosuke Niwa + +NodeLists should not invalidate on irreleavnt attribute changes +https://bugs.webkit.org/show_bug.cgi?id=91277 + +Reviewed by Ojan Vafai. + +Explicitely check the invalidation type and the changed attribute in NodeListNodeData::invalidateCaches +and ElementRareData::clearHTMLCollectionCaches to only invalidate node lists affected by the change. + +Also merged invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged +as invalidateNodeListCachesInAncestors since they're almost identical after r122498. + +In addition, moved shouldInvalidateNodeListForType from Document.cpp to DynamicNodeList.h and renamed it to +shouldInvalidateTypeOnAttributeChange since it needs to called in Node.cpp and ElementRareData.h. + +* dom/Attr.cpp: +(WebCore::Attr::setValue): +(WebCore::Attr::childrenChanged): +* dom/ContainerNode.cpp: +(WebCore::ContainerNode::childrenChanged): +* dom/Document.cpp: +(WebCore::Document::registerNodeListCache): Calls isRootedAtDocument() instead of directly comparing +the value of NodeListRootType in order to prepare for the bug 80269. +(WebCore::Document::unregisterNodeListCache): Ditto. +(WebCore): shouldInvalidateNodeListForType is moved to DynamicNodeList.h +(WebCore::Document::shouldInvalidateNodeListCaches): +* dom/DynamicNodeList.h: +(DynamicNodeListCacheBase): +(WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Moved from Document.cpp. +* dom/Element.cpp: +(WebCore::Element::attributeChanged): +* dom/ElementRareData.h: +(WebCore::ElementRareData::clearHTMLCollectionCaches): Takes const QualifiedName* to compare a
[webkit-changes] [122636] trunk/Source/WebCore
Title: [122636] trunk/Source/WebCore Revision 122636 Author commit-qu...@webkit.org Date 2012-07-13 15:37:58 -0700 (Fri, 13 Jul 2012) Log Message Refactor RenderTable to use the section's iteration functions. https://bugs.webkit.org/show_bug.cgi?id=89751 Patch by Arpita Bahuguna on 2012-07-13 Reviewed by Julien Chaffraix. Removing anti-pattern wherever possible from RenderTable code. Also, modifying RenderTable sections' iterations to use helper functions. No new tests required for this change since no change in behavior is expected. * rendering/RenderTable.cpp: (WebCore::RenderTable::addOverflowFromChildren): (WebCore::RenderTable::setCellLogicalWidths): (WebCore::RenderTable::outerBorderStart): (WebCore::RenderTable::outerBorderEnd): Removed anti-patterns involving iterations over RenderObjects. (WebCore::RenderTable::outerBorderAfter): Modified RenderTable sections' iteration to use helper functions. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderTable.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (122635 => 122636) --- trunk/Source/WebCore/ChangeLog 2012-07-13 22:35:11 UTC (rev 122635) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 22:37:58 UTC (rev 122636) @@ -1,3 +1,25 @@ +2012-07-13 Arpita Bahuguna + +Refactor RenderTable to use the section's iteration functions. +https://bugs.webkit.org/show_bug.cgi?id=89751 + +Reviewed by Julien Chaffraix. + +Removing anti-pattern wherever possible from RenderTable code. Also, modifying +RenderTable sections' iterations to use helper functions. + +No new tests required for this change since no change in behavior is expected. + +* rendering/RenderTable.cpp: +(WebCore::RenderTable::addOverflowFromChildren): +(WebCore::RenderTable::setCellLogicalWidths): +(WebCore::RenderTable::outerBorderStart): +(WebCore::RenderTable::outerBorderEnd): +Removed anti-patterns involving iterations over RenderObjects. + +(WebCore::RenderTable::outerBorderAfter): +Modified RenderTable sections' iteration to use helper functions. + 2012-07-13 Enrica Casucci Threadsafety issues in WebScriptObject Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (122635 => 122636) --- trunk/Source/WebCore/rendering/RenderTable.cpp 2012-07-13 22:35:11 UTC (rev 122635) +++ trunk/Source/WebCore/rendering/RenderTable.cpp 2012-07-13 22:37:58 UTC (rev 122636) @@ -521,20 +521,14 @@ addOverflowFromChild(m_captions[i]); // Add overflow from our sections. -for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { -if (child->isTableSection()) { -RenderTableSection* section = toRenderTableSection(child); -addOverflowFromChild(section); -} -} +for (RenderTableSection* section = topSection(); section; section = sectionBelow(section)) +addOverflowFromChild(section); } void RenderTable::setCellLogicalWidths() { -for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { -if (child->isTableSection()) -toRenderTableSection(child)->setCellLogicalWidths(); -} +for (RenderTableSection* section = topSection(); section; section = sectionBelow(section)) +section->setCellLogicalWidths(); } void RenderTable::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) @@ -1000,18 +994,11 @@ if (!collapseBorders()) return 0; int borderWidth = 0; -RenderTableSection* bottomSection; -if (m_foot) -bottomSection = m_foot; -else { -RenderObject* child; -for (child = lastChild(); child && !child->isTableSection(); child = child->previousSibling()) { } -bottomSection = child ? toRenderTableSection(child) : 0; -} -if (bottomSection) { -borderWidth = bottomSection->outerBorderAfter(); + +if (RenderTableSection* section = bottomSection()) { +borderWidth = section->outerBorderAfter(); if (borderWidth < 0) -return 0; // Overridden by hidden +return 0; // Overridden by hidden } const BorderValue& tb = style()->borderAfter(); if (tb.style() == BHIDDEN) @@ -1035,10 +1022,8 @@ borderWidth = (tb.width() + (style()->isLeftToRightDirection() ? 0 : 1)) / 2; bool allHidden = true; -for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { -if (!child->isTableSection()) -continue; -int sw = toRenderTableSection(child)->outerBorderStart(); +for (RenderTableSection* section = topSection(); section; section = sectionBelow(section)) { +int sw = section->outerBorderStart(); if (sw < 0) continue; allHidden = false; @@ -1064,10 +1049,8 @@ borderWidth = (tb.width() + (style()->isLeftToRightDirection() ? 1 : 0)) / 2; bool allHidden =
[webkit-changes] [122635] trunk/Source/WebCore
Title: [122635] trunk/Source/WebCore Revision 122635 Author enr...@apple.com Date 2012-07-13 15:35:11 -0700 (Fri, 13 Jul 2012) Log Message Threadsafety issues in WebScriptObject https://bugs.webkit.org/show_bug.cgi?id=90849 Reviewed by Geoff Garen. Updated fix for this bug. The JSC API lock needs to be acquired also in JSObject. * bindings/objc/WebScriptObject.mm: (-[WebScriptObject JSObject]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/objc/WebScriptObject.mm Diff Modified: trunk/Source/WebCore/ChangeLog (122634 => 122635) --- trunk/Source/WebCore/ChangeLog 2012-07-13 22:25:14 UTC (rev 122634) +++ trunk/Source/WebCore/ChangeLog 2012-07-13 22:35:11 UTC (rev 122635) @@ -1,3 +1,15 @@ +2012-07-13 Enrica Casucci + +Threadsafety issues in WebScriptObject +https://bugs.webkit.org/show_bug.cgi?id=90849 + +Reviewed by Geoff Garen. + +Updated fix for this bug. The JSC API lock needs to be acquired also in JSObject. + +* bindings/objc/WebScriptObject.mm: +(-[WebScriptObject JSObject]): + 2012-07-13 Raymond Toy DelayNode doesn't work if delayTime.value == delayTime.maxValue Modified: trunk/Source/WebCore/bindings/objc/WebScriptObject.mm (122634 => 122635) --- trunk/Source/WebCore/bindings/objc/WebScriptObject.mm 2012-07-13 22:25:14 UTC (rev 122634) +++ trunk/Source/WebCore/bindings/objc/WebScriptObject.mm 2012-07-13 22:35:11 UTC (rev 122635) @@ -530,6 +530,9 @@ - (JSObjectRef)JSObject { +ExecState* exec = [self _rootObject]->globalObject()->globalExec(); + +JSLockHolder lock(exec); if (![self _isSafeScript]) return NULL; ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122634] trunk/LayoutTests
Title: [122634] trunk/LayoutTests Revision 122634 Author commit-qu...@webkit.org Date 2012-07-13 15:25:14 -0700 (Fri, 13 Jul 2012) Log Message [EFL] Unskip fast/css/font-face-download-error.html https://bugs.webkit.org/show_bug.cgi?id=91279 Unreviewed EFL gardening. Unskip passing test fast/css/font-face-download-error.html Patch by Sudarsana Nagineni on 2012-07-13 * platform/efl/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/efl/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (122633 => 122634) --- trunk/LayoutTests/ChangeLog 2012-07-13 22:19:38 UTC (rev 122633) +++ trunk/LayoutTests/ChangeLog 2012-07-13 22:25:14 UTC (rev 122634) @@ -1,3 +1,13 @@ +2012-07-13 Sudarsana Nagineni + +[EFL] Unskip fast/css/font-face-download-error.html +https://bugs.webkit.org/show_bug.cgi?id=91279 + +Unreviewed EFL gardening. Unskip passing test +fast/css/font-face-download-error.html + +* platform/efl/TestExpectations: + 2012-07-13 Adam Barth Remove supressions for flashplayer crash Modified: trunk/LayoutTests/platform/efl/TestExpectations (122633 => 122634) --- trunk/LayoutTests/platform/efl/TestExpectations 2012-07-13 22:19:38 UTC (rev 122633) +++ trunk/LayoutTests/platform/efl/TestExpectations 2012-07-13 22:25:14 UTC (rev 122634) @@ -694,9 +694,6 @@ BUGWK86637 : editing/spelling/spellcheck-sequencenum.html = TEXT BUGWK86637 : editing/spelling/spelling-marker-description.html = TEXT -// Looks like some race condition during loading. -BUGWK85977 : fast/css/font-face-download-error.html = TIMEOUT - // Missing test infrastructure, no gamepads available. BUGWKEFL : gamepad/gamepad-polling-access.html = TEXT ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122633] trunk/LayoutTests
Title: [122633] trunk/LayoutTests Revision 122633 Author aba...@webkit.org Date 2012-07-13 15:19:38 -0700 (Fri, 13 Jul 2012) Log Message Remove supressions for flashplayer crash https://bugs.webkit.org/show_bug.cgi?id=91283 Reviewed by Tony Chang. These tests don't crash any more now that I've corrected the configuration on the bots. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (122632 => 122633) --- trunk/LayoutTests/ChangeLog 2012-07-13 21:29:40 UTC (rev 122632) +++ trunk/LayoutTests/ChangeLog 2012-07-13 22:19:38 UTC (rev 122633) @@ -1,3 +1,15 @@ +2012-07-13 Adam Barth + +Remove supressions for flashplayer crash +https://bugs.webkit.org/show_bug.cgi?id=91283 + +Reviewed by Tony Chang. + +These tests don't crash any more now that I've corrected the +configuration on the bots. + +* platform/chromium/TestExpectations: + 2012-07-13 James Simonsen [Navigation Timing] Imported W3C tests contain duplicates and are DOS formatted Modified: trunk/LayoutTests/platform/chromium/TestExpectations (122632 => 122633) --- trunk/LayoutTests/platform/chromium/TestExpectations 2012-07-13 21:29:40 UTC (rev 122632) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2012-07-13 22:19:38 UTC (rev 122633) @@ -2407,11 +2407,6 @@ BUGWK54322 SLOW SNOWLEOPARD : fast/loader/loadInProgress.html = PASS BUGWK54322 SNOWLEOPARD : transitions/transition-end-event-rendering.html = PASS TEXT -// One the cr-linux-ews bot, this test is flaky, causing the queue to spam bugs -// will false failures. -BUGEWS LINUX : fast/loader/loadInProgress.html = PASS TEXT CRASH -BUGEWS LINUX : plugins/hidden-iframe-with-swf-plugin.html = PASS TEXT CRASH - BUGV8_1168 : fast/js/mozilla/strict/10.6.html = TEXT BUGV8_1168 : fast/js/mozilla/strict/15.5.5.2.html = TEXT BUGV8_1168 : fast/js/mozilla/strict/B.1.2.html = TEXT ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122631] trunk/Tools
Title: [122631] trunk/Tools Revision 122631 Author dpra...@chromium.org Date 2012-07-13 14:16:39 -0700 (Fri, 13 Jul 2012) Log Message webkitpy: hide yield_to_caller from callers in MessagePool :) https://bugs.webkit.org/show_bug.cgi?id=91269 Reviewed by Adam Barth. yield_to_caller() was an optimization/hack to allow us to run both manager and worker in a single process/loop without starving the manager while the worker is running tests. The worker was required to call yield_to_caller() periodically. It turns out that I can get equivalent responsiveness by yielding inside the MessagePool every time the worker posts a message, and this allows me to no longer need the worker to call the routine. Thus I rename yield_to_caller() to _yield_to_manager() to be a little clearer about its purpose. Tested by existing tests. * Scripts/webkitpy/common/message_pool.py: (_Worker.run): (_Worker.post): (_Worker._yield_to_manager): * Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.handle): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/message_pool.py trunk/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py Diff Modified: trunk/Tools/ChangeLog (122630 => 122631) --- trunk/Tools/ChangeLog 2012-07-13 21:10:37 UTC (rev 122630) +++ trunk/Tools/ChangeLog 2012-07-13 21:16:39 UTC (rev 122631) @@ -1,3 +1,29 @@ +2012-07-13 Dirk Pranke + +webkitpy: hide yield_to_caller from callers in MessagePool :) +https://bugs.webkit.org/show_bug.cgi?id=91269 + +Reviewed by Adam Barth. + +yield_to_caller() was an optimization/hack to allow us to run +both manager and worker in a single process/loop without +starving the manager while the worker is running tests. The +worker was required to call yield_to_caller() periodically. It +turns out that I can get equivalent responsiveness by yielding +inside the MessagePool every time the worker posts a message, and this +allows me to no longer need the worker to call the routine. Thus +I rename yield_to_caller() to _yield_to_manager() to be a little +clearer about its purpose. + +Tested by existing tests. + +* Scripts/webkitpy/common/message_pool.py: +(_Worker.run): +(_Worker.post): +(_Worker._yield_to_manager): +* Scripts/webkitpy/layout_tests/controllers/worker.py: +(Worker.handle): + 2012-07-13 Adam Barth EWSTools should be able to build a commit-queue instance from scratch Modified: trunk/Tools/Scripts/webkitpy/common/message_pool.py (122630 => 122631) --- trunk/Tools/Scripts/webkitpy/common/message_pool.py 2012-07-13 21:10:37 UTC (rev 122630) +++ trunk/Tools/Scripts/webkitpy/common/message_pool.py 2012-07-13 21:16:39 UTC (rev 122631) @@ -242,7 +242,7 @@ message = self._messages_to_worker.get() if message.from_user: worker.handle(message.name, message.src, *message.args) -self.yield_to_caller() +self._yield_to_manager() else: assert message.name == 'stop', 'bad message %s' % repr(message) break @@ -264,8 +264,9 @@ def post(self, name, *args): self._post(name, args, from_user=True) +self._yield_to_manager() -def yield_to_caller(self): +def _yield_to_manager(self): if self._running_inline: self._manager._loop(block=False) Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py (122630 => 122631) --- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py 2012-07-13 21:10:37 UTC (rev 122630) +++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py 2012-07-13 21:16:39 UTC (rev 122631) @@ -79,7 +79,6 @@ start_time = time.time() for test_input in test_inputs: self._run_test(test_input) -self._caller.yield_to_caller() elapsed_time = time.time() - start_time self._caller.post('finished_test_list', test_list_name, len(test_inputs), elapsed_time) ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [122630] trunk
Title: [122630] trunk Revision 122630 Author commit-qu...@webkit.org Date 2012-07-13 14:10:37 -0700 (Fri, 13 Jul 2012) Log Message DelayNode doesn't work if delayTime.value == delayTime.maxValue https://bugs.webkit.org/show_bug.cgi?id=90357 Patch by Raymond Toy on 2012-07-13 Reviewed by Kenneth Russell. Source/WebCore: Increase delay buffer size slightly so that the read and write pointers don't become equal when the delay and the max delay are the same. Tests: webaudio/delaynode-max-default-delay.html webaudio/delaynode-max-nondefault-delay.html * Modules/webaudio/DelayDSPKernel.cpp: (WebCore): Moved SmoothingTimeConstant to WebCore namespace. (WebCore::DelayDSPKernel::DelayDSPKernel): Add some additional checks to prevent crashes; use bufferLengthForDelay to compute buffer length. (WebCore::DelayDSPKernel::bufferLengthForDelay): New function to compute buffer length. * Modules/webaudio/DelayDSPKernel.h: (DelayDSPKernel): Declare bufferLengthForDelay. LayoutTests: New tests to test the case when the delay node delay equals the maximum allowed delay. Add one test for the default maximum delay and a second test with a user-set maximum delay. * webaudio/delaynode-max-default-delay-expected.txt: Added. * webaudio/delaynode-max-default-delay.html: Added. * webaudio/delaynode-max-nondefault-delay-expected.txt: Added. * webaudio/delaynode-max-nondefault-delay.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webaudio/DelayDSPKernel.cpp trunk/Source/WebCore/Modules/webaudio/DelayDSPKernel.h Added Paths trunk/LayoutTests/webaudio/delaynode-max-default-delay-expected.txt trunk/LayoutTests/webaudio/delaynode-max-default-delay.html trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay-expected.txt trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay.html Diff Modified: trunk/LayoutTests/ChangeLog (122629 => 122630) --- trunk/LayoutTests/ChangeLog 2012-07-13 21:03:50 UTC (rev 122629) +++ trunk/LayoutTests/ChangeLog 2012-07-13 21:10:37 UTC (rev 122630) @@ -1,3 +1,19 @@ +2012-07-13 Raymond Toy + +DelayNode doesn't work if delayTime.value == delayTime.maxValue +https://bugs.webkit.org/show_bug.cgi?id=90357 + +Reviewed by Kenneth Russell. + +New tests to test the case when the delay node delay equals the +maximum allowed delay. Add one test for the default maximum delay +and a second test with a user-set maximum delay. + +* webaudio/delaynode-max-default-delay-expected.txt: Added. +* webaudio/delaynode-max-default-delay.html: Added. +* webaudio/delaynode-max-nondefault-delay-expected.txt: Added. +* webaudio/delaynode-max-nondefault-delay.html: Added. + 2012-07-13 Vineet Chaudhary Restructure V8Utilities::extractTransferables() with help of toV8Sequence() Added: trunk/LayoutTests/webaudio/delaynode-max-default-delay-expected.txt (0 => 122630) --- trunk/LayoutTests/webaudio/delaynode-max-default-delay-expected.txt (rev 0) +++ trunk/LayoutTests/webaudio/delaynode-max-default-delay-expected.txt 2012-07-13 21:10:37 UTC (rev 122630) @@ -0,0 +1,9 @@ +Tests DelayNode with delay set to default maximum delay. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + +PASS Test signal was correctly delayed by 1 sec. +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/webaudio/delaynode-max-default-delay.html (0 => 122630) --- trunk/LayoutTests/webaudio/delaynode-max-default-delay.html (rev 0) +++ trunk/LayoutTests/webaudio/delaynode-max-default-delay.html 2012-07-13 21:10:37 UTC (rev 122630) @@ -0,0 +1,51 @@ + + + + + + + + + + + +