summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c13
-rw-r--r--desktop/browser.h15
-rw-r--r--desktop/browser_private.h2
-rw-r--r--desktop/frame_types.h6
-rw-r--r--desktop/frames.c4
5 files changed, 30 insertions, 10 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 5a19262cf..315859aeb 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -483,6 +483,17 @@ bool browser_window_is_frameset(struct browser_window *bw)
return (bw->children != NULL);
}
+
+/* exported interface, documented in desktop/browser.h */
+nserror browser_window_get_scrollbar_type(struct browser_window *bw,
+ browser_scrolling *h, browser_scrolling *v)
+{
+ *h = bw->scrolling;
+ *v = bw->scrolling;
+
+ return NSERROR_OK;
+}
+
/**
* Set or remove a selection.
*
@@ -772,7 +783,7 @@ nserror browser_window_create(enum browser_window_create_flags flags,
/* window characteristics */
ret->browser_window_type = BROWSER_WINDOW_NORMAL;
- ret->scrolling = SCROLLING_YES;
+ ret->scrolling = BW_SCROLLING_YES;
ret->border = true;
ret->no_resize = true;
ret->last_action = wallclock();
diff --git a/desktop/browser.h b/desktop/browser.h
index 8bad27632..8dff6dd6f 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -61,6 +61,12 @@ typedef enum {
BW_EDITOR_CAN_PASTE = (1 << 2) /**< Can paste, input */
} browser_editor_flags;
+typedef enum {
+ BW_SCROLLING_AUTO,
+ BW_SCROLLING_YES,
+ BW_SCROLLING_NO
+} browser_scrolling;
+
/** flags to browser_window_create */
enum browser_window_create_flags {
/** No flags set */
@@ -602,6 +608,15 @@ bool browser_window_can_search(struct browser_window *bw);
*/
bool browser_window_is_frameset(struct browser_window *bw);
+/**
+ * Find out if a browser window contains a frameset
+ *
+ * \param bw browser window to look at
+ * \return NSERROR_OK, or appropriate error otherwise
+ */
+nserror browser_window_get_scrollbar_type(struct browser_window *bw,
+ browser_scrolling *h, browser_scrolling *v);
+
/**
* Dump debug info concerning the browser window's contents to file
diff --git a/desktop/browser_private.h b/desktop/browser_private.h
index 51a11d35f..d373bd42e 100644
--- a/desktop/browser_private.h
+++ b/desktop/browser_private.h
@@ -123,7 +123,7 @@ struct browser_window {
/** frame characteristics */
bool no_resize;
- frame_scrolling scrolling;
+ browser_scrolling scrolling;
bool border;
colour border_colour;
diff --git a/desktop/frame_types.h b/desktop/frame_types.h
index f193d03f9..7008e98d4 100644
--- a/desktop/frame_types.h
+++ b/desktop/frame_types.h
@@ -32,12 +32,6 @@ struct frame_dimension {
} unit;
};
-typedef enum {
- SCROLLING_AUTO,
- SCROLLING_YES,
- SCROLLING_NO
-} frame_scrolling;
-
/* Handy struct names */
struct content_html_iframe;
struct content_html_frames;
diff --git a/desktop/frames.c b/desktop/frames.c
index 534cca4f7..ff9b88286 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -111,10 +111,10 @@ void browser_window_handle_scrollbars(struct browser_window *bw)
c_height = content_get_height(h);
}
- if (bw->scrolling == SCROLLING_YES) {
+ if (bw->scrolling == BW_SCROLLING_YES) {
scroll_x = true;
scroll_y = true;
- } else if (bw->scrolling == SCROLLING_AUTO &&
+ } else if (bw->scrolling == BW_SCROLLING_AUTO &&
bw->current_content) {
int bw_width = bw->width;
int bw_height = bw->height;