[webkit-changes] [100730] trunk/LayoutTests
Title: [100730] trunk/LayoutTests Revision 100730 Author l...@webkit.org Date 2011-11-17 23:42:03 -0800 (Thu, 17 Nov 2011) Log Message [Qt] REGRESSION(r100510): Enable 8 Bit Strings in _javascript_Core https://bugs.webkit.org/show_bug.cgi?id=72602 Unskip tests after the fix on Qt. * platform/qt/Skipped: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/qt/Skipped Diff Modified: trunk/LayoutTests/ChangeLog (100729 => 100730) --- trunk/LayoutTests/ChangeLog 2011-11-18 07:41:48 UTC (rev 100729) +++ trunk/LayoutTests/ChangeLog 2011-11-18 07:42:03 UTC (rev 100730) @@ -1,3 +1,12 @@ +2011-11-17 Gabor Loki + +[Qt] REGRESSION(r100510): Enable 8 Bit Strings in _javascript_Core +https://bugs.webkit.org/show_bug.cgi?id=72602 + +Unskip tests after the fix on Qt. + +* platform/qt/Skipped: + 2011-11-17 Kaustubh Atrawalkar Remove initProgressEvent method Modified: trunk/LayoutTests/platform/qt/Skipped (100729 => 100730) --- trunk/LayoutTests/platform/qt/Skipped 2011-11-18 07:41:48 UTC (rev 100729) +++ trunk/LayoutTests/platform/qt/Skipped 2011-11-18 07:42:03 UTC (rev 100730) @@ -2493,10 +2493,3 @@ # [Qt] inspector/elements/elements-panel-selection-on-refresh.html crashing # https://bugs.webkit.org/show_bug.cgi?id=72504 inspector/elements/elements-panel-selection-on-refresh.html - -# [Qt] [Qt] REGRESSION(r100510): Enable 8 Bit Strings in _javascript_Core -# https://bugs.webkit.org/show_bug.cgi?id=72602 -editing/selection/find-yensign-and-backslash-with-japanese-fonts.html -editing/selection/find-yensign-and-backslash.html -fast/text/find-kana.html -fast/text/find-spaces.html ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes
[webkit-changes] [100729] trunk/Source/JavaScriptCore
Title: [100729] trunk/Source/_javascript_Core Revision 100729 Author l...@webkit.org Date 2011-11-17 23:41:48 -0800 (Thu, 17 Nov 2011) Log Message [Qt] REGRESSION(r100510): Enable 8 Bit Strings in _javascript_Core https://bugs.webkit.org/show_bug.cgi?id=72602 Fixed StringImpl::foldCase by adding return in the case we need to handle folding of 8 bit strings with Latin-1 characters. Fixed case where StringImpl::replace was using a char temp instead of an LChar temp. Because of the second change, I changed other uses of char or unsigned char to LChar. Patch by Michael Saboff on 2011-11-17 Reviewed by Zoltan Herczeg. * wtf/text/StringImpl.cpp: (WTF::StringImpl::upper): (WTF::StringImpl::foldCase): (WTF::equal): (WTF::equalIgnoringCase): (WTF::StringImpl::replace): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/wtf/text/StringImpl.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (100728 => 100729) --- trunk/Source/_javascript_Core/ChangeLog 2011-11-18 07:27:00 UTC (rev 100728) +++ trunk/Source/_javascript_Core/ChangeLog 2011-11-18 07:41:48 UTC (rev 100729) @@ -1,3 +1,26 @@ +2011-11-17 Michael Saboff + +[Qt] REGRESSION(r100510): Enable 8 Bit Strings in _javascript_Core +https://bugs.webkit.org/show_bug.cgi?id=72602 + +Fixed StringImpl::foldCase by adding return in the case we need to handle +folding of 8 bit strings with Latin-1 characters. + +Fixed case where StringImpl::replace was using a char temp instead of an +LChar temp. + +Because of the second change, I changed other uses of char or +unsigned char to LChar. + +Reviewed by Zoltan Herczeg. + +* wtf/text/StringImpl.cpp: +(WTF::StringImpl::upper): +(WTF::StringImpl::foldCase): +(WTF::equal): +(WTF::equalIgnoringCase): +(WTF::StringImpl::replace): + 2011-11-17 Patrick Gansterer [CMake] Move FAST_MALLOC specific lines from Platform*.cmake to CMakeLists.txt Modified: trunk/Source/_javascript_Core/wtf/text/StringImpl.cpp (100728 => 100729) --- trunk/Source/_javascript_Core/wtf/text/StringImpl.cpp 2011-11-18 07:27:00 UTC (rev 100728) +++ trunk/Source/_javascript_Core/wtf/text/StringImpl.cpp 2011-11-18 07:41:48 UTC (rev 100729) @@ -364,9 +364,9 @@ RefPtr newImpl = createUninitialized(m_length, data8); // Do a faster loop for the case where all the characters are ASCII. -char ored = 0; +LChar ored = 0; for (int i = 0; i < length; i++) { -char c = m_data8[i]; +LChar c = m_data8[i]; ored |= c; data8[i] = toASCIIUpper(c); } @@ -449,6 +449,8 @@ // Do a slower implementation for cases that include non-ASCII Latin-1 characters. for (int32_t i = 0; i < length; i++) data[i] = static_cast(Unicode::toLower(m_data8[i])); + +return newImpl.release(); } // Do a faster loop for the case where all the characters are ASCII. @@ -713,7 +715,7 @@ { ASSERT(length >= 0); while (length--) { -unsigned char bc = *b++; +LChar bc = *b++; if (*a++ != bc) return false; } @@ -723,7 +725,7 @@ bool equalIgnoringCase(const UChar* a, const LChar* b, unsigned length) { while (length--) { -unsigned char bc = *b++; +LChar bc = *b++; if (foldCase(*a++) != foldCase(bc)) return false; } @@ -1049,7 +1051,7 @@ RefPtr newImpl = createUninitialized(m_length, data); for (i = 0; i != m_length; ++i) { -char ch = m_data8[i]; +LChar ch = m_data8[i]; if (ch == oldChar) ch = newChar; data[i] = ch; @@ -1386,8 +1388,8 @@ if (a->is8Bit()) { const LChar* aPtr = a->characters8(); for (unsigned i = 0; i != length; ++i) { -unsigned char bc = b[i]; -unsigned char ac = aPtr[i]; +LChar bc = b[i]; +LChar ac = aPtr[i]; if (!bc) return false; if (ac != bc) @@ -1399,7 +1401,7 @@ const UChar* aPtr = a->characters16(); for (unsigned i = 0; i != length; ++i) { -unsigned char bc = b[i]; +LChar bc = b[i]; if (!bc) return false; if (aPtr[i] != bc) ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes
[webkit-changes] [100728] trunk/Source/WebCore
Title: [100728] trunk/Source/WebCore Revision 100728 Author ba...@chromium.org Date 2011-11-17 23:27:00 -0800 (Thu, 17 Nov 2011) Log Message crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion https://bugs.webkit.org/show_bug.cgi?id=71997 Reviewed by Dan Bernstein. The cause is a null dereference of a fontData that is stored in ComplexTextRun. The fontData is initialized by using the fontCache, but it could be null when the font is in fallback list. The reason a font from the fallback list might not be in the font Cache is that it may be a web font. Before looking up the fontCache, try to see whether the font is in the fallback list. No new tests. We don't have webfonts that can produce the problem. * platform/graphics/mac/ComplexTextControllerCoreText.mm: (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm Diff Modified: trunk/Source/WebCore/ChangeLog (100727 => 100728) --- trunk/Source/WebCore/ChangeLog 2011-11-18 06:57:05 UTC (rev 100727) +++ trunk/Source/WebCore/ChangeLog 2011-11-18 07:27:00 UTC (rev 100728) @@ -1,3 +1,22 @@ +2011-11-17 Kenichi Ishibashi + +crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion +https://bugs.webkit.org/show_bug.cgi?id=71997 + +Reviewed by Dan Bernstein. + +The cause is a null dereference of a fontData that is stored in +ComplexTextRun. The fontData is initialized by using the +fontCache, but it could be null when the font is in fallback +list. The reason a font from the fallback list might not be in the +font Cache is that it may be a web font. Before looking up the +fontCache, try to see whether the font is in the fallback list. + +No new tests. We don't have webfonts that can produce the problem. + +* platform/graphics/mac/ComplexTextControllerCoreText.mm: +(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache. + 2011-11-17 Kaustubh Atrawalkar Remove initProgressEvent method Modified: trunk/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm (100727 => 100728) --- trunk/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm 2011-11-18 06:57:05 UTC (rev 100727) +++ trunk/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm 2011-11-18 07:27:00 UTC (rev 100728) @@ -186,12 +186,12 @@ bool isSystemFallback = false; +UChar32 baseCharacter; RetainPtr stringAttributes; if (fontData == systemFallbackFontData()) { // FIXME: This code path does not support small caps. isSystemFallback = true; -UChar32 baseCharacter; U16_GET(cp, 0, 0, length, baseCharacter); fontData = m_font.fontDataAt(0)->fontDataForCharacter(baseCharacter); @@ -250,15 +250,29 @@ CTFontRef runFont = static_cast(CFDictionaryGetValue(runAttributes, kCTFontAttributeName)); ASSERT(CFGetTypeID(runFont) == CTFontGetTypeID()); if (!CFEqual(runFont, fontData->platformData().ctFont())) { -// Rather than using runFont as an NSFont and wrapping it in a FontPlatformData, go through -// the font cache and ultimately through NSFontManager in order to get an NSFont with the right -// NSFontRenderingMode. -RetainPtr fontName(AdoptCF, CTFontCopyPostScriptName(runFont)); -if (CFEqual(fontName.get(), CFSTR("LastResort"))) { -m_complexTextRuns.append(ComplexTextRun::create(m_font.primaryFont(), cp, stringLocation + runRange.location, runRange.length, m_run.ltr())); -continue; +// Begin trying to see if runFont matches any of the fonts in the fallback list. +RetainPtr runCGFont(AdoptCF, CTFontCopyGraphicsFont(runFont, 0)); +unsigned i = 0; +for (const FontData* candidateFontData = m_font.fontDataAt(i); candidateFontData; candidateFontData = m_font.fontDataAt(++i)) { +runFontData = candidateFontData->fontDataForCharacter(baseCharacter); +RetainPtr cgFont(AdoptCF, CTFontCopyGraphicsFont(runFontData->platformData().ctFont(), 0)); +if (CFEqual(cgFont.get(), runCGFont.get())) +break; +runFontData = 0; } -runFontData = fontCache()->getCachedFontData(m_font.fontDescription(), fontName.get(), false, FontCache::DoNotRetain); +// If there is no matching font, look up by name in the font cache. +if (!runFontData) { +// Rather than using runFont as an NSFont and wrapping it in a FontPlatformData, go through +
[webkit-changes] [100727] trunk
Title: [100727] trunk Revision 100727 Author commit-qu...@webkit.org Date 2011-11-17 22:57:05 -0800 (Thu, 17 Nov 2011) Log Message Remove initProgressEvent method https://bugs.webkit.org/show_bug.cgi?id=71340 Patch by Kaustubh Atrawalkar on 2011-11-17 Reviewed by Adam Barth. This method has been removed from the spec draft. http://www.w3.org/TR/progress-events/#interface-progressevent Source/WebCore: No new tests. Removed method. * dom/ProgressEvent.cpp: * dom/ProgressEvent.h: * dom/ProgressEvent.idl: LayoutTests: No new tests. Removed method. Updated expected results. * fast/dom/non-numeric-values-numeric-parameters-expected.txt: * fast/dom/script-tests/non-numeric-values-numeric-parameters.js: * fast/events/init-events-expected.txt: * fast/events/script-tests/init-events.js: * fast/xmlhttprequest/xmlhttprequest-get-expected.txt: * platform/chromium-cg-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: * platform/chromium-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: * platform/chromium-win/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js trunk/LayoutTests/fast/events/init-events-expected.txt trunk/LayoutTests/fast/events/script-tests/init-events.js trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-get-expected.txt trunk/LayoutTests/platform/chromium-cg-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt trunk/LayoutTests/platform/chromium-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt trunk/LayoutTests/platform/chromium-win/fast/xmlhttprequest/xmlhttprequest-get-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ProgressEvent.cpp trunk/Source/WebCore/dom/ProgressEvent.h trunk/Source/WebCore/dom/ProgressEvent.idl Diff Modified: trunk/LayoutTests/ChangeLog (100726 => 100727) --- trunk/LayoutTests/ChangeLog 2011-11-18 06:14:11 UTC (rev 100726) +++ trunk/LayoutTests/ChangeLog 2011-11-18 06:57:05 UTC (rev 100727) @@ -1,3 +1,24 @@ +2011-11-17 Kaustubh Atrawalkar + +Remove initProgressEvent method +https://bugs.webkit.org/show_bug.cgi?id=71340 + +Reviewed by Adam Barth. + +This method has been removed from the spec draft. +http://www.w3.org/TR/progress-events/#interface-progressevent + +No new tests. Removed method. Updated expected results. + +* fast/dom/non-numeric-values-numeric-parameters-expected.txt: +* fast/dom/script-tests/non-numeric-values-numeric-parameters.js: +* fast/events/init-events-expected.txt: +* fast/events/script-tests/init-events.js: +* fast/xmlhttprequest/xmlhttprequest-get-expected.txt: +* platform/chromium-cg-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: +* platform/chromium-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: +* platform/chromium-win/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: + 2011-11-17 Adam Klein Move JS recursion counter from V8Proxy to V8BindingPerIsolateData Modified: trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt (100726 => 100727) --- trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt 2011-11-18 06:14:11 UTC (rev 100726) +++ trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt 2011-11-18 06:57:05 UTC (rev 100727) @@ -51,8 +51,6 @@ PASS nonNumericPolicy('document.body.attributes.item(x)') is 'any type allowed' PASS nonNumericPolicy('document.createNodeIterator(document, x, null, false)') is 'any type allowed' PASS nonNumericPolicy('document.getElementsByTagName("div").item(x)') is 'any type allowed' -PASS nonNumericPolicy('document.createEvent("ProgressEvent").initProgressEvent("a", false, false, false, x, 0)') is 'any type allowed' -PASS nonNumericPolicy('document.createEvent("ProgressEvent").initProgressEvent("a", false, false, false, 0, x)') is 'any type allowed' PASS nonNumericPolicy('document.createRange().setStart(document, x)') is 'any type allowed' PASS nonNumericPolicy('document.createRange().setEnd(document, x)') is 'any type allowed' PASS nonNumericPolicy('document.createRange().comparePoint(document, x)') is 'any type allowed' Modified: trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js (100726 => 100727) --- trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js 2011-11-18 06:14:11 UTC (rev 100726) +++ trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js 2011-11-18 06:57:05 UTC (rev 100727) @@ -301,11 +301,6 @@ shouldBe("nonNumericPolicy('document.getElementsByTagName(\"div\").item(x)')", "'any type allowed'"); -// ProgressEvent - -shouldBe("nonNumericPolicy('document.createEvent(\"ProgressEvent\").initProgressEvent(\"a\", false, false, f
[webkit-changes] [100726] trunk/Source/WebCore
Title: [100726] trunk/Source/WebCore Revision 100726 Author commit-qu...@webkit.org Date 2011-11-17 22:14:11 -0800 (Thu, 17 Nov 2011) Log Message [EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the EflKeyboardUtilities.cpp to use in the WebKit2 https://bugs.webkit.org/show_bug.cgi?id=62451 Patch by Eunmi Lee on 2011-11-17 Reviewed by Martin Robinson. The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I moved them to the separated file - EflKeyboardUtilities.cpp. * PlatformEfl.cmake: * platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp. (WebCore::createKeyMap): (WebCore::createWindowsKeyMap): (WebCore::keyIdentifierForEvasKeyName): (WebCore::windowsKeyCodeForEvasKeyName): * platform/efl/EflKeyboardUtilities.h: Added. * platform/efl/PlatformKeyboardEventEfl.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformEfl.cmake trunk/Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp Added Paths trunk/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp trunk/Source/WebCore/platform/efl/EflKeyboardUtilities.h Diff Modified: trunk/Source/WebCore/ChangeLog (100725 => 100726) --- trunk/Source/WebCore/ChangeLog 2011-11-18 06:09:25 UTC (rev 100725) +++ trunk/Source/WebCore/ChangeLog 2011-11-18 06:14:11 UTC (rev 100726) @@ -1,3 +1,24 @@ +2011-11-17 Eunmi Lee + +[EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the +EflKeyboardUtilities.cpp to use in the WebKit2 +https://bugs.webkit.org/show_bug.cgi?id=62451 + +Reviewed by Martin Robinson. + +The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions +in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I +moved them to the separated file - EflKeyboardUtilities.cpp. + +* PlatformEfl.cmake: +* platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp. +(WebCore::createKeyMap): +(WebCore::createWindowsKeyMap): +(WebCore::keyIdentifierForEvasKeyName): +(WebCore::windowsKeyCodeForEvasKeyName): +* platform/efl/EflKeyboardUtilities.h: Added. +* platform/efl/PlatformKeyboardEventEfl.cpp: + 2011-11-17 Martin Robinson [GTK] The process freezes when you right click on windowless Flash Modified: trunk/Source/WebCore/PlatformEfl.cmake (100725 => 100726) --- trunk/Source/WebCore/PlatformEfl.cmake 2011-11-18 06:09:25 UTC (rev 100725) +++ trunk/Source/WebCore/PlatformEfl.cmake 2011-11-18 06:14:11 UTC (rev 100726) @@ -27,6 +27,7 @@ platform/efl/CursorEfl.cpp platform/efl/DragDataEfl.cpp platform/efl/DragImageEfl.cpp + platform/efl/EflKeyboardUtilities.cpp platform/efl/EventLoopEfl.cpp platform/efl/FileSystemEfl.cpp platform/efl/KURLEfl.cpp Added: trunk/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp (0 => 100726) --- trunk/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp (rev 0) +++ trunk/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp 2011-11-18 06:14:11 UTC (rev 100726) @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2011 Samsung Electronics + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "EflKeyboardUtilities.h" + +#include "WindowsKeyboardCodes.h" +#include +#include +#include + +namespace WebCore { + +typedef HashMap KeyMap; +typedef HashMap WindowsKeyMap; + +static KeyMap
[webkit-changes] [100725] trunk/Source
Title: [100725] trunk/Source Revision 100725 Author mrobin...@webkit.org Date 2011-11-17 22:09:25 -0800 (Thu, 17 Nov 2011) Log Message [GTK] The process freezes when you right click on windowless Flash https://bugs.webkit.org/show_bug.cgi?id=69123 Reviewed by Xan Lopez. Source/WebCore: No new tests. I tried to create a layout test that exercised this issue, but it appears that EventSender clicks do not trigger it. This is covered by the manual tests containing Flash. * plugins/PluginPackage.cpp: (WebCore::PluginPackage::determineQuirks): Always activate the windowless Flash quirk if on x86_64 and X11. * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::handleMouseEvent): Avoid sending right-click events if we have the quirk. Source/WebKit2: Add a new plugin quirk for dealing with right-clicking on windowless Flash on x86_64 machines. This already exists for WebKit1. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::NetscapePluginModule::determineQuirks): If the plugin is Flash and we are on x86_64, then disable sending right-clicking events while in windowless mode. * Shared/Plugins/PluginQuirks.h: Add the new quirk. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk is active don't send right click events. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/plugins/PluginPackage.cpp trunk/Source/WebCore/plugins/gtk/PluginViewGtk.cpp trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp trunk/Source/WebKit2/Shared/Plugins/PluginQuirks.h trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (100724 => 100725) --- trunk/Source/WebCore/ChangeLog 2011-11-18 05:52:34 UTC (rev 100724) +++ trunk/Source/WebCore/ChangeLog 2011-11-18 06:09:25 UTC (rev 100725) @@ -1,3 +1,21 @@ +2011-11-17 Martin Robinson + +[GTK] The process freezes when you right click on windowless Flash +https://bugs.webkit.org/show_bug.cgi?id=69123 + +Reviewed by Xan Lopez. + +No new tests. I tried to create a layout test that exercised this +issue, but it appears that EventSender clicks do not trigger +it. This is covered by the manual tests containing Flash. + +* plugins/PluginPackage.cpp: +(WebCore::PluginPackage::determineQuirks): Always activate the +windowless Flash quirk if on x86_64 and X11. +* plugins/gtk/PluginViewGtk.cpp: +(WebCore::PluginView::handleMouseEvent): Avoid sending right-click +events if we have the quirk. + 2011-11-17 Peter Rybin Web Inspector: clear fixme in generator script Modified: trunk/Source/WebCore/plugins/PluginPackage.cpp (100724 => 100725) --- trunk/Source/WebCore/plugins/PluginPackage.cpp 2011-11-18 05:52:34 UTC (rev 100724) +++ trunk/Source/WebCore/plugins/PluginPackage.cpp 2011-11-18 06:09:25 UTC (rev 100725) @@ -207,12 +207,12 @@ #if PLATFORM(QT) // Flash will crash on repeated calls to SetWindow in windowed mode m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce); +#endif #if CPU(X86_64) // 64-bit Flash freezes if right-click is sent in windowless mode m_quirks.add(PluginQuirkIgnoreRightClickInWindowlessMode); #endif -#endif m_quirks.add(PluginQuirkRequiresDefaultScreenDepth); m_quirks.add(PluginQuirkThrottleInvalidate); Modified: trunk/Source/WebCore/plugins/gtk/PluginViewGtk.cpp (100724 => 100725) --- trunk/Source/WebCore/plugins/gtk/PluginViewGtk.cpp 2011-11-18 05:52:34 UTC (rev 100724) +++ trunk/Source/WebCore/plugins/gtk/PluginViewGtk.cpp 2011-11-18 06:09:25 UTC (rev 100725) @@ -409,6 +409,9 @@ if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully) return; +if (event->button() == RightButton && m_plugin->quirks().contains(PluginQuirkIgnoreRightClickInWindowlessMode)) +return; + if (event->type() == eventNames().mousedownEvent) { if (Page* page = m_parentFrame->page()) page->focusController()->setActive(true); Modified: trunk/Source/WebKit2/ChangeLog (100724 => 100725) --- trunk/Source/WebKit2/ChangeLog 2011-11-18 05:52:34 UTC (rev 100724) +++ trunk/Source/WebKit2/ChangeLog 2011-11-18 06:09:25 UTC (rev 100725) @@ -1,3 +1,23 @@ +2011-11-17 Martin Robinson + +[GTK] The process freezes when you right click on windowless Flash +https://bugs.webkit.org/show_bug.cgi?id=69123 + +Reviewed by Xan Lopez. + +Add a new plugin quirk for dealing with right-clicking on +windowless Flash on x86_64 machines. This already exists for +WebKit1. + +* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: +(WebKit::NetscapePluginModule::determineQuirks): If the plugin is +Flash and we are on x86_64, then disable sending right-clicking +events whi
[webkit-changes] [100724] trunk/Source/WebKit/efl
Title: [100724] trunk/Source/WebKit/efl Revision 100724 Author commit-qu...@webkit.org Date 2011-11-17 21:52:34 -0800 (Thu, 17 Nov 2011) Log Message [EFL] Add matrix list to reuse tile matrix for each different zoom level. https://bugs.webkit.org/show_bug.cgi?id=68595 Patch by KwangHyuk Kim on 2011-11-17 Reviewed by Kenneth Rohde Christiansen. Add matrix list to keep each tile matrix corresponding to each different zoom level when zoom level is changed. Then backing store can reuse tile matrix by getting it from this matrix list. * ewk/ewk_tiled_backing_store.cpp: (_ewk_tiled_backing_store_model_matrix_create): (_ewk_tiled_backing_store_smart_calculate): (_ewk_tiled_backing_store_zoom_set_internal): * ewk/ewk_tiled_matrix.cpp: (ewk_tile_matrix_entry_get): (_ewk_tile_matrix_cell_free): (_ewk_tile_matrix_tile_free): (ewk_tile_matrix_new): (ewk_tile_matrix_zoom_level_set): (ewk_tile_matrix_invalidate): (ewk_tile_matrix_free): (ewk_tile_matrix_tile_new): * ewk/ewk_tiled_matrix.h: Modified Paths trunk/Source/WebKit/efl/ChangeLog trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp trunk/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp trunk/Source/WebKit/efl/ewk/ewk_tiled_matrix.h Diff Modified: trunk/Source/WebKit/efl/ChangeLog (100723 => 100724) --- trunk/Source/WebKit/efl/ChangeLog 2011-11-18 05:47:57 UTC (rev 100723) +++ trunk/Source/WebKit/efl/ChangeLog 2011-11-18 05:52:34 UTC (rev 100724) @@ -1,3 +1,28 @@ +2011-11-17 KwangHyuk Kim + +[EFL] Add matrix list to reuse tile matrix for each different zoom level. +https://bugs.webkit.org/show_bug.cgi?id=68595 + +Reviewed by Kenneth Rohde Christiansen. + +Add matrix list to keep each tile matrix corresponding to each different zoom level when zoom level is changed. +Then backing store can reuse tile matrix by getting it from this matrix list. + +* ewk/ewk_tiled_backing_store.cpp: +(_ewk_tiled_backing_store_model_matrix_create): +(_ewk_tiled_backing_store_smart_calculate): +(_ewk_tiled_backing_store_zoom_set_internal): +* ewk/ewk_tiled_matrix.cpp: +(ewk_tile_matrix_entry_get): +(_ewk_tile_matrix_cell_free): +(_ewk_tile_matrix_tile_free): +(ewk_tile_matrix_new): +(ewk_tile_matrix_zoom_level_set): +(ewk_tile_matrix_invalidate): +(ewk_tile_matrix_free): +(ewk_tile_matrix_tile_new): +* ewk/ewk_tiled_matrix.h: + 2011-11-17 Raphael Kubo da Costa [EFL] Clean up the use of DATA_DIR in the buildsystem Modified: trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp (100723 => 100724) --- trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp 2011-11-18 05:47:57 UTC (rev 100723) +++ trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp 2011-11-18 05:52:34 UTC (rev 100724) @@ -619,7 +619,7 @@ ewk_tile_matrix_free(priv->model.matrix); } -priv->model.matrix = ewk_tile_matrix_new(tileUnusedCache, priv->model.current.columns, priv->model.current.rows, priv->colorSpace, _ewk_tiled_backing_store_render, priv); +priv->model.matrix = ewk_tile_matrix_new(tileUnusedCache, priv->model.current.columns, priv->model.current.rows, priv->view.tile.zoom, priv->colorSpace, _ewk_tiled_backing_store_render, priv); } static void _ewk_tiled_backing_store_smart_member_del(Evas_Object* ewkBackingStore, Evas_Object* member) @@ -1298,6 +1298,9 @@ ewk_tile_matrix_freeze(priv->model.matrix); +if (priv->changed.model && !priv->changed.size) +ewk_tile_matrix_invalidate(priv->model.matrix); + if (!priv->render.suspend && priv->changed.model) { unsigned long columns, rows; @@ -1477,6 +1480,7 @@ priv->view.offset.zoomCenter.x = currentX; priv->view.offset.zoomCenter.y = currentY; +ewk_tile_matrix_zoom_level_set(priv->model.matrix, *zoom); if (!priv->view.width || !priv->view.height) { priv->view.offset.base.x = 0; Modified: trunk/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp (100723 => 100724) --- trunk/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp 2011-11-18 05:47:57 UTC (rev 100723) +++ trunk/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp 2011-11-18 05:52:34 UTC (rev 100724) @@ -32,8 +32,18 @@ #include #include +struct _Ewk_Tile_Matrix_Entry { +EINA_INLIST; +float zoom; +unsigned long count; +Eina_Matrixsparse* matrix; +}; + +typedef struct _Ewk_Tile_Matrix_Entry Ewk_Tile_Matrix_Entry; + struct _Ewk_Tile_Matrix { Eina_Matrixsparse* matrix; +Eina_Inlist* matrices; Ewk_Tile_Unused_Cache* tilieUnusedCache; Evas_Colorspace cspace; struct { @@ -59,6 +69,19 @@ static uint64_t bytes_leaked = 0; #endif +static Ewk_Tile_Matrix_Entry* ewk_tile_matrix_entry_get(Ewk_Tile_Matrix* tileMatrix, float zoom) +{ +EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, 0); +Ewk_Tile_Matrix_Entry* iterator; + +EINA_INLIST_FOREACH(tileMatrix->matrices, iterator) { +if (iterator->zoom == zo
[webkit-changes] [100723] trunk/Source/WebCore
Title: [100723] trunk/Source/WebCore Revision 100723 Author loi...@chromium.org Date 2011-11-17 21:47:57 -0800 (Thu, 17 Nov 2011) Log Message Web Inspector: clear fixme in generator script https://bugs.webkit.org/show_bug.cgi?id=71372 Remove unnecessary field name map and update license year number. Patch by Peter Rybin on 2011-11-17 Reviewed by Pavel Feldman. * inspector/CodeGeneratorInspector.py: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/inspector/CodeGeneratorInspector.py Diff Modified: trunk/Source/WebCore/ChangeLog (100722 => 100723) --- trunk/Source/WebCore/ChangeLog 2011-11-18 05:43:02 UTC (rev 100722) +++ trunk/Source/WebCore/ChangeLog 2011-11-18 05:47:57 UTC (rev 100723) @@ -1,3 +1,14 @@ +2011-11-17 Peter Rybin + +Web Inspector: clear fixme in generator script +https://bugs.webkit.org/show_bug.cgi?id=71372 + +Remove unnecessary field name map and update license year number. + +Reviewed by Pavel Feldman. + +* inspector/CodeGeneratorInspector.py: + 2011-11-17 Raphael Kubo da Costa [EFL] Clean up the use of DATA_DIR in the buildsystem Modified: trunk/Source/WebCore/inspector/CodeGeneratorInspector.py (100722 => 100723) --- trunk/Source/WebCore/inspector/CodeGeneratorInspector.py 2011-11-18 05:43:02 UTC (rev 100722) +++ trunk/Source/WebCore/inspector/CodeGeneratorInspector.py 2011-11-18 05:47:57 UTC (rev 100723) @@ -37,6 +37,16 @@ except ImportError: import simplejson as json + +DOMAIN_DEFINE_NAME_MAP = { +"Database": "ENABLE_SQL_DATABASE", +"Debugger": "ENABLE_JAVASCRIPT_DEBUGGER", +"DOMDebugger": "ENABLE_JAVASCRIPT_DEBUGGER", +"Profiler": "ENABLE_JAVASCRIPT_DEBUGGER", +"Worker": "ENABLE_WORKERS", +} + + cmdline_parser = optparse.OptionParser() cmdline_parser.add_option("--defines") cmdline_parser.add_option("--output_h_dir") @@ -91,6 +101,27 @@ defines_map = parse_defines(arg_options.defines) +class Capitalizer: +@staticmethod +def upper_camel_case_to_lower(str): +pos = 0 +while pos < len(str) and str[pos].isupper(): +pos += 1 +if pos == 0: +return str +if pos == 1: +return str[0].lower() + str[1:] +if pos < len(str): +pos -= 1 +possible_abbreviation = str[0:pos] +if possible_abbreviation not in Capitalizer.ABBREVIATION: +raise Exception("Unknown abbreviation %s" % possible_abbreviation) +str = possible_abbreviation.lower() + str[pos:] +return str + +ABBREVIATION = frozenset(["XHR", "DOM", "CSS"]) + + class DomainNameFixes: @classmethod def get_fixed_data(cls, domain_name): @@ -99,10 +130,7 @@ else: agent_name_res = "Inspector%sAgent" % domain_name -if domain_name in cls.agent_field_name_map: -field_name_res = cls.agent_field_name_map[domain_name] -else: -field_name_res = domain_name.lower() + "Agent" +field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + "Agent" class Res(object): agent_type_name = agent_name_res @@ -112,11 +140,11 @@ @staticmethod def is_disabled(defines): -if not domain_name in cls.domain_define_name_map: +if not domain_name in DOMAIN_DEFINE_NAME_MAP: # Has not corresponding preprocessor symbol. return False -define_name = cls.domain_define_name_map[domain_name] +define_name = DOMAIN_DEFINE_NAME_MAP[domain_name] if not define_name in defines: # Disabled when not mentioned @@ -131,32 +159,7 @@ hidden_domains = set(["Inspector"]) agent_type_map = {"Network": "InspectorResourceAgent"} -# TODO: get rid of this, generate names instead. -agent_field_name_map = { -"Page": "pageAgent", -"Runtime": "runtimeAgent", -"Console": "consoleAgent", -"Network": "resourceAgent", -"Database": "databaseAgent", -"DOMStorage": "domStorageAgent", -"ApplicationCache": "applicationCacheAgent", -"DOM": "domAgent", -"CSS": "cssAgent", -"Debugger": "debuggerAgent", -"DOMDebugger": "domDebuggerAgent", -"Profiler": "profilerAgent", -"Worker": "workerAgent", -} -domain_define_name_map = { -"Database": "ENABLE_SQL_DATABASE", -"Debugger": "ENABLE_JAVASCRIPT_DEBUGGER", -"DOMDebugger": "ENABLE_JAVASCRIPT_DEBUGGER", -"Profiler": "ENABLE_JAVASCRIPT_DEBUGGER", -"Worker": "ENABLE_WORKERS", -} - - class CParamType(object): def __init__(self, type, setter_format="%s"): self.type = type @@ -447,11 +450,11 @@ $methodOutCode ErrorString error; $methodInCode -if (!protocolErrors->length()) -$agentField->$methodName(&error$agentCallParams); +
[webkit-changes] [100722] trunk
Title: [100722] trunk Revision 100722 Author commit-qu...@webkit.org Date 2011-11-17 21:43:02 -0800 (Thu, 17 Nov 2011) Log Message [EFL] Clean up the use of DATA_DIR in the buildsystem https://bugs.webkit.org/show_bug.cgi?id=72681 Patch by Raphael Kubo da Costa on 2011-11-17 Reviewed by Daniel Bates. .: * Source/cmake/OptionsEfl.cmake: Rename DATA_DIR to DATA_INSTALL_DIR and add it to the cache; add a variable with the path of the generated theme and remove the -DDATA_DIR definition, it was moved to PlatformEFL.cmake in WebCore. Source/WebCore: Add the -DDATA_DIR definition here instead of defining it globally in OptionsEfl.cmake, as WebCore is the only place which needs it. No new tests, this is a buildsystem change. * PlatformEfl.cmake: Source/WebKit/efl: Instead of messing with BUILD_DATA_DIR and PARENT_SCOPE, just use THEME_BINARY_DIR as defined in OptionsEfl.cmake. * CMakeListsEfl.txt: Tools: Instead of adding -DDATA_DIR in all scopes, only define it in WebCore/PlatformEFL.cmake, as WebCore is the only place that uses it. We can then define DATA_DIR to the generated theme directory for EWebLauncher, since it's what we want here. * CMakeListsEfl.txt: Modified Paths trunk/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformEfl.cmake trunk/Source/WebKit/efl/CMakeListsEfl.txt trunk/Source/WebKit/efl/ChangeLog trunk/Source/cmake/OptionsEfl.cmake trunk/Tools/CMakeListsEfl.txt trunk/Tools/ChangeLog Diff Modified: trunk/ChangeLog (100721 => 100722) --- trunk/ChangeLog 2011-11-18 05:41:33 UTC (rev 100721) +++ trunk/ChangeLog 2011-11-18 05:43:02 UTC (rev 100722) @@ -1,3 +1,15 @@ +2011-11-17 Raphael Kubo da Costa + +[EFL] Clean up the use of DATA_DIR in the buildsystem +https://bugs.webkit.org/show_bug.cgi?id=72681 + +Reviewed by Daniel Bates. + +* Source/cmake/OptionsEfl.cmake: Rename DATA_DIR to DATA_INSTALL_DIR +and add it to the cache; add a variable with the path of the generated +theme and remove the -DDATA_DIR definition, it was moved to +PlatformEFL.cmake in WebCore. + 2011-11-17 Patrick Gansterer [CMake] Add ENABLE_CLIENT_BASED_GEOLOCATION to cmakeconfig.h Modified: trunk/Source/WebCore/ChangeLog (100721 => 100722) --- trunk/Source/WebCore/ChangeLog 2011-11-18 05:41:33 UTC (rev 100721) +++ trunk/Source/WebCore/ChangeLog 2011-11-18 05:43:02 UTC (rev 100722) @@ -1,3 +1,17 @@ +2011-11-17 Raphael Kubo da Costa + +[EFL] Clean up the use of DATA_DIR in the buildsystem +https://bugs.webkit.org/show_bug.cgi?id=72681 + +Reviewed by Daniel Bates. + +Add the -DDATA_DIR definition here instead of defining it globally in +OptionsEfl.cmake, as WebCore is the only place which needs it. + +No new tests, this is a buildsystem change. + +* PlatformEfl.cmake: + 2011-11-17 Adam Klein Move JS recursion counter from V8Proxy to V8BindingPerIsolateData Modified: trunk/Source/WebCore/PlatformEfl.cmake (100721 => 100722) --- trunk/Source/WebCore/PlatformEfl.cmake 2011-11-18 05:41:33 UTC (rev 100721) +++ trunk/Source/WebCore/PlatformEfl.cmake 2011-11-18 05:43:02 UTC (rev 100722) @@ -280,4 +280,5 @@ ) ENDIF () -ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1) +ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 +-DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}") Modified: trunk/Source/WebKit/efl/CMakeListsEfl.txt (100721 => 100722) --- trunk/Source/WebKit/efl/CMakeListsEfl.txt 2011-11-18 05:41:33 UTC (rev 100721) +++ trunk/Source/WebKit/efl/CMakeListsEfl.txt 2011-11-18 05:43:02 UTC (rev 100722) @@ -134,16 +134,13 @@ LIST(APPEND WebKit_LIBRARIES ${CURL_LIBRARIES} ${ZLIB_LIBRARIES}) ENDIF () -SET(BUILD_DATA_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/DefaultTheme) -SET(BUILD_DATA_DIR ${BUILD_DATA_DIR} PARENT_SCOPE) -FILE(MAKE_DIRECTORY ${BUILD_DATA_DIR}) - SET(WebKit_THEME_DEFINITION "") IF (ENABLE_PROGRESS_TAG) LIST(APPEND WebKit_THEME_DEFINITION "-DENABLE_PROGRESS_TAG") ENDIF () -SET(WebKit_THEME ${BUILD_DATA_DIR}/default.edj) +FILE(MAKE_DIRECTORY ${THEME_BINARY_DIR}) +SET(WebKit_THEME ${THEME_BINARY_DIR}/default.edj) ADD_CUSTOM_COMMAND( OUTPUT ${WebKit_THEME} COMMAND ${EDJE_CC_EXECUTABLE} -v -id ${WEBKIT_DIR}/efl/DefaultTheme ${WebKit_THEME_DEFINITION} ${WEBKIT_DIR}/efl/DefaultTheme/default.edc ${WebKit_THEME} @@ -260,4 +257,4 @@ DESTINATION include/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}) INSTALL(FILES ${WebKit_THEME} -DESTINATION share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}/themes) +DESTINATION ${DATA_INSTALL_DIR}/themes) Modified: trunk/Source/WebKit/efl/ChangeLog (100721 => 100722) --- trunk/Source/WebKit/efl/ChangeLog 2011-11-18 05:41:33 UTC (rev 100721) +++ trunk/Source/WebKit/efl/ChangeLog 2011-11-18 05:43:02 UTC (rev 100722) @@ -1,3 +1,15 @@ +2011-11-17 Raphael Kubo da Costa + +[EFL] Clean up the use of DA
[webkit-changes] [100721] trunk
Title: [100721] trunk Revision 100721 Author ad...@chromium.org Date 2011-11-17 21:41:33 -0800 (Thu, 17 Nov 2011) Log Message Move JS recursion counter from V8Proxy to V8BindingPerIsolateData https://bugs.webkit.org/show_bug.cgi?id=72645 Reviewed by Adam Barth. Source/WebCore: With the JS recursion level stored as a member of V8Proxy, it's tied to a frame. But this is incorrect, as there's no reason that a JS call stack need be restricted to a single frame (see my new test case for an example of code going across frames). In order to get the correct accounting of JS recursion level, per-Isolate is the right granularity (per dslomov), which is what this patch accomplishes. Test: storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html * bindings/v8/V8Binding.cpp: (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData): * bindings/v8/V8Binding.h: (WebCore::V8BindingPerIsolateData::recursionLevel): (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): (WebCore::V8RecursionScope::V8RecursionScope): (WebCore::V8RecursionScope::~V8RecursionScope): * bindings/v8/V8Proxy.cpp: (WebCore::incrementRecursionLevel): (WebCore::decrementRecursionLevel): (WebCore::recursionLevel): (WebCore::V8Proxy::V8Proxy): (WebCore::V8Proxy::runScript): (WebCore::V8Proxy::callFunction): (WebCore::V8Proxy::didLeaveScriptContext): * bindings/v8/V8Proxy.h: LayoutTests: Added tests to exercise new timing of call to V8Proxy::didLeaveScriptContext(). * storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt: Added. * storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/v8/V8Binding.cpp trunk/Source/WebCore/bindings/v8/V8Binding.h trunk/Source/WebCore/bindings/v8/V8Proxy.cpp trunk/Source/WebCore/bindings/v8/V8Proxy.h Added Paths trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html Diff Modified: trunk/LayoutTests/ChangeLog (100720 => 100721) --- trunk/LayoutTests/ChangeLog 2011-11-18 05:38:57 UTC (rev 100720) +++ trunk/LayoutTests/ChangeLog 2011-11-18 05:41:33 UTC (rev 100721) @@ -1,3 +1,15 @@ +2011-11-17 Adam Klein + +Move JS recursion counter from V8Proxy to V8BindingPerIsolateData +https://bugs.webkit.org/show_bug.cgi?id=72645 + +Reviewed by Adam Barth. + +Added tests to exercise new timing of call to V8Proxy::didLeaveScriptContext(). + +* storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt: Added. +* storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html: Added. + 2011-11-17 Peter Kasting [chromium] acid3.html didn't actually get rebaselined like I wanted. Added: trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt (0 => 100721) --- trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt (rev 0) +++ trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt 2011-11-18 05:41:33 UTC (rev 100721) @@ -0,0 +1,21 @@ +Test that pending transactions are not aborted during recursive JS calls until all JS (in all frames) is finished. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS 'webkitIndexedDB' in window is true +PASS webkitIndexedDB == null is false +webkitIndexedDB.open('transaction-abort-with-js-recursion-cross-frame') +db = event.target.result +db.setVersion('new version') +pendingTransaction = db.transaction(['objectStore'], webkitIDBTransaction.READ_WRITE) +Start re-entrant JS +transaction = db.transaction(['objectStore'], webkitIDBTransaction.READ_WRITE) +End re-entrant JS +store = pendingTransaction.objectStore('objectStore') +PASS store !== undefined is true +Pending transaction aborted +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html (0 => 100721) --- trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html (rev 0) +++ trunk/LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html 2011-11-18 05:41:33 UTC (rev 100721) @@ -0,0 +1,73 @@ + + + + + + + +