| Index: chrome/browser/ui/search/instant_unload_handler.h
|
| diff --git a/chrome/browser/ui/search/instant_unload_handler.h b/chrome/browser/ui/search/instant_unload_handler.h
|
| deleted file mode 100644
|
| index fa6b264674a0b986dde0a55ebdba4357f71a50c9..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/search/instant_unload_handler.h
|
| +++ /dev/null
|
| @@ -1,65 +0,0 @@
|
| -// Copyright 2012 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.
|
| -
|
| -#ifndef CHROME_BROWSER_UI_SEARCH_INSTANT_UNLOAD_HANDLER_H_
|
| -#define CHROME_BROWSER_UI_SEARCH_INSTANT_UNLOAD_HANDLER_H_
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -
|
| -class Browser;
|
| -
|
| -namespace content {
|
| -class WebContents;
|
| -}
|
| -
|
| -// InstantUnloadHandler ensures that it runs the BeforeUnload/Unload Handlers
|
| -// (BUH) of a page if the page is replaced by an Instant overlay.
|
| -//
|
| -// Why is this needed? Say the user is looking at a page P. They then try to
|
| -// navigate to another page Q. Consider what happens with and without Instant:
|
| -//
|
| -// Without Instant: Before the navigation is committed, P's BUH are run. If P's
|
| -// BUH return a string (instead of the default null), the user is prompted to
|
| -// "Stay or Leave?". If the user clicks "Stay", the navigation is cancelled,
|
| -// and the user remains on P.
|
| -//
|
| -// With Instant: The navigation to Q has already happened, since Q is being
|
| -// shown as a preview (overlay). When the user "commits" the overlay, it's too
|
| -// late to cancel Q based on P's BUH. So, Instant just replaces P with Q and
|
| -// passes P to InstantUnloadHandler::RunUnloadListenersOrDestroy(). This class
|
| -// runs P's BUH in the background. If the "Stay or Leave?" dialog needs to be
|
| -// shown, it adds P back onto the tabstrip, next to Q. Otherwise, P is deleted.
|
| -class InstantUnloadHandler {
|
| - public:
|
| - explicit InstantUnloadHandler(Browser* browser);
|
| - ~InstantUnloadHandler();
|
| -
|
| - // See class description for details on what this does.
|
| - void RunUnloadListenersOrDestroy(scoped_ptr<content::WebContents> contents,
|
| - int index);
|
| -
|
| - private:
|
| - class WebContentsDelegateImpl;
|
| -
|
| - // Invoked if the tab is to be shown, at |index| on the tab strip. This
|
| - // happens if the beforeunload listener returns a string.
|
| - void Activate(WebContentsDelegateImpl* delegate,
|
| - scoped_ptr<content::WebContents> contents,
|
| - int index);
|
| -
|
| - // Destroys the old tab. This is invoked if script tries to close the page.
|
| - void Destroy(WebContentsDelegateImpl* delegate);
|
| -
|
| - // TODO(sky): Browser really needs to wait to close until there are no more
|
| - // tabs managed by InstantUnloadHandler.
|
| - Browser* const browser_;
|
| -
|
| - ScopedVector<WebContentsDelegateImpl> delegates_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(InstantUnloadHandler);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_UI_SEARCH_INSTANT_UNLOAD_HANDLER_H_
|
|
|