11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/shell/browser/shell_app_delegate.h"
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/common/constants.h"
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/shell/browser/media_capture_util.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace extensions {
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciShellAppDelegate::ShellAppDelegate() {
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciShellAppDelegate::~ShellAppDelegate() {
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::InitWebContents(content::WebContents* web_contents) {
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::ResizeWebContents(content::WebContents* web_contents,
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                         const gfx::Size& size) {
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicontent::WebContents* ShellAppDelegate::OpenURLFromTab(
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::BrowserContext* context,
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* source,
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const content::OpenURLParams& params) {
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return NULL;
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::AddNewContents(content::BrowserContext* context,
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                      content::WebContents* new_contents,
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                      WindowOpenDisposition disposition,
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                      const gfx::Rect& initial_pos,
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                      bool user_gesture,
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                      bool* was_blocked) {
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicontent::ColorChooser* ShellAppDelegate::ShowColorChooser(
441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* web_contents,
451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    SkColor initial_color) {
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return NULL;
481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::RunFileChooser(
511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* tab,
521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const content::FileChooserParams& params) {
531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::RequestMediaAccessPermission(
571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* web_contents,
581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const content::MediaStreamRequest& request,
591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const content::MediaResponseCallback& callback,
601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const extensions::Extension* extension) {
611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  media_capture_util::GrantMediaStreamRequest(
621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      web_contents, request, callback, extension);
631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool ShellAppDelegate::CheckMediaAccessPermission(
661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* web_contents,
671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const GURL& security_origin,
681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::MediaStreamType type,
691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const Extension* extension) {
701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  media_capture_util::VerifyMediaAccessPermission(type, extension);
711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return true;
721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciint ShellAppDelegate::PreferredIconSize() {
751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return extension_misc::EXTENSION_ICON_SMALL;
761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::SetWebContentsBlocked(
791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* web_contents,
801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    bool blocked) {
811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool ShellAppDelegate::IsWebContentsVisible(
851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    content::WebContents* web_contents) {
861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return true;
871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ShellAppDelegate::SetTerminatingCallback(const base::Closure& callback) {
901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // TODO(jamescook): Should app_shell continue to close the app window
911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // manually or should it use a browser termination callback like Chrome?
921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  NOTIMPLEMENTED();
931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace extensions
96