{ "id": "83812", "key": "AC-2821", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2011-12-19T16:41:50.000+0000", "created": "2011-12-14T12:33:32.000+0000", "labels": [ "android", "v8" ], "versions": [], "issuelinks": [ { "id": "14293", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "83911", "key": "TIMOB-6684", "fields": { "summary": "Android: Move Object.prototype.extend to the \"kroll\" namespace", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "updated": "2016-03-08T07:47:45.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "We are using the stripped down version of qooxdoo (http://www.qooxdoo.org) called qx-oo ( http://demo.qooxdoo.org/current/framework/qx-oo-noopt.js ).\r\n\r\nThe qooxdoo class definition mechanism looks for the existence of an attribute called \"extend\" within the class definition arguments which are defined as an object with attributes.\r\n\r\nqooxdoo decides on the absence or existence of the attribute \"extend\" if a class has only statics or if the class is used for instantiation.\r\n\r\nBecause of the defined \"extend\" attribute/function/method in Object.prototype.extend this mechanism breaks.\r\n\r\nThe attempt to remove Object.prototype.extend via delete is ignored.\r\n\r\nTests with standalone V8 on centos 6 showed that Object.prototype.extend is not defined there. So it is unique to the titanium android V8 derivate.\r\n\r\nOn iOS qooxdoo is usable without any problems.\r\n", "attachment": [], "flagged": false, "summary": "V8 runtime defines Object.prototype.extend which breaks compatibility to qooxdoo javascript framework", "creator": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium Studio, build: 1.0.8.201112140734\r\nTitanium SDK 1.8.0.1 (2011/12/14 02:15 f093021) using V8 runtime\r\nAndroid Emulator API Android 2.3.3", "comment": { "comments": [ { "id": "176218", "author": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Evaluating the code\r\n\r\n Object.prototype.extend.toString();\r\n\r\ngives the following source code:\r\n\r\n{code:javascript}\r\n function (other) {\r\n if (!other) return;\r\n\t\r\n for (var name in other) {\r\n if (other.hasOwnProperty(name)) {\r\n this[name] = other[name];\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n{code}\r\n\r\nWhere does it come from?", "updateAuthor": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-15T00:57:31.000+0000", "updated": "2011-12-15T00:59:09.000+0000" }, { "id": "176219", "author": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Q&A discussion on this topic:\r\n\r\n[http://developer.appcelerator.com/question/129475/v8-runtime-defines-objectprototypeextend-which-may-break-compatibility-to-javascript-framework]", "updateAuthor": { "name": "level420", "key": "level420", "displayName": "Dietrich Streifert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-15T01:34:04.000+0000", "updated": "2011-12-15T01:34:04.000+0000" }, { "id": "281040", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "DUP issue. ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2013-11-24T22:30:07.000+0000", "updated": "2013-11-24T22:30:07.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }