## WebKitSecurityOrigin WebKitSecurityOrigin — A security boundary for websites |

## Functions

WebKitSecurityOrigin * | webkit_security_origin_new ()
WebKitSecurityOrigin * | webkit_security_origin_new_for_uri ()
WebKitSecurityOrigin * | webkit_security_origin_ref ()
void | webkit_security_origin_unref ()
const gchar * | webkit_security_origin_get_protocol ()
const gchar * | webkit_security_origin_get_host ()
guint16 | webkit_security_origin_get_port ()
gboolean | webkit_security_origin_is_opaque ()
gchar * | webkit_security_origin_to_string ()

## Types and Values

| WebKitSecurityOrigin

## Object Hierarchy

        GBoxed
        ╰── WebKitSecurityOrigin

## Description

WebKitSecurityOrigin is a representation of a security domain defined by websites. A security origin normally consists of a protocol, a hostname, and a port number. It is also possible for a security origin to be opaque, as defined by the HTML standard, in which case it has no associated protocol, host, or port.

Websites with the same security origin can access each other's resources for client-side scripting or database access.

## Functions

### webkit_security_origin_new ()

    WebKitSecurityOrigin *
    webkit_security_origin_new (const gchar *protocol,
                                const gchar *host,
                                guint16 port);

Create a new security origin from the provided protocol, host and port.

#### Parameters

protocol | The protocol for the new origin |
host | The host for the new origin |
port | The port number for the new origin, or 0 to indicate the default port for `protocol` |

#### Returns

A WebKitSecurityOrigin.

[transfer full]

Since: 2.16

### webkit_security_origin_new_for_uri ()

    WebKitSecurityOrigin *
    webkit_security_origin_new_for_uri (const gchar *uri);

Create a new security origin from the provided URI. Components of `uri` other than protocol, host, and port do not affect the created WebKitSecurityOrigin.

#### Parameters

uri | The URI for the new origin |

#### Returns

A WebKitSecurityOrigin.

[transfer full]

Since: 2.16

### webkit_security_origin_ref ()

    WebKitSecurityOrigin *
    webkit_security_origin_ref (WebKitSecurityOrigin *origin);

Atomically increments the reference count of `origin` by one. This function is MT-safe and may be called from any thread.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

The passed WebKitSecurityOrigin

Since: 2.16

### webkit_security_origin_unref ()

    void
    webkit_security_origin_unref (WebKitSecurityOrigin *origin);

Atomically decrements the reference count of `origin` by one. If the reference count drops to 0, all memory allocated by WebKitSecurityOrigin is released. This function is MT-safe and may be called from any thread.

#### Parameters

origin | A WebKitSecurityOrigin |

Since: 2.16

### webkit_security_origin_get_protocol ()

    const gchar *
    webkit_security_origin_get_protocol (WebKitSecurityOrigin *origin);

Gets the protocol of `origin` , or `NULL` if `origin` is opaque.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

The protocol of the WebKitSecurityOrigin.

[allow-none]

Since: 2.16

### webkit_security_origin_get_host ()

    const gchar *
    webkit_security_origin_get_host (WebKitSecurityOrigin *origin);

Gets the hostname of `origin` , or `NULL` if `origin` is opaque or if its protocol does not require a host component.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

The host of the WebKitSecurityOrigin.

[allow-none]

Since: 2.16

### webkit_security_origin_get_port ()

    guint16
    webkit_security_origin_get_port (WebKitSecurityOrigin *origin);

Gets the port of `origin` . This function will always return 0 if the port is the default port for the given protocol. For example, http://example.com has the same security origin as http://example.com:80, and this function will return 0 for a WebKitSecurityOrigin constructed from either URI. It will also return 0 if `origin` is opaque.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

The port of the WebKitSecurityOrigin.

Since: 2.16

### webkit_security_origin_is_opaque ()

    gboolean
    webkit_security_origin_is_opaque (WebKitSecurityOrigin *origin);

Gets whether `origin` is an opaque security origin, which does not possess an associated protocol, host, or port.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

`TRUE` if `origin` is opaque.

Since: 2.16

### webkit_security_origin_to_string ()

    gchar *
    webkit_security_origin_to_string (WebKitSecurityOrigin *origin);

Gets a string representation of `origin` . The string representation is a valid URI with only protocol, host, and port components. It may be `NULL`, but usually only if `origin` is opaque.

#### Parameters

origin | a WebKitSecurityOrigin |

#### Returns

a URI representing `origin` .

[allow-none][transfer full]

Since: 2.16

## Types and Values

### WebKitSecurityOrigin

    typedef struct _WebKitSecurityOrigin WebKitSecurityOrigin;