[gnome-shell] shell_global_set_property_mutable: Remove



commit 26aa4333a55bbc06ae8abaaa41f2195027b09e06
Author: Colin Walters <walters verbum org>
Date:   Tue Jun 14 16:06:31 2011 -0400

    shell_global_set_property_mutable: Remove
    
    All introspection properties are now writable;
    See https://bugzilla.gnome.org/show_bug.cgi?id=646633
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652597

 js/ui/environment.js |    6 ----
 src/shell-global.c   |   67 --------------------------------------------------
 src/shell-global.h   |    6 ----
 3 files changed, 0 insertions(+), 79 deletions(-)
---
diff --git a/js/ui/environment.js b/js/ui/environment.js
index 93c6b39..d499219 100644
--- a/js/ui/environment.js
+++ b/js/ui/environment.js
@@ -70,12 +70,6 @@ function init() {
             return base;
     };
 
-    // Now close the back door to prevent extensions from trying to
-    // abuse it. We can't actually delete it since
-    // Shell.Global.prototype itself is read-only.
-    global.set_property_mutable('imports.gi.Shell.Global.prototype', 'set_property_mutable', true);
-    Shell.Global.prototype.set_property_mutable = undefined;
-
     // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
     Date.prototype.toLocaleFormat = function(format) {
         return Shell.util_format_date(format, this.getTime());
diff --git a/src/shell-global.c b/src/shell-global.c
index 84b35db..ceb3078 100644
--- a/src/shell-global.c
+++ b/src/shell-global.c
@@ -1482,73 +1482,6 @@ shell_global_create_app_launch_context (ShellGlobal *global)
   return (GAppLaunchContext *)context;
 }
 
-/**
- * shell_global_set_property_mutable:
- * @global: the #ShellGlobal
- * @object: the "path" to a JS object, starting from the root object.
- *  (Eg, "global.stage" or "imports.gi.Gtk.Window.prototype")
- * @property: a property on @object
- * @mutable: %TRUE or %FALSE
- *
- * If @mutable is %TRUE, this clears the "permanent" and "readonly" flags
- * on @property of @object. If @mutable is %FALSE, it sets them.
- *
- * You can use this to make it possible to modify properties that
- * would otherwise be read-only from JavaScript.
- *
- * Return value: success or failure.
- */
-gboolean
-shell_global_set_property_mutable (ShellGlobal *global,
-                                   const char  *object,
-                                   const char  *property,
-                                   gboolean     mutable)
-{
-  JSContext *context = gjs_context_get_native_context (global->js_context);
-  char **parts;
-  JSObject *obj;
-  jsval val = JSVAL_VOID;
-  int i;
-  jsuint attrs;
-  JSBool found;
-
-  JS_BeginRequest (context);
-  JS_AddValueRoot (context, &val);
-
-  parts = g_strsplit (object, ".", -1);
-  obj = JS_GetGlobalObject (context);
-  for (i = 0; parts[i]; i++)
-    {
-      if (!JS_GetProperty (context, obj, parts[i], &val))
-        {
-          g_strfreev (parts);
-          goto out_error;
-        }
-      obj = JSVAL_TO_OBJECT (val);
-    }
-  g_strfreev (parts);
-
-  if (!JS_GetPropertyAttributes (context, obj, property, &attrs, &found) || !found)
-    goto out_error;
-
-  if (mutable)
-    attrs &= ~(JSPROP_PERMANENT | JSPROP_READONLY);
-  else
-    attrs |= (JSPROP_PERMANENT | JSPROP_READONLY);
-
-  if (!JS_SetPropertyAttributes (context, obj, property, attrs, &found))
-    goto out_error;
-
-  JS_RemoveValueRoot (context, &val);
-  JS_EndRequest (context);
-  return TRUE;
- out_error:
-  gjs_log_exception (context, NULL);
-  JS_RemoveValueRoot (context, &val);
-  JS_EndRequest (context);
-  return FALSE;
-}
-
 typedef struct
 {
   ShellLeisureFunction func;
diff --git a/src/shell-global.h b/src/shell-global.h
index d6f4c33..7c1c7bb 100644
--- a/src/shell-global.h
+++ b/src/shell-global.h
@@ -105,12 +105,6 @@ void     shell_global_get_memory_info      (ShellGlobal     *global,
                                             ShellMemoryInfo *meminfo);
 
 
-gboolean shell_global_set_property_mutable (ShellGlobal *global,
-                                            const char  *object,
-                                            const char  *property,
-                                            gboolean     mutable);
-
-
 /* Run-at-leisure API */
 void shell_global_begin_work     (ShellGlobal          *global);
 void shell_global_end_work       (ShellGlobal          *global);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]