// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/web_modal/web_contents_modal_dialog_host.h"

namespace web_modal {

WebContentsModalDialogHostObserver::~WebContentsModalDialogHostObserver() {
}

WebContentsModalDialogHostObserver::WebContentsModalDialogHostObserver() {
}

WebContentsModalDialogHost::~WebContentsModalDialogHost() {
}

WebContentsModalDialogHost::WebContentsModalDialogHost() {
}

}  // namespace web_modal
