1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/views_content_client/views_content_browser_client.h"
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/shell/browser/shell_browser_context.h"
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/views_content_client/views_content_client_main_parts.h"
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace ui {
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsContentBrowserClient::ViewsContentBrowserClient(
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ViewsContentClient* views_content_client)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    : views_content_main_parts_(NULL),
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      views_content_client_(views_content_client) {
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsContentBrowserClient::~ViewsContentBrowserClient() {
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)content::BrowserMainParts* ViewsContentBrowserClient::CreateBrowserMainParts(
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const content::MainFunctionParams& parameters) {
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  views_content_main_parts_ =
2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)      ViewsContentClientMainParts::Create(parameters, views_content_client_);
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return views_content_main_parts_;
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)net::URLRequestContextGetter*
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsContentBrowserClient::CreateRequestContext(
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    content::BrowserContext* content_browser_context,
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    content::ProtocolHandlerMap* protocol_handlers,
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    content::URLRequestInterceptorScopedVector request_interceptors) {
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  content::ShellBrowserContext* shell_context =
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      views_content_main_parts_->browser_context();
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return shell_context->CreateRequestContext(protocol_handlers,
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                                             request_interceptors.Pass());
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace ui
40