EphyEmbed
3
EPIPHANY Library

# EphyEmbed

An interface to the widget displaying web pages

## Synopsis

    typedef             EphyEmbed;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----EphyEmbed

## Implemented Interfaces

EphyEmbed implements AtkImplementorIface, GtkBuildable and EphyCommandManager.

## Description

Each EphyTab contains an EphyEmbed. An EphyEmbed is an interface; right now it is only implemented by MozillaEmbed, but whenever possible, EphyEmbed's functions should be used instead of their MozillaEmbed equivalents.

EphyEmbed's most important functions can be divided into sets:

- Functions which affect navigation
- Functions which return information about the displayed web page
- Functions which manipulate the session history

The first two sets of functions are self-explanitory.

The session history functions are used to traverse the embedded browser's history. Each EphyEmbed remembers a history of the web pages it has visited. There can be a maximum limit, however; for MozillaEmbed, this limit is determined by Mozilla's browser.sessionhistory.max_entries preference. Because of this limit, `ephy_embed_shistory_n_items()` will not necessarily return the number of web pages visited in the embed's lifetime; likewise, `ephy_embed_shistory_go_nth()` will not always return to the user's home page when called with a 0 argument.

## Details

### EphyEmbed

    typedef struct EphyEmbed EphyEmbed;

## See Also

Using EphyEmbed instead of MozillaEmbed is good practice. However, using a MozillaEmbed or even a GtkMozEmbed may be necessary in certain cases (this can be done by casting).