| Index: chrome/browser/extensions/extension_toolstrip_api.cc | 
| diff --git a/chrome/browser/extensions/extension_toolstrip_api.cc b/chrome/browser/extensions/extension_toolstrip_api.cc | 
| deleted file mode 100644 | 
| index 26618e07d3865edd00d5d4502a5df2861c17813a..0000000000000000000000000000000000000000 | 
| --- a/chrome/browser/extensions/extension_toolstrip_api.cc | 
| +++ /dev/null | 
| @@ -1,176 +0,0 @@ | 
| -// Copyright (c) 2010 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 "chrome/browser/extensions/extension_toolstrip_api.h" | 
| - | 
| -#include "base/json/json_writer.h" | 
| -#include "base/string_util.h" | 
| -#include "chrome/browser/browser.h" | 
| -#include "chrome/browser/extensions/extension_host.h" | 
| -#include "chrome/browser/extensions/extension_message_service.h" | 
| -#include "chrome/browser/extensions/extension_shelf_model.h" | 
| -#include "chrome/browser/extensions/extension_tabs_module_constants.h" | 
| -#include "chrome/browser/profile.h" | 
| -#include "chrome/browser/renderer_host/render_view_host.h" | 
| - | 
| -namespace extension_toolstrip_api_events { | 
| -const char kOnToolstripExpanded[] = "toolstrip.onExpanded.%d"; | 
| -const char kOnToolstripCollapsed[] = "toolstrip.onCollapsed.%d"; | 
| -};  // namespace extension_toolstrip_api_events | 
| - | 
| -namespace { | 
| -// Errors. | 
| -const char kNotAToolstripError[] = "This page is not a toolstrip."; | 
| -const char kAlreadyExpandedError[] = "This toolstrip is already expanded."; | 
| -const char kAlreadyCollapsedError[] = "This toolstrip is already collapsed."; | 
| -const char kInvalidURLError[] = "Invalid URL"; | 
| -const char kBadHeightError[] = "Bad height."; | 
| - | 
| -// TODO(erikkay) what are good values here? | 
| -const int kMinHeight = 50; | 
| -const int kMaxHeight = 1000; | 
| -};  // namespace | 
| - | 
| -namespace keys = extension_tabs_module_constants; | 
| -namespace events = extension_toolstrip_api_events; | 
| - | 
| -bool ToolstripFunction::RunImpl() { | 
| -  ViewType::Type view_type = | 
| -      dispatcher()->render_view_host()->delegate()->GetRenderViewType(); | 
| -  if (view_type != ViewType::EXTENSION_TOOLSTRIP && | 
| -      view_type != ViewType::EXTENSION_MOLE) { | 
| -    error_ = kNotAToolstripError; | 
| -    return false; | 
| -  } | 
| - | 
| -  Browser* browser = GetCurrentBrowser(); | 
| -  if (!browser) { | 
| -    error_ = kNotAToolstripError; | 
| -    return false; | 
| -  } | 
| - | 
| -  model_ = browser->extension_shelf_model(); | 
| -  if (!model_) { | 
| -    error_ = kNotAToolstripError; | 
| -    return false; | 
| -  } | 
| - | 
| -  // Since this is an EXTENSION_TOOLSTRIP or EXTESION_MOLE view type, we know | 
| -  // the delegate must be an ExtensionHost. | 
| -  ExtensionHost* host = | 
| -      static_cast<ExtensionHost*>(dispatcher()->delegate()); | 
| -  toolstrip_ = model_->ToolstripForHost(host); | 
| -  if (toolstrip_ == model_->end()) { | 
| -    error_ = kNotAToolstripError; | 
| -    return false; | 
| -  } | 
| - | 
| -  return true; | 
| -} | 
| - | 
| -bool ToolstripExpandFunction::RunImpl() { | 
| -  if (!ToolstripFunction::RunImpl()) | 
| -    return false; | 
| -  if (toolstrip_->height != 0) { | 
| -    error_ = kAlreadyExpandedError; | 
| -    return false; | 
| -  } | 
| - | 
| -  DictionaryValue* args; | 
| -  EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); | 
| - | 
| -  int height; | 
| -  EXTENSION_FUNCTION_VALIDATE(args->GetInteger(keys::kHeightKey, | 
| -                                               &height)); | 
| -  EXTENSION_FUNCTION_VALIDATE(height >= 0); | 
| -  if (height < kMinHeight || height > kMaxHeight) { | 
| -    error_ = kBadHeightError; | 
| -    return false; | 
| -  } | 
| - | 
| -  GURL url; | 
| -  if (args->HasKey(keys::kUrlKey)) { | 
| -    std::string url_string; | 
| -    EXTENSION_FUNCTION_VALIDATE(args->GetString(keys::kUrlKey, | 
| -                                                &url_string)); | 
| -    url = dispatcher()->url().Resolve(url_string); | 
| -    if (!url.is_valid()) { | 
| -      error_ = kInvalidURLError; | 
| -      return false; | 
| -    } | 
| -  } | 
| - | 
| -  model_->ExpandToolstrip(toolstrip_, url, height); | 
| -  return true; | 
| -} | 
| - | 
| -bool ToolstripCollapseFunction::RunImpl() { | 
| -  if (!ToolstripFunction::RunImpl()) | 
| -    return false; | 
| - | 
| -  if (toolstrip_->height == 0) { | 
| -    error_ = kAlreadyCollapsedError; | 
| -    return false; | 
| -  } | 
| - | 
| -  GURL url; | 
| -  if (HasOptionalArgument(0)) { | 
| -    DictionaryValue* args; | 
| -    EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); | 
| - | 
| -    if (args->HasKey(keys::kUrlKey)) { | 
| -      std::string url_string; | 
| -      EXTENSION_FUNCTION_VALIDATE(args->GetString(keys::kUrlKey, | 
| -                                                  &url_string)); | 
| -      url = dispatcher()->url().Resolve(url_string); | 
| -      if (!url.is_valid()) { | 
| -        error_ = kInvalidURLError; | 
| -        return false; | 
| -      } | 
| -    } | 
| -  } | 
| - | 
| -  model_->CollapseToolstrip(toolstrip_, url); | 
| -  return true; | 
| -} | 
| - | 
| -// static | 
| -void ToolstripEventRouter::DispatchEvent(Profile *profile, | 
| -                                         int routing_id, | 
| -                                         const char *event_name, | 
| -                                         const Value& json) { | 
| -  if (profile->GetExtensionMessageService()) { | 
| -    std::string json_args; | 
| -    base::JSONWriter::Write(&json, false, &json_args); | 
| -    std::string full_event_name = StringPrintf(event_name, routing_id); | 
| -    profile->GetExtensionMessageService()->DispatchEventToRenderers( | 
| -        full_event_name, json_args, profile->IsOffTheRecord(), GURL()); | 
| -  } | 
| -} | 
| - | 
| -// static | 
| -void ToolstripEventRouter::OnToolstripExpanded(Profile* profile, | 
| -                                               int routing_id, | 
| -                                               const GURL &url, | 
| -                                               int height) { | 
| -  ListValue args; | 
| -  DictionaryValue* obj = new DictionaryValue(); | 
| -  if (!url.is_empty()) | 
| -    obj->SetString(keys::kUrlKey, url.spec()); | 
| -  obj->SetInteger(keys::kHeightKey, height); | 
| -  args.Append(obj); | 
| -  DispatchEvent(profile, routing_id, events::kOnToolstripExpanded, args); | 
| -} | 
| - | 
| -// static | 
| -void ToolstripEventRouter::OnToolstripCollapsed(Profile* profile, | 
| -                                                int routing_id, | 
| -                                                const GURL &url) { | 
| -  ListValue args; | 
| -  DictionaryValue* obj = new DictionaryValue(); | 
| -  if (!url.is_empty()) | 
| -    obj->SetString(keys::kUrlKey, url.spec()); | 
| -  args.Append(obj); | 
| -  DispatchEvent(profile, routing_id, events::kOnToolstripCollapsed, args); | 
| -} | 
|  |