Index: AUTHORS
===================================================================
--- AUTHORS	(revision 58959)
+++ AUTHORS	(working copy)
@@ -40,3 +40,5 @@ Jonathan Atton (Watchwolf) <jonathan.atton@gmail.c
 Shinwoo Kim <kimcinoo@gmail.com>
 Govindaraju SM <govi.sm@samsung.com> <govism@gmail.com>
 Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
+Shilpa Singh (Shilpa) <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
+
Index: src/lib/elm_entry.c
===================================================================
--- src/lib/elm_entry.c	(revision 58959)
+++ src/lib/elm_entry.c	(working copy)
@@ -128,6 +128,7 @@ struct _Widget_Data
    Eina_Bool char_linewrap : 1;
    Eina_Bool single_line : 1;
    Eina_Bool password : 1;
+   Eina_Bool show_last_input : 1;
    Eina_Bool editable : 1;
    Eina_Bool selection_asked : 1;
    Eina_Bool have_selection : 1;
@@ -1064,7 +1065,11 @@ _getbase(Evas_Object *obj)
    if (!wd) return "base";
    if (wd->editable)
      {
-        if (wd->password) return "base-password";
+        if (wd->password)
+          {
+             if (wd->show_last_input) return "base-password-showlastinput";
+             else return "base-password";
+          }
         else
           {
              if (wd->single_line) return "base-single";
@@ -1078,7 +1083,11 @@ _getbase(Evas_Object *obj)
      }
    else
      {
-        if (wd->password) return "base-password";
+        if (wd->password)
+          {
+             if (wd->show_last_input) return "base-password-showlastinput";
+             else return "base-password";
+          }
         else
           {
              if (wd->single_line) return "base-single-noedit";
@@ -1714,6 +1723,8 @@ elm_entry_password_set(Evas_Object *obj, Eina_Bool
    wd->single_line = EINA_TRUE;
    wd->linewrap = EINA_FALSE;
    wd->char_linewrap = EINA_FALSE;
+   if (_elm_config->password_show_last_input)
+     wd->show_last_input = EINA_TRUE;
    _theme_hook(obj);
 }
 
Index: src/lib/elm_config.c
===================================================================
--- src/lib/elm_config.c	(revision 58959)
+++ src/lib/elm_config.c	(working copy)
@@ -600,6 +600,7 @@ _desc_init(void)
    ELM_CONFIG_VAL(D, T, longpress_timeout, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, effect_enable, T_UCHAR);
    ELM_CONFIG_VAL(D, T, desktop_entry, T_UCHAR);
+   ELM_CONFIG_VAL(D, T, password_show_last_input, T_UCHAR);
 #undef T
 #undef D
 #undef T_INT
@@ -1150,6 +1151,7 @@ _config_load(void)
    _elm_config->desktop_entry = EINA_FALSE;
 
    _elm_config->is_mirrored = EINA_FALSE; /* Read sys value in env_get() */
+   _elm_config->password_show_last_input = EINA_FALSE;
 }
 
 static const char *
@@ -1531,6 +1533,9 @@ _env_get(void)
    s = getenv("ELM_FINGER_SIZE");
    if (s) _elm_config->finger_size = atoi(s);
 
+   s = getenv("ELM_PASSWORD_SHOW_LAST_INPUT");
+   if (s) _elm_config->password_show_last_input = !!atoi(s);
+
    s = getenv("ELM_FPS");
    if (s) _elm_config->fps = atof(s);
    if (_elm_config->fps < 1.0) _elm_config->fps = 1.0;
Index: src/lib/elm_priv.h
===================================================================
--- src/lib/elm_priv.h	(revision 58959)
+++ src/lib/elm_priv.h	(working copy)
@@ -117,6 +117,7 @@ struct _Elm_Config
    unsigned char  desktop_entry;
 
    Eina_Bool      is_mirrored : 1;
+   Eina_Bool      password_show_last_input;
 };
 
 struct _Elm_Module
Index: data/themes/default.edc
===================================================================
--- data/themes/default.edc	(revision 58959)
+++ data/themes/default.edc	(working copy)
@@ -8864,6 +8864,68 @@ collections {
       }
    }
 
+   group { name: "elm/entry/base-password-showlastinput/default";
+      parts {
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 1;
+            scale: 1;
+            entry_mode: PASSWORD_SHOW_LAST_INPUT;
+            select_mode: EXPLICIT;
+            multiline: 0;
+            source: "elm/entry/selection/default"; // selection under
+            source4: "elm/entry/cursor/default"; // cursorover
+            source5: "elm/entry/anchor/default"; // anchor under
+            description { state: "default" 0.0;
+               text {
+                  style: "entry_single_textblock_style";
+                  repch: "*";
+                  min: 1 1;
+                  max: 0 1;
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               text {
+                  style: "entry_single_textblock_disabled_style";
+               }
+            }
+         }
+      }
+      programs {
+         program { name: "focus";
+            signal: "load";
+            source: "";
+            action: FOCUS_SET;
+            target: "elm.text";
+         }
+         program { name: "password_stop";
+            signal: "cursor,changed";
+            source: "elm.text";
+            action: ACTION_STOP;
+            target: "password_start";
+            after: "password_start";
+         }
+         program { name: "password_start";
+            in: 2.0 0.0;
+            action: HIDE_VISIBLE_PASSWORD;
+            target: "elm.text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
    group { name: "elm/entry/cursor/default";
       images {
          image: "cur_box.png" COMP;
