diff --git a/Manatee/Extension/Browser/BrowserView.hs b/Manatee/Extension/Browser/BrowserView.hs
--- a/Manatee/Extension/Browser/BrowserView.hs
+++ b/Manatee/Extension/Browser/BrowserView.hs
@@ -36,6 +36,7 @@
 import Graphics.UI.Gtk.WebKit.WebView
 import Graphics.UI.Gtk.WebKit.WebResource
 import Manatee.Core.DBus
+import Manatee.Core.PageFrame
 import Manatee.Core.PageView
 import Manatee.Core.Config
 import Manatee.Core.Types
@@ -46,7 +47,6 @@
 import Manatee.Toolkit.General.Maybe
 import Manatee.Toolkit.General.STM
 import Manatee.Toolkit.Gtk.Gtk
-import Manatee.Toolkit.Gtk.ScrolledWindow
 import Manatee.Toolkit.Gtk.Concurrent
 import Paths_manatee_browser
 import System.FilePath
@@ -55,7 +55,7 @@
 
 data BrowserView =
     BrowserView {browserViewPlugId               :: TVar PagePlugId
-                ,browserViewScrolledWindow       :: ScrolledWindow
+                ,browserViewFrame                :: PageFrame
                 ,browserViewView                 :: WebView
                 ,browserViewBuffer               :: BrowserBuffer
                 ,browserViewBroadcastChannel     :: ViewChannel BrowserBufferSignal
@@ -74,27 +74,28 @@
 instance PageView BrowserView where
     pageViewBuffer              = PageBufferWrap . browserViewBuffer
     pageViewPlugId              = browserViewPlugId
+    pageViewBox                 = pageFrameBox . browserViewFrame
+    pageViewScrolledWindow      = browserViewScrolledWindow
     pageViewFocus               = widgetGrabFocus . browserViewView
     pageViewCut                 = browserViewCut
     pageViewCopy                = browserViewCopy
     pageViewPaste               = browserViewPaste
-    pageViewScrolledWindow      = browserViewScrolledWindow
     pageViewHandleKeyAction     = browserViewHandleKeyAction
 
 -- | New browser view.
 browserViewNew :: BrowserBuffer -> PagePlugId -> IO BrowserView    
 browserViewNew buffer plugId = do
   -- Create UI frame.
-  scrolledWindow <- scrolledWindowNew_
+  pFrame <- pageFrameNewWithModeName (pageModeName $ browserBufferMode buffer)
   
   -- Create view.
   webView <- webViewNew
-  scrolledWindow `containerAdd` webView
+  pageFrameAddChild pFrame webView
   uri <- pageBufferGetName buffer
   webViewLoadUri webView uri
   channel <- createViewChannel (browserBufferBroadcastChannel buffer) webView
   pId <- newTVarIO plugId
-  let browserView = BrowserView pId scrolledWindow webView buffer channel 100
+  let browserView = BrowserView pId pFrame webView buffer channel 100
 
   -- Set font.
   setting <- webViewGetWebSettings webView
@@ -121,23 +122,23 @@
   -- Display link over mouse.
   webView `on` hoveringOverLink $ \ _ mouseUri -> 
     mouseUri ?>= \ uri -> 
-        pageViewUpdateOutputStatus browserView uri (Just (browserViewStatusLengthLimit browserView))
+        pageFrameShowOutputbar (browserViewFrame browserView) uri (Just (browserViewStatusLengthLimit browserView))
 
   -- Display resource request status. 
   webView `on` resourceRequestStarting $ \ _ resource _ _ -> do
     -- Get request uri.
     uri <- webResourceGetUri resource
-    pageViewUpdateOutputStatus browserView uri (Just (browserViewStatusLengthLimit browserView))
+    pageFrameShowOutputbar (browserViewFrame browserView) uri (Just (browserViewStatusLengthLimit browserView))
 
   webView `on` progressChanged $ \ progress ->
-    pageViewUpdateProgressStatus browserView (i2d progress)
+    pageFrameUpdateProgress (browserViewFrame browserView) (i2d progress)
 
   -- Download request signal.
   webView `on` downloadRequested $ \ download -> do
     downloadGetUri download
         >?>= \url -> do 
           -- Print downloading message.
-          pageViewUpdateOutputStatus browserView ("Downloading " ++ url) Nothing
+          pageFrameShowOutputbar (browserViewFrame browserView) ("Downloading " ++ url) Nothing
           -- Send download request to download manager.
           ifM (isBusNameExist $ packGenericBusName "curl") 
               -- Send DBus signal if curl process exit.
@@ -257,7 +258,7 @@
 browserViewCut view@ (BrowserView {browserViewView = webView}) = do
   ifM (webViewCanCutClipboard webView)
       (webViewCutClipboard webView)
-      (pageViewUpdateOutputStatus view "Can't cut." Nothing)
+      (pageFrameShowOutputbar (browserViewFrame view) "Can't cut." Nothing)
   return True
 
 -- | Browser copy.
@@ -265,7 +266,7 @@
 browserViewCopy view@ (BrowserView {browserViewView = webView}) = do
   ifM (webViewCanCopyClipboard webView)
       (webViewCopyClipboard webView)
-      (pageViewUpdateOutputStatus view "Can't copy." Nothing)
+      (pageFrameShowOutputbar (browserViewFrame view) "Can't copy." Nothing)
   return True
 
 -- | Browser paste.
@@ -273,7 +274,10 @@
 browserViewPaste view@ (BrowserView {browserViewView = webView}) = do
   ifM (webViewCanPasteClipboard webView)
       (webViewPasteClipboard webView)
-      (pageViewUpdateOutputStatus view "Can't paste." Nothing)
+      (pageFrameShowOutputbar (browserViewFrame view) "Can't paste." Nothing)
   return True
   
-  
+-- | Browser scrolled window.  
+browserViewScrolledWindow :: BrowserView -> ScrolledWindow  
+browserViewScrolledWindow =
+  pageFrameScrolledWindow . browserViewFrame
diff --git a/manatee-browser.cabal b/manatee-browser.cabal
--- a/manatee-browser.cabal
+++ b/manatee-browser.cabal
@@ -1,5 +1,5 @@
 name:			manatee-browser
-version:		0.0.7
+version:		0.0.8
 Cabal-Version:	>= 1.6
 license:		GPL-3
 license-file:	LICENSE
@@ -30,7 +30,7 @@
   location:     http://patch-tag.com/r/AndyStewart/manatee-browser
   
 Library
-     build-depends: base >= 4 && < 5, manatee-core >= 0.0.7, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,
+     build-depends: base >= 4 && < 5, manatee-core >= 0.0.8, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,
                     containers >= 0.3.0.0, webkit >= 0.12.0, gtk-serialized-event >= 0.12.0, gtk >= 0.12.0,
                     text >= 0.7.1.0, mtl >= 1.1.0.2, utf8-string, filepath
      exposed-modules:
