Cross-origin communication in browser frames
First Claim
1. A non-transitory computer-readable medium, containing instructions for execution by a browser program executed by one or more devices, the non-transitory computer-readable medium comprising instructions to:
- create an inline frame (iFrame) and another frame presented by the browser program, the iFrame being associated with an origin that is different than an origin associated with the other frame;
determine whether a first variable is present in the iFrame;
determine whether the iFrame is locked, to prohibit reading of information relating to the iFrame, based on determining whether the first variable is present in the iFrame;
determine, when the iFrame is not locked, a set of second variables present in the iFrame,determine one or more binary values based on the set of second variables,where each of the one or more binary values comprises a plurality of bits,where each bit of the plurality of bits corresponds to a presence or an absence of a corresponding variable of the set of second variables; and
control, based on the one or more binary values, a visual presentation of the other frame presented by the browser program.
2 Assignments
0 Petitions
Accused Products
Abstract
A device may create a child frame within a container frame displayed by a browser program. The child frame may be associated with an origin that is different than an origin associated with the container frame. The device may determine whether the child frame is locked to prohibit reading of information relating to the child frame. The determination of whether the child frame is locked including checking whether a first variable is present in the child frame. The device may determine one or more values relating to the child frame, where the one or more values are determined by checking whether a second set of variables is present in the child frame, where each variable, in the second set, corresponds to a single bit of the one or more values.
23 Citations
28 Claims
-
1. A non-transitory computer-readable medium, containing instructions for execution by a browser program executed by one or more devices, the non-transitory computer-readable medium comprising instructions to:
-
create an inline frame (iFrame) and another frame presented by the browser program, the iFrame being associated with an origin that is different than an origin associated with the other frame; determine whether a first variable is present in the iFrame; determine whether the iFrame is locked, to prohibit reading of information relating to the iFrame, based on determining whether the first variable is present in the iFrame; determine, when the iFrame is not locked, a set of second variables present in the iFrame, determine one or more binary values based on the set of second variables, where each of the one or more binary values comprises a plurality of bits, where each bit of the plurality of bits corresponds to a presence or an absence of a corresponding variable of the set of second variables; and control, based on the one or more binary values, a visual presentation of the other frame presented by the browser program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A device-implemented method comprising:
-
determining, by a device executing a first frame of a browser program, to communicate at least one binary value to a second frame, of the browser program being executed by the device, where the first frame includes content associated with a first origin and the second frame includes content associated with a second origin, and where each of the at least one binary value comprises a plurality of bits; setting, by the device, a first variable to indicate that the at least one binary value is being set by the first frame; setting or unsetting, by the device, a set of second variables to encode the at least one binary value, where each variable, in the set of second variables, corresponds to a single bit of the plurality of bits of the at least one binary value, where a presence of a variable in the set of second variables encodes the single bit corresponding to the variable as a first binary digit, where an absence of the variable in the set of second variables encodes the single bit corresponding to the variable as a second binary digit, and where the first binary digit does not equal the second binary digit; and unsetting, after setting or unsetting each the second set of variables, by the device, the first variable, to permit the one or more binary values to be communicated to the second frame. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A device-implemented method comprising:
-
receiving, by the device and from a client device, a request for a hyper-text markup language (HTML) document; generating the HTML document to include programming instructions, that when executed by the client device, cause the client device to; set a first variable to indicate that at least one binary value is being set by a frame corresponding to the HTML document, where each one of the at least one binary value comprise a plurality of single bits, set or unset each variable, of a set of second variables, to encode the at least one binary value, where each variable, in the set of second variables, corresponds to a single bit of the plurality of single bits, where a presence of a variable in the set of second variables encodes the single bit corresponding to the variable as a first binary digit, and where an absence of the variable in the set of second variables encodes the single bit corresponding to the variable as a second binary digit that is different from the first binary digit, and unset, after setting or unsetting the set of second variables, the first variable; and transmitting the generated HTML document to the client device. - View Dependent Claims (17, 18, 19, 20)
-
-
21. An apparatus comprising:
-
one or more processors; and a memory storing programming instructions for execution by the one or more processors, the programming instructions, when executed, causing the one or more processors to; create an inline frame (iFrame) within a second frame presented by a browser program for display, the iFrame being associated with an origin that is different than an origin associated with the second frame, where the iFrame communicates at least one binary value to the second frame, and where each one of the at least one binary value comprises a plurality of single bits; set or unset, by the iFrame, a set of variables to encode the at least one binary value, where each variable, in the set of variables, corresponds to a single bit of the plurality of single bits of the at least one binary value, and where a presence of a variable, in the set of variables, encodes the single bit corresponding to the variable as a first binary digit and an absence of the variable, in the set of variables, encodes the single bit corresponding to the variable as a second binary digit that is different from the first binary digit; and determine, by the second frame, the at least one binary value communicated by the iFrame, where the at least one binary value is determined by checking whether each variable, of the set of variables, is present or absent in the iFrame; and control, based on the at least one binary value, a visual presentation of the second frame. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification