summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'desktop')
-rw-r--r--desktop/page-info.c21
-rw-r--r--desktop/page-info.h12
2 files changed, 29 insertions, 4 deletions
diff --git a/desktop/page-info.c b/desktop/page-info.c
index 49b11a1dd..d698c2b0b 100644
--- a/desktop/page-info.c
+++ b/desktop/page-info.c
@@ -571,13 +571,30 @@ nserror page_info_create(
}
/* Exported interface documented in desktop/page_info.h */
-void page_info_destroy(
- struct page_info *pi)
+nserror page_info_destroy(struct page_info *pi)
{
if (pi->domain != NULL) {
lwc_string_unref(pi->domain);
}
free(pi);
+ return NSERROR_OK;
+}
+
+/* Exported interface documented in desktop/page_info.h */
+nserror page_info_set(struct page_info *pgi, struct browser_window *bw)
+{
+ nserror res;
+
+ if (pgi->domain != NULL) {
+ lwc_string_unref(pgi->domain);
+ }
+
+ res = page_info__create_from_bw(pgi, bw);
+ if (res == NSERROR_OK) {
+ res = page_info__layout(pgi);
+ }
+
+ return res;
}
/**
diff --git a/desktop/page-info.h b/desktop/page-info.h
index 4504e578b..152a88496 100644
--- a/desktop/page-info.h
+++ b/desktop/page-info.h
@@ -76,8 +76,16 @@ nserror page_info_create(
*
* \param[in] pi The page info window handle.
*/
-void page_info_destroy(
- struct page_info *pi);
+nserror page_info_destroy(struct page_info *pi);
+
+/**
+ * change the browser window the page information refers to
+ *
+ * \param[in] pgi The page info window context
+ * \param[in] bw The new browser window
+ * \return NSERROR_OK on sucess else error code.
+ */
+nserror page_info_set(struct page_info *pgi, struct browser_window *bw);
/**
* Redraw the page info window.