c# convert pdf to image free library : Extract data from pdf form software control dll windows azure wpf web forms print74-part2129

From the moment that the user agent is toinitiate the drag-and-drop operation, until the end of the drag-and-drop operation, device input events
(e.g. mouse and keyboard events) must be suppressed.
During the drag operation, the element directly indicated by the user as the drop target is called theimmediate user selection. (Only elements can
be selected by the user; other nodes must not be made available as drop targets.) However, theimmediate user selectionp741
is not necessarily the
current target element, which is the element currently selected for the drop part of the drag-and-drop operation.
Theimmediate user selectionp741
changes as the user selects different elements (either by pointing at them with a pointing device, or by selecting
them in some other way). Thecurrent target elementp741
changes when theimmediate user selectionp741
changes, based on the results of event
listeners in the document, as described below.
Both thecurrent target elementp741
and theimmediate user selectionp741
can be null, which means no target element is selected. They can also both
be elements in other (DOM-based) documents, or other (non-Web) programs altogether. (For example, a user could drag text to a word-processor.)
Thecurrent target elementp741
is initially null.
In addition, there is also acurrent drag operation, which can take on the values "none", "copy", "link", and "move". Initially, it has the value
"nonep741
". It is updated by the user agent as described in the steps below.
User agents must, as soon as the drag operation isinitiatedp741
and every 350ms (±200ms) thereafter for as long as the drag operation is ongoing,
queue a taskp843
to perform the following steps in sequence:
1. If the user agent is still performing the previous iteration of the sequence (if any) when the next iteration becomes due, abort these steps
for this iteration (effectively "skipping missed frames" of the drag-and-drop operation).
2. Fire a DND eventp737
nameddragp744
at thesource nodep739
. If this event is canceled, the user agent must set thecurrent drag
operationp741
to "nonep741
" (no drag operation).
3. If thedragp744
event was not canceled and the user has not ended the drag-and-drop operation, check the state of the drag-and-drop
operation, as follows:
1. If the user is indicating a differentimmediate user selectionp741
than during the last iteration (or if this is the first iteration), and
if thisimmediate user selectionp741
is not the same as thecurrent target elementp741
, thenfire a DND eventp737
named
dragexitp744
at thecurrent target elementp741
, and then update thecurrent target elementp741
as follows:
If the newimmediate user selectionp741
is null
Set thecurrent target elementp741
to null also.
If the newimmediate user selectionp741
is in a non-DOM document or application
Set thecurrent target elementp741
to theimmediate user selectionp741
.
Otherwise
Fire a DND eventp737
nameddragenterp744
at theimmediate user selectionp741
.
If the event is canceled, then set thecurrent target elementp741
to theimmediate user selectionp741
.
Otherwise, run the appropriate step from the following list:
If theimmediate user selectionp741
is a text field (e.g.textareap489
, or aninputp434
element whose
typep436
attribute is in theTextp440
state) or anediting hostp727
oreditablep727
element, and thedrag
data store item listp731
has an item withthe drag data item type stringp731
"text/plain
" andthe drag
data item kindp731
Plain Unicode string
Set thecurrent target elementp741
to theimmediate user selectionp741
anyway.
If theimmediate user selectionp741
is an element with adropzonep745
attribute thatmatchesp745
the
drag data storep731
Set thecurrent target elementp741
to theimmediate user selectionp741
anyway.
If theimmediate user selectionp741
is an element that itself has an ancestor element with a
dropzonep745
attribute thatmatchesp745
thedrag data storep731
Letnew targetbe the nearest (deepest) such ancestor element.
If theimmediate user selectionp741
isnew target, then leave thecurrent target elementp741
unchanged.
741
Extract data from pdf form - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
extracting data from pdf to excel; extract data from pdf forms
Extract data from pdf form - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
how to flatten a pdf form in reader; fill in pdf form reader
Otherwise,fire a DND eventp737
nameddragenterp744
atnew target, with the currentcurrent target
elementp741
as the specificrelated target. Then, set thecurrent target elementp741
tonew target,
regardless of whether that event was canceled or not.
If theimmediate user selectionp741
isthe body elementp108
Leave thecurrent target elementp741
unchanged.
Otherwise
Fire a DND eventp737
nameddragenterp744
atthe body elementp108
, if there is one, or at the
Documentp103
object, if not. Then, set thecurrent target elementp741
tothe body elementp108
,
regardless of whether that event was canceled or not.
2. If the previous step caused thecurrent target elementp741
to change, and if the previous target element was not null or a part
of a non-DOM document, thenfire a DND eventp737
nameddragleavep744
at the previous target element, with the new
current target elementp741
as the specificrelated target.
3. If thecurrent target elementp741
is a DOM element, thenfire a DND eventp737
nameddragoverp744
at thiscurrent target
elementp741
.
If thedragoverp744
event is not canceled, run the appropriate step from the following list:
If thecurrent target elementp741
is a text field (e.g.textareap489
, or aninputp434
element whosetypep436
attribute is in theTextp440
state) or anediting hostp727
oreditablep727
element, and thedrag data store item listp731
has an item withthe drag data item type stringp731
"text/plain
" andthe drag data item kindp731
Plain Unicode
string
Set thecurrent drag operationp741
to either "copyp741
" or "movep741
", as appropriate given the platform
conventions.
If thecurrent target elementp741
is an element with adropzonep745
attribute thatmatchesp745
thedrag data
storep731
andspecifies an operationp745
Set thecurrent drag operationp741
to the operationspecifiedp745
by thedropzonep745
attribute of thecurrent target
elementp741
.
If thecurrent target elementp741
is an element with adropzonep745
attribute thatmatchesp745
thedrag data
storep731
and does notspecify an operationp745
Set thecurrent drag operationp741
to "copyp741
".
Otherwise
Reset thecurrent drag operationp741
to "nonep741
".
Otherwise (if thedragoverp744
eventiscanceled), set thecurrent drag operationp741
based on the values of the
effectAllowedp733
anddropEffectp733
attributes of theDragEventp737
object'sdataTransferp737
object as they
stood after the eventdispatchp44
finished, as per the following table:
effectAllowedp733
dropEffectp733
Drag operation
"uninitializedp733
", "copyp733
", "copyLinkp733
", "copyMovep733
", or "allp733
" "copyp733
"
"copyp741
"
"uninitializedp733
", "linkp733
", "copyLinkp733
", "linkMovep733
", or "allp733
" "linkp733
"
"linkp741
"
"uninitializedp733
", "movep733
", "copyMovep733
", "linkMovep733
", or "allp733
" "movep733
"
"movep741
"
Any other case
"nonep741
"
4. Otherwise, if thecurrent target elementp741
is not a DOM element, use platform-specific mechanisms to determine what drag
operation is being performed (none, copy, link, or move), and set thecurrent drag operationp741
accordingly.
5. Update the drag feedback (e.g. the mouse cursor) to match thecurrent drag operationp741
, as follows:
Drag operation
Feedback
"copyp741
"
Data will be copied if dropped here.
"linkp741
"
Data will be linked if dropped here.
"movep741
"
Data will be moved if dropped here.
"nonep741
"
No operation allowed, dropping here will cancel the drag-and-drop operation.
742
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data
from PDF Page. Image: Copy, Paste, Cut Image in Page. Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Data: Read, Extract
extract data from pdf to excel; how to save editable pdf form in reader
C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
Able to fill out all PDF form field in C#.NET. RasterEdge XDoc.PDF SDK package provides PDF field processing features for learn how to fill-in field data to PDF
extract data from pdf form to excel; c# read pdf form fields
4. Otherwise, if the user ended the drag-and-drop operation (e.g. by releasing the mouse button in a mouse-driven drag-and-drop
interface), or if thedragp744
event was canceled, then this will be the last iteration. Run the following steps, then stop the drag-and-drop
operation:
1. If thecurrent drag operationp741
is "nonep741
" (no drag operation), or, if the user ended the drag-and-drop operation by
canceling it (e.g. by hitting theEscapekey), or if thecurrent target elementp741
is null, then the drag operation failed. Run
these substeps:
1. Letdroppedbe false.
2. If thecurrent target elementp741
is a DOM element,fire a DND eventp737
nameddragleavep744
at it; otherwise, if
it is not null, use platform-specific conventions for drag cancelation.
3. Set thecurrent drag operationp741
to "nonep741
".
Otherwise, the drag operation might be a success; run these substeps:
1. Letdroppedbe true.
2. If thecurrent target elementp741
is a DOM element,fire a DND eventp737
nameddropp744
at it; otherwise, use
platform-specific conventions for indicating a drop.
3. If the event is canceled, set thecurrent drag operationp741
to the value of thedropEffectp733
attribute of the
DragEventp737
object'sdataTransferp737
object as it stood after the eventdispatchp44
finished.
Otherwise, the event is not canceled; perform the event's default action, which depends on the exact target as
follows:
If thecurrent target elementp741
is a text field (e.g.textareap489
, or aninputp434
element whose
typep436
attribute is in theTextp440
state) or anediting hostp727
oreditablep727
element, and thedrag
data store item listp731
has an item withthe drag data item type stringp731
"text/plain
" andthe drag
data item kindp731
Plain Unicode string
Insert the actual data of the first item in thedrag data store item listp731
to havea drag data item type
stringp731
of "text/plain
" anda drag data item kindp731
that isPlain Unicode stringinto the text field
orediting hostp727
oreditablep727
element in a manner consistent with platform-specific conventions
(e.g. inserting it at the current mouse cursor position, or inserting it at the end of the field).
Otherwise
Reset thecurrent drag operationp741
to "nonep741
".
2. Fire a DND eventp737
nameddragendp744
at thesource nodep739
.
3. Run the appropriate steps from the following list as the default action of thedragendp744
event:
Ifdroppedis true, thecurrent target elementp741
is atext field(see below), thecurrent drag operationp741
is
"movep741
", and the source of the drag-and-drop operation is a selection in the DOM that is entirely contained
within anediting hostp727
Delete the selectionp727
.
Ifdroppedis true, thecurrent target elementp741
is atext field(see below), thecurrent drag operationp741
is
"movep741
", and the source of the drag-and-drop operation is a selection in a text field
The user agent should delete the dragged selection from the relevant text field.
Ifdroppedis false or if thecurrent drag operationp741
is "nonep741
"
The drag was canceled. If the platform conventions dictate that this be represented to the user (e.g. by animating
the dragged selection going back to the source of the drag-and-drop operation), then do so.
Otherwise
The event has no default action.
For the purposes of this step, atext fieldis atextareap489
element or aninputp434
element whosetypep436
attribute is in
one of theTextp440
,Searchp440
,Telp441
,URLp441
,E-mailp443
,Passwordp444
, orNumberp450
states.
743
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form.
save pdf forms in reader; extract data from pdf c#
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Studio .NET. Extract various types of image from PDF file, like XObject Image, XObject Form, Inline Image, etc. Support .NET WinForms
how to save a filled out pdf form in reader; how to fill in a pdf form in reader
This section is non-normative.
The following events are involved in the drag-and-drop model.
Event
Name
Target
Cancelable?
Drag data store
modep731
dropEffectp733
Default Action
dragstart Source nodep739
Cancelable
Read/write modep731
"nonep733
"
Initiate the drag-and-drop operation
drag
Source nodep739
Cancelable
Protected modep731
"nonep733
"
Continue the drag-and-drop operation
dragenter Immediate user selectionp741
orthe body
elementp108
Cancelable
Protected modep731
Based oneffectAllowed
valuep738
Rejectimmediate user selectionp741
as potential
target elementp741
dragexit
Previous target elementp741
Protected modep731
"nonep733
"
None
dragleave Previous target elementp741
Protected modep731
"nonep733
"
None
dragover
Current target elementp741
Cancelable
Protected modep731
Based oneffectAllowed
valuep738
Reset thecurrent drag operationp741
to "none"
drop
Current target elementp741
Cancelable
Read-only modep731
Current drag operationp741
Varies
dragend
Source nodep739
Protected modep731
Current drag operationp741
Varies
Not shown in the above table: all these events bubble, and theeffectAllowedp733
attribute always has the value it had after thedragstartp744
event, defaulting to "uninitializedp733
" in thedragstartp744
event.
AllHTML elementsp43
may have thedraggablep744
content attribute set. Thedraggablep744
attribute is anenumerated attributep65
. It has three
states. The first state istrueand it has the keywordtrue. The second state isfalseand it has the keywordfalse. The third state isauto; it has no
keywords but it is themissing value defaultp65
.
Thetruestate means the element is draggable; thefalsestate means that it is not. Theautostate uses the default behaviour of the user agent.
An element with adraggablep744
attribute should also have atitlep124
attribute that names the element for the purpose of non-visual
interactions.
ThedraggableIDL attribute, whose value depends on the content attribute's in the way described below, controls whether or not the element is
draggable. Generally, only text selections are draggable, but elements whosedraggablep744
IDL attribute is true become draggable as well.
If an element'sdraggablep744
content attribute has the statetrue, thedraggablep744
IDL attribute must return true.
Otherwise, if the element'sdraggablep744
content attribute has the statefalse, thedraggablep744
IDL attribute must return false.
User agents are encouraged to consider how to react to drags near the edge of scrollable regions. For example, if a user drags a link to
the bottom of theviewport
on a long page, it might make sense to scroll the page so that the user can drop the link lower on the page.
Note
This model is independent of whichDocumentp103
object the nodes involved are from; the events are fired as described above and the
rest of the processing model runs as described above, irrespective of how many documents are involved in the operation.
Note
element.draggablep744 [ =value]
Returns true if the element is draggable; otherwise, returns false.
Can be set, to override the default and set thedraggablep744
content attribute.
Note
6.7.6 Events summary
6.7.7 Thedraggableattribute
Spec bugs:26024
744
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET. Extract multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline Image, etc. Support .NET
pdf form save with reader; extract data from pdf form
C# PDF Text Extract Library: extract text content from PDF file in
XDoc.PDF ›› C# PDF: Extract PDF Text. C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File.
flatten pdf form in reader; extract data from pdf file to excel
Otherwise, the element'sdraggablep744
content attribute has the stateauto. If the element is animgp280
element, anobjectp318
element that
representsp112
an image, or anap207
element with anhrefp244
content attribute, thedraggablep744
IDL attribute must return true; otherwise, the
draggablep744
IDL attribute must return false.
If thedraggablep744
IDL attribute is set to the value false, thedraggablep744
content attribute must be set to the literal value "false". If the
draggablep744
IDL attribute is set to the value true, thedraggablep744
content attribute must be set to the literal value "true".
AllHTML elementsp43
may have thedropzonep745
content attribute set. When specified, its value must be anunordered set of unique space-
separated tokensp84
that areASCII case-insensitivep63
. The allowed values are the following:
copy
Indicates that dropping an accepted item on the element will result in a copy of the dragged data.
move
Indicates that dropping an accepted item on the element will result in the dragged data being moved to the new location.
link
Indicates that dropping an accepted item on the element will result in a link to the original data.
Any keyword with eight characters or more, beginning with anASCII case-insensitivep63
match for the string "string:"
Indicates that items withthe drag data item kindp731
Plain Unicode stringandthe drag data item type stringp731
set to a value that matches the
remainder of the keyword are accepted.
Any keyword with six characters or more, beginning with anASCII case-insensitivep63
match for the string "file:"
Indicates that items withthe drag data item kindp731
Fileandthe drag data item type stringp731
set to a value that matches the remainder of
the keyword are accepted.
Thedropzonep745
content attribute's values must not have more than one of the three feedback values (copyp745
,movep745
, andlinkp745
)
specified. If none are specified, thecopyp745
value is implied.
An element with adropzonep745
attribute should also have atitlep124
attribute that names the element for the purpose of non-visual interactions.
Adropzonep745
attributematches a drag data storeif thedropzoneprocessing stepsp745
result in a match.
Adropzonep745
attributespecifies an operationif thedropzoneprocessing stepsp745
result in a specified operation. The specified operation is
as given by those steps.
Thedropzoneprocessing stepsare as follows. They either result in a match or not, and separate from this result either in a specified operation
or not, as defined below.
1. Letvaluebe the value of thedropzonep745
attribute.
2. Letkeywordsbe the result ofsplittingvalueon spacesp84
.
3. Letmatchedbe false.
4. Letoperationbe unspecified.
5. For each value inkeywords, if any, in the order that they were found invalue, run the following steps.
1. Letkeywordbe the keyword.
2. Ifkeywordis one of "copyp745
", "movep745
", or "linkp745
", then: run the following substeps:
1. Ifoperationis still unspecified, then letoperationbe the string given bykeyword.
2. Skip to the step labeledend of keywordbelow.
6.7.8 Thedropzoneattribute
745
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Able to extract single or multiple pages from adobe PDF file and save The portable document format, known as PDF document, is a widely-used form of file
online form pdf output; extract data from pdf
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract bookmark & outlines. Extract hyperlink inside PDF. PDF Write. Form Process. Fill in form data programmatically. Read form data from PDF form file.
exporting data from excel to pdf form; how to save filled out pdf form in reader
3. Ifkeyworddoes not contain a U+003A COLON character (:), or if the first such character inkeywordis either the first
character or the last character in the string, then skip to the step labeledend of keywordbelow.
4. Letkind codebe the substring ofkeywordfrom the first character in the string to the last character in the string that is before
the first U+003A COLON character (:) in the string,converted to ASCII lowercasep63
.
5. Jump to the appropriate step from the list below, based on the value ofkind code:
Ifkind codeis the string "string"
LetkindbePlain Unicode string.
Ifkind codeis the string "file"
LetkindbeFile.
Otherwise
Skip to the step labeledend of keywordbelow.
6. Lettypebe the substring ofkeywordfrom the first character after the first U+003A COLON character (:) in the string, to the
last character in the string,converted to ASCII lowercasep63
.
7. If there exist any items in thedrag data store item listp731
whosedrag data item kindp731
is the kind given inkindand whose
drag data item type stringp731
istype, then letmatchedbe true.
8. End of keyword: Go on to the next keyword, if any, or the next step in the overall algorithm, if there are no more.
6. The algorithm results in a match ifmatchedis true, and does not otherwise.
The algorithm results in a specified operation ifoperationis not unspecified. The specified operation, if one is specified, is the one given
byoperation.
ThedropzoneIDL attribute mustreflectp89
the content attribute of the same name.
Thesupported tokens
fordropzonep745
are the allowed values defined for thedropzonep745
attribute that are supported by the user agent.
User agents must not make the data added to theDataTransferp732
object during thedragstartp744
event available to scripts until thedropp744
event, because otherwise, if a user were to drag sensitive information from one document to a second document, crossing a hostile third document
in the process, the hostile document could intercept the data.
In this example, adivp206
element is made into a drop target for image files using thedropzonep745
attribute. Images dropped into the
target are then displayed.
<div dropzone="copy file:image/png file:image/gif file:image/jpeg" ondrop="receive(event, this)">
<p>Drop an image here to have it displayed.</p>
</div>
<script>
function receive(event, element) {
var data = event.dataTransfer.items;
for (var i = 0; i < data.length; i += 1) {
if ((data[i].kind == 'file') && (data[i].type.match('^image/'))) {
var img = new Image();
img.src = window.createObjectURL(data[i].getAsFile());
element.appendChild(img);
}
}
}
</script>
Example
6.7.9 Security risks in the drag-and-drop model
746
For the same reason, user agents must consider a drop to be successful only if the user specifically ended the drag operation — if any scripts end
the drag operation, it must be considered unsuccessful (canceled) and thedropp744
event must not be fired.
User agents should take care to not start drag-and-drop operations in response to script actions. For example, in a mouse-and-window
environment, if a script moves a window while the user has their mouse button depressed, the UA would not consider that to start a drag. This is
important because otherwise UAs could cause data to be dragged from sensitive sources and dropped into hostile documents without the user's
consent.
User agents should filter potentially active (scripted) content (e.g. HTML) when it is dragged and when it is dropped, using a safelist of known-safe
features. Similarly,relative URLs
should be turned into absolute URLs to avoid references changing in unexpected ways. This specification does
not specify how this is performed.
Consider a hostile page providing some content and getting the user to select and drag and drop (or indeed, copy and paste) that
content to a victim page'scontenteditablep725
region. If the browser does not ensure that only safe content is dragged, potentially
unsafe content such as scripts and event handlers in the selection, once dropped (or pasted) into the victim site, get the privileges of the
victim site. This would thus enable a cross-site scripting attack.
Example
747
7 Loading Web pages
This section describes features that apply most directly to Web browsers. Having said that, except where specified otherwise, the requirements
defined in this sectiondoapply to all user agents, whether they are Web browsers or not.
7.1 Browsing contexts
Abrowsing contextis an environment in whichDocumentp103
objects are presented to the user.
Abrowsing contextp748
has a correspondingWindowProxyp765
object.
Abrowsing contextp748
has asession historyp773
, which lists theDocumentp103
objects that thebrowsing contextp748
has presented, is presenting, or
will present. At any time, oneDocumentp103
in eachbrowsing contextp748
is designated theactive document. ADocument's browsing contextis
thebrowsing contextp748
whosesession historyp773
contains theDocumentp103
, if any. (ADocumentp103
created using an API such as
createDocument()
has nobrowsing contextp748
.) EachDocumentp103
in abrowsing contextp748
isassociatedwith aWindowp758
object.
Abrowsing contextp748
can have acreator browsing context, thebrowsing contextp748
that was responsible for its creation. If abrowsing
contextp748
has aparent browsing contextp749
, then that is itscreator browsing contextp748
. Otherwise, if thebrowsing contextp748
has anopener
browsing contextp750
, thenthatis itscreator browsing contextp748
. Otherwise, thebrowsing contextp748
has nocreator browsing contextp748
.
If abrowsing contextp748
Ahas acreator browsing contextp748
, then thecreator origin,creator URL,creator base URL, andcreator referrer
policyare theoriginp767
,URL
,base URLp86
, andreferrer policyp104
, respectively, of theDocumentp103
that was theactive documentp748
of that
creator browsing contextp748
at the timeAwas created.
Tocreate a new browsing context:
1. Call the JavaScriptInitializeHostDefinedRealm()
abstract operation with the following customizations:
◦ For the global object, create a newWindowp758
objectwindow.
◦ For the globalthisvalue, create a newWindowProxyp765
objectwindowProxy, whose [[Windowp765
]] internal slot value is
window.
◦ Letrealm execution contextbe the createdJavaScript execution context
.
2. Set the newbrowsing contextp748
's associatedWindowProxyp765
towindowProxy.
3. Letdocumentbe a newDocumentp103
, whoseURL
isabout:blankp50
, which is marked as being anHTML document
, whose
character encoding
is UTF-8, and which is bothready for post-load tasksp1042
andcompletely loadedp1042
immediately.
4. Set theoriginp767
ofdocument:
◦ If the newbrowsing contextp748
has acreator browsing contextp748
, then theoriginp767
ofdocumentis thecreator originp748
.
A tab or window in a Web browser typically contains abrowsing contextp748
, as does aniframep308
orframep1115
s in aframesetp1114
.
Note
In general, there is a 1-to-1 mapping from theWindowp758
object to theDocumentp103
object. There are two exceptions. First, a
Windowp758
can be reused for the presentation of a secondDocumentp103
in the samebrowsing contextp748
, such that the mapping is then
1-to-2. This occurs when abrowsing contextp748
isnavigatedp788
from the initialabout:blankp50
Documentp103
to another, with
replacement enabledp800
. Second, aDocumentp103
can end up being reused for severalWindowp758
objects when the
document.open()p856
method is used, such that the mapping is then many-to-1.
Note
ADocumentp103
does not necessarily have abrowsing contextp748
associated with it. In particular, data mining tools are likely to never
instantiate browsing contexts.
Note
The internal slot value is updated when navigations occur.
Note
748
◦ Otherwise, theoriginp767
ofdocumentis a uniqueopaque originp767
assigned when the newbrowsing contextp748
is created.
5. If the newbrowsing contextp748
has acreator browsing contextp748
, then setdocument'sreferrerp103
to thecreator URLp748
.
6. If the newbrowsing contextp748
has acreator browsing contextp748
, then setdocument'sreferrer policyp104
to thecreator referrer
policyp748
.
7. Ensure thatdocumenthas a single childhtmlp134
node, which itself has two empty child nodes: aheadp135
element, and abodyp156
element.
8. Implement the sandboxingp773
fordocument.
9. Adddocumentto the newbrowsing contextp748
'ssession historyp773
.
10. Setwindow'sassociatedDocumentp748
todocument.
11. Set up a browsing context environment settings objectp754
withrealm execution context.
Certain elements (for example,iframep308
elements) can instantiate furtherbrowsing contextsp748
. These are callednested browsing contexts. If
a browsing contextPhas aDocumentp103
Dwith an elementEthat nests another browsing contextCinside it, thenCis said to benested through
D, andEis said to be thebrowsing context containerofC. If thebrowsing context containerp749
elementEisin
theDocumentp103
D, thenPis
said to be theparent browsing contextofCandCis said to be achild browsing contextofP. Otherwise, thenested browsing contextp749
Chas
noparent browsing contextp749
.
A browsing contextAis said to be anancestorof a browsing contextBif there exists a browsing contextA'that is achild browsing contextp749
ofA
and that is itself anancestorp749
ofB, or if the browsing contextAis theparent browsing contextp749
ofB.
A browsing context that is not anested browsing contextp749
has noparent browsing contextp749
, and is thetop-level browsing contextof all the
browsing contexts for which it is anancestor browsing contextp749
.
The transitive closure ofparent browsing contextsp749
for anested browsing contextp749
gives the list ofancestor browsing contextsp749
.
Thelist of the descendant browsing contextsof aDocumentp103
dis the (ordered) list returned by the following algorithm:
1. Letlistbe an empty list.
2. For eachchild browsing contextp749
ofdthat isnested throughp749
an element that isin theDocument
d, in thetree order
of the
elements nesting thosebrowsing contextsp748
, run these substeps:
1. Append thatchild browsing contextp749
to the listlist.
2. Append thelist of the descendant browsing contextsp749
of theactive documentp748
of thatchild browsing contextp749
to the
listlist.
3. Return the constructedlist.
ADocumentp103
is said to befully activewhen it has abrowsing contextp748
and it is theactive documentp748
of thatbrowsing contextp748
, and
either its browsing context is atop-level browsing contextp749
, or it has aparent browsing contextp749
and theDocumentp103
through whichp749
it is
nestedp749
is itselffully activep749
.
Because they are nested through an element,child browsing contextsp749
are always tied to a specificDocumentp103
in theirparent browsing
contextp749
. User agents must not allow the user to interact withchild browsing contextsp749
of elements that are inDocumentp103
s that are not
themselvesfully activep749
.
Anested browsing contextp749
can be put into adelayingloadevents mode. This is used when it isnavigatedp788
, todelay the load eventp1042
of
thebrowsing context containerp749
before the newDocumentp103
is created.
Thedocument familyof abrowsing contextp748
consists of the union of all theDocumentp103
objects in thatbrowsing contextp748
'ssession
historyp773
and thedocument familiesp749
of all thoseDocumentp103
objects. Thedocument familyp749
of aDocumentp103
object consists of the
union of all thedocument familiesp749
of thebrowsing contextsp748
that arenested throughp749
theDocumentp103
object.
7.1.1 Nested browsing contexts
749
Thecontent documentof abrowsing context containerp749
containeris the result of the following algorithm:
1. Ifcontainerdoes not have anested browsing contextp749
, then return null.
2. Letcontextbecontainer'snested browsing contextp749
.
3. Letdocumentbecontext'sactive documentp748
.
4. Ifdocument'soriginp767
and theoriginp767
specified by theincumbent settings objectp836
are notsame origin-domainp769
, then return null.
5. Returndocument.
7.1.1.1 Navigating nested browsing contexts in the DOM
ThetopIDL attribute on theWindowp758
object of aDocumentp103
that has abrowsing contextp748
bmust return theWindowProxyp765
object of its
top-level browsing contextp749
(which would be its ownWindowProxyp765
object if it was atop-level browsing contextp749
itself), if it has one, or its
ownWindowProxyp765
object otherwise (e.g. if it was a detachednested browsing contextp749
).
TheparentIDL attribute on theWindowp758
object of aDocumentp103
that has abrowsing contextp748
bmust return theWindowProxyp765
object
of theparent browsing contextp749
, if there is one (i.e. ifbis achild browsing contextp749
), or theWindowProxyp765
object of thebrowsing
contextp748
bitself, otherwise (i.e. if it is atop-level browsing contextp749
or a detachednested browsing contextp749
).
TheframeElementIDL attribute, on getting, must run the following algorithm:
1. Letdbe theWindowp758
object'sassociatedDocumentp748
.
2. Letcontextbed'sbrowsing contextp748
.
3. Ifcontextis not anested browsing contextp749
, return null and abort these steps.
4. Letcontainerbecontext'sbrowsing context containerp749
.
5. Ifcontainer'snode document
'soriginp767
is notsame origin-domainp769
with theentry settings objectp836
'soriginp767
, then return null and
abort these steps.
6. Returncontainer.
It is possible to create new browsing contexts that are related to atop-level browsing contextp749
without being nested through an element. Such
browsing contexts are calledauxiliary browsing contexts. Auxiliary browsing contexts are alwaystop-level browsing contextsp749
.
Anauxiliary browsing contextp750
has anopener browsing context, which is thebrowsing contextp748
from which theauxiliary browsing contextp750
was created.
window.topp750
Returns theWindowProxyp765
for thetop-level browsing contextp749
.
window.parentp750
Returns theWindowProxyp765
for theparent browsing contextp749
.
window.frameElementp750
Returns theElement
for thebrowsing context containerp749
.
Returns null if there isn't one, and in cross-origin situations.
Note
7.1.2 Auxiliary browsing contexts
750
Documents you may be interested
Documents you may be interested