| Index: webkit/tools/test_shell/notification_presenter.h
|
| ===================================================================
|
| --- webkit/tools/test_shell/notification_presenter.h (revision 0)
|
| +++ webkit/tools/test_shell/notification_presenter.h (revision 0)
|
| @@ -0,0 +1,45 @@
|
| +// Copyright (c) 2010 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 WEBKIT_TOOLS_TEST_SHELL_NOTIFICATION_PRESENTER_H_
|
| +#define WEBKIT_TOOLS_TEST_SHELL_NOTIFICATION_PRESENTER_H_
|
| +
|
| +#include <set>
|
| +#include <string>
|
| +
|
| +#include "third_party/WebKit/WebKit/chromium/public/WebNotificationPresenter.h"
|
| +#include "webkit/tools/test_shell/test_shell.h"
|
| +
|
| +// A class that implements NotificationPresenter for the test shell.
|
| +class TestNotificationPresenter : public WebKit::WebNotificationPresenter {
|
| + public:
|
| + explicit TestNotificationPresenter(TestShell* shell)
|
| + : shell_(shell) {
|
| + }
|
| +
|
| + // Called by the LayoutTestController to simulate a user granting
|
| + // permission.
|
| + void grantPermission(const std::string& origin);
|
| +
|
| + // WebKit::WebNotificationPresenter interface
|
| + virtual bool show(const WebKit::WebNotification&);
|
| + virtual void cancel(const WebKit::WebNotification&);
|
| + virtual void objectDestroyed(const WebKit::WebNotification&);
|
| + virtual Permission checkPermission(const WebKit::WebURL& url);
|
| + virtual void requestPermission(const WebKit::WebSecurityOrigin& origin,
|
| + WebKit::WebNotificationPermissionCallback* callback);
|
| +
|
| + void Reset() {
|
| + allowed_origins_.clear();
|
| + }
|
| +
|
| + private:
|
| + // Non-owned pointer. The NotificationPresenter is owned by the test shell.
|
| + TestShell* shell_;
|
| +
|
| + // List of allowed origins.
|
| + std::set<std::string> allowed_origins_;
|
| +};
|
| +
|
| +#endif // WEBKIT_TOOLS_TEST_SHELL_NOTIFICATION_PRESENTER_H_
|
|
|