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

ddkilzer at apple.com ddkilzer at apple.com
Wed Dec 22 16:16:18 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit e82106be149cf485b3bcb1728c407a23cf36e406
Author: ddkilzer at apple.com <ddkilzer at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Nov 20 18:54:43 2010 +0000

    <http://webkit.org/b/49848> Make it possible to display the last character of a secure text field unobscured
    
    Reviewed by Darin Adler.
    
    * JavaScriptCore.exp:
    * wtf/text/StringImpl.cpp:
    (WTF::StringImpl::secure): Added argument that controls whether
    the last character is obscured or not.  Implemented behavior.
    * wtf/text/StringImpl.h:
    (WTF::StringImpl::LastCharacterBehavior): Added enum.
    (WTF::StringImpl::secure): Updated method signature.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 1022d35..80d0edb 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-11-20  David Kilzer  <ddkilzer at apple.com>
+
+        <http://webkit.org/b/49848> Make it possible to display the last character of a secure text field unobscured
+
+        Reviewed by Darin Adler.
+
+        * JavaScriptCore.exp:
+        * wtf/text/StringImpl.cpp:
+        (WTF::StringImpl::secure): Added argument that controls whether
+        the last character is obscured or not.  Implemented behavior.
+        * wtf/text/StringImpl.h:
+        (WTF::StringImpl::LastCharacterBehavior): Added enum.
+        (WTF::StringImpl::secure): Updated method signature.
+
 2010-11-19  William Chan  <willchan at chromium.org>
 
         Reviewed by David Levin.
diff --git a/JavaScriptCore/JavaScriptCore.exp b/JavaScriptCore/JavaScriptCore.exp
index 3715a43..ac5d0d7 100644
--- a/JavaScriptCore/JavaScriptCore.exp
+++ b/JavaScriptCore/JavaScriptCore.exp
@@ -350,7 +350,7 @@ __ZN3WTF10StringImpl5upperEv
 __ZN3WTF10StringImpl6createEPKc
 __ZN3WTF10StringImpl6createEPKcj
 __ZN3WTF10StringImpl6createEPKtj
-__ZN3WTF10StringImpl6secureEt
+__ZN3WTF10StringImpl6secureEtNS0_21LastCharacterBehaviorE
 __ZN3WTF10StringImpl7replaceEPS0_S1_
 __ZN3WTF10StringImpl7replaceEjjPS0_
 __ZN3WTF10StringImpl7replaceEtPS0_
diff --git a/JavaScriptCore/wtf/text/StringImpl.cpp b/JavaScriptCore/wtf/text/StringImpl.cpp
index 1c4de66..c83ec42 100644
--- a/JavaScriptCore/wtf/text/StringImpl.cpp
+++ b/JavaScriptCore/wtf/text/StringImpl.cpp
@@ -270,12 +270,17 @@ PassRefPtr<StringImpl> StringImpl::upper()
     return newImpl.release();
 }
 
-PassRefPtr<StringImpl> StringImpl::secure(UChar character)
+PassRefPtr<StringImpl> StringImpl::secure(UChar character, LastCharacterBehavior behavior)
 {
+    if (!m_length)
+        return this;
+
     UChar* data;
     RefPtr<StringImpl> newImpl = createUninitialized(m_length, data);
-    for (unsigned i = 0; i < m_length; ++i)
+    unsigned lastCharacterIndex = m_length - 1;
+    for (unsigned i = 0; i < lastCharacterIndex; ++i)
         data[i] = character;
+    data[lastCharacterIndex] = (behavior == ObscureLastCharacter) ? character : m_data[lastCharacterIndex];
     return newImpl.release();
 }
 
diff --git a/JavaScriptCore/wtf/text/StringImpl.h b/JavaScriptCore/wtf/text/StringImpl.h
index 8f0af52..99d0e9d 100644
--- a/JavaScriptCore/wtf/text/StringImpl.h
+++ b/JavaScriptCore/wtf/text/StringImpl.h
@@ -284,7 +284,10 @@ public:
 
     PassRefPtr<StringImpl> lower();
     PassRefPtr<StringImpl> upper();
-    PassRefPtr<StringImpl> secure(UChar aChar);
+
+    enum LastCharacterBehavior { ObscureLastCharacter, DisplayLastCharacter };
+
+    PassRefPtr<StringImpl> secure(UChar, LastCharacterBehavior = ObscureLastCharacter);
     PassRefPtr<StringImpl> foldCase();
 
     PassRefPtr<StringImpl> stripWhiteSpace();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list