[webkit-changes] [122659] trunk/Tools

2012-07-13 Thread dpranke
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

2012-07-13 Thread dpranke
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

2012-07-13 Thread tkent
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread wangxianzhu
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

2012-07-13 Thread rniwa
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread pierre . rossi
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

2012-07-13 Thread fpizlo
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

2012-07-13 Thread dpranke
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

2012-07-13 Thread dpranke
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread jchaffraix
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

2012-07-13 Thread eae
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

2012-07-13 Thread oliver
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

2012-07-13 Thread hyatt
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

2012-07-13 Thread staikos
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

2012-07-13 Thread rniwa
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread enrica
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

2012-07-13 Thread commit-queue
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

2012-07-13 Thread abarth
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

2012-07-13 Thread dpranke
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

2012-07-13 Thread commit-queue
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 @@
+
+
+
+
+
+
+
+
+
+
+ +