[UNIX] Plugin information fields are not interpreted as UTF-8
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 02:19:35 +0000 (02:19 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 02:19:35 +0000 (02:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=78635

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-02-20
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.

This is tested by a change to TestNetscapePlugin and expectations updates.

* plugins/efl/PluginPackageEfl.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.

Source/WebKit2:

Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.

Tools:

Interpret plugin metadata as UTF8 aways. This matches the behavior
of Chromium and the Totem plugin.

* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NPP_GetValue): Include a UTF-8 character in the description string for testing purposes.

LayoutTests:

Update expectations to match the fact that TestNetscapePlugin is now
returning a Unicode character in the description field.

* platform/chromium-linux/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/plugins/plugin-javascript-access-expected.txt:
* platform/qt/plugins/plugin-javascript-access-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@108281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/chromium-linux/plugins/plugin-javascript-access-expected.txt
LayoutTests/platform/gtk/plugins/plugin-javascript-access-expected.txt
LayoutTests/platform/qt/plugins/plugin-javascript-access-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/plugins/efl/PluginPackageEfl.cpp
Source/WebCore/plugins/gtk/PluginPackageGtk.cpp
Source/WebCore/plugins/qt/PluginPackageQt.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
Tools/ChangeLog
Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp

index 45c289b..7c283bf 100644 (file)
@@ -1,3 +1,17 @@
+2012-02-20  Martin Robinson  <mrobinson@igalia.com>
+
+        [UNIX] Plugin information fields are not interpreted as UTF-8
+        https://bugs.webkit.org/show_bug.cgi?id=78635
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Update expectations to match the fact that TestNetscapePlugin is now
+        returning a Unicode character in the description field.
+
+        * platform/chromium-linux/plugins/plugin-javascript-access-expected.txt:
+        * platform/gtk/plugins/plugin-javascript-access-expected.txt:
+        * platform/qt/plugins/plugin-javascript-access-expected.txt:
+
 2012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>
 
         Add a new test case for the Vibration API.
index b7bf22f..47c2040 100644 (file)
@@ -1,6 +1,6 @@
 Name: WebKit Test PlugIn
 
-Description: Simple Netscape plug-in that handles test content for WebKit
+Description: Simple Netscape® plug-in that handles test content for WebKit
 
 Filename: libTestNetscapePlugIn.so
 
index 29dbb14..a0e68e0 100644 (file)
@@ -1,6 +1,6 @@
 Name: WebKit Test PlugIn
 
-Description: Simple Netscape plug-in that handles test content for WebKit
+Description: Simple Netscape® plug-in that handles test content for WebKit
 
 Filename: libtestnetscapeplugin.so
 
index eb68f71..bbe665a 100644 (file)
@@ -1,6 +1,6 @@
 Name: WebKit Test PlugIn
 
-Description: Simple Netscape plug-in that handles test content for WebKit
+Description: Simple Netscape® plug-in that handles test content for WebKit
 
 Filename: libTestNetscapePlugIn.so
 
index 5175762..0aff60e 100644 (file)
@@ -1,5 +1,24 @@
 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
 
+        [UNIX] Plugin information fields are not interpreted as UTF-8
+        https://bugs.webkit.org/show_bug.cgi?id=78635
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Interpret plugin metadata as UTF8 aways. This matches the behavior
+        of Chromium and the Totem plugin.
+
+        This is tested by a change to TestNetscapePlugin and expectations updates.
+
+        * plugins/efl/PluginPackageEfl.cpp:
+        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
+        * plugins/gtk/PluginPackageGtk.cpp:
+        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
+        * plugins/qt/PluginPackageQt.cpp:
+        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
+
+2012-02-20  Martin Robinson  <mrobinson@igalia.com>
+
         [GTK] Web content oftens steals focus from other widgets
         https://bugs.webkit.org/show_bug.cgi?id=77791
 
index a6016d9..7b950d3 100644 (file)
@@ -69,16 +69,16 @@ bool PluginPackage::fetchInfo()
     NPError err = getValue(0, NPPVpluginNameString, static_cast<void*>(&buffer));
     if (err != NPERR_NO_ERROR)
         return false;
-    m_name = buffer;
+    m_name = String::fromUTF8(buffer);
 
     buffer = 0;
     err = getValue(0, NPPVpluginDescriptionString, static_cast<void*>(&buffer));
     if (err != NPERR_NO_ERROR)
         return false;
-    m_description = buffer;
+    m_description = String::fromUTF8(buffer);
     determineModuleVersionFromDescription();
 
-    String description = getMIMEDescription();
+    String description = String::fromUTF8(getMIMEDescription());
 
     Vector<String> types;
     description.split(UChar(';'), false, types);
index 21d3c9e..93abd32 100644 (file)
@@ -58,12 +58,12 @@ bool PluginPackage::fetchInfo()
     char* buffer = 0;
     NPError err = NPP_GetValue(0, NPPVpluginNameString, &buffer);
     if (err == NPERR_NO_ERROR)
-        m_name = buffer;
+        m_name = String::fromUTF8(buffer);
 
     buffer = 0;
     err = NPP_GetValue(0, NPPVpluginDescriptionString, &buffer);
     if (err == NPERR_NO_ERROR) {
-        m_description = buffer;
+        m_description = String::fromUTF8(buffer);
         determineModuleVersionFromDescription();
     }
 
index 72d83c4..4e9a717 100644 (file)
@@ -51,16 +51,15 @@ bool PluginPackage::fetchInfo()
     if (err != NPERR_NO_ERROR)
         return false;
 
-    m_name = buf;
+    m_name = String::fromUTF8(buf);
     err = gv(0, NPPVpluginDescriptionString, (void*) &buf);
     if (err != NPERR_NO_ERROR)
         return false;
 
-    m_description = buf;
+    m_description = String::fromUTF8(buf);
     determineModuleVersionFromDescription();
 
-    String mimeDescription = gm();
-    setMIMEDescription(mimeDescription);
+    setMIMEDescription(String::fromUTF8(gm()));
     m_infoIsFromCache = false;
 
     return true;
index 9061534..1ba2e9e 100644 (file)
@@ -1,3 +1,16 @@
+2012-02-20  Martin Robinson  <mrobinson@igalia.com>
+
+        [UNIX] Plugin information fields are not interpreted as UTF-8
+        https://bugs.webkit.org/show_bug.cgi?id=78635
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Interpret plugin metadata as UTF8 aways. This matches the behavior
+        of Chromium and the Totem plugin.
+
+        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
+
 2012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
index be04bff..866833c 100644 (file)
@@ -137,14 +137,14 @@ bool NetscapePluginModule::getPluginInfoForLoadedPlugin(PluginModuleInfo& plugin
     char* buffer;
     NPError error = NPP_GetValue(0, NPPVpluginNameString, &buffer);
     if (error == NPERR_NO_ERROR)
-        plugin.info.name = buffer;
+        plugin.info.name = String::fromUTF8(buffer);
 
     error = NPP_GetValue(0, NPPVpluginDescriptionString, &buffer);
     if (error == NPERR_NO_ERROR)
-        plugin.info.desc = buffer;
+        plugin.info.desc = String::fromUTF8(buffer);
 
-    const char* mimeDescription = NP_GetMIMEDescription();
-    if (!mimeDescription)
+    String mimeDescription = String::fromUTF8(NP_GetMIMEDescription());
+    if (mimeDescription.isNull())
         return false;
 
     setMIMEDescription(mimeDescription, plugin);
index f703ba6..ce5fcbc 100644 (file)
@@ -1,5 +1,18 @@
 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
 
+        [UNIX] Plugin information fields are not interpreted as UTF-8
+        https://bugs.webkit.org/show_bug.cgi?id=78635
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Interpret plugin metadata as UTF8 aways. This matches the behavior
+        of Chromium and the Totem plugin.
+
+        * DumpRenderTree/TestNetscapePlugIn/main.cpp:
+        (NPP_GetValue): Include a UTF-8 character in the description string for testing purposes.
+
+2012-02-20  Martin Robinson  <mrobinson@igalia.com>
+
         [GTK] [Qt] Move the unix forwarding headers for TestNetscapePlugin to the TestNetscapePlugin directory
         https://bugs.webkit.org/show_bug.cgi?id=78935
 
index c07bb27..81fd33c 100644 (file)
@@ -773,7 +773,7 @@ NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)
         return NPERR_NO_ERROR;
     }
     if (variable == NPPVpluginDescriptionString) {
-        *((char **)value) = const_cast<char*>("Simple Netscape plug-in that handles test content for WebKit");
+        *((char **)value) = const_cast<char*>("Simple Netscape® plug-in that handles test content for WebKit");
         return NPERR_NO_ERROR;
     }
     if (variable == NPPVpluginNeedsXEmbed) {