Service Name:
Wilderness Guest Ranch Experience
This is western hospitality with all the activities of a true western lifestyle. Reliable Cayuse horse macthed to your abilities! Choose between a leisurely trip, action packed or something in between. Whether it's the "River Ride" or 'Eldorado Pass", you'll find each ride cleverly crafted to gradually take you to new heights. When you're not riding, enjoy our library, swim at nearby lake, or play a board game before enjoying the camaraderie of the evening campfire. Ranch stays include two hour rides, half day and all day rides, riding lessons, bareback lessons, gold panning and target practice. You'll find our activity options are unique: Grizzly Viewing, "hands-on" demonstration horse logging or shoeing/packing, gymkhana horse sports and guided fishing.
Service Name:
Wilderness Horse Pack Trips
This is the ultimate adventure! Ride into the backcountry like an explorer with packhorses in tow. Travel the mountains in normadic style, seeing new scenery each day. Follow game trails, cross rivers, and enjoy open-air lunches with the worlds' best views. There are sweeping vistas, turquoise green glaciers, snow caves, and abundant wildlife including mountain goats, bighorn sheeps, mule deer, moose, wolf, grizzlies and black bear. We view them at every opportunity through spotting scopes. Travel mountain top passes, experience wide U shaped valley with their mosaic of wildflowers, wild hay meadows and big-game mineral licks. If your main interest is fishing, let us know and we'll select your camp according to lake or stream interests. Routes and camps dependant on trip levels and seasons.
Service Name:
Wilderness Wildlife Viewing
Understand the life cycles, habits and habitats of our wildlife while contributing to data collection that will help in the long-term management of the species. Collect Grizzly bear samples for DNA research, count age and sex of Rocky Mountain goat, Canadian Moose, or the last of the original population of California Bighorn sheep that spread from California to Central British Columbia.
Service Name:
Wilderness Alpine Hiking
Like true explorers you and your guide(s) will access the alpine by foot, carrying only a daypack. The packhorse carries your personal gear and supplies. Alpine camps are permanent and are stocked with supplies for your adventure. Ranch based hikers choose daily options that include a mix of trails or hikes into the alpine. Camp based hikers can choose between level I, II or III. More seasoned hikers can choose adventures that involve steeper terrain and takes them through a series of alpine camps. You'll experience places you could not see on your own.
Service Name:
Wilderness Fly Fishing
Experience quality wilderness dry fly-fishing with Licensed Angling Guides. Fish for wild rainbow trout, brook trout, dolly varden and kokanee in over 25 remote mountain lakes, rivers, ponds and streams within our 5,000 sq. km angling territory. Our alpine Spruce Lake camp is a fly-fishing paradise for those wanting the thrill of dry fly-fishing. The clear water provides lots of opportunity for sight casting. Fly-in Camp based fishing is for those wanting to overnight in an alpine camp (includes flight). Ranch based fishing is for those that wish to overnight in our Guest Ranch and choose daily from a variety of lakes, rivers and streams (includes daily transportation by vehicle).
Service Name:
Wilderness Guide Training
Training by a Licensed Guide Outfitter...it's what makes difference in the quality of the guide in Adventure Tourism. We have been training wilderness guides since 1990. People from all over the world, from all walks of life, have graduated from our programs and have gone on to fill the employment needs of the adventure tourism industry throughout the world. These programs are about "guiding in the wilderness" and provide participants with a solid base of combined working knowledge and pratical skills.
Service Name:
Wilderness Mountain Biking
Like true explorers, you and your guide(s) will access the alpine by bike, carrying only a daypack. The packhorse carries your personal gear and supplies. Alpine camps are permanent and stocked with supplies for your adventure. These multi day single-track wilderness bike tours are guided, and they are done in prime biking areas where there is no conflict with horses and hikers. We do not do unguided extreme biking. Our guides are trained in wilderness safety, knowledge of the wildlife and mountain trails. They make every trip a quality wilderness experience. Activity options: Grizzly viewing, fishing.
Service Name:
Wilderness Snowmobile Adventure
Riding a snowmobile is unique to Canada. Riding the Mountain-Tops is unique to the Chilcotin Mountains. Glaciated terrain allows you to sled into places where others only dream of going. When you are based out of our private Lodge, you can ride the packed wilderness trail by day and kick back at the fire place by night. There are 300 km of wilderness trails that range from easy to challenging. Or, base yourself out of our remote alpine mountain hut where the open alpine beckons. Ride miles of deep powder then drop into your rustic mountain top hut for lunch (includes snowmobile).
Service Name:
Wilderness Skiing and/or Snow Shoeing
Ranch based skiing is ideal for small groups that wish to explore a variety of different packed or powder wilderness trails. Ski in and out of our Lodge on novice to advanced trails. When you're not skiing, enjoy our sleigh rides, horseback rides on whoolly Cayuse horses, biathlon shooting and ice fishing. Wilderness backcountry hut skiing combines the best sub-alpine terrain with facilities on site. Ski from your own exclusive alpine hut in different directions to a new powder bowl, a new ridge or through sub-alpine valleys. Activity options: Horse riding, snowmobile rides.


No text selected. To report suspicious fact to the community, select text in the page and re-open Watson extension.
""
http://mywebsite.com


Notes, known limitations, and differences between SimpleTAL and Zope's ZPT.
Some notes on aspects of SimpleTAL that might require a little explanation. If there is something you feel should be included in here, please let me know.
As a bug fix version 2.1 of SimpleTAL now processes HTML templates slightly differently to XML templates. In the HTML 4.01 specification there are several elements (e.g. ) for which end tags are forbidden. This would normally cause a problem with TAL, because all tags that have TAL attributes on them must be closed. To solve this problem SimpleTAL has been modified to:
These changes ensure that a HTML template can still be a valid HTML document, even if TAL needs to be used on elements that forbid end tags. Additionally the output from the expanded template will also be valid HTML, in that the end tags will be suppressed even if present in the template.
As a consequence of this change it is important that any XHTML templates are handled as XML rather than HTML, i.e. by calling compileXMLTemplate to compile the template.
SimpleTAL fully supports international character sets, providing all of the encoding options that Python supports. To painlessly support the correct conversion between character sets, just follow these simple rules:
When content is included into a template using 'tal:content' or 'tal:replace' the content is by default treated as text. This means that the '<', '>' and '&' characters will be automatically escaped so that they appear in the rendered template correctly.
When using the 'structure' keyword, however, SimpleTAL will pass the content straight through into the template with no escaping. As such it's important to realise that the content placed into a template in such a way can affect the validity of the output. For example if you take user input that contains HTML markup it's important to ensure that the markup is valid HTML, otherwise the resulting template output will not be valid. In order to assist in doing this I've put together a class (HTMLStructureCleaner) in simpleTALUtils that will escape any stray '<', '>' or '&' characters present while leaving all elements and attributes intact.
The restriction in SimpleTAL 1.x when including structured content into an XML template is now removed - the structure is not re-parsed, and so does not have to be valid XML.
When adding a mapping object (e.g. a Dictionary) to the Context, care should be taken on the naming conventions used within the mapping. When SimpleTAL/ES resolves a path, it will first look for attributes on the object with that name, before trying to treat the object as a mapping object. What this means in practice is that paths which match object attributes (e.g. methods) will never select the values given in the mapping. As an example of this consider the following:
Template:

Context:
myDict = {'items': [1,2,3]}
Context.addGlobal ("dict", myDict)
You would expect the output from this to be:

1

2

3

However this is not what happens. Instead the variable "item" will be set to the output of "myDict.items()" - i.e. it will call the Python dictionary method 'items()'.
I have considered changing this so that mapping checks are made first in path resolution rather than attribute lookups. When I checked the Zope 2.5 behaviour however, I found that it works the same way as SimpleTAL, so for now I've left it to be consistent with Zope.
When using the 'python:' path type, care must be taken with the use of the less than (<) and greater than (>) signs. These must be escaped in the same way as all other HTML markup. For example:
use: <div tal:condition="python: a Conditional Text

instead of: <div tal:condition="python: a Conditional Text

Non-existent path types, e.g. '' are not supported. In Zope, this results in the path being interpreted as a string - in simpleTAL/ES the result will be an error.
PubTal Version


Contact OS Templates
Please feel free to contact OS Templates via the contact form found below.
Due to the amount of emails that OS Templates receives it may take a while for you to receive a response. If you don't receive an answer within 5 working days please check your spam folder. If you find our mail in your spam folder please add us to your friends list to prevent this happening again.
IMPORTANT
All emails will be ignored that refer to link removal, copyright removal, buying or selling our free templates. The licence states that all of the listed are not permitted - easy.
For information about advertising, please click here »
Free Support
We provide limited free support for users of our free templates
Before you contact us please view our Template support area, there are numerous pages of documentation and support posts for the majority of standard questions that we are asked on a regular basis.
If you can't find an answer to your problem in the template support section and you wish to contact us for support, please provide the following:
- Template name and URL of the template
- The URL of the website where the template is in use
(if you do not provide a URL we can't provide help. If we can't see all of the changes that have been made to the template, we can't backtrace to find out why problems have arisen.) - Exact problem you are facing
* Having trouble opening the downloaded file(s) - please read our FAQ for details.


| Top |
| gboolean | editable | Read / Write |
| gdouble | estimated-load-progress | Read |
| gpointer | favicon | Read |
| gboolean | is-controlled-by-automation | Read / Write / Construct Only |
| gboolean | is-ephemeral | Read / Write / Construct Only |
| gboolean | is-loading | Read |
| gboolean | is-playing-audio | Read |
| WebKitWebView * | related-view | Write / Construct Only |
| WebKitSettings * | settings | Write / Construct |
| gchar * | title | Read |
| gchar * | uri | Read |
| WebKitUserContentManager * | user-content-manager | Read / Write / Construct Only |
| WebKitWebContext * | web-context | Read / Write / Construct Only |
| gdouble | zoom-level | Read / Write |
| WebKitWebView | |
| enum | WebKitLoadEvent |
| enum | WebKitPolicyDecisionType |
| enum | WebKitSaveMode |
| enum | WebKitInsecureContentEvent |
| enum | WebKitSnapshotOptions |
| enum | WebKitSnapshotRegion |
| #define | WEBKIT_EDITING_COMMAND_CUT |
| #define | WEBKIT_EDITING_COMMAND_COPY |
| #define | WEBKIT_EDITING_COMMAND_PASTE |
| #define | WEBKIT_EDITING_COMMAND_SELECT_ALL |
| #define | WEBKIT_EDITING_COMMAND_UNDO |
| #define | WEBKIT_EDITING_COMMAND_REDO |
| #define | WEBKIT_EDITING_COMMAND_INSERT_IMAGE |
| #define | WEBKIT_EDITING_COMMAND_CREATE_LINK |
| WebKitJavascriptResult | |
| WebKitScriptDialog | |
| enum | WebKitScriptDialogType |
| WebKitWebViewSessionState |
GBoxed ├── WebKitJavascriptResult ├── WebKitScriptDialog ╰── WebKitWebViewSessionState GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── WebKitWebViewBase ╰── WebKitWebView
WebKitWebView is the central class of the WebKit2GTK+ API. It is responsible for managing the drawing of the content and forwarding of events. You can load any URI into the WebKitWebView or a data string. With WebKitSettings you can control various aspects of the rendering and loading of the content.
Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.
GtkWidget *
webkit_web_view_new (void
);
Creates a new WebKitWebView with the default WebKitWebContext and
no WebKitUserContentManager associated with it.
See also webkit_web_view_new_with_context()
,
webkit_web_view_new_with_user_content_manager()
, and
webkit_web_view_new_with_settings()
.
GtkWidget *
webkit_web_view_new_with_context (WebKitWebContext *context
);
Creates a new WebKitWebView with the given WebKitWebContext and
no WebKitUserContentManager associated with it.
See also webkit_web_view_new_with_user_content_manager()
and
webkit_web_view_new_with_settings()
.
GtkWidget *
webkit_web_view_new_with_related_view (WebKitWebView *web_view
);
Creates a new WebKitWebView sharing the same web process with web_view
.
This method doesn't have any effect when WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS
process model is used, because a single web process is shared for all the web views in the
same WebKitWebContext. When using WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES
process model,
this method should always be used when creating the WebKitWebView in the “create” signal.
You can also use this method to implement other process models based on WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES
,
like for example, sharing the same web process for all the views in the same security domain.
The newly created WebKitWebView will also have the same WebKitUserContentManager
and WebKitSettings as web_view
.
[constructor]
Since: 2.4
GtkWidget *
webkit_web_view_new_with_settings (WebKitSettings *settings
);
Creates a new WebKitWebView with the given WebKitSettings.
See also webkit_web_view_new_with_context()
, and
webkit_web_view_new_with_user_content_manager()
.
Since: 2.6
GtkWidget *
webkit_web_view_new_with_user_content_manager
(WebKitUserContentManager *user_content_manager
);
Creates a new WebKitWebView with the given WebKitUserContentManager. The content loaded in the view may be affected by the content injected in the view by the user content manager.
Since: 2.6
gboolean
webkit_web_view_is_ephemeral (WebKitWebView *web_view
);
Get whether a WebKitWebView is ephemeral. To create an ephemeral WebKitWebView you need to
use g_object_new()
and pass is-ephemeral property with TRUE
value. See
“is-ephemeral” for more details.
If web_view
was created with a ephemeral “related-view” or an
ephemeral “web-context” it will also be ephemeral.
Since: 2.16
gboolean
webkit_web_view_is_controlled_by_automation
(WebKitWebView *web_view
);
Get whether a WebKitWebView was created with “is-controlled-by-automation” property enabled. Only WebKitWebViews controlled by automation can be used in an automation session.
Since: 2.18
WebKitWebContext *
webkit_web_view_get_context (WebKitWebView *web_view
);
Gets the web context of web_view
.
WebKitUserContentManager *
webkit_web_view_get_user_content_manager
(WebKitWebView *web_view
);
Gets the user content manager associated to web_view
.
Since: 2.6
WebKitWebsiteDataManager *
webkit_web_view_get_website_data_manager
(WebKitWebView *web_view
);
Get the WebKitWebsiteDataManager associated to web_view
. If web_view
is not ephemeral,
the returned WebKitWebsiteDataManager will be the same as the WebKitWebsiteDataManager
of web_view
's WebKitWebContext.
Since: 2.16
void
webkit_web_view_try_close (WebKitWebView *web_view
);
Tries to close the web_view
. This will fire the onbeforeunload event
to ask the user for confirmation to close the page. If there isn't an
onbeforeunload event handler or the user confirms to close the page,
the “close” signal is emitted, otherwise nothing happens.
Since: 2.12
void webkit_web_view_load_uri (WebKitWebView *web_view
,const gchar *uri
);
Requests loading of the specified URI string. You can monitor the load operation by connecting to “load-changed” signal.
void webkit_web_view_load_html (WebKitWebView *web_view
,const gchar *content
,const gchar *base_uri
);
Load the given content
string with the specified base_uri
.
If base_uri
is not NULL
, relative URLs in the content
will be
resolved against base_uri
and absolute local paths must be children of the base_uri
.
For security reasons absolute local paths that are not children of base_uri
will cause the web process to terminate.
If you need to include URLs in content
that are local paths in a different
directory than base_uri
you can build a data URI for them. When base_uri
is NULL
,
it defaults to "about:blank". The mime type of the document will be "text/html".
You can monitor the load operation by connecting to “load-changed” signal.
web_view |
||
content |
The HTML string to load |
|
base_uri |
The base URI for relative locations or |
[allow-none] |
void webkit_web_view_load_alternate_html (WebKitWebView *web_view
,const gchar *content
,const gchar *content_uri
,const gchar *base_uri
);
Load the given content
string for the URI content_uri
.
This allows clients to display page-loading errors in the WebKitWebView itself.
When this method is called from “load-failed” signal to show an
error page, then the back-forward list is maintained appropriately.
For everything else this method works the same way as webkit_web_view_load_html()
.
web_view |
||
content |
the new content to display as the main page of the |
|
content_uri |
the URI for the alternate page content |
|
base_uri |
the base URI for relative locations or |
[allow-none] |
void webkit_web_view_load_plain_text (WebKitWebView *web_view
,const gchar *plain_text
);
Load the specified plain_text
string into web_view
. The mime type of
document will be "text/plain". You can monitor the load
operation by connecting to “load-changed” signal.
void webkit_web_view_load_bytes (WebKitWebView *web_view
,GBytes *bytes
,const gchar *mime_type
,const gchar *encoding
,const gchar *base_uri
);
Load the specified bytes
into web_view
using the given mime_type
and encoding
.
When mime_type
is NULL
, it defaults to "text/html".
When encoding
is NULL
, it defaults to "UTF-8".
When base_uri
is NULL
, it defaults to "about:blank".
You can monitor the load operation by connecting to “load-changed” signal.
Since: 2.6
void webkit_web_view_load_request (WebKitWebView *web_view
,WebKitURIRequest *request
);
Requests loading of the specified WebKitURIRequest. You can monitor the load operation by connecting to “load-changed” signal.
gboolean
webkit_web_view_can_go_back (WebKitWebView *web_view
);
Determines whether web_view
has a previous history item.
void
webkit_web_view_go_back (WebKitWebView *web_view
);
Loads the previous history item. You can monitor the load operation by connecting to “load-changed” signal.
gboolean
webkit_web_view_can_go_forward (WebKitWebView *web_view
);
Determines whether web_view
has a next history item.
void
webkit_web_view_go_forward (WebKitWebView *web_view
);
Loads the next history item. You can monitor the load operation by connecting to “load-changed” signal.
const gchar *
webkit_web_view_get_title (WebKitWebView *web_view
);
Gets the value of the “title” property.
You can connect to notify::title signal of web_view
to
be notified when the title has been received.
guint64
webkit_web_view_get_page_id (WebKitWebView *web_view
);
Get the identifier of the WebKitWebPage corresponding to the WebKitWebView
void
webkit_web_view_reload (WebKitWebView *web_view
);
Reloads the current contents of web_view
.
See also webkit_web_view_reload_bypass_cache()
.
void
webkit_web_view_reload_bypass_cache (WebKitWebView *web_view
);
Reloads the current contents of web_view
without
using any cached data.
void
webkit_web_view_stop_loading (WebKitWebView *web_view
);
Stops any ongoing loading operation in web_view
.
This method does nothing if no content is being loaded.
If there is a loading operation in progress, it will be cancelled and
“load-failed” signal will be emitted with
WEBKIT_NETWORK_ERROR_CANCELLED
error.
gboolean
webkit_web_view_is_loading (WebKitWebView *web_view
);
Gets the value of the “is-loading” property.
You can monitor when a WebKitWebView is loading a page by connecting to
notify::is-loading signal of web_view
. This is useful when you are
interesting in knowing when the view is loading something but not in the
details about the status of the load operation, for example to start a spinner
when the view is loading a page and stop it when it finishes.
gboolean
webkit_web_view_is_playing_audio (WebKitWebView *web_view
);
Gets the value of the “is-playing-audio” property.
You can monitor when a page in a WebKitWebView is playing audio by
connecting to the notify::is-playing-audio signal of web_view
. This
is useful when the application wants to provide visual feedback when a
page is producing sound.
Since: 2.8
gdouble
webkit_web_view_get_estimated_load_progress
(WebKitWebView *web_view
);
Gets the value of the “estimated-load-progress” property.
You can monitor the estimated progress of a load operation by
connecting to the notify::estimated-load-progress signal of web_view
.
const gchar *
webkit_web_view_get_custom_charset (WebKitWebView *web_view
);
Returns the current custom character encoding name of web_view
.
the current custom character encoding name or NULL
if no
custom character encoding has been set.
void webkit_web_view_set_custom_charset (WebKitWebView *web_view
,const gchar *charset
);
Sets the current custom character encoding override of web_view
. The custom
character encoding will override any text encoding detected via HTTP headers or
META tags. Calling this method will stop any current load operation and reload the
current page. Setting the custom character encoding to NULL
removes the character
encoding override.
WebKitBackForwardList *
webkit_web_view_get_back_forward_list (WebKitWebView *web_view
);
Obtains the WebKitBackForwardList associated with the given WebKitWebView. The WebKitBackForwardList is owned by the WebKitWebView.
void webkit_web_view_go_to_back_forward_list_item (WebKitWebView *web_view
,WebKitBackForwardListItem *list_item
);
Loads the specific history item list_item
.
You can monitor the load operation by connecting to
“load-changed” signal.
const gchar *
webkit_web_view_get_uri (WebKitWebView *web_view
);
Returns the current active URI of web_view
. The active URI might change during
a load operation:
When nothing has been loaded yet on web_view
the active URI is NULL
.
When a new load operation starts the active URI is the requested URI:
If the load operation was started by webkit_web_view_load_uri()
,
the requested URI is the given one.
If the load operation was started by webkit_web_view_load_html()
,
the requested URI is "about:blank".
If the load operation was started by webkit_web_view_load_alternate_html()
,
the requested URI is content URI provided.
If the load operation was started by webkit_web_view_go_back()
or
webkit_web_view_go_forward()
, the requested URI is the original URI
of the previous/next item in the WebKitBackForwardList of web_view
.
If the load operation was started by
webkit_web_view_go_to_back_forward_list_item()
, the requested URI
is the opriginal URI of the given WebKitBackForwardListItem.
If there is a server redirection during the load operation,
the active URI is the redirected URI. When the signal
“load-changed” is emitted with WEBKIT_LOAD_REDIRECTED
event, the active URI is already updated to the redirected URI.
When the signal “load-changed” is emitted
with WEBKIT_LOAD_COMMITTED
event, the active URI is the final
one and it will not change unless a new load operation is started
or a navigation action within the same page is performed.
You can monitor the active URI by connecting to the notify::uri
signal of web_view
.
cairo_surface_t *
webkit_web_view_get_favicon (WebKitWebView *web_view
);
Returns favicon currently associated to web_view
, if any. You can
connect to notify::favicon signal of web_view
to be notified when
the favicon is available.
a pointer to a cairo_surface_t with the
favicon or NULL
if there's no icon associated with web_view
.
[transfer none]
void webkit_web_view_set_settings (WebKitWebView *web_view
,WebKitSettings *settings
);
Sets the WebKitSettings to be applied to web_view
. The
existing WebKitSettings of web_view
will be replaced by
settings
. New settings are applied immediately on web_view
.
The same WebKitSettings object can be shared
by multiple WebKitWebViews.
WebKitSettings *
webkit_web_view_get_settings (WebKitWebView *web_view
);
Gets the WebKitSettings currently applied to web_view
.
If no other WebKitSettings have been explicitly applied to
web_view
with webkit_web_view_set_settings()
, the default
WebKitSettings will be returned. This method always returns
a valid WebKitSettings object.
To modify any of the web_view
settings, you can either create
a new WebKitSettings object with webkit_settings_new()
, setting
the desired preferences, and then replace the existing web_view
settings with webkit_web_view_set_settings()
or get the existing
web_view
settings and update it directly. WebKitSettings objects
can be shared by multiple WebKitWebViews, so modifying
the settings of a WebKitWebView would affect other
WebKitWebViews using the same WebKitSettings.
WebKitWindowProperties *
webkit_web_view_get_window_properties (WebKitWebView *web_view
);
Get the WebKitWindowProperties object containing the properties
that the window containing web_view
should have.
void webkit_web_view_set_zoom_level (WebKitWebView *web_view
,gdouble zoom_level
);
Set the zoom level of web_view
, i.e. the factor by which the
view contents are scaled with respect to their original size.
gdouble
webkit_web_view_get_zoom_level (WebKitWebView *web_view
);
Get the zoom level of web_view
, i.e. the factor by which the
view contents are scaled with respect to their original size.
void webkit_web_view_can_execute_editing_command (WebKitWebView *web_view
,const gchar *command
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously check if it is possible to execute the given editing command.
When the operation is finished, callback
will be called. You can then call
webkit_web_view_can_execute_editing_command_finish()
to get the result of the operation.
web_view |
||
command |
the command to check |
|
cancellable |
a GCancellable or |
[allow-none] |
callback |
a GAsyncReadyCallback to call when the request is satisfied. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
gboolean webkit_web_view_can_execute_editing_command_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_can_execute_editing_command()
.
void webkit_web_view_execute_editing_command (WebKitWebView *web_view
,const gchar *command
);
Request to execute the given command
for web_view
. You can use
webkit_web_view_can_execute_editing_command()
to check whether
it's possible to execute the command.
void webkit_web_view_execute_editing_command_with_argument (WebKitWebView *web_view
,const char *command
,const char *argument
);
Request to execute the given command
with argument
for web_view
. You can use
webkit_web_view_can_execute_editing_command()
to check whether
it's possible to execute the command.
Since: 2.10
WebKitFindController *
webkit_web_view_get_find_controller (WebKitWebView *web_view
);
Gets the WebKitFindController that will allow the caller to query the WebKitWebView for the text to look for.
WebKitWebInspector *
webkit_web_view_get_inspector (WebKitWebView *web_view
);
Get the WebKitWebInspector associated to web_view
JSGlobalContextRef
webkit_web_view_get_javascript_global_context
(WebKitWebView *web_view
);
Get the global JavaScript context used by web_view
to deserialize the
result values of scripts executed with webkit_web_view_run_javascript()
.
void webkit_web_view_run_javascript (WebKitWebView *web_view
,const gchar *script
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously run script
in the context of the current page in web_view
. If
WebKitSettings:enable-javascript is FALSE, this method will do nothing.
When the operation is finished, callback
will be called. You can then call
webkit_web_view_run_javascript_finish()
to get the result of the operation.
web_view |
||
script |
the script to run |
|
cancellable |
a GCancellable or |
[allow-none] |
callback |
a GAsyncReadyCallback to call when the script finished. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
WebKitJavascriptResult * webkit_web_view_run_javascript_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_run_javascript()
.
This is an example of using webkit_web_view_run_javascript()
with a script returning
a string:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
static void web_view_javascript_finished (GObject *object, GAsyncResult *result, gpointer user_data) { WebKitJavascriptResult *js_result; JSValueRef value; JSGlobalContextRef context; GError *error = NULL; js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error); if (!js_result) { g_warning ("Error running javascript: %s", error->message); g_error_free (error); return; } context = webkit_javascript_result_get_global_context (js_result); value = webkit_javascript_result_get_value (js_result); if (JSValueIsString (context, value)) { JSStringRef js_str_value; gchar *str_value; gsize str_length; js_str_value = JSValueToStringCopy (context, value, NULL); str_length = JSStringGetMaximumUTF8CStringSize (js_str_value); str_value = (gchar *)g_malloc (str_length); JSStringGetUTF8CString (js_str_value, str_value, str_length); JSStringRelease (js_str_value); g_print ("Script result: %s\n", str_value); g_free (str_value); } else { g_warning ("Error running javascript: unexpected return value"); } webkit_javascript_result_unref (js_result); } static void web_view_get_link_url (WebKitWebView *web_view, const gchar *link_id) { gchar *script; script = g_strdup_printf ("window.document.getElementById('%s').href;", link_id); webkit_web_view_run_javascript (web_view, script, NULL, web_view_javascript_finished, NULL); g_free (script); } |
a WebKitJavascriptResult with the result of the last executed statement in script
or NULL
in case of error.
[transfer full]
void webkit_web_view_run_javascript_from_gresource (WebKitWebView *web_view
,const gchar *resource
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously run the script from resource
in the context of the
current page in web_view
.
When the operation is finished, callback
will be called. You can
then call webkit_web_view_run_javascript_from_gresource_finish()
to get the result
of the operation.
web_view |
||
resource |
the location of the resource to load |
|
cancellable |
a GCancellable or |
[allow-none] |
callback |
a GAsyncReadyCallback to call when the script finished. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
WebKitJavascriptResult * webkit_web_view_run_javascript_from_gresource_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_run_javascript_from_gresource()
.
Check webkit_web_view_run_javascript_finish()
for a usage example.
a WebKitJavascriptResult with the result of the last executed statement in script
or NULL
in case of error.
[transfer full]
gboolean webkit_web_view_can_show_mime_type (WebKitWebView *web_view
,const gchar *mime_type
);
Whether or not a MIME type can be displayed in web_view
.
void webkit_web_view_save (WebKitWebView *web_view
,WebKitSaveMode save_mode
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously save the current web page associated to the
WebKitWebView into a self-contained format using the mode
specified in save_mode
.
When the operation is finished, callback
will be called. You can
then call webkit_web_view_save_finish()
to get the result of the
operation.
web_view |
||
save_mode |
the WebKitSaveMode specifying how the web page should be saved. |
|
cancellable |
a GCancellable or |
[allow-none] |
callback |
a GAsyncReadyCallback to call when the request is satisfied. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
GInputStream * webkit_web_view_save_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_save()
.
a GInputStream with the result of saving
the current web page or NULL
in case of error.
[transfer full]
void webkit_web_view_save_to_file (WebKitWebView *web_view
,GFile *file
,WebKitSaveMode save_mode
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously save the current web page associated to the
WebKitWebView into a self-contained format using the mode
specified in save_mode
and writing it to file
.
When the operation is finished, callback
will be called. You can
then call webkit_web_view_save_to_file_finish()
to get the result of the
operation.
web_view |
||
file |
the GFile where the current web page should be saved to. |
|
save_mode |
the WebKitSaveMode specifying how the web page should be saved. |
|
cancellable |
a GCancellable or |
[allow-none] |
callback |
a GAsyncReadyCallback to call when the request is satisfied. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
gboolean webkit_web_view_save_to_file_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_save_to_file()
.
WebKitDownload * webkit_web_view_download_uri (WebKitWebView *web_view
,const char *uri
);
Requests downloading of the specified URI string for web_view
.
gboolean webkit_web_view_get_tls_info (WebKitWebView *web_view
,GTlsCertificate **certificate
,GTlsCertificateFlags *errors
);
Retrieves the GTlsCertificate associated with the main resource of web_view
,
and the GTlsCertificateFlags showing what problems, if any, have been found
with that certificate.
If the connection is not HTTPS, this function returns FALSE
.
This function should be called after a response has been received from the
server, so you can connect to “load-changed” and call this function
when it's emitted with WEBKIT_LOAD_COMMITTED
event.
Note that this function provides no information about the security of the web
page if the current WebKitTLSErrorsPolicy is WEBKIT_TLS_ERRORS_POLICY_IGNORE
,
as subresources of the page may be controlled by an attacker. This function
may safely be used to determine the security status of the current page only
if the current WebKitTLSErrorsPolicy is WEBKIT_TLS_ERRORS_POLICY_FAIL
, in
which case subresources that fail certificate verification will be blocked.
web_view |
||
certificate |
return location for a GTlsCertificate. |
[out][transfer none] |
errors |
return location for a GTlsCertificateFlags the verification status of |
[out] |
void webkit_web_view_get_snapshot (WebKitWebView *web_view
,WebKitSnapshotRegion region
,WebKitSnapshotOptions options
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously retrieves a snapshot of web_view
for region
.
options
specifies how the snapshot should be rendered.
When the operation is finished, callback
will be called. You must
call webkit_web_view_get_snapshot_finish()
to get the result of the
operation.
web_view |
||
region |
the WebKitSnapshotRegion for this snapshot |
|
options |
WebKitSnapshotOptions for the snapshot |
|
cancellable |
a GCancellable. |
[allow-none] |
callback |
[scope async] | |
user_data |
user data. |
[closure] |
cairo_surface_t * webkit_web_view_get_snapshot_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finishes an asynchronous operation started with webkit_web_view_get_snapshot()
.
void webkit_web_view_set_background_color (WebKitWebView *web_view
,const GdkRGBA *rgba
);
Sets the color that will be used to draw the web_view
background before
the actual contents are rendered. Note that if the web page loaded in web_view
specifies a background color, it will take precedence over the rgba
color.
By default the web_view
background color is opaque white.
Note that the parent window must have a RGBA visual and
“app-paintable” property set to TRUE
for backgrounds colors to work.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
static void browser_window_set_background_color (BrowserWindow *window, const GdkRGBA *rgba) { WebKitWebView *web_view; GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (window)); GdkVisual *rgba_visual = gdk_screen_get_rgba_visual (screen); if (!rgba_visual) return; gtk_widget_set_visual (GTK_WIDGET (window), rgba_visual); gtk_widget_set_app_paintable (GTK_WIDGET (window), TRUE); web_view = browser_window_get_web_view (window); webkit_web_view_set_background_color (web_view, rgba); } |
Since: 2.8
void webkit_web_view_get_background_color (WebKitWebView *web_view
,GdkRGBA *rgba
);
Gets the color that is used to draw the web_view
background before
the actual contents are rendered.
For more information see also webkit_web_view_set_background_color()
Since: 2.8
void webkit_web_view_set_editable (WebKitWebView *web_view
,gboolean editable
);
Sets whether the user is allowed to edit the HTML document.
If editable
is TRUE
, web_view
allows the user to edit the HTML document. If
editable
is FALSE
, an element in web_view
's document can only be edited if the
CONTENTEDITABLE attribute has been set on the element or one of its parent
elements. By default a WebKitWebView is not editable.
Normally, a HTML document is not editable unless the elements within the document are editable. This function provides a way to make the contents of a WebKitWebView editable without altering the document or DOM structure.
Since: 2.8
WebKitEditorState *
webkit_web_view_get_editor_state (WebKitWebView *web_view
);
Gets the web editor state of web_view
.
Since: 2.10
WebKitWebViewSessionState *
webkit_web_view_get_session_state (WebKitWebView *web_view
);
Gets the current session state of web_view
Since: 2.12
void webkit_web_view_restore_session_state (WebKitWebView *web_view
,WebKitWebViewSessionState *state
);
Restore the web_view
session state from state
Since: 2.12
WebKitJavascriptResult *
webkit_javascript_result_ref (WebKitJavascriptResult *js_result
);
Atomically increments the reference count of js_result
by one. This
function is MT-safe and may be called from any thread.
void
webkit_javascript_result_unref (WebKitJavascriptResult *js_result
);
Atomically decrements the reference count of js_result
by one. If the
reference count drops to 0, all memory allocated by the WebKitJavascriptResult is
released. This function is MT-safe and may be called from any
thread.
JSGlobalContextRef
webkit_javascript_result_get_global_context
(WebKitJavascriptResult *js_result
);
Get the global Javascript context that should be used with the
JSValueRef
returned by webkit_javascript_result_get_value()
.
JSValueRef
webkit_javascript_result_get_value (WebKitJavascriptResult *js_result
);
Get the value of js_result
. You should use the JSGlobalContextRef
returned by webkit_javascript_result_get_global_context()
to use the JSValueRef
.
WebKitScriptDialogType
webkit_script_dialog_get_dialog_type (WebKitScriptDialog *dialog
);
Get the dialog type of a WebKitScriptDialog.
const gchar *
webkit_script_dialog_get_message (WebKitScriptDialog *dialog
);
Get the message of a WebKitScriptDialog.
void webkit_script_dialog_confirm_set_confirmed (WebKitScriptDialog *dialog
,gboolean confirmed
);
This method is used for WEBKIT_SCRIPT_DIALOG_CONFIRM
and WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM
dialogs when
“script-dialog” signal is emitted to set whether the user
confirmed the dialog or not. The default implementation of “script-dialog”
signal sets TRUE
when the OK or Stay buttons are clicked and FALSE
otherwise.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_CONFIRM
or WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM
const gchar *
webkit_script_dialog_prompt_get_default_text
(WebKitScriptDialog *dialog
);
Get the default text of a WebKitScriptDialog of type WEBKIT_SCRIPT_DIALOG_PROMPT
.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_PROMPT
.
void webkit_script_dialog_prompt_set_text (WebKitScriptDialog *dialog
,const gchar *text
);
This method is used for WEBKIT_SCRIPT_DIALOG_PROMPT
dialogs when
“script-dialog” signal is emitted to set the text
entered by the user. The default implementation of “script-dialog”
signal sets the text of the entry form when OK button is clicked, otherwise NULL
is set.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_PROMPT
.
WebKitWebResource *
webkit_web_view_get_main_resource (WebKitWebView *web_view
);
Return the main resource of web_view
.
WebKitWebViewSessionState *
webkit_web_view_session_state_new (GBytes *data
);
Creates a new WebKitWebViewSessionState from serialized data.
a new WebKitWebViewSessionState, or NULL
if data
doesn't contain a
valid serialized WebKitWebViewSessionState.
[transfer full]
Since: 2.12
WebKitWebViewSessionState *
webkit_web_view_session_state_ref (WebKitWebViewSessionState *state
);
Atomically increments the reference count of state
by one. This
function is MT-safe and may be called from any thread.
Since: 2.12
void
webkit_web_view_session_state_unref (WebKitWebViewSessionState *state
);
Atomically decrements the reference count of state
by one. If the
reference count drops to 0, all memory allocated by the WebKitWebViewSessionState is
released. This function is MT-safe and may be called from any thread.
Since: 2.12
GBytes *
webkit_web_view_session_state_serialize
(WebKitWebViewSessionState *state
);
Serializes a WebKitWebViewSessionState.
Since: 2.12
Enum values used to denote the different events that happen during a WebKitWebView load operation.
|
A new load request has been made. No data has been received yet, empty structures have been allocated to perform the load; the load may still fail due to transport issues such as not being able to resolve a name, or connect to a port. |
||
|
A provisional data source received a server redirect. |
||
|
The content started arriving for a page load. The necessary transport requirements are established, and the load is being performed. |
||
|
Load completed. All resources are done loading or there was an error during the load operation. |
Enum values used for determining the type of a policy decision during “decide-policy”.
|
This type of policy decision
is requested when WebKit is about to navigate to a new page in either the
main frame or a subframe. Acceptable policy decisions are either
|
||
|
This type of policy decision
is requested when WebKit is about to create a new window. Acceptable policy
decisions are either |
||
|
This type of decision is used when WebKit has
received a response for a network resource and is about to start the load.
Note that these resources include all subresources of a page such as images
and stylesheets as well as main documents. Appropriate policy responses to
this decision are |
Enum values to specify the different ways in which a WebKitWebView can save its current web page into a self-contained file.
Enum values used to denote the different events which can trigger the detection of insecure content.
Enum values used to specify options when taking a snapshot from a WebKitWebView.
Enum values used to specify the region from which to get a WebKitWebView snapshot
#define WEBKIT_EDITING_COMMAND_CUT "Cut"
The cut clipboard command. Copies the current selection inside
a WebKitWebView to the clipboard and deletes the selected content.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's
possible to cut to the clipboard when the WebKitWebView content is
editable and there is an active selection.
#define WEBKIT_EDITING_COMMAND_COPY "Copy"
The copy clipboard command. Copies the current selection inside
a WebKitWebView to the clipboard.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's
possible to copy to the clipboard when there is an active selection
inside the WebKitWebView.
#define WEBKIT_EDITING_COMMAND_PASTE "Paste"
The paste clipboard command. Pastes the contents of the clipboard to
a WebKitWebView.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's possible
to paste from the clipboard when the WebKitWebView content is editable
and clipboard is not empty.
#define WEBKIT_EDITING_COMMAND_SELECT_ALL "SelectAll"
The select all command. Selects all the content of the current text field in
a WebKitWebView.
It is always possible to select all text, no matter whether the
WebKitWebView content is editable or not. You can still check it
with webkit_web_view_can_execute_editing_command()
.
#define WEBKIT_EDITING_COMMAND_UNDO "Undo"
The undo command. Undoes the last editing command in a WebKitWebView.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. It's only possible
to undo a command after a previously executed editing operation.
#define WEBKIT_EDITING_COMMAND_REDO "Redo"
The redo command. Redoes a previously undone editing command in
a WebKitWebView.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. It's only possible
to redo a command when it has been previously undone.
#define WEBKIT_EDITING_COMMAND_INSERT_IMAGE "InsertImage"
The insert image command. Creates an image element that is inserted at
the current cursor position. It receives an URI as argument,
that is used as the image source. This command should be executed with
webkit_web_view_execute_editing_command_with_argument()
.
Since: 2.10
#define WEBKIT_EDITING_COMMAND_CREATE_LINK "CreateLink"
The create link command. Creates a link element that is inserted at
the current cursor position. If there's a selection, the selected text
will be used as the link text, otherwise the URL itself will be used.
It receives the link URL as argument. This command should be executed
with webkit_web_view_execute_editing_command_with_argument()
Since: 2.10
Enum values used for determining the type of WebKitScriptDialog
“editable”
property“editable” gboolean
Whether the pages loaded inside WebKitWebView are editable. For more
information see webkit_web_view_set_editable()
.
Flags: Read / Write
Default value: FALSE
Since: 2.8
“estimated-load-progress”
property“estimated-load-progress” gdouble
An estimate of the percent completion for the current loading operation. This value will range from 0.0 to 1.0 and, once a load completes, will remain at 1.0 until a new load starts, at which point it will be reset to 0.0. The value is an estimate based on the total number of bytes expected to be received for a document, including all its possible subresources and child documents.
Flags: Read
Allowed values: [0,1]
Default value: 0
“favicon”
property“favicon” gpointer
The favicon currently associated to the WebKitWebView.
See webkit_web_view_get_favicon()
for more details.
Flags: Read
“is-controlled-by-automation”
property“is-controlled-by-automation” gboolean
Whether the WebKitWebView is controlled by automation. This should only be used when creating a new WebKitWebView as a response to “create-web-view” signal request.
Flags: Read / Write / Construct Only
Default value: FALSE
Since: 2.18
“is-ephemeral”
property“is-ephemeral” gboolean
Whether the WebKitWebView is ephemeral. An ephemeral web view never writes
website data to the client storage, no matter what WebKitWebsiteDataManager
its context is using. This is normally used to implement private browsing mode.
This is a G_PARAM_CONSTRUCT_ONLY
property, so you have to create a ephemeral
WebKitWebView and it can't be changed. Note that all WebKitWebViews
created with an ephemeral WebKitWebContext will be ephemeral automatically.
See also webkit_web_context_new_ephemeral()
.
Flags: Read / Write / Construct Only
Default value: FALSE
Since: 2.16
“is-loading”
property“is-loading” gboolean
Whether the WebKitWebView is currently loading a page. This property becomes
TRUE
as soon as a new load operation is requested and before the
“load-changed” signal is emitted with WEBKIT_LOAD_STARTED
and
at that point the active URI is the requested one.
When the load operation finishes the property is set to FALSE
before
“load-changed” is emitted with WEBKIT_LOAD_FINISHED
.
Flags: Read
Default value: FALSE
“is-playing-audio”
property“is-playing-audio” gboolean
Whether the WebKitWebView is currently playing audio from a page.
This property becomes TRUE
as soon as web content starts playing any
kind of audio. When a page is no longer playing any kind of sound,
the property is set back to FALSE
.
Flags: Read
Default value: FALSE
Since: 2.8
“related-view”
property“related-view” WebKitWebView *
The related WebKitWebView used when creating the view to share the same web process. This property is not readable because the related web view is only valid during the object construction.
Flags: Write / Construct Only
Since: 2.4
“settings”
property“settings” WebKitSettings *
The WebKitSettings of the view.
Flags: Write / Construct
Since: 2.6
“title”
property“title” gchar *
The main frame document title of this WebKitWebView. If
the title has not been received yet, it will be NULL
.
Flags: Read
Default value: NULL
“uri”
property“uri” gchar *
The current active URI of the WebKitWebView.
See webkit_web_view_get_uri()
for more details.
Flags: Read
Default value: NULL
“user-content-manager”
property“user-content-manager” WebKitUserContentManager *
The WebKitUserContentManager of the view.
Flags: Read / Write / Construct Only
Since: 2.6
“web-context”
property“web-context” WebKitWebContext *
The WebKitWebContext of the view.
Flags: Read / Write / Construct Only
“zoom-level”
property“zoom-level” gdouble
The zoom level of the WebKitWebView content.
See webkit_web_view_set_zoom_level()
for more details.
Flags: Read / Write
Allowed values: >= 0
Default value: 1
“authenticate”
signalgboolean user_function (WebKitWebView *web_view, WebKitAuthenticationRequest *request, gpointer user_data)
This signal is emitted when the user is challenged with HTTP
authentication. To let the application access or supply
the credentials as well as to allow the client application
to either cancel the request or perform the authentication,
the signal will pass an instance of the
WebKitAuthenticationRequest in the request
argument.
To handle this signal asynchronously you should keep a ref
of the request and return TRUE
. To disable HTTP authentication
entirely, connect to this signal and simply return TRUE
.
The default signal handler will run a default authentication dialog asynchronously for the user to interact with.
web_view |
the WebKitWebView on which the signal is emitted |
|
request |
||
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
Since: 2.2
“close”
signalvoid user_function (WebKitWebView *web_view, gpointer user_data)
Emitted when closing a WebKitWebView is requested. This occurs when a
call is made from JavaScript's window.close
function or
after trying to close the web_view
with webkit_web_view_try_close()
.
It is the owner's responsibility to handle this signal to hide or
destroy the WebKitWebView, if necessary.
web_view |
the WebKitWebView on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“context-menu”
signalgboolean user_function (WebKitWebView *web_view, WebKitContextMenu *context_menu, GdkEvent *event, WebKitHitTestResult *hit_test_result, gpointer user_data)
Emitted when a context menu is about to be displayed to give the application a chance to customize the proposed menu, prevent the menu from being displayed, or build its own context menu.
To customize the proposed menu you can use webkit_context_menu_prepend()
,
webkit_context_menu_append()
or webkit_context_menu_insert()
to add new
WebKitContextMenuItems to context_menu
, webkit_context_menu_move_item()
to reorder existing items, or webkit_context_menu_remove()
to remove an
existing item. The signal handler should return FALSE
, and the menu represented
by context_menu
will be shown.
To prevent the menu from being displayed you can just connect to this signal
and return TRUE
so that the proposed menu will not be shown.
To build your own menu, you can remove all items from the proposed menu with
webkit_context_menu_remove_all()
, add your own items and return FALSE
so
that the menu will be shown. You can also ignore the proposed WebKitContextMenu,
build your own GtkMenu and return TRUE
to prevent the proposed menu from being shown.
If you just want the default menu to be shown always, simply don't connect to this signal because showing the proposed context menu is the default behaviour.
The event
is expected to be one of the following types:
a GdkEventButton of type GDK_BUTTON_PRESS
when the context menu
was triggered with mouse.
a GdkEventKey of type GDK_KEY_PRESS
if the keyboard was used to show
the menu.
a generic GdkEvent of type GDK_NOTHING
when the “popup-menu”
signal was used to show the context menu.
If the signal handler returns FALSE
the context menu represented by context_menu
will be shown, if it return TRUE
the context menu will not be shown.
The proposed WebKitContextMenu passed in context_menu
argument is only valid
during the signal emission.
web_view |
the WebKitWebView on which the signal is emitted |
|
context_menu |
the proposed WebKitContextMenu |
|
event |
the GdkEvent that triggered the context menu |
|
hit_test_result |
||
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“context-menu-dismissed”
signalvoid user_function (WebKitWebView *web_view, gpointer user_data)
Emitted after “context-menu” signal, if the context menu is shown, to notify that the context menu is dismissed.
web_view |
the WebKitWebView on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“create”
signalGtkWidget* user_function (WebKitWebView *web_view, WebKitNavigationAction *navigation_action, gpointer user_data)
Emitted when the creation of a new WebKitWebView is requested. If this signal is handled the signal handler should return the newly created WebKitWebView.
The WebKitNavigationAction parameter contains information about the navigation action that triggered this signal.
When using WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES
process model, the new WebKitWebView should be related to
web_view
to share the same web process, see webkit_web_view_new_with_related_view()
for more details.
The new WebKitWebView should not be displayed to the user until the “ready-to-show” signal is emitted.
web_view |
the WebKitWebView on which the signal is emitted |
|
navigation_action |
||
user_data |
user data set when the signal handler was connected. |
a newly allocated WebKitWebView widget
or NULL
to propagate the event further.
[transfer full]
Flags: Run Last
“decide-policy”
signalgboolean user_function (WebKitWebView *web_view, WebKitPolicyDecision *decision, WebKitPolicyDecisionType decision_type, gpointer user_data)
This signal is emitted when WebKit is requesting the client to decide a policy
decision, such as whether to navigate to a page, open a new window or whether or
not to download a resource. The WebKitNavigationPolicyDecision passed in the
decision
argument is a generic type, but should be casted to a more
specific type when making the decision. For example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
static gboolean decide_policy_cb (WebKitWebView *web_view, WebKitPolicyDecision *decision, WebKitPolicyDecisionType type) { switch (type) { case WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION: WebKitNavigationPolicyDecision *navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (decision); /* Make a policy decision here. */ break; case WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION: WebKitNavigationPolicyDecision *navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (decision); /* Make a policy decision here. */ break; case WEBKIT_POLICY_DECISION_TYPE_RESPONSE: WebKitResponsePolicyDecision *response = WEBKIT_RESPONSE_POLICY_DECISION (decision); /* Make a policy decision here. */ break; default: /* Making no decision results in webkit_policy_decision_use(). */ return FALSE; } return TRUE; } |
It is possible to make policy decision asynchronously, by simply calling g_object_ref()
on the decision
argument and returning TRUE
to block the default signal handler.
If the last reference is removed on a WebKitPolicyDecision and no decision has been
made explicitly, webkit_policy_decision_use()
will be the default policy decision. The
default signal handler will simply call webkit_policy_decision_use()
. Only the first
policy decision chosen for a given WebKitPolicyDecision will have any affect.
web_view |
the WebKitWebView on which the signal is emitted |
|
decision |
||
decision_type |
a WebKitPolicyDecisionType denoting the type of |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“enter-fullscreen”
signalgboolean user_function (WebKitWebView *web_view, gpointer user_data)
Emitted when JavaScript code calls
element.webkitRequestFullScreen
. If the
signal is not handled the WebKitWebView will proceed to full screen
its top level window. This signal can be used by client code to
request permission to the user prior doing the full screen
transition and eventually prepare the top-level window
(e.g. hide some widgets that would otherwise be part of the
full screen window).
web_view |
the WebKitWebView on which the signal is emitted. |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to continue emission of the event.
Flags: Run Last
“insecure-content-detected”
signalvoid user_function (WebKitWebView *web_view, WebKitInsecureContentEvent event, gpointer user_data)
This signal is emitted when insecure content has been detected in a page loaded through a secure connection. This typically means that a external resource from an unstrusted source has been run or displayed, resulting in a mix of HTTPS and non-HTTPS content.
You can check the event
parameter to know exactly which kind
of event has been detected (see WebKitInsecureContentEvent).
web_view |
the WebKitWebView on which the signal is emitted |
|
event |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“leave-fullscreen”
signalgboolean user_function (WebKitWebView *web_view, gpointer user_data)
Emitted when the WebKitWebView is about to restore its top level window out of its full screen state. This signal can be used by client code to restore widgets hidden during the “enter-fullscreen” stage for instance.
web_view |
the WebKitWebView on which the signal is emitted. |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to continue emission of the event.
Flags: Run Last
“load-changed”
signalvoid user_function (WebKitWebView *web_view, WebKitLoadEvent load_event, gpointer user_data)
Emitted when a load operation in web_view
changes.
The signal is always emitted with WEBKIT_LOAD_STARTED
when a
new load request is made and WEBKIT_LOAD_FINISHED
when the load
finishes successfully or due to an error. When the ongoing load
operation fails “load-failed” signal is emitted
before “load-changed” is emitted with
WEBKIT_LOAD_FINISHED
.
If a redirection is received from the server, this signal is emitted
with WEBKIT_LOAD_REDIRECTED
after the initial emission with
WEBKIT_LOAD_STARTED
and before WEBKIT_LOAD_COMMITTED
.
When the page content starts arriving the signal is emitted with
WEBKIT_LOAD_COMMITTED
event.
You can handle this signal and use a switch to track any ongoing load operation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
static void web_view_load_changed (WebKitWebView *web_view, WebKitLoadEvent load_event, gpointer user_data) { switch (load_event) { case WEBKIT_LOAD_STARTED: /* New load, we have now a provisional URI */ provisional_uri = webkit_web_view_get_uri (web_view); /* Here we could start a spinner or update the * location bar with the provisional URI */ break; case WEBKIT_LOAD_REDIRECTED: redirected_uri = webkit_web_view_get_uri (web_view); break; case WEBKIT_LOAD_COMMITTED: /* The load is being performed. Current URI is * the final one and it won't change unless a new * load is requested or a navigation within the * same page is performed */ uri = webkit_web_view_get_uri (web_view); break; case WEBKIT_LOAD_FINISHED: /* Load finished, we can now stop the spinner */ break; } } |
web_view |
the WebKitWebView on which the signal is emitted |
|
load_event |
the WebKitLoadEvent |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“load-failed”
signalgboolean user_function (WebKitWebView *web_view, WebKitLoadEvent load_event, gchar *failing_uri, GError *error, gpointer user_data)
Emitted when an error occurs during a load operation.
If the error happened when starting to load data for a page
load_event
will be WEBKIT_LOAD_STARTED
. If it happened while
loading a committed data source load_event
will be WEBKIT_LOAD_COMMITTED
.
Since a load error causes the load operation to finish, the signal
WebKitWebView::load-changed will always be emitted with
WEBKIT_LOAD_FINISHED
event right after this one.
By default, if the signal is not handled, a stock error page will be displayed. You need to handle the signal if you want to provide your own error page.
web_view |
the WebKitWebView on which the signal is emitted |
|
load_event |
the WebKitLoadEvent of the load operation |
|
failing_uri |
the URI that failed to load |
|
error |
the GError that was triggered |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“load-failed-with-tls-errors”
signalgboolean user_function (WebKitWebView *web_view, gchar *failing_uri, GTlsCertificate *certificate, GTlsCertificateFlags errors, gpointer user_data)
Emitted when a TLS error occurs during a load operation.
To allow an exception for this certificate
and the host of failing_uri
use webkit_web_context_allow_tls_certificate_for_host()
.
To handle this signal asynchronously you should call g_object_ref()
on certificate
and return TRUE
.
If FALSE
is returned, “load-failed” will be emitted. The load
will finish regardless of the returned value.
web_view |
the WebKitWebView on which the signal is emitted |
|
failing_uri |
the URI that failed to load |
|
certificate |
||
errors |
a GTlsCertificateFlags with the verification status of |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
Since: 2.6
“mouse-target-changed”
signalvoid user_function (WebKitWebView *web_view, WebKitHitTestResult *hit_test_result, guint modifiers, gpointer user_data)
This signal is emitted when the mouse cursor moves over an
element such as a link, image or a media element. To determine
what type of element the mouse cursor is over, a Hit Test is performed
on the current mouse coordinates and the result is passed in the
hit_test_result
argument. The modifiers
argument is a bitmask of
GdkModifierType flags indicating the state of modifier keys.
The signal is emitted again when the mouse is moved out of the
current element with a new hit_test_result
.
web_view |
the WebKitWebView on which the signal is emitted |
|
hit_test_result |
||
modifiers |
a bitmask of GdkModifierType |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“permission-request”
signalgboolean user_function (WebKitWebView *web_view, WebKitPermissionRequest *request, gpointer user_data)
This signal is emitted when WebKit is requesting the client to decide about a permission request, such as allowing the browser to switch to fullscreen mode, sharing its location or similar operations.
A possible way to use this signal could be through a dialog allowing the user decide what to do with the request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
static gboolean permission_request_cb (WebKitWebView *web_view, WebKitPermissionRequest *request, GtkWindow *parent_window) { GtkWidget *dialog = gtk_message_dialog_new (parent_window, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Allow Permission Request?"); gtk_widget_show (dialog); gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_YES: webkit_permission_request_allow (request); break; default: webkit_permission_request_deny (request); break; } gtk_widget_destroy (dialog); return TRUE; } |
It is possible to handle permission requests asynchronously, by
simply calling g_object_ref()
on the request
argument and
returning TRUE
to block the default signal handler. If the
last reference is removed on a WebKitPermissionRequest and the
request has not been handled, webkit_permission_request_deny()
will be the default action.
If the signal is not handled, the request
will be completed automatically
by the specific WebKitPermissionRequest that could allow or deny it. Check the
documentation of classes implementing WebKitPermissionRequest interface to know
their default action.
web_view |
the WebKitWebView on which the signal is emitted |
|
request |
||
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“print”
signalgboolean user_function (WebKitWebView *web_view, WebKitPrintOperation *print_operation, gpointer user_data)
Emitted when printing is requested on web_view
, usually by a JavaScript call,
before the print dialog is shown. This signal can be used to set the initial
print settings and page setup of print_operation
to be used as default values in
the print dialog. You can call webkit_print_operation_set_print_settings()
and
webkit_print_operation_set_page_setup()
and then return FALSE
to propagate the
event so that the print dialog is shown.
You can connect to this signal and return TRUE
to cancel the print operation
or implement your own print dialog.
web_view |
the WebKitWebView on which the signal is emitted |
|
print_operation |
the WebKitPrintOperation that will handle the print request |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“ready-to-show”
signalvoid user_function (WebKitWebView *web_view, gpointer user_data)
Emitted after “create” on the newly created WebKitWebView
when it should be displayed to the user. When this signal is emitted
all the information about how the window should look, including
size, position, whether the location, status and scrollbars
should be displayed, is already set on the WebKitWindowProperties
of web_view
. See also webkit_web_view_get_window_properties()
.
web_view |
the WebKitWebView on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“resource-load-started”
signalvoid user_function (WebKitWebView *web_view, WebKitWebResource *resource, WebKitURIRequest *request, gpointer user_data)
Emitted when a new resource is going to be loaded. The request
parameter
contains the WebKitURIRequest that will be sent to the server.
You can monitor the load operation by connecting to the different signals
of resource
.
web_view |
the WebKitWebView on which the signal is emitted |
|
resource |
||
request |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“run-as-modal”
signalvoid user_function (WebKitWebView *web_view, gpointer user_data)
Emitted after “ready-to-show” on the newly
created WebKitWebView when JavaScript code calls
window.showModalDialog
. The purpose of
this signal is to allow the client application to prepare the
new view to behave as modal. Once the signal is emitted a new
main loop will be run to block user interaction in the parent
WebKitWebView until the new dialog is closed.
web_view |
the WebKitWebView on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“run-color-chooser”
signalgboolean user_function (WebKitWebView *web_view, WebKitColorChooserRequest *request, gpointer user_data)
This signal is emitted when the user interacts with a <input
type='color' /> HTML element, requesting from WebKit to show
a dialog to select a color. To let the application know the details of
the color chooser, as well as to allow the client application to either
cancel the request or perform an actual color selection, the signal will
pass an instance of the WebKitColorChooserRequest in the request
argument.
It is possible to handle this request asynchronously by increasing the reference count of the request.
The default signal handler will asynchronously run a regular GtkColorChooser for the user to interact with.
web_view |
the WebKitWebView on which the signal is emitted |
|
request |
||
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
Since: 2.8
“run-file-chooser”
signalgboolean user_function (WebKitWebView *web_view, WebKitFileChooserRequest *request, gpointer user_data)
This signal is emitted when the user interacts with a <input
type='file' /> HTML element, requesting from WebKit to show
a dialog to select one or more files to be uploaded. To let the
application know the details of the file chooser, as well as to
allow the client application to either cancel the request or
perform an actual selection of files, the signal will pass an
instance of the WebKitFileChooserRequest in the request
argument.
The default signal handler will asynchronously run a regular GtkFileChooserDialog for the user to interact with.
web_view |
the WebKitWebView on which the signal is emitted |
|
request |
||
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“script-dialog”
signalgboolean user_function (WebKitWebView *web_view, WebKitScriptDialog *dialog, gpointer user_data)
Emitted when JavaScript code calls window.alert
,
window.confirm
or window.prompt
,
or when onbeforeunload
event is fired.
The dialog
parameter should be used to build the dialog.
If the signal is not handled a different dialog will be built and shown depending
on the dialog type:
WEBKIT_SCRIPT_DIALOG_ALERT
: message dialog with a single Close button.
WEBKIT_SCRIPT_DIALOG_CONFIRM
: message dialog with OK and Cancel buttons.
WEBKIT_SCRIPT_DIALOG_PROMPT
: message dialog with OK and Cancel buttons and
a text entry with the default text.
WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM
: message dialog with Stay and Leave buttons.
web_view |
the WebKitWebView on which the signal is emitted |
|
dialog |
the WebKitScriptDialog to show |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
“show-notification”
signalgboolean user_function (WebKitWebView *web_view, WebKitNotification *notification, gpointer user_data)
This signal is emitted when a notification should be presented to the
user. The notification
is kept alive until either: 1) the web page cancels it
or 2) a navigation happens.
The default handler will emit a notification using libnotify, if built with support for it.
web_view |
the WebKitWebView |
|
notification |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 2.8
“show-option-menu”
signalgboolean user_function (WebKitWebView *web_view, WebKitOptionMenu *menu, GdkEvent *event, GdkRectangle *rectangle, gpointer user_data)
This signal is emitted when a select element in web_view
needs to display a
dropdown menu. This signal can be used to show a custom menu, using menu
to get
the details of all items that should be displayed. The area of the element in the
WebKitWebView is given as rectangle
parameter, it can be used to position the
menu. If this was triggered by a user interaction, like a mouse click,
event
parameter provides the GdkEvent.
To handle this signal asynchronously you should keep a ref of the menu
.
The default signal handler will pop up a GtkMenu.
web_view |
the WebKitWebView on which the signal is emitted |
|
menu |
the WebKitOptionMenu |
|
event |
||
rectangle |
the option element area |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last
Since: 2.18
“submit-form”
signalvoid user_function (WebKitWebView *web_view, WebKitFormSubmissionRequest *request, gpointer user_data)
This signal is emitted when a form is about to be submitted. The request
argument passed contains information about the text fields of the form. This
is typically used to store login information that can be used later to
pre-fill the form.
The form will not be submitted until webkit_form_submission_request_submit()
is called.
It is possible to handle the form submission request asynchronously, by
simply calling g_object_ref()
on the request
argument and calling
webkit_form_submission_request_submit()
when done to continue with the form submission.
If the last reference is removed on a WebKitFormSubmissionRequest and the
form has not been submitted, webkit_form_submission_request_submit()
will be called.
web_view |
the WebKitWebView on which the signal is emitted |
|
request |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“web-process-crashed”
signalgboolean user_function (WebKitWebView *web_view, gpointer user_data)
This signal is emitted when the web process crashes.
web_view |
the WebKitWebView |
|
user_data |
user data set when the signal handler was connected. |
TRUE
to stop other handlers from being invoked for the event.
FALSE
to propagate the event further.
Flags: Run Last


{{set . "title" "Home"}} {{set . "header" "Choose Your Learning Track"}} {{template "header.html" .}} {{template "navigation.html" .}}
Please choose from the following learning tracks. You may select more than one.
When you click Submit, this service will:


Lang'ata Road, Uhuru Highway to be closed on this day
by Miriam MwendeRoad alert
The Kenya Urban Roads Authority (KURA) has announced closure of some major Nairobi roads on December 1, 2019.
A notice by KURA outlines that traffic along Lang'ata Road, Uhuru Highway, Haile Selassie Avenue and Bunyala Road will be interrupted.
"This is to notify the general public that traffic along Lang'ata Road, Aerodome Road, Lower Hill Road, Uhuru Highway, Haile Sellasie Avenue and Bunyala Road will be affected due to the Grand Nairobi Bike Race happening on Sunday 1st December, 2019 as from 8 a.m. to 12:30 p.m.
"Motorists are advised to use alternative routes," the notice read.
10-day closure along Ngong Road
Another notice by KURA outlined disruption in accessing Ngong Road that will last 10 days beginning December 2.
"This is to notify the public that a section of King'ara Road will remai closed as from Monday, 2nd December 2019 until Wednesday, 11th December 2019 both days inclusive. This is due to the ongoing works aimed at improving the junction.
"Motorists are advised to use alternative routes to access Ngong Road and King'ara Road," the notice outlined.


In every 24-hour period, it is common for people to be continuously awake for about 16 hours and then almost continuously asleep for approximately 8 hours. Each section of the brain is responsible for controlling different aspects of our bodies. Explore how each section affects sleep and awake states, below.
Go on... Pick something!
Explore the different features of the Sleep Buddy Pillow
Sleep buddy uses a powerful and agile data framework to record sleeping patterns. Check out chart demonstrations below!
Test drive sleep buddy!
Use the mobile interface to control the setting of the room.


{% extends "base_auth.html" %} {% block title %} Forgot your Huxley Password? {% endblock title %} {% block content %}
No problem. Just enter your username and/or your email to the right, and we'll send a reset password to the email account you registered with.


5N/6D
Thailand 5 Nights
Location Name
Inclusions
Private Airport Transfers,
Accommodation,
Air Ticket,
Breakfast,


Lists the location history events collected for a particular unit.
Click on a unit history table row or a map marker to correlate a particular row and marker.
Double-click on a unit history row to view the details at that point in history of a unit.


This post continues my impressions from some of the talks I've been to.
Wednesday
- Replication for Availability & Durability with MySQL and Amazon RDS / Grant McAlister (Amazon.com)
Grant McAlister described the Amazon RDS offer, which provides with a pre-installed MySQL servers, and supports auto management of replication and high availability. He desribed asynchronous vs. synchronous replication, logical (i.e log shipping & replaying) vs. physical replication.
Amazon implement physical replication by shipping data pages to a secondary, standby server, located at a different availability zone. A transaction does not complete before pages are shipped to, and acknowledged by standby machine. The standby machine writes data pages in parallel. This is similar in concept to DRBD. RDS uses InnoDB, which promises data integrity in case of power/network failure.
The fail over process, in case active master has crashed, involves blocking access to the active master, starting MySQL on standby master (promoted to be active), while changing elastic IP for master to point to promoted master. McAlister said this process takes a few minutes. Live demo resulted at about 4 minutes.
Actually, the recovery time is affected by the InnoDB transaction log. In replying my question, McAlister explained that the InnoDB trasaction log is not under the user's control. It is managed by Amazon. You can't just set it to 512MB.
Otherwise RDS also offers normal, asynchronous replication, so as to allow for read scale out.
I later on spotted Grant McAlister in the expo hall, and had the chance to ask a few more questions. Here is a very brief summary of a few Q&A items:
Q: Today, EBS performance is unexpected, since other users may be using the disk. Will you allow RDS customers to have dedicated EBS volumes?A: We're working towards making this work.
Q: In many cases I've seen, EBS is very slow storage. People do software RAID over several EBS volumes to boost performance, but then loose the ability to do consistent snapshots. Any solution for that?
A: We get so much of that! We're working to change this as well, in time.
Q: Does an RDS user get access to the DB machine?
A: No. Though you do get the API for monitoring it.
Q: How much control do I get over the MySQL configuration file?
A: You have control over most of the settings; a few are under Amazon's control (e.g. control over innodb transaction log file size)
Q: How far have you went into changing MySQL code?
A: A little. Not far enough that compatibility breaks. People need compatibility. We also need to be quickly able to provide with new versions.
Q: If I need to upgrade MySQL version, does RDS provide with the mechanism to first upgrade slave, then do fail-over?
A: No. We just upgrade a server (i.e. master) in place.
Q: Any integration of collateral tools?
A: No. You have access to the database; you are free to run your own tools.
I hope my memory serves me correctly in recalling the above conversation.
- The Aspersa System Administrator's Toolkit / Baron Schwartz (Percona Inc.)
Baron presented with some of Aspersa's tools: ioprofile, diskstats, summary, mysql-summary, collect, stalk & sift.
The presentation was accompanied with demos, wither using live data or prepared, real world data. Not surprisingly, Baron came up with real customer cases, where the "standard" tools gave little help in way of analyzing the problem (e.g. iostat not separating read and write counters). Apparently this is a bash/sec/awk based toolkit, with bash unit tests. Cool!
Some of the tools are self explanatory; others require deeper understanding of either OS internals or of the patterns one should be looking for. Lot's to study.
Baron writes tools based on extensive experience of consulting & performance optimization work; not only of his own, but of Percona's entire team. When he says "this tool saves a lot of analysis time" or "with this tool we were able to analyze a problem we were unable to, or found it very hard to, solve with existing tools", you'd better check it out. In fact, I noticed the audience laptop usage during this talk was very low. There was a lot of attention in the crowd.
- Automatic Failover: Design and Reality / Ian Gulliver (Google), Eric Rollins (Google)
This session described the replication topology and failover design on one (undisclosed) of Google's products, using MySQL. Using XXX shards of MySQL, that is, each with XX servers in replication topology (we are asked to do the math ourselves).
Ian & Eric described the logic behind their sharding, scale out & failover process, and the sad reality. Apparently shards are implemented on many levels: multiple MySQL instances on single machine, multiples schemata in each MySQL instances, sharded data within schema. For scale-out, they prefer adding new machines, then distributing MySQL instances between them. There is nothing too complicated about this, once we are past syncing masters & slaves.
Speaking of which, their preferred way of taking snapshots is MySQL shutdown, then full file system copy. They do not want to bother with licenses. With XX servers, it should be fairly easy to take one down for backup/copy.
Otherwise they may be splitting schemata between servers, or, at the worst, managing the shards. An interesting note was that Google is known to use crappy hardware, which makes for a lot of hardware failures. Apparently, their solution needs to work a lot.
A very nice notion they presented is the empty shard. They have an empty shard, with complete replication topology, on which version upgrades or otherwise tests are done. Very nice! (Forgive me if this is plain obvious to you).
The logic part detailed the expected "which slave to promote", "how to modify the hierarchy" etc. procedures.
Besides being very interesting in itself, the session also posed the interesting notion, that most everyone (and in particular the BIG companies), use plain old MySQL replication for both scale out & high availability. I think this is an important notion.
- No Silver Bullet - The Slightly Less Painful Way to Sharding / Gwen Shapira (Pythian)
I've heard a lot about Gwen Shapira before, and this is the first time I heard her speak. I enjoyed her session. Gwen presented a vendor-neutral session on sharding. There were a lot of "how not to shard" notes. These were based either on her very early experience, before the word "sharding" came to be known, as well as recent experiences. The stories and examples were instructive and amusing (lot's of "war stories"). She presented with general guidelines on proper sharding, but, as the title suggests, presented no silver bullet. Actually, she presented with counter cases where a non-desirable sharding solution for one company, may yet be viable for another.
I went to see my own talk that day :). I was honored to have good audience and I'm thankful for their attention. I gained good participation, and a couple feature requests/bug reports.
comments powered by Disqus


Outdoor Festival Scene
by the Mozilla Hubs Team
Small Airplane Long Flyby
by Mike Koenig
Move: WASD
Sprint: Shift
Crouch / Slide: C
Jump: Space


iCow
问题描述 :
Fatigued by the endless toils of farming, Farmer John has decided to try his hand in the MP3 player market with the new iCow. It is an MP3 player that stores N songs (1 ≤ N ≤ 1,000) indexed 1 through N that plays songs in a "shuffled" order, as determined by Farmer John’s own algorithm:
- Each song i has an initial rating Ri (1 ≤ Ri ≤ 10,000).
- The next song to be played is always the one with the highest rating (or, if two or more are tied, the highest rated song with the lowest index is chosen).
- After being played, a song’s rating is set to zero, and its rating points are distributed evenly among the other N-1 songs.
- If the rating points cannot be distributed evenly (i.e., they are not divisible by N-1), then the extra points are parceled out one at a time to the first songs on the list (i.e., R1 , R2 , etc. — but not the played song) until no more extra points remain.
This process is repeated with the new ratings after the next song is played.
Determine the first T songs (1 ≤ T ≤ 1000) that are played by the iCow.
输入:
* Line 1: Two space-separated integers: N and T
* Lines 2..N+1: Line i+1 contains a single integer: Ri
输出:
* Lines 1..T: Line i contains a single integer that is the i-th song that the iCow plays.
样例输入:
3 4 10 8 11
样例输出:
3 1 2 3
解题代码:
/* @author: */ import java.util.Scanner; import java.util.Arrays; public class Main{ public static void main(String args[]) { Scanner sc=new Scanner(System.in); int arr[]=new int[10010]; int n,m,i,j,u; n=sc.nextInt(); m=sc.nextInt(); for(i=0;i< n;i++) arr[i]=sc.nextInt(); for(i=0;i< m;i++) { int maxx=-1,tag=0; for(j=0;j< n;j++) if(arr[j]>maxx) { maxx=arr[j]; tag=j; } System.out.printf("%d\n",tag+1); int add=arr[tag]/(n-1); int mod=arr[tag]%(n-1); for(j=0;j< n;j++) arr[j]+=add; for(j=0;j< mod;j++) { arr[j]++; if(j==tag) mod++; } arr[tag]=0; } } }
(adsbygoogle = window.adsbygoogle || []).push({});
第15行代码，/n/n，应该改为\n\n
第一句可以忽略不计了吧。从第二句开始分析，说明这个花色下的所有牌都会在其它里面出现，那么还剩下♠和♦。第三句，可以排除2和7，因为在两种花色里有。现在是第四句，因为♠还剩下多个，只有是♦B才能知道答案。
网站不错
通不过。
感觉第二种方法其实也不是很好，不过的确要比第一种方法要好一点。
全是智力分析的题
这种题解就相当于直接贴代码了，，想看的是思路
很好！！
有谁知道直接遍历的方法中第8行是什么意思嘛？
图像处理那题解题报告在哪儿呢？
不同的编译器，printf(),执行的顺序不同，所以结果也就不同，建议不要那么写
程序只能输出一个子序列
方法4中使用hash表，只要用出现次数作为Value，就可以解决重复元素的问题了。
额楼主能否在发布代码的同时对解题思路做个讲解呢？这样大家在学习的时候就方便多了。


-
Slides day 1
Exercise 1 - Parameter estimation
Exercise 2 - Tree topologies
Exercise 3 - Model comparison
Exercise 4 - Branch support
Exercise 5 - Command line
Exercise 6 - Inferring ML phylogenies with codon models
Exercise 7 - Inferring ML phylogenies using real datasets
Exercise 8 - Re-Analyze published datasets
How to use PhyML
Getting started with PhyML
1. Download the software
http://www.atgc-montpellier.fr/phyml/download.php
2. Launch
PhyML
runs without a graphical user interface (GUI). Therefore, you will see a black terminal window appearing on your monitor anytime you execute it.WARN: On Windows machines
PhyML
will close automatically the terminal session at the end of the execution.
PhyML execution can be started either with:
- a double click on PhyML-3.1_your-operative-system (i.e.
PhyML-3.1_linux64
)or:
- dragging PhyML-3.1_your-operative-system (i.e.
PhyML-3.1_linux64
) into a new terminal session (on OsX and Linux operative systems search forTerminal
).
3. Interface
PhyML allows the user to prepare the analysis with two different interfaces:
- Menu: this interface will be loaded once the user provides a valid alignment file
(WARN: remember the difference betweeninterleaved
andsequential
files).
You can move between menus using the
+
and-
key on your keyboard and pressingenter
to confirm the command.To modify a command (i.e. modify the substitution model from the default to GTR):
[M] ................. Model of nucleotide substitution HKY85
you need to press the following sequence of keys on your keyboard:
m
+enter
| The model will be changed into F84
m
+enter
| The model will be changed into TN93
m
+enter
| The model will be changed into GTRThe same procedure applies for all the other commands.
- Command Line: this interface allows the user to set all the configuration parameters in one single step, dynamically but not interactively.
You an find more informations here:
http://www.atgc-montpellier.fr/phyml/usersguide.php?type=command
References
- PhyML, a tool for biologists http://www2.cnrs.fr/en/454.htm
- Previous
- Next


wasakakero wrote:So let me understand something, with "Webfolder" you mean... a host?
Nano wrote:Hmmm... I liked.
But, i (or you) can create an index/home that is similar to Google IG? It's my homepage, but Google will discontinue and i still haven't found anything good. :(


-
Definition
-
RAID means Redundant Array of Independent Disks, it is a storage technology that combines disk drive components into a logical unit.
-
Standard levels
-
RAId 0
block-level stripping without parity or mirroring.
-
RAID 1
mirroring without parity or stripping.
-
RAID 2
bit-level stripping with dedicated Hamming-code parity.
-
RAID 3
byte-level stripping with dedicated parity.
-
RAID 4
block-level stripping with dedicated parity.
-
RAID 5
block-level stripping with distributed parity.
-
RAID 6
block-level stripping with double distributed parity.


2 references to First
System.Management.Automation (2)
engine\runtime\Operations\MiscOps.cs (2)
2616
if (selectionMode == WhereOperatorSelectionMode.
First
|| selectionMode == WhereOperatorSelectionMode.Until)
2718
if (numberToReturn == 0 && selectionMode == WhereOperatorSelectionMode.
First
)


About
I am Kathryn A, a student of web development based in Los Angeles. Having grown up in Sillicon Valley during the tech boom, I have always been interested in coding. While I am currently working in deveopment in the Film/TV industry, I am looking to expand on my skills to combine my creative and technical interests.
Please take a look at my site to see what projects I am currently working on!
Please take a look at my site to see what projects I am currently working on!


Open Sans is our default typeface for websites, print and other materials. Designed with open forms and a friendly appearance, Open Sans carefully crafted glyphs and clean, modern lines also fit our Flat UI style.
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789(!@#$%&.,?:;)
Use

through

to add visual hierarchy to your page.

and

are given the same styling and should only be used to add semantic structure.

h1. The five boxing wizards jump quickly

h2. The five boxing wizards jump quickly

h3. The five boxing wizards jump quickly

h4. The five boxing wizards jump quickly

h5. The five boxing wizards jump quickly

h6. The five boxing wizards jump quickly

Use .fancy
to make h1
, h2
, and h3
headings stand out even more. We chose Bitter as a complement to Open Sans because of its bold and contemporary flair and exclusive design for the modern web.

h1. The five boxing wizards jump quickly

h2. The five boxing wizards jump quickly

h3. The five boxing wizards jump quickly

Create secondary headings or subtitles by adding .small
and .quiet
classes to the heading.

Magazine

Silicon Valley's Youth Problem

Links are styled globally using the styleguide's primary color. Customize this variable and others within variables.less
.
The five boxing wizards jump quickly.
Our default font-size is 15px with a line-height of 20px. This is applied to the
and all paragraphs. As expected the

tag receives a bottom margin to create space.
Need to align some text? Visit our helpers page to see some of the slick classes we've added.
Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks. Each journal comes in a handy cotton pouch.
*Please note: each piece of leather will have slight variations and markings, making each journal truly one of a kind.

Premium Leather Journal

 Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks. Each journal comes in a handy cotton pouch.

7.5" x 5" and 1" thick

192 blank white pages (7" x 4.75")

Sturdy Longstitch hand binding

Knotted thread place holder

Finished edges and rounded corners

Handmade in the USA

 *Please note: each piece of leather will have slight variations and markings, making each journal truly one of a kind.

To add exaggerated heirarchy and breathing space for content like blogs and articles, use the prose
class on a containing element.
Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks. Each journal comes in a handy cotton pouch.
*Please note: each piece of leather will have slight variations and markings, making each journal truly one of a kind.

Premium Leather Journal

 Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks. Each journal comes in a handy cotton pouch.

7.5" x 5" and 1" thick

192 blank white pages (7" x 4.75")

Sturdy Longstitch hand binding

Knotted thread place holder

Finished edges and rounded corners

Handmade in the USA

 *Please note: each piece of leather will have slight variations and markings, making each journal truly one of a kind.

To add white text on a dark background combine the dark
class with a fill-[color]
from the colors palette on a containing element.
Use caution when choosing dark themed text. Studies have shown that having light text on a dark background harms readability and is generally a bad idea.
Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks. Each journal comes in a handy cotton pouch.
*Please note: each piece of leather will have slight variations and markings, making each journal truly one of a kind.

Premium Leather Journal

 Each handcrafted journal is made from premium natural raw leather. This buttery soft vegetable-tanned leather will darken over time and look even better as it ages. The more you use it, the better it looks.


This package provides a platform-independent interface to various
features absent from the
ANSI Common Lisp
standard, such as sockets, shell, Gray streams etc. The
implementation-specific things, like loads of #+/#-
, are
hidden from the user.
You can download this package from the following HTTP mirrors:
To use this package, you will need an ANSI Common Lisp.
PORT
is now a part of CLOCC
(in
src/port
),
and, as such, is accessible via anonymous CVS and FTP, as explained on
the CLOCC
homepage.
PORT
uses
mk:defsystem
,
which is a part of CLOCC
too.
This Common Lisp sources include the following files (in the alphabetical order):
| file | description |
|---|---|
ext.lisp |
miscellaneous minor extensions, used everywhere |
gray.lisp |
David N. Gray's STREAM-DEFINITION-BY-USER:GENERIC-FUNCTIONS unification |
net.lisp |
sockets, socket servers, host name resolution etc |
path.lisp |
Pathnames and Filenames |
proc.lisp |
LispM-style portable multiprocessing |
shell.lisp |
shell access, pipes |
sys.lisp |
getenv , arglist ,
class-slot-list , chdir , etc |
This package is distributed under the GNU LGPL.
To use the library, type "make system"
, which should
compile all the files. Alternatively, you can issue the
(mk:compile-system "port")
command yourself.
Then you can dump your images.
See also the general CLOCC
INSTALL
instructions.
Please note that this package exports symbols with names which might be already present as an extension in your Common Lisp implementation. I recommend issuing the following command before using this package:
#+allegro (shadowing-import '(port::gc port::arglist port::chdir)) #+clisp (shadowing-import '(port::getenv port::arglist port::gc port::finalize port::sysinfo port::with-gensyms port::probe-directory port::current-time port::quit port::default-directory port::resolve-host-ipaddr port::hostent port::hostent-name port::hostent-aliases port::hostent-addr-list port::socket-server port::socket-accept port::socket-server-close port::socket-service-port)) #+cmu (shadowing-import '(port::quit port::default-directory port::gc port::process-wait port::finalize))
Comments and bug reports are welcome.
| Sam Steingold<EMAIL_ADDRESS>|


---
layout: personal-default
lang: "en"
core_page_id: p0002
title: Contact Gideonamani
description: A guide to getting in touch with me and actually get a reply.
keywords:
image:
image_is_local:
image_alt:
permalink: /contact/
---
A guide to getting in touch with me and actually get a reply.
{% for contact_method in site.data.contact_items %}
{% include contact-item.html contact_item=contact_method %}
{% endfor %}