Commit 77433715 authored by Ahmed Mehfooz's avatar Ahmed Mehfooz Committed by Commit Bot

Add API calls for holding space context menu

Bug: 1127240

Change-Id: Id8cf046b24079cb5fc64bcc79d81e390f2b64bc7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2412829
Commit-Queue: Ahmed Mehfooz <amehfooz@chromium.org>
Reviewed-by: default avatarDavid Black <dmblack@google.com>
Cr-Commit-Position: refs/heads/master@{#807290}
parent 6004f756
...@@ -4,12 +4,14 @@ ...@@ -4,12 +4,14 @@
#include "ash/system/holding_space/holding_space_item_context_menu.h" #include "ash/system/holding_space/holding_space_item_context_menu.h"
#include "ash/public/cpp/holding_space/holding_space_client.h"
#include "ash/public/cpp/holding_space/holding_space_constants.h" #include "ash/public/cpp/holding_space/holding_space_constants.h"
#include "ash/public/cpp/holding_space/holding_space_controller.h" #include "ash/public/cpp/holding_space/holding_space_controller.h"
#include "ash/public/cpp/holding_space/holding_space_model.h" #include "ash/public/cpp/holding_space/holding_space_model.h"
#include "ash/resources/vector_icons/vector_icons.h" #include "ash/resources/vector_icons/vector_icons.h"
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/system/holding_space/holding_space_item_view.h" #include "ash/system/holding_space/holding_space_item_view.h"
#include "base/bind.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/simple_menu_model.h" #include "ui/base/models/simple_menu_model.h"
#include "ui/views/controls/menu/menu_runner.h" #include "ui/views/controls/menu/menu_runner.h"
...@@ -45,16 +47,18 @@ void HoldingSpaceItemContextMenu::ExecuteCommand(int command_id, ...@@ -45,16 +47,18 @@ void HoldingSpaceItemContextMenu::ExecuteCommand(int command_id,
int event_flags) { int event_flags) {
switch (command_id) { switch (command_id) {
case HoldingSpaceCommandId::kCopyToClipboard: case HoldingSpaceCommandId::kCopyToClipboard:
// TODO(crbug.com/1127240): Hookup API for copy to clipboard HoldingSpaceController::Get()->client()->CopyToClipboard(
*item_, base::DoNothing());
break; break;
case HoldingSpaceCommandId::kPinItem: case HoldingSpaceCommandId::kPinItem:
// TODO(crbug.com/1127240): Hookup API for toggling pin HoldingSpaceController::Get()->client()->PinItem(*item_);
break; break;
case HoldingSpaceCommandId::kShowInFolder: case HoldingSpaceCommandId::kShowInFolder:
// TODO(crbug.com/1127240): Hookup API for show in folder HoldingSpaceController::Get()->client()->OpenItemInFolder(
*item_, base::DoNothing());
break; break;
case HoldingSpaceCommandId::kUnpinItem: case HoldingSpaceCommandId::kUnpinItem:
// TODO(crbug.com/1127240): Hookup API for toggling pin HoldingSpaceController::Get()->client()->UnpinItem(*item_);
break; break;
} }
} }
......
...@@ -90,11 +90,12 @@ void HoldingSpaceClientImpl::PinItem(const HoldingSpaceItem& item) { ...@@ -90,11 +90,12 @@ void HoldingSpaceClientImpl::PinItem(const HoldingSpaceItem& item) {
} }
void HoldingSpaceClientImpl::UnpinItem(const HoldingSpaceItem& item) { void HoldingSpaceClientImpl::UnpinItem(const HoldingSpaceItem& item) {
DCHECK_EQ(item.type(), HoldingSpaceItem::Type::kPinnedFile);
const storage::FileSystemURL& file_system_url = const storage::FileSystemURL& file_system_url =
file_manager::util::GetFileSystemContextForExtensionId( file_manager::util::GetFileSystemContextForExtensionId(
profile_, file_manager::kFileManagerAppId) profile_, file_manager::kFileManagerAppId)
->CrackURL(item.file_system_url()); ->CrackURL(item.file_system_url());
DCHECK(GetHoldingSpaceKeyedService(profile_)->ContainsPinnedFile(
file_system_url));
GetHoldingSpaceKeyedService(profile_)->RemovePinnedFile(file_system_url); GetHoldingSpaceKeyedService(profile_)->RemovePinnedFile(file_system_url);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment