[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

tonikitoo at webkit.org tonikitoo at webkit.org
Wed Dec 22 15:18:45 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 525d4c701e93779aa62aa67873e12871a9123a5a
Author: tonikitoo at webkit.org <tonikitoo at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Oct 30 05:38:42 2010 +0000

    Needs a "LinuxEditingBehavior", perhaps with a better name
    https://bugs.webkit.org/show_bug.cgi?id=36627
    
    Reviewed by Ojan Vafai.
    Patch by Antonio Gomes <agomes at rim.com>
    
    WebCore:
    
    Added EditingUnixBehavior editing type aim to cover the cases when
    neither Mac or Windows behaviors are appropriated.
    
    It was decided to name it Unix not Linux.
    
    No new tests. The current editing tests that involve platform specific
    bahaviors are coded so that they go through all editing behavior
    types possible. There will be a follow up bug where all of them will
    be updated to include the new editing behavior ("unix").
    
    * editing/EditingBehaviorTypes.h:
    * page/Settings.cpp:
    (WebCore::editingBehaviorTypeForPlatform):
    (WebCore::Settings::Settings):
    
    WebKit/chromium:
    
    Added the corresponding Chromium setting to WebCore's EditingUnixBehavior: EditingBehaviorUnix.
    
    * public/WebSettings.h:
    * src/AssertMatchingEnums.cpp:
    
    WebKit/gtk:
    
    Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WEBKIT_EDITING_BEHAVIOR_UNIX.
    
    * webkit/webkitwebsettings.cpp:
    (webkit_web_settings_class_init):
    * webkit/webkitwebsettings.h:
    
    WebKit/mac:
    
    Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
    
    * WebView/WebFrame.mm:
    (core):
    * WebView/WebPreferencesPrivate.h:
    
    WebKit/qt:
    
    Adding support to Qt's DRTSupport class to test the newly introduced Unix editing behavior.
    
    * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
    (DumpRenderTreeSupportQt::setEditingBehavior):
    
    WebKit/win:
    
    Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
    
    * Interfaces/IWebPreferences.idl:
    
    WebKitTools:
    
    Adding support to Mac's, GTK+'s, Windows' and Chromium's LayoutTestController class to test the newly introduced Unix editing behavior.
    
    * DumpRenderTree/chromium/LayoutTestController.cpp:
    (LayoutTestController::setEditingBehavior):
    * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
    (LayoutTestController::setEditingBehavior):
    * DumpRenderTree/mac/LayoutTestControllerMac.mm:
    (LayoutTestController::setEditingBehavior):
    * DumpRenderTree/win/LayoutTestControllerWin.cpp:
    (LayoutTestController::setEditingBehavior):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ad4c666..8a4c568 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Added EditingUnixBehavior editing type aim to cover the cases when
+        neither Mac or Windows behaviors are appropriated.
+
+        It was decided to name it Unix not Linux.
+
+        No new tests. The current editing tests that involve platform specific
+        bahaviors are coded so that they go through all editing behavior
+        types possible. There will be a follow up bug where all of them will
+        be updated to include the new editing behavior ("unix").
+
+        * editing/EditingBehaviorTypes.h:
+        * page/Settings.cpp:
+        (WebCore::editingBehaviorTypeForPlatform):
+        (WebCore::Settings::Settings):
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/editing/EditingBehaviorTypes.h b/WebCore/editing/EditingBehaviorTypes.h
index 26ba18e..11345da 100644
--- a/WebCore/editing/EditingBehaviorTypes.h
+++ b/WebCore/editing/EditingBehaviorTypes.h
@@ -38,7 +38,8 @@ namespace WebCore {
 // if possible in the future.
 enum EditingBehaviorType {
     EditingMacBehavior,
-    EditingWindowsBehavior
+    EditingWindowsBehavior,
+    EditingUnixBehavior
 };
 
 } // WebCore namespace
diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
index 991ec3c..63633bf 100644
--- a/WebCore/page/Settings.cpp
+++ b/WebCore/page/Settings.cpp
@@ -64,6 +64,27 @@ bool Settings::gShouldPaintNativeControls = true;
 bool Settings::gShouldUseHighResolutionTimers = true;
 #endif
 
+// NOTEs
+//  1) EditingMacBehavior comprises Tiger, Leopard, SnowLeopard and iOS builds, as well QtWebKit and Chromium when built on Mac;
+//  2) EditingWindowsBehavior comprises Win32 and WinCE builds, as well as QtWebKit and Chromium when built on Windows;
+//  3) EditingUnixBehavior comprises all unix-based systems, but Darwin/MacOS (and then abusing the terminology);
+// 99) MacEditingBehavior is used a fallback.
+static EditingBehaviorType editingBehaviorTypeForPlatform()
+{
+    return
+#if OS(DARWIN)
+    EditingMacBehavior
+#elif OS(WINDOWS)
+    EditingWindowsBehavior
+#elif OS(UNIX)
+    EditingUnixBehavior
+#else
+    // Fallback
+    EditingMacBehavior
+#endif
+    ;
+}
+
 Settings::Settings(Page* page)
     : m_page(page)
     , m_editableLinkBehavior(EditableLinkDefaultBehavior)
@@ -120,14 +141,7 @@ Settings::Settings(Page* page)
     , m_enforceCSSMIMETypeInNoQuirksMode(true)
     , m_usesEncodingDetector(false)
     , m_allowScriptsToCloseWindows(false)
-    , m_editingBehaviorType(
-#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN))
-        // (PLATFORM(MAC) is always false in Chromium, hence the extra condition.)
-        EditingMacBehavior
-#else
-        EditingWindowsBehavior
-#endif
-        )
+    , m_editingBehaviorType(editingBehaviorTypeForPlatform())
     // FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
     // they can't use by. Leaving enabled for now to not change existing behavior.
     , m_downloadableBinaryFontsEnabled(true)
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index c7a2fbc..902688c 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Added the corresponding Chromium setting to WebCore's EditingUnixBehavior: EditingBehaviorUnix.
+
+        * public/WebSettings.h:
+        * src/AssertMatchingEnums.cpp:
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index 6a37e08..469db05 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -45,7 +45,8 @@ class WebSettings {
 public:
     enum EditingBehavior {
         EditingBehaviorMac,
-        EditingBehaviorWin
+        EditingBehaviorWin,
+        EditingBehaviorUnix
     };
 
     virtual void setStandardFontFamily(const WebString&) = 0;
diff --git a/WebKit/chromium/src/AssertMatchingEnums.cpp b/WebKit/chromium/src/AssertMatchingEnums.cpp
index c6ab85a..3fffd60 100644
--- a/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -344,6 +344,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebScrollbar::ScrollByPixel, ScrollByPixel);
 
 COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorMac, EditingMacBehavior);
 COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorWin, EditingWindowsBehavior);
+COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorUnix, EditingUnixBehavior);
 
 COMPILE_ASSERT_MATCHING_ENUM(WebTextAffinityUpstream, UPSTREAM);
 COMPILE_ASSERT_MATCHING_ENUM(WebTextAffinityDownstream, DOWNSTREAM);
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 0b0ec3e..23e3527 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,16 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WEBKIT_EDITING_BEHAVIOR_UNIX.
+
+        * webkit/webkitwebsettings.cpp:
+        (webkit_web_settings_class_init):
+        * webkit/webkitwebsettings.h:
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp
index cd59bdb..2661b82 100644
--- a/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -689,6 +689,7 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
 
     COMPILE_ASSERT(static_cast<int>(WEBKIT_EDITING_BEHAVIOR_MAC) == static_cast<int>(WebCore::EditingMacBehavior), editing_behavior_type_mac_match);
     COMPILE_ASSERT(static_cast<int>(WEBKIT_EDITING_BEHAVIOR_WINDOWS) == static_cast<int>(WebCore::EditingWindowsBehavior), editing_behavior_type_windows_match);
+    COMPILE_ASSERT(static_cast<int>(WEBKIT_EDITING_BEHAVIOR_UNIX) == static_cast<int>(WebCore::EditingUnixBehavior), editing_behavior_type_unix_match);
 
     /**
     * WebKitWebSettings:editing-behavior
@@ -713,7 +714,7 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
                                                       _("Editing behavior"),
                                                       _("The behavior mode to use in editing mode"),
                                                       WEBKIT_TYPE_EDITING_BEHAVIOR,
-                                                      WEBKIT_EDITING_BEHAVIOR_MAC,
+                                                      WEBKIT_EDITING_BEHAVIOR_UNIX,
                                                       flags));
 
     /**
diff --git a/WebKit/gtk/webkit/webkitwebsettings.h b/WebKit/gtk/webkit/webkitwebsettings.h
index d8dafd9..eee0d04 100644
--- a/WebKit/gtk/webkit/webkitwebsettings.h
+++ b/WebKit/gtk/webkit/webkitwebsettings.h
@@ -36,7 +36,8 @@ G_BEGIN_DECLS
 
 typedef enum {
     WEBKIT_EDITING_BEHAVIOR_MAC,
-    WEBKIT_EDITING_BEHAVIOR_WINDOWS
+    WEBKIT_EDITING_BEHAVIOR_WINDOWS,
+    WEBKIT_EDITING_BEHAVIOR_UNIX
 } WebKitEditingBehavior;
 
 typedef struct _WebKitWebSettingsPrivate WebKitWebSettingsPrivate;
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 0fe97a6..3133bd3 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,16 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
+
+        * WebView/WebFrame.mm:
+        (core):
+        * WebView/WebPreferencesPrivate.h:
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm
index 66a6454..7e0bc38 100644
--- a/WebKit/mac/WebView/WebFrame.mm
+++ b/WebKit/mac/WebView/WebFrame.mm
@@ -203,6 +203,8 @@ WebCore::EditingBehaviorType core(WebKitEditingBehavior behavior)
             return WebCore::EditingMacBehavior;
         case WebKitEditingWinBehavior:
             return WebCore::EditingWindowsBehavior;
+        case WebKitEditingUnixBehavior:
+            return WebCore::EditingUnixBehavior;
     }
     ASSERT_NOT_REACHED();
     return WebCore::EditingMacBehavior;
diff --git a/WebKit/mac/WebView/WebPreferencesPrivate.h b/WebKit/mac/WebView/WebPreferencesPrivate.h
index 2ec08e8..2ee07d7 100644
--- a/WebKit/mac/WebView/WebPreferencesPrivate.h
+++ b/WebKit/mac/WebView/WebPreferencesPrivate.h
@@ -45,7 +45,8 @@ typedef enum {
 
 typedef enum {
     WebKitEditingMacBehavior,
-    WebKitEditingWinBehavior
+    WebKitEditingWinBehavior,
+    WebKitEditingUnixBehavior
 } WebKitEditingBehavior;
 
 extern NSString *WebPreferencesChangedNotification;
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index d1f8d29..b12997f 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Adding support to Qt's DRTSupport class to test the newly introduced Unix editing behavior.
+
+        * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+        (DumpRenderTreeSupportQt::setEditingBehavior):
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 4309e5c..6a1d506 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -544,6 +544,8 @@ void DumpRenderTreeSupportQt::setEditingBehavior(QWebPage* page, const QString&
         coreEditingBehavior = EditingWindowsBehavior;
     else if (editingBehavior == "mac")
         coreEditingBehavior = EditingMacBehavior;
+    else if (editingBehavior == "unix")
+        coreEditingBehavior = EditingUnixBehavior;
     else {
         ASSERT_NOT_REACHED();
         return;
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 25753e2..52a5f37 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
+
+        * Interfaces/IWebPreferences.idl:
+
 2010-10-29  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/win/Interfaces/IWebPreferences.idl b/WebKit/win/Interfaces/IWebPreferences.idl
index 4fb3de8..dd7f282 100644
--- a/WebKit/win/Interfaces/IWebPreferences.idl
+++ b/WebKit/win/Interfaces/IWebPreferences.idl
@@ -49,7 +49,8 @@ typedef enum WebKitEditableLinkBehavior {
 
 typedef enum WebKitEditingBehavior {
     WebKitEditingMacBehavior = 0,
-    WebKitEditingWinBehavior
+    WebKitEditingWinBehavior,
+    WebKitEditingUnixBehavior
 } WebKitEditingBehavior;
 
 
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 1c7d1bf..6259145 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-28  Antonio Gomes  <agomes at rim.com>
+
+        Reviewed by Ojan Vafai.
+
+        Needs a "LinuxEditingBehavior", perhaps with a better name
+        https://bugs.webkit.org/show_bug.cgi?id=36627
+
+        Adding support to Mac's, GTK+'s, Windows' and Chromium's LayoutTestController class to test the newly introduced Unix editing behavior.
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::setEditingBehavior):
+        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+        (LayoutTestController::setEditingBehavior):
+        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+        (LayoutTestController::setEditingBehavior):
+        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+        (LayoutTestController::setEditingBehavior):
+
 2010-10-29  Andreas Kling  <kling at webkit.org>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
index d713b04..68ba09d 100644
--- a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
@@ -1486,6 +1486,9 @@ void LayoutTestController::setEditingBehavior(const CppArgumentList& arguments,
     } else if (key == "win") {
         m_shell->preferences()->editingBehavior = WebSettings::EditingBehaviorWin;
         m_shell->applyPreferences();
+    } else if (key == "unix") {
+        m_shell->preferences()->editingBehavior = WebSettings::EditingBehaviorUnix;
+        m_shell->applyPreferences();
     } else
         logErrorToConsole("Passed invalid editing behavior. Should be 'mac' or 'win'.");
 }
diff --git a/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp b/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
index 688b3f8..ab70a3e 100644
--- a/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
@@ -813,8 +813,10 @@ void LayoutTestController::setEditingBehavior(const char* editingBehavior)
 
     if (!strcmp(editingBehavior, "win"))
         g_object_set(G_OBJECT(settings), "editing-behavior", WEBKIT_EDITING_BEHAVIOR_WINDOWS, NULL);
-    if (!strcmp(editingBehavior, "mac"))
+    else if (!strcmp(editingBehavior, "mac"))
         g_object_set(G_OBJECT(settings), "editing-behavior", WEBKIT_EDITING_BEHAVIOR_MAC, NULL);
+    else if (!strcmp(editingBehavior, "unix"))
+        g_object_set(G_OBJECT(settings), "editing-behavior", WEBKIT_EDITING_BEHAVIOR_UNIX, NULL);
 }
 
 void LayoutTestController::abortModal()
diff --git a/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm b/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
index 150b6f9..431d4e9 100644
--- a/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
@@ -935,8 +935,10 @@ void LayoutTestController::setEditingBehavior(const char* editingBehavior)
     NSString* editingBehaviorNS = [[NSString alloc] initWithUTF8String:editingBehavior];
     if ([editingBehaviorNS isEqualToString:@"mac"])
         [[WebPreferences standardPreferences] setEditingBehavior:WebKitEditingMacBehavior];
-    if ([editingBehaviorNS isEqualToString:@"win"])
+    else if ([editingBehaviorNS isEqualToString:@"win"])
         [[WebPreferences standardPreferences] setEditingBehavior:WebKitEditingWinBehavior];
+    else if ([editingBehaviorNS isEqualToString:@"unix"])
+        [[WebPreferences standardPreferences] setEditingBehavior:WebKitEditingUnixBehavior];
     [editingBehaviorNS release];
 }
 
diff --git a/WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp b/WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp
index d7c41e0..386f118 100644
--- a/WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp
+++ b/WebKitTools/DumpRenderTree/win/LayoutTestControllerWin.cpp
@@ -1383,8 +1383,10 @@ void LayoutTestController::setEditingBehavior(const char* editingBehavior)
     string behaviorString(editingBehavior);
     if (behaviorString == "mac")
         preferences->setEditingBehavior(WebKitEditingMacBehavior);
-    if (behaviorString == "win")
+    else if (behaviorString == "win")
         preferences->setEditingBehavior(WebKitEditingWinBehavior);
+    else if (behaviorString == "unix")
+        preferences->setEditingBehavior(WebKitEditingUnixBehavior);
 }
 
 void LayoutTestController::abortModal()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list