Home | History | Annotate | Download | only in media
      1 // Copyright (c) 2012 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.
      4 
      5 #include "content/browser/media/media_internals_ui.h"
      6 
      7 #include "base/command_line.h"
      8 #include "content/browser/media/media_internals_handler.h"
      9 #include "content/public/browser/web_contents.h"
     10 #include "content/public/browser/web_ui.h"
     11 #include "content/public/browser/web_ui_data_source.h"
     12 #include "content/public/common/content_switches.h"
     13 #include "content/public/common/url_constants.h"
     14 #include "grit/content_resources.h"
     15 
     16 namespace content {
     17 namespace {
     18 
     19 WebUIDataSource* CreateMediaInternalsHTMLSource() {
     20   WebUIDataSource* source =
     21       WebUIDataSource::Create(kChromeUIMediaInternalsHost);
     22 
     23   source->SetJsonPath("strings.js");
     24   if (CommandLine::ForCurrentProcess()->HasSwitch(
     25           switches::kEnableNewMediaInternals)) {
     26     source->AddResourcePath("media_internals.js", IDR_MEDIA_INTERNALS_NEW_JS);
     27     source->SetDefaultResource(IDR_MEDIA_INTERNALS_NEW_HTML);
     28     return source;
     29   }
     30 
     31   source->AddResourcePath("media_internals.js", IDR_MEDIA_INTERNALS_JS);
     32   source->SetDefaultResource(IDR_MEDIA_INTERNALS_HTML);
     33   return source;
     34 }
     35 
     36 }  // namespace
     37 
     38 ////////////////////////////////////////////////////////////////////////////////
     39 //
     40 // MediaInternalsUI
     41 //
     42 ////////////////////////////////////////////////////////////////////////////////
     43 
     44 MediaInternalsUI::MediaInternalsUI(WebUI* web_ui)
     45     : WebUIController(web_ui) {
     46   web_ui->AddMessageHandler(new MediaInternalsMessageHandler());
     47 
     48   BrowserContext* browser_context =
     49       web_ui->GetWebContents()->GetBrowserContext();
     50   WebUIDataSource::Add(browser_context, CreateMediaInternalsHTMLSource());
     51 }
     52 
     53 }  // namespace content
     54