Add testing/scripts/OWNERS
[chromium-blink-merge.git] / extensions / browser / api / app_view / app_view_guest_internal_api.cc
blob02cc6af9d018578d34eb730913a49b5757f5a446
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "extensions/browser/api/app_view/app_view_guest_internal_api.h"
7 #include "extensions/browser/guest_view/app_view/app_view_guest.h"
8 #include "extensions/common/api/app_view_guest_internal.h"
10 namespace extensions {
12 namespace appview = core_api::app_view_guest_internal;
14 AppViewGuestInternalAttachFrameFunction::
15 AppViewGuestInternalAttachFrameFunction() {
18 bool AppViewGuestInternalAttachFrameFunction::RunAsync() {
19 scoped_ptr<appview::AttachFrame::Params> params(
20 appview::AttachFrame::Params::Create(*args_));
21 EXTENSION_FUNCTION_VALIDATE(params.get());
23 GURL url = extension()->GetResourceURL(params->url);
24 EXTENSION_FUNCTION_VALIDATE(url.is_valid());
26 return AppViewGuest::CompletePendingRequest(
27 browser_context(), url, params->guest_instance_id, extension_id());
30 AppViewGuestInternalDenyRequestFunction::
31 AppViewGuestInternalDenyRequestFunction() {
34 bool AppViewGuestInternalDenyRequestFunction::RunAsync() {
35 scoped_ptr<appview::DenyRequest::Params> params(
36 appview::DenyRequest::Params::Create(*args_));
37 EXTENSION_FUNCTION_VALIDATE(params.get());
39 // Since the URL passed into AppViewGuest:::CompletePendingRequest is invalid,
40 // a new <appview> WebContents will not be created.
41 return AppViewGuest::CompletePendingRequest(
42 browser_context(), GURL(), params->guest_instance_id, extension_id());
45 } // namespace extensions