The disclosed technology relates to a system configured to retrieve a content item from a first domain of a content management system, analyze the content item to identify a portion of the content item that references third-party code, retrieve the third-party code from a second domain of the content management system, and execute the third-party code in the portion of the content item.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: retrieving, by a client device, a content item from a first domain of a content management system; identifying, by the client device, a portion of the content item that references third-party code stored in a second domain of the content management system and isolated from the first domain of the content management system; requesting, by the client device, the third-party code from the second domain of the content management system; generating, by the client device, third-party content by executing the third-party code; inserting, by the client device, the third-party content into the portion of the content item; sending, by the client device to the first domain of the content management system, a request to be relayed by the first domain for additional third-party content from a source external to the content management system; receiving, from the first domain of the content management system, the additional third-party content in response to the request; rendering, by the client device, the content item with the third-party content and the additional third-party content; and maintaining a same-origin policy configured to restrict access of the third-party code to content of the content item located outside of the portion of the content item that references the third-party code based on having different domains.
2. The computer-implemented method of claim 1 , wherein when the client device lacks a copy of credentials for accessing the additional third-party content, the client device gains access to the additional third-party content using credentials stored on the content management system.
3. The computer-implemented method of claim 1 , further comprising: generating, based on execution of the third-party code, data associated with the third-party code; and transmitting the data associated with the third-party code to the content management system for storage.
4. The computer-implemented method of claim 1 , further comprising: generating, based on execution of the third-party code, data associated with the third-party code; and transmitting the data associated with the third-party code to the source external to the content management system for storage.
5. The computer-implemented method of claim 1 , wherein execution of the third-party code is sandboxed from the content item.
6. The computer-implemented method of claim 5 , wherein the third-party code is configured to retrieve data associated with the content item via a postMessage interface.
7. The computer-implemented method of claim 1 , wherein the third-party code originates from a third-party that is external to the content management system and separate from the client device.
8. The computer-implemented method of claim 1 , wherein the portion of the content item that references the third-party code is an iframe.
9. The computer-implemented method of claim 1 , wherein the portion of the content item that references the third-party code is a hidden iframe and wherein the third-party content is non-displayable content rendered in the hidden iframe.
10. The computer-implemented method of claim 1 , wherein the third-party content comprises at least one of a picture, a video, a document, an audio file, or a widget.
11. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to: retrieve, by a client device, a content item from a first domain of a content management system; identify, by the client device, a portion of the content item that references third-party code stored in a second domain of the content management system; request, by the client device, the third-party code from the second domain of the content management system; execute, by the client device, the third-party code in the portion of the content item, the third-party code retrieved from the second domain of the content management system that is isolated from the first domain of the content management system, wherein the third-party code is executed according to a same-origin policy, wherein access is restricted based on code with different origins; send, by the client device to the first domain of the content management system, a request to be relayed by the first domain for third-party content from a source external to the content management system; receive, from the first domain of the content management system, the third-party content in response to the request; and render, by the client device, the content item with the third-party content.
12. The non-transitory computer readable medium of claim 11 , wherein the executing of the third-party code in the portion of the content item causes the computing system to: produce additional third-party content; insert the additional third-party content into the portion of the content item; and render the content item with the additional third-party content.
13. A client device comprising: one or more processors; and at least one non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to: retrieve, by the client device, a content item from a first domain of a content management system; identify, by the client device, a secure portion of the content item that references third-party code, the third-party code stored in a second domain of the content management system and isolated from the first domain of the content management system; request, by the client device, the third-party code from the second domain of the content management system; execute, by the client device, the third-party code in the secure portion of the content item, wherein the third-party code is executed according to a same-origin policy, wherein access is restricted based on code with different origins; send, by the client device to the first domain of the content management system, a request to be relayed by the first domain for third-party content from a source external to the content management system; receive, from the first domain of the content management system, the third-party content in response to the request; and render, by the client device, the content item with the third-party content.
14. The client device of claim 13 , wherein the third-party code was provided to the content management system by the source external to the content management system.
15. The client device of claim 14 , wherein the instructions further cause the one or more processors to: retrieve, based on the executing of the third-party code, content from the source external to the content management system.
16. The client device of claim 14 , wherein the instructions further cause the one or more processors to: retrieve, based on the executing of the third-party code, data associated with the third-party code from the content management system.
17. The client device of claim 13 , wherein the executing of the third-party code causes the one or more processors to: produce additional third-party content; and render the content item with the additional third-party content.
18. The client device of claim 17 , wherein when the client device lacks a copy of credentials for accessing the additional third-party content, the client device gains access to the additional third-party content using credentials stored on the content management system.
19. The client device of claim 13 , wherein the instructions further cause the one or more processors to: generate, based on execution of the third-party code, data associated with the third-party code; and transmit the data associated with the third-party code to the content management system for storage.
20. The client device of claim 13 , wherein the instructions further cause the one or more processors to: generate, based on execution of the third-party code, data associated with the third-party code; and transmit the data associated with the third-party code to the source external to the content management system for storage.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 20, 2017
April 13, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.