     }
 
     private func initViews() {
+        locationContainer = UIView()
+        locationContainer.layer.shadowColor = UIColor.blackColor().CGColor
+        locationContainer.layer.shadowOffset = CGSizeMake(0, 1.5)
+        locationContainer.layer.shadowRadius = 0
+        locationContainer.layer.shadowOpacity = 0.05
+        addSubview(locationContainer)
+
         locationView = BrowserLocationView(frame: CGRectZero)
         locationView.readerModeState = ReaderModeState.Unavailable
         locationView.delegate = self
-        addSubview(locationView)
+        locationContainer.addSubview(locationView)
 
         editTextField = ToolbarTextField()
         editTextField.keyboardType = UIKeyboardType.WebSearch

        cancelButton.hidden = true
        self.addSubview(cancelButton)

        self.locationView.snp_remakeConstraints { make in
            make.left.equalTo(self.snp_left).offset(DefaultPadding)
            make.centerY.equalTo(self).offset(StatusBarHeight/2.0)
        }

        self.tabsButton.snp_remakeConstraints { make in
            make.left.equalTo(self.locationView.snp_right).offset(8)
            make.centerY.equalTo(self).offset(StatusBarHeight/2.0)
            make.width.height.equalTo(ToolbarHeight)
            make.right.equalTo(self)
        }

        self.progressBar.snp_remakeConstraints { make in
            make.centerY.equalTo(self.snp_bottom)
            make.width.equalTo(self)
        }

        cancelButton.snp_makeConstraints { make in
            make.centerY.equalTo(self).offset(StatusBarHeight/2.0)
            make.right.equalTo(self).offset(-2)
        }
    }

    func browserLocationViewDidTapLocation(browserLocationView: BrowserLocationView) {
        delegate?.urlBarDidBeginEditing(self)

        locationContainer.insertSubview(editTextField, aboveSubview: locationView)
        editTextField.snp_remakeConstraints { make in
            make.edges.equalTo(self.locationView)
            return
