[webkit-changes] [100730] trunk/LayoutTests

2011-11-17 Thread loki
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

2011-11-17 Thread loki
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

2011-11-17 Thread bashi
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

2011-11-17 Thread commit-queue
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

2011-11-17 Thread commit-queue
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

2011-11-17 Thread mrobinson
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

2011-11-17 Thread commit-queue
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

2011-11-17 Thread loislo
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

2011-11-17 Thread commit-queue
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

2011-11-17 Thread adamk
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 @@
+
+
+
+
+

+
+ +