hi cassie

is this line OK?
+++ incubator/shindig/trunk/features/caja/feature.xml Thu Jul 17 12:37:30
2008
+    <script
src="res:///com/google/caja/plugin/domita-minified.js"></script>


ropu

On Thu, Jul 17, 2008 at 4:37 PM, <[EMAIL PROTECTED]> wrote:

> Author: doll
> Date: Thu Jul 17 12:37:30 2008
> New Revision: 677699
>
> URL: http://svn.apache.org/viewvc?rev=677699&view=rev
> Log:
> SHINDIG-436
> Patch from Mike Samuel. The caja js is now pulled directly from the caja
> maven repo. The java integration has been updated and the caja integration
> now works.
>
> If you uncomment the caja dependency in opensocial-current/feature.xml and
> toggle the "use caja" box in the sample container you should be able to see
> this work on the java side.
>
>
> Removed:
>    incubator/shindig/trunk/features/caja/caja.js
>    incubator/shindig/trunk/features/caja/domita.js
>    incubator/shindig/trunk/features/caja/html-sanitizer.js
>    incubator/shindig/trunk/features/caja/html4-defs.js
>    incubator/shindig/trunk/features/caja/log-to-console.js
>    incubator/shindig/trunk/features/caja/permissive.js
>    incubator/shindig/trunk/features/caja/unicode.js
> Modified:
>    incubator/shindig/trunk/features/caja/feature.xml
>    incubator/shindig/trunk/features/opensocial-current/feature.xml
>    incubator/shindig/trunk/features/opensocial-reference/container.js
>    incubator/shindig/trunk/features/pom.xml
>    incubator/shindig/trunk/java/gadgets/pom.xml
>
>  
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentFilter.java
>    incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.html
>    incubator/shindig/trunk/pom.xml
>
> Modified: incubator/shindig/trunk/features/caja/feature.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/caja/feature.xml?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/features/caja/feature.xml (original)
> +++ incubator/shindig/trunk/features/caja/feature.xml Thu Jul 17 12:37:30
> 2008
> @@ -16,18 +16,11 @@
>  KIND, either express or implied. See the License for the
>  specific language governing permissions and limitations under the License.
>
> -  TODO(doll): The caja.js file referenced here should come from maven
> -  or something. We should not have our own copy of it.
> +The javascript referenced here should be found in the caja jar.
>  -->
>  <feature>
>   <name>caja</name>
>   <gadget>
> -    <script src="caja.js"></script>
> -    <script src="html4-defs.js"></script>
> -    <script src="html-sanitizer.js"></script>
> -    <script src="unicode.js"></script>
> -    <script src="domita.js"></script>
> -    <script src="log-to-console.js"></script>
> -    <script src="permissive.js"></script>
> +    <script
> src="res:///com/google/caja/plugin/domita-minified.js"></script>
>   </gadget>
>  </feature>
>
> Modified: incubator/shindig/trunk/features/opensocial-current/feature.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-current/feature.xml?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/features/opensocial-current/feature.xml
> (original)
> +++ incubator/shindig/trunk/features/opensocial-current/feature.xml Thu Jul
> 17 12:37:30 2008
> @@ -20,6 +20,9 @@
>  <feature>
>   <name>opensocial-0.8</name>
>   <dependency>opensocial-reference</dependency>
> +  <!-- <dependency>caja</dependency> -->
> +  <!-- Must include the "caja" feature to display samplecontainer -->
> +  <!-- gadgets when "use caja" is checked -->
>   <gadget>
>     <script src="jsonperson.js"></script>
>     <script src="jsonactivity.js"></script>
> @@ -57,7 +60,7 @@
>             opensocial.Container.setContainer(new ShindigContainer());
>           }
>
> -          if (configParams.enableCaja) {
> +          if (window['caja']) {
>             opensocial.Container.get().enableCaja();
>           }
>       });
>
> Modified:
> incubator/shindig/trunk/features/opensocial-reference/container.js
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-reference/container.js?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/features/opensocial-reference/container.js
> (original)
> +++ incubator/shindig/trunk/features/opensocial-reference/container.js Thu
> Jul 17 12:37:30 2008
> @@ -514,6 +514,9 @@
>     // By default, only allow references to anchors.
>     if (/^#/.test(uri)) {
>       return '#' +
> encodeURIComponent(decodeURIComponent(uri.substring(1)));
> +    // and files on the same host
> +    } else if (/^\/(?:[^\/][^?#]*)?$/) {
> +      return encodeURI(decodeURI(uri));
>     }
>     // This callback can be replaced with one that passes the URL through
>     // a proxy that checks the mimetype.
> @@ -535,77 +538,548 @@
>   caja = window["caja"];
>   attachDocumentStub = window["attachDocumentStub"];
>
> -  var outers = caja.copy(___.sharedOuters);
> +  var imports = caja.copy(___.sharedImports);
> +  ___.getNewModuleHandler().setImports(imports);
>
> -  // TODO(doll): We need to add caja allows for the gadgets namespace so
> that
> -  // this works properly. It does not belong in gadgets.
> -  var igOnload = window["_IG_RegisterOnloadHandler"];
> -  if (igOnload) {
> -    outers._IG_RegisterOnloadHandler = ___.simpleFunc(igOnload);
> +  attachDocumentStub('-g___', uriCallback, imports);
> +  var gadgetRoot = document.createElement('div');
> +  gadgetRoot.className = 'g___';
> +  imports.htmlEmitter___ = new HtmlEmitter(gadgetRoot);
> +  document.body.appendChild(gadgetRoot);
> +
> +  // Add the opensocial APIs and mark them callable and readable.
> +  imports.gadgets = gadgets;
> +  imports.opensocial = opensocial;
> +  // The below described the opensocial reference APIs.
> +  // A prefix of "c_" specifies a class, "m_" a method, "f_" a field,
> +  // and "s_" a static member.
> +  // Derived from
> http://code.google.com/apis/opensocial/docs/0.8/reference/ .
> +  var opensocialSchema = {
> +    c_gadgets: {
> +      c_MiniMessage: {
> +        m_createDismissibleMessage: 0,
> +        m_createStaticMessage: 0,
> +        m_createTimerMessage: 0,
> +        m_dismissMessage: 0
> +      },
> +      c_Prefs: {
> +        m_getArray: 0,
> +        m_getBool: 0,
> +        m_getCountry: 0,
> +        m_getFloat: 0,
> +        m_getInt: 0,
> +        m_getLang: 0,
> +        m_getMsg: 0,
> +        m_getString: 0,
> +        m_set: 0,
> +        m_setArray: 0
> +      },
> +      c_Tab: {
> +        m_getCallback: 0,
> +        m_getContentContainer: 0,
> +        m_getIndex: 0,
> +        m_getName: 0,
> +        m_getNameContainer: 0
> +      },
> +      c_TabSet: {
> +        m_addTab: 0,
> +        m_alignTabs: 0,
> +        m_displayTabs: 0,
> +        m_getHeaderContainer: 0,
> +        m_getSelectedTab: 0,
> +        m_getTabs: 0,
> +        m_removeTab: 0,
> +        m_setSelectedTab: 0,
> +        m_swapTabs: 0
> +      },
> +      c_flash: {
> +        s_embedCachedFlash: 0,
> +        s_embedFlash: 0,
> +        s_getMajorVersion: 0
> +      },
> +      c_io: {
> +        c_AuthorizationType: {
> +          s_NONE: 0,
> +          s_OAUTH: 0,
> +          s_SIGNED: 0
> +        },
> +        c_ContentType: {
> +          s_DOM: 0,
> +          s_FEED: 0,
> +          s_JSON: 0,
> +          s_TEXT: 0
> +        },
> +        c_MethodType: {
> +          s_DELETE: 0,
> +          s_GET: 0,
> +          s_HEAD: 0,
> +          s_POST: 0,
> +          s_PUT: 0
> +        },
> +        c_ProxyUrlRequestParameters: {
> +          s_REFRESH_INTERVAL: 0
> +        },
> +        c_RequestParameters: {
> +          s_AUTHORIZATION: 0,
> +          s_CONTENT_TYPE: 0,
> +          s_GET_SUMMARIES: 0,
> +          s_HEADERS: 0,
> +          s_METHOD: 0,
> +          s_NUM_ENTRIES: 0,
> +          s_POST_DATA: 0
> +        },
> +        s_encodeValues: 0,
> +        s_getProxyUrl: 0,
> +        s_makeRequest: 0
> +      },
> +      c_json: {
> +        s_parse: 0,
> +        s_stringify: 0
> +      },
> +      c_pubsub: {
> +        s_publish: 0,
> +        s_subscribe: 0,
> +        s_unsubscribe: 0
> +      },
> +      c_rpc: {
> +        s_call: 0,
> +        s_register: 0,
> +        s_registerDefault: 0,
> +        s_unregister: 0,
> +        s_unregisterDefault: 0
> +      },
> +      c_skins: {
> +        c_Property: {
> +          s_ANCHOR_COLOR: 0,
> +          s_BG_COLOR: 0,
> +          s_BG_IMAGE: 0,
> +          s_FONT_COLOR: 0
> +        },
> +        s_getProperty: 0
> +      },
> +      c_util: {
> +        s_escapeString: 0,
> +        s_getFeatureParameters: 0,
> +        s_hasFeature: 0,
> +        s_registerOnLoadHandler: 0,
> +        s_unescapeString: 0
> +      },
> +      c_views: {
> +        c_View: {
> +          m_bind: 0,
> +          m_getUrlTemplate: 0,
> +          m_isOnlyVisibleGadget: 0
> +        },
> +        c_ViewType: {
> +          s_CANVAS: 0,
> +          s_HOME: 0,
> +          s_PREVIEW: 0,
> +          s_PROFILE: 0
> +        },
> +        s_bind: 0,
> +        s_getCurrentView: 0,
> +        s_getParams: 0,
> +        s_requestNavigateTo: 0
> +      },
> +      c_window: {
> +        s_adjustHeight: 0,
> +        s_getViewportDimensions: 0,
> +        s_setTitle: 0
> +      }
> +    },
> +    c_opensocial: {
> +      c_Activity: {
> +        c_Field: {
> +          s_APP_ID: 0,
> +          s_BODY: 0,
> +          s_BODY_ID: 0,
> +          s_EXTERNAL_ID: 0,
> +          s_ID: 0,
> +          s_MEDIA_ITEMS: 0,
> +          s_POSTED_TIME: 0,
> +          s_PRIORITY: 0,
> +          s_STREAM_FAVICON_URL: 0,
> +          s_STREAM_SOURCE_URL: 0,
> +          s_STREAM_TITLE: 0,
> +          s_STREAM_URL: 0,
> +          s_TEMPLATE_PARAMS: 0,
> +          s_TITLE: 0,
> +          s_TITLE_ID: 0,
> +          s_URL: 0,
> +          s_USER_ID: 0
> +        },
> +        m_getField: 0,
> +        m_getId: 0,
> +        m_setField: 0
> +      },
> +      c_Address: {
> +        c_Field: {
> +          s_COUNTRY: 0,
> +          s_EXTENDED_ADDRESS: 0,
> +          s_LATITUDE: 0,
> +          s_LOCALITY: 0,
> +          s_LONGITUDE: 0,
> +          s_POSTAL_CODE: 0,
> +          s_PO_BOX: 0,
> +          s_REGION: 0,
> +          s_STREET_ADDRESS: 0,
> +          s_TYPE: 0,
> +          s_UNSTRUCTURED_ADDRESS: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_BodyType: {
> +        c_Field: {
> +          s_BUILD: 0,
> +          s_EYE_COLOR: 0,
> +          s_HAIR_COLOR: 0,
> +          s_HEIGHT: 0,
> +          s_WEIGHT: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_Collection: {
> +        m_asArray: 0,
> +        m_each: 0,
> +        m_getById: 0,
> +        m_getOffset: 0,
> +        m_getTotalSize: 0,
> +        m_size: 0
> +      },
> +      c_CreateActivityPriority: {
> +        s_HIGH: 0,
> +        s_LOW: 0
> +      },
> +      c_DataRequest: {
> +        c_DataRequestFields: {
> +          s_ESCAPE_TYPE: 0
> +        },
> +        c_FilterType: {
> +          s_ALL: 0,
> +          s_HAS_APP: 0,
> +          s_TOP_FRIENDS: 0
> +        },
> +        c_PeopleRequestFields: {
> +          s_FILTER: 0,
> +          s_FILTER_OPTIONS: 0,
> +          s_FIRST: 0,
> +          s_MAX: 0,
> +          s_PROFILE_DETAILS: 0,
> +          s_SORT_ORDER: 0
> +        },
> +        c_SortOrder: {
> +          s_NAME: 0,
> +          s_TOP_FRIENDS: 0
> +        },
> +        m_add: 0,
> +        m_newFetchActivitiesRequest: 0,
> +        m_newFetchPeopleRequest: 0,
> +        m_newFetchPersonAppDataRequest: 0,
> +        m_newFetchPersonRequest: 0,
> +        m_newRemovePersonAppDataRequest: 0,
> +        m_newUpdatePersonAppDataRequest: 0,
> +        m_send: 0
> +      },
> +      c_DataResponse: {
> +        m_get: 0,
> +        m_getErrorMessage: 0,
> +        m_hadError: 0
> +      },
> +      c_Email: {
> +        c_Field: {
> +          s_ADDRESS: 0,
> +          s_TYPE: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_Enum: {
> +        c_Drinker: {
> +          s_HEAVILY: 0,
> +          s_NO: 0,
> +          s_OCCASIONALLY: 0,
> +          s_QUIT: 0,
> +          s_QUITTING: 0,
> +          s_REGULARLY: 0,
> +          s_SOCIALLY: 0,
> +          s_YES: 0
> +        },
> +        c_Gender: {
> +          s_FEMALE: 0,
> +          s_MALE: 0
> +        },
> +        c_LookingFor: {
> +          s_ACTIVITY_PARTNERS: 0,
> +          s_DATING: 0,
> +          s_FRIENDS: 0,
> +          s_NETWORKING: 0,
> +          s_RANDOM: 0,
> +          s_RELATIONSHIP: 0
> +        },
> +        c_Presence: {
> +          s_AWAY: 0,
> +          s_CHAT: 0,
> +          s_DND: 0,
> +          s_OFFLINE: 0,
> +          s_ONLINE: 0,
> +          s_XA: 0
> +        },
> +        c_Smoker: {
> +          s_HEAVILY: 0,
> +          s_NO: 0,
> +          s_OCCASIONALLY: 0,
> +          s_QUIT: 0,
> +          s_QUITTING: 0,
> +          s_REGULARLY: 0,
> +          s_SOCIALLY: 0,
> +          s_YES: 0
> +        },
> +        m_getDisplayValue: 0,
> +        m_getKey: 0
> +      },
> +      c_Environment: {
> +        c_ObjectType: {
> +          s_ACTIVITY: 0,
> +          s_ACTIVITY_MEDIA_ITEM: 0,
> +          s_ADDRESS: 0,
> +          s_BODY_TYPE: 0,
> +          s_EMAIL: 0,
> +          s_FILTER_TYPE: 0,
> +          s_MESSAGE: 0,
> +          s_MESSAGE_TYPE: 0,
> +          s_NAME: 0,
> +          s_ORGANIZATION: 0,
> +          s_PERSON: 0,
> +          s_PHONE: 0,
> +          s_SORT_ORDER: 0,
> +          s_URL: 0
> +        },
> +        m_getDomain: 0,
> +        m_supportsField: 0
> +      },
> +      c_EscapeType: {
> +        s_HTML_ESCAPE: 0,
> +        s_NONE: 0
> +      },
> +      c_IdSpec: {
> +        c_Field: {
> +          s_GROUP_ID: 0,
> +          s_NETWORK_DISTANCE: 0,
> +          s_USER_ID: 0
> +        },
> +        c_PersonId: {
> +          s_OWNER: 0,
> +          s_VIEWER: 0
> +        },
> +        m_getField: 0,
> +        m_setField: 0
> +      },
> +      c_MediaItem: {
> +        c_Field: {
> +          s_MIME_TYPE: 0,
> +          s_TYPE: 0,
> +          s_URL: 0
> +        },
> +        c_Type: {
> +          s_AUDIO: 0,
> +          s_IMAGE: 0,
> +          s_VIDEO: 0
> +        },
> +        m_getField: 0,
> +        m_setField: 0
> +      },
> +      c_Message: {
> +        c_Field: {
> +          s_BODY: 0,
> +          s_BODY_ID: 0,
> +          s_TITLE: 0,
> +          s_TITLE_ID: 0,
> +          s_TYPE: 0
> +        },
> +        c_Type: {
> +          s_EMAIL: 0,
> +          s_NOTIFICATION: 0,
> +          s_PRIVATE_MESSAGE: 0,
> +          s_PUBLIC_MESSAGE: 0
> +        },
> +        m_getField: 0,
> +        m_setField: 0
> +      },
> +      c_Name: {
> +        c_Field: {
> +          s_ADDITIONAL_NAME: 0,
> +          s_FAMILY_NAME: 0,
> +          s_GIVEN_NAME: 0,
> +          s_HONORIFIC_PREFIX: 0,
> +          s_HONORIFIC_SUFFIX: 0,
> +          s_UNSTRUCTURED: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_NavigationParameters: {
> +        c_DestinationType: {
> +          s_RECIPIENT_DESTINATION: 0,
> +          s_VIEWER_DESTINATION: 0
> +        },
> +        c_Field: {
> +          s_OWNER: 0,
> +          s_PARAMETERS: 0,
> +          s_VIEW: 0
> +        },
> +        m_getField: 0,
> +        m_setField: 0
> +      },
> +      c_Organization: {
> +        c_Field: {
> +          s_ADDRESS: 0,
> +          s_DESCRIPTION: 0,
> +          s_END_DATE: 0,
> +          s_FIELD: 0,
> +          s_NAME: 0,
> +          s_SALARY: 0,
> +          s_START_DATE: 0,
> +          s_SUB_FIELD: 0,
> +          s_TITLE: 0,
> +          s_WEBPAGE: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_Permission: {
> +        s_VIEWER: 0
> +      },
> +      c_Person: {
> +        c_Field: {
> +          s_ABOUT_ME: 0,
> +          s_ACTIVITIES: 0,
> +          s_ADDRESSES: 0,
> +          s_AGE: 0,
> +          s_BODY_TYPE: 0,
> +          s_BOOKS: 0,
> +          s_CARS: 0,
> +          s_CHILDREN: 0,
> +          s_CURRENT_LOCATION: 0,
> +          s_DATE_OF_BIRTH: 0,
> +          s_DRINKER: 0,
> +          s_EMAILS: 0,
> +          s_ETHNICITY: 0,
> +          s_FASHION: 0,
> +          s_FOOD: 0,
> +          s_GENDER: 0,
> +          s_HAPPIEST_WHEN: 0,
> +          s_HAS_APP: 0,
> +          s_HEROES: 0,
> +          s_HUMOR: 0,
> +          s_ID: 0,
> +          s_INTERESTS: 0,
> +          s_JOBS: 0,
> +          s_JOB_INTERESTS: 0,
> +          s_LANGUAGES_SPOKEN: 0,
> +          s_LIVING_ARRANGEMENT: 0,
> +          s_LOOKING_FOR: 0,
> +          s_MOVIES: 0,
> +          s_MUSIC: 0,
> +          s_NAME: 0,
> +          s_NETWORK_PRESENCE: 0,
> +          s_NICKNAME: 0,
> +          s_PETS: 0,
> +          s_PHONE_NUMBERS: 0,
> +          s_POLITICAL_VIEWS: 0,
> +          s_PROFILE_SONG: 0,
> +          s_PROFILE_URL: 0,
> +          s_PROFILE_VIDEO: 0,
> +          s_QUOTES: 0,
> +          s_RELATIONSHIP_STATUS: 0,
> +          s_RELIGION: 0,
> +          s_ROMANCE: 0,
> +          s_SCARED_OF: 0,
> +          s_SCHOOLS: 0,
> +          s_SEXUAL_ORIENTATION: 0,
> +          s_SMOKER: 0,
> +          s_SPORTS: 0,
> +          s_STATUS: 0,
> +          s_TAGS: 0,
> +          s_THUMBNAIL_URL: 0,
> +          s_TIME_ZONE: 0,
> +          s_TURN_OFFS: 0,
> +          s_TURN_ONS: 0,
> +          s_TV_SHOWS: 0,
> +          s_URLS: 0
> +        },
> +        m_getDisplayName: 0,
> +        m_getField: 0,
> +        m_getId: 0,
> +        m_isOwner: 0,
> +        m_isViewer: 0
> +      },
> +      c_Phone: {
> +        c_Field: {
> +          s_NUMBER: 0,
> +          s_TYPE: 0
> +        },
> +        m_getField: 0
> +      },
> +      c_ResponseItem: {
> +        c_Error: {
> +          s_BAD_REQUEST: 0,
> +          s_FORBIDDEN: 0,
> +          s_INTERNAL_ERROR: 0,
> +          s_LIMIT_EXCEEDED: 0,
> +          s_NOT_IMPLEMENTED: 0,
> +          s_UNAUTHORIZED: 0
> +        },
> +        m_getData: 0,
> +        m_getErrorCode: 0,
> +        m_getErrorMessage: 0,
> +        m_getOriginalDataRequest: 0,
> +        m_hadError: 0
> +      },
> +      c_Url: {
> +        c_Field: {
> +          s_ADDRESS: 0,
> +          s_LINK_TEXT: 0,
> +          s_TYPE: 0
> +        },
> +        m_getField: 0
> +      },
> +      s_getEnvironment: 0,
> +      s_hasPermission: 0,
> +      s_newActivity: 0,
> +      s_newDataRequest: 0,
> +      s_newMediaItem: 0,
> +      s_newMessage: 0,
> +      s_newNavigationParameters: 0,
> +      s_requestCreateActivity: 0,
> +      s_requestPermission: 0,
> +      s_requestSendMessage: 0,
> +      s_requestShareApp: 0
> +    }
> +  };
> +  function whitelist(schema, obj) {
> +    if (!obj) { return; }  // Occurs for optional features
> +    for (var k in schema) {
> +      if (schema.hasOwnProperty(k)) {
> +        var m = k.match(/^([mcs])_(\w+)$/);
> +        var type = m[1], name = m[2];
> +        switch (type) {
> +          case 'c':
> +            ___.allowRead(obj, name);
> +            whitelist(schema[k], obj[name]);
> +            break;
> +          case 'm':
> +            ___.allowCall(obj.prototype, name);
> +            break;
> +          case 'f':
> +            ___.allowRead(obj.prototype, name);
> +            break;
> +          case 's':
> +            if ('function' === typeof obj[name]) {
> +              ___.allowCall(obj, name);
> +            } else {
> +              ___.allowRead(obj, name);
> +            }
> +            break;
> +        }
> +      }
> +    }
>   }
> -
> -  attachDocumentStub('pre-', uriCallback, outers);
> -
> -  // Temporarily adding some gadgets calls to the opensocial code.
> -  // This should move into the gadgets js code very soon.
> -  outers.gadgets = gadgets;
> -
> -  // Adding all of the available opensocial calls as defined in the spec
> -  outers.opensocial = opensocial;
> -  ___.all2(
> -      ___.allowCall, outers.opensocial,
> -      ['requestSendMessage', 'requestShareApp', 'requestCreateActivity',
> -       'hasPermission', 'requestPermission', 'getEnvironment',
> 'newDataRequest',
> -       'newActivity', 'newActivityMediaItem', 'newMessage']);
> -
> -  ___.all2(
> -      ___.allowCall, opensocial.Collection.prototype,
> -      ['getById', 'size', 'each', 'asArray', 'getTotalSize',
> 'getOffset']);
> -
> -  ___.all2(
> -      ___.allowCall, opensocial.Person.prototype,
> -      ['getId', 'getDisplayName', 'getField', 'isViewer', 'isOwner']);
> -
> -  ___.allowCall(opensocial.Address.prototype, 'getField');
> -  ___.allowCall(opensocial.BodyType.prototype, 'getField');
> -  ___.allowCall(opensocial.Email.prototype, 'getField');
> -  ___.allowCall(opensocial.Name.prototype, 'getField');
> -  ___.allowCall(opensocial.Organization.prototype, 'getField');
> -  ___.allowCall(opensocial.Phone.prototype, 'getField');
> -  ___.allowCall(opensocial.Url.prototype, 'getField');
> -
> -  ___.allowCall(opensocial.Activity.prototype, 'getId');
> -  ___.allowCall(opensocial.Activity.prototype, 'getField');
> -
> -  ___.allowCall(opensocial.MediaItem.prototype, 'getField');
> -
> -  ___.allowCall(opensocial.ResponseItem.prototype, 'hadError');
> -  ___.allowCall(opensocial.ResponseItem.prototype, 'getError');
> -  ___.allowCall(opensocial.ResponseItem.prototype,
> 'getOriginalDataRequest');
> -  ___.allowCall(opensocial.ResponseItem.prototype, 'getData');
> -
> -  ___.allowCall(opensocial.DataResponse.prototype, 'hadError');
> -  ___.allowCall(opensocial.DataResponse.prototype, 'get');
> -
> -  ___.all2(
> -      ___.allowCall, opensocial.DataRequest.prototype,
> -      ['getRequestObjects', 'add', 'send', 'newFetchPersonRequest',
> -       'newFetchPeopleRequest', 'newFetchPersonAppDataRequest',
> -       'newUpdatePersonAppDataRequest', 'newFetchActivitiesRequest']);
> -
> -  ___.allowCall(opensocial.Environment.prototype, 'getDomain');
> -  ___.allowCall(opensocial.Environment.prototype, 'supportsField');
> -
> -  ___.allowCall(opensocial.Enum.prototype, 'getKey');
> -  ___.allowCall(opensocial.Enum.prototype, 'getDisplayValue');
> -
> -  ___.allowCall(opensocial.Message.prototype, 'getField');
> -  ___.allowCall(opensocial.Message.prototype, 'setField');
> -
> -  var moduleHandler = ___.freeze({
> -    getOuters: ___.simpleFunc(function() { return outers; }),
> -    handle: ___.simpleFunc(function(newModule) { newModule(outers); })
> -  });
> -
> -  ___.setNewModuleHandler(moduleHandler);
> +  whitelist(opensocialSchema, window);
>  };
>
> Modified: incubator/shindig/trunk/features/pom.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/pom.xml?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/features/pom.xml (original)
> +++ incubator/shindig/trunk/features/pom.xml Thu Jul 17 12:37:30 2008
> @@ -72,8 +72,7 @@
>               <exclude>**/*.gif</exclude>
>               <exclude>**/*.jpeg</exclude>
>               <exclude>**/*.png</exclude>
> -
> -              <!-- Caja has some bugs too -->
> +              <!-- Caja is already minified -->
>               <exclude>**/caja/*.js</exclude>
>             </excludes>
>           </configuration>
>
> Modified: incubator/shindig/trunk/java/gadgets/pom.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/pom.xml?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/java/gadgets/pom.xml (original)
> +++ incubator/shindig/trunk/java/gadgets/pom.xml Thu Jul 17 12:37:30 2008
> @@ -131,6 +131,11 @@
>       <scope>compile</scope>
>     </dependency>
>     <dependency>
> +      <groupId>caja</groupId>
> +      <artifactId>json_simple</artifactId>
> +      <scope>compile</scope>
> +    </dependency>
> +    <dependency>
>       <groupId>net.oauth</groupId>
>       <artifactId>core</artifactId>
>       <scope>compile</scope>
>
> Modified:
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentFilter.java
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentFilter.java?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> ---
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentFilter.java
> (original)
> +++
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentFilter.java
> Thu Jul 17 12:37:30 2008
> @@ -21,17 +21,19 @@
>  import org.apache.shindig.gadgets.GadgetContentFilter;
>  import org.apache.shindig.gadgets.GadgetException;
>
> +import com.google.caja.lexer.CharProducer;
>  import com.google.caja.lexer.ExternalReference;
> +import com.google.caja.lexer.FilePosition;
> +import com.google.caja.lexer.InputSource;
>  import com.google.caja.opensocial.DefaultGadgetRewriter;
> -import com.google.caja.opensocial.GadgetContentRewriter;
> -import com.google.caja.opensocial.UriCallback;
>  import com.google.caja.opensocial.GadgetRewriteException;
> +import com.google.caja.opensocial.UriCallback;
>  import com.google.caja.opensocial.UriCallbackException;
>  import com.google.caja.opensocial.UriCallbackOption;
> -import com.google.caja.reporting.SimpleMessageQueue;
> -import com.google.caja.reporting.MessageQueue;
>  import com.google.caja.reporting.Message;
>  import com.google.caja.reporting.MessageContext;
> +import com.google.caja.reporting.MessageQueue;
> +import com.google.caja.reporting.SimpleMessageQueue;
>
>  import java.io.IOException;
>  import java.io.Reader;
> @@ -65,16 +67,16 @@
>     };
>
>     MessageQueue mq = new SimpleMessageQueue();
> -    GadgetContentRewriter rw = new DefaultGadgetRewriter(mq);
> -    Readable input = new StringReader(content);
> -    Appendable output = new StringBuilder();
> +    DefaultGadgetRewriter rw = new DefaultGadgetRewriter(mq);
> +    CharProducer input = CharProducer.Factory.create(
> +        new StringReader(content),
> +        FilePosition.instance(new InputSource(retrievedUri), 2, 2, 1, 1));
> +    StringBuilder output = new StringBuilder();
>
>     try {
>       rw.rewriteContent(retrievedUri, input, cb, output);
>     } catch (GadgetRewriteException e) {
>       throwCajolingException(e, mq);
> -    } catch (UriCallbackException e) {
> -      throwCajolingException(e, mq);
>     } catch (IOException e) {
>       throwCajolingException(e, mq);
>     }
>
> Modified:
> incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.html
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.html?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.html
> (original)
> +++ incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.html
> Thu Jul 17 12:37:30 2008
> @@ -51,10 +51,10 @@
>  var stateFileUrl = baseUrl + 'state-basicfriendlist.xml';
>  var stateFileUrlCookie = 'sampleContainerStateFileUrl';
>
> -var useCaja = false;
> -var useCache = true;
> -var usePermissive = false;
> -var doEvil = false;
> +var useCaja;
> +var useCache;
> +var usePermissive;
> +var doEvil;
>  var gadget;
>
>  var viewerId = "john.doe";
> @@ -93,13 +93,18 @@
>   });
>  };
>
> -function changeGadgetUrl() {
> +function unpackFormState() {
>   useCaja = document.getElementById("useCajaCheckbox").checked;
>   useCache = document.getElementById("useCacheCheckbox").checked;
> -  gadgets.container.nocache_ = useCache ? 0 : 1;
> -
>   usePermissive = document.getElementById("usePermissiveCheckbox").checked;
>   doEvil = document.getElementById("doEvilCheckbox").checked;
> +}
> +
> +function changeGadgetUrl() {
> +  unpackFormState();
> +
> +  gadgets.container.nocache_ = useCache ? 0 : 1;
> +
>   setEvilBit();
>
>   stateFileUrl = document.getElementById("stateFileUrl").value;
> @@ -260,19 +265,23 @@
>
>  </script>
>  </head>
> -<body onLoad="initGadget();">
> +<body onLoad="unpackFormState(); initGadget();">
>   <div id="headerDiv">
>     <div style="float:left">Gadget testing container</div>
>     <div class="subTitle">
>       Displaying gadget: <input type="text" size="75" id="gadgetUrl"/>
> -      <input type="checkbox" id="useCacheCheckbox" checked="true"/>use
> cache
> -      <input type="checkbox" id="useCajaCheckbox"/>use caja
> -      <input type="checkbox" id="usePermissiveCheckbox"/>use permissive
> +      <input type="checkbox" id="useCacheCheckbox" checked="true"
> +       /><label for="useCacheCheckbox">use cache</label>
> +      <input type="checkbox" id="useCajaCheckbox"
> +       /><label for="useCajaCheckbox">use caja</label>
> +      <input type="checkbox" id="usePermissiveCheckbox"
> +       /><label for="usePermissiveCheckbox">use permissive</label>
>
>       <br/>
>
>       Using state: <input type="text" size="75" id="stateFileUrl"/>
> -      <input type="checkbox" id="doEvilCheckbox"/>do evil
> +      <input type="checkbox" id="doEvilCheckbox"
> +       /><label for="doEvilCheckbox">do evil</label>
>
>       <br/>
>       <br/>
>
> Modified: incubator/shindig/trunk/pom.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/pom.xml?rev=677699&r1=677698&r2=677699&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/pom.xml (original)
> +++ incubator/shindig/trunk/pom.xml Thu Jul 17 12:37:30 2008
> @@ -771,7 +771,13 @@
>       <dependency>
>         <groupId>caja</groupId>
>         <artifactId>caja</artifactId>
> -        <version>r820</version>
> +        <version>r1899</version>
> +        <scope>compile</scope>
> +      </dependency>
> +      <dependency>
> +        <groupId>caja</groupId>
> +        <artifactId>json_simple</artifactId>
> +        <version>r1</version>
>         <scope>compile</scope>
>       </dependency>
>       <dependency>
>
>
>


-- 
.-. --- .--. ..-
R o p u

Reply via email to