Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: android_webview/native/permission/permission_request_handler_unittest.cc

Issue 268543005: Revert of Handle media access permission request (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/native/permission/permission_request_handler_unittest.cc
diff --git a/android_webview/native/permission/permission_request_handler_unittest.cc b/android_webview/native/permission/permission_request_handler_unittest.cc
deleted file mode 100644
index 2948dd9910a2308d98ad7b0a2ba10fa405aca955..0000000000000000000000000000000000000000
--- a/android_webview/native/permission/permission_request_handler_unittest.cc
+++ /dev/null
@@ -1,269 +0,0 @@
-// Copyright 2014 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 "android_webview/native/permission/aw_permission_request.h"
-#include "android_webview/native/permission/aw_permission_request_delegate.h"
-#include "android_webview/native/permission/permission_request_handler.h"
-#include "android_webview/native/permission/permission_request_handler_client.h"
-#include "base/bind.h"
-#include "base/callback.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace android_webview {
-
-class TestAwPermissionRequestDelegate : public AwPermissionRequestDelegate {
- public:
- TestAwPermissionRequestDelegate(
- const GURL& origin, int64 resources, base::Callback<void(bool)> callback)
- : origin_(origin),
- resources_(resources),
- callback_(callback) {}
-
- // Get the origin which initiated the permission request.
- virtual const GURL& GetOrigin() OVERRIDE {
- return origin_;
- }
-
- // Get the resources the origin wanted to access.
- virtual int64 GetResources() OVERRIDE {
- return resources_;
- }
-
- // Notify the permission request is allowed or not.
- virtual void NotifyRequestResult(bool allowed) OVERRIDE {
- callback_.Run(allowed);
- }
-
- private:
- GURL origin_;
- int64 resources_;
- base::Callback<void(bool)> callback_;
-};
-
-class TestPermissionRequestHandlerClient :
- public PermissionRequestHandlerClient {
- public:
- struct Permission {
- Permission()
- :resources(0) {}
- Permission(const GURL& origin, int64 resources)
- : origin(origin),
- resources(resources) {}
- GURL origin;
- int64 resources;
- };
-
- virtual void OnPermissionRequest(AwPermissionRequest* request) OVERRIDE {
- request_ = request;
- requested_permission_ =
- Permission(request->GetOrigin(), request->GetResources());
- }
-
- virtual void OnPermissionRequestCanceled(
- AwPermissionRequest* request) OVERRIDE{
- canceled_permission_ =
- Permission(request->GetOrigin(), request->GetResources());
- }
-
- AwPermissionRequest* request() {
- return request_;
- }
-
- const Permission& requested_permission() {
- return requested_permission_;
- }
-
- const Permission& canceled_permission() {
- return canceled_permission_;
- }
-
- void Grant() {
- request_->OnAccept(NULL, NULL, true);
- request_ = NULL;
- }
-
- void Deny() {
- request_->OnAccept(NULL, NULL, false);
- request_ = NULL;
- }
-
- private:
- AwPermissionRequest* request_;
- Permission requested_permission_;
- Permission canceled_permission_;
-};
-
-class TestPermissionRequestHandler : public PermissionRequestHandler {
- public:
- TestPermissionRequestHandler(PermissionRequestHandlerClient* client)
- : PermissionRequestHandler(client) {
- }
-
- const std::vector<base::WeakPtr<AwPermissionRequest> > requests() {
- return requests_;
- }
-
- void PruneRequests() {
- return PermissionRequestHandler::PruneRequests();
- }
-};
-
-class PermissionRequestHandlerTest : public testing::Test {
- public:
- PermissionRequestHandlerTest()
- : handler_(&client_),
- allowed_(false) {}
-
- void NotifyRequestResult(bool allowed) {
- allowed_ = allowed;
- }
-
- protected:
- virtual void SetUp() OVERRIDE {
- testing::Test::SetUp();
- origin_ = GURL("http://www.google.com");
- resources_ =
- AwPermissionRequest::VideoCapture | AwPermissionRequest::AudioCapture;
- delegate_.reset(
- new TestAwPermissionRequestDelegate(
- origin_, resources_, base::Bind(
- &PermissionRequestHandlerTest::NotifyRequestResult,
- base::Unretained(this))));
- }
-
- const GURL& origin() {
- return origin_;
- }
-
- int64 resources() {
- return resources_;
- }
-
- scoped_ptr<AwPermissionRequestDelegate> delegate() {
- return delegate_.Pass();
- }
-
- TestPermissionRequestHandler* handler() {
- return &handler_;
- }
-
- TestPermissionRequestHandlerClient* client() {
- return &client_;
- }
-
- bool allowed() {
- return allowed_;
- }
-
- private:
- GURL origin_;
- int64 resources_;
- scoped_ptr<AwPermissionRequestDelegate> delegate_;
- TestPermissionRequestHandlerClient client_;
- TestPermissionRequestHandler handler_;
- bool allowed_;
-};
-
-TEST_F(PermissionRequestHandlerTest, TestPermissionGranted) {
- handler()->SendRequest(delegate().Pass());
- // Verify Handler store the request correctly.
- ASSERT_EQ(1u, handler()->requests().size());
- EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[0]->GetResources());
-
- // Verify client's onPermissionRequest was called
- EXPECT_EQ(origin(), client()->request()->GetOrigin());
- EXPECT_EQ(resources(), client()->request()->GetResources());
-
- // Simulate the grant request.
- client()->Grant();
- // Verify the request is notified as granted
- EXPECT_TRUE(allowed());
- handler()->PruneRequests();
- // Verify the weak reference in handler was removed.
- EXPECT_TRUE(handler()->requests().empty());
-}
-
-TEST_F(PermissionRequestHandlerTest, TestPermissionDenied) {
- handler()->SendRequest(delegate().Pass());
- // Verify Handler store the request correctly.
- ASSERT_EQ(1u, handler()->requests().size());
- EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[0]->GetResources());
-
- // Verify client's onPermissionRequest was called
- EXPECT_EQ(origin(), client()->request()->GetOrigin());
- EXPECT_EQ(resources(), client()->request()->GetResources());
-
- // Simulate the deny request.
- client()->Deny();
- // Verify the request is notified as granted
- EXPECT_FALSE(allowed());
- handler()->PruneRequests();
- // Verify the weak reference in handler was removed.
- EXPECT_TRUE(handler()->requests().empty());
-}
-
-TEST_F(PermissionRequestHandlerTest, TestMultiplePermissionRequest) {
- GURL origin1 = GURL("http://a.google.com");
- int64 resources1 = AwPermissionRequest::Geolocation;
-
- scoped_ptr<AwPermissionRequestDelegate> delegate1;
- delegate1.reset(new TestAwPermissionRequestDelegate(
- origin1, resources1,
- base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
- base::Unretained(this))));
-
- // Send 1st request
- handler()->SendRequest(delegate().Pass());
- // Verify Handler store the request correctly.
- ASSERT_EQ(1u, handler()->requests().size());
- EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[0]->GetResources());
- // Verify client's onPermissionRequest was called
- EXPECT_EQ(origin(), client()->request()->GetOrigin());
- EXPECT_EQ(resources(), client()->request()->GetResources());
-
- // Send 2nd request
- handler()->SendRequest(delegate1.Pass());
- // Verify Handler store the request correctly.
- ASSERT_EQ(2u, handler()->requests().size());
- EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[0]->GetResources());
- EXPECT_EQ(origin1, handler()->requests()[1]->GetOrigin());
- EXPECT_EQ(resources1, handler()->requests()[1]->GetResources());
- // Verify client's onPermissionRequest was called
- EXPECT_EQ(origin1, client()->request()->GetOrigin());
- EXPECT_EQ(resources1, client()->request()->GetResources());
-
- // Send 3rd request which has same origin and resources as first one.
- delegate1.reset(new TestAwPermissionRequestDelegate(origin(), resources(),
- base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
- base::Unretained(this))));
- handler()->SendRequest(delegate1.Pass());
- // Verify Handler store the request correctly.
- ASSERT_EQ(3u, handler()->requests().size());
- EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[0]->GetResources());
- EXPECT_EQ(origin1, handler()->requests()[1]->GetOrigin());
- EXPECT_EQ(resources1, handler()->requests()[1]->GetResources());
- EXPECT_EQ(origin(), handler()->requests()[2]->GetOrigin());
- EXPECT_EQ(resources(), handler()->requests()[2]->GetResources());
- // Verify client's onPermissionRequest was called
- EXPECT_EQ(origin(), client()->request()->GetOrigin());
- EXPECT_EQ(resources(), client()->request()->GetResources());
-
- // Cancel the request.
- handler()->CancelRequest(origin(), resources());
- // Verify client's OnPermissionRequestCancled() was called.
- EXPECT_EQ(origin(), client()->canceled_permission().origin);
- EXPECT_EQ(resources(), client()->canceled_permission().resources);
- // Verify Handler store the request correctly, the 1st and 3rd were removed.
- handler()->PruneRequests();
- ASSERT_EQ(1u, handler()->requests().size());
- EXPECT_EQ(origin1, handler()->requests()[0]->GetOrigin());
- EXPECT_EQ(resources1, handler()->requests()[0]->GetResources());
-}
-
-} // android_webview
« no previous file with comments | « android_webview/native/permission/permission_request_handler_client.cc ('k') | android_webview/native/webview_native.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698