[gnome-shell] shell_global_set_property_mutable: Remove
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] shell_global_set_property_mutable: Remove
- Date: Mon, 20 Jun 2011 21:58:39 +0000 (UTC)
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]