Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Side by Side Diff: chrome/browser/tab_contents/render_view_context_menu.cc

Issue 3141042: DevTools: support disabled and checked context menu items. (Closed)
Patch Set: With enabled. Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 7
8 #include "chrome/browser/tab_contents/render_view_context_menu.h" 8 #include "chrome/browser/tab_contents/render_view_context_menu.h"
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 NOTREACHED(); 405 NOTREACHED();
406 } 406 }
407 407
408 bool RenderViewContextMenu::AppendCustomItems() { 408 bool RenderViewContextMenu::AppendCustomItems() {
409 std::vector<WebMenuItem>& custom_items = params_.custom_items; 409 std::vector<WebMenuItem>& custom_items = params_.custom_items;
410 for (size_t i = 0; i < custom_items.size(); ++i) { 410 for (size_t i = 0; i < custom_items.size(); ++i) {
411 DCHECK(IDC_CONTENT_CONTEXT_CUSTOM_FIRST + custom_items[i].action < 411 DCHECK(IDC_CONTENT_CONTEXT_CUSTOM_FIRST + custom_items[i].action <
412 IDC_CONTENT_CONTEXT_CUSTOM_LAST); 412 IDC_CONTENT_CONTEXT_CUSTOM_LAST);
413 if (custom_items[i].type == WebMenuItem::SEPARATOR) { 413 if (custom_items[i].type == WebMenuItem::SEPARATOR) {
414 menu_model_.AddSeparator(); 414 menu_model_.AddSeparator();
415 } else if (custom_items[i].type == WebMenuItem::CHECKABLE_OPTION) {
416 menu_model_.AddCheckItem(
417 custom_items[i].action + IDC_CONTENT_CONTEXT_CUSTOM_FIRST,
418 custom_items[i].label);
415 } else { 419 } else {
416 menu_model_.AddItem( 420 menu_model_.AddItem(
417 custom_items[i].action + IDC_CONTENT_CONTEXT_CUSTOM_FIRST, 421 custom_items[i].action + IDC_CONTENT_CONTEXT_CUSTOM_FIRST,
418 custom_items[i].label); 422 custom_items[i].label);
419 } 423 }
420 } 424 }
421 return custom_items.size() > 0; 425 return custom_items.size() > 0;
422 } 426 }
423 427
424 void RenderViewContextMenu::AppendDeveloperItems() { 428 void RenderViewContextMenu::AppendDeveloperItems() {
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 (id < IDC_CONTENT_CONTEXT_CUSTOM_LAST)) { 745 (id < IDC_CONTENT_CONTEXT_CUSTOM_LAST)) {
742 unsigned action = id - IDC_CONTENT_CONTEXT_CUSTOM_FIRST; 746 unsigned action = id - IDC_CONTENT_CONTEXT_CUSTOM_FIRST;
743 for (size_t i = 0; i < params_.custom_items.size(); ++i) { 747 for (size_t i = 0; i < params_.custom_items.size(); ++i) {
744 if (params_.custom_items[i].action == action) 748 if (params_.custom_items[i].action == action)
745 return params_.custom_items[i].enabled; 749 return params_.custom_items[i].enabled;
746 } 750 }
747 NOTREACHED(); 751 NOTREACHED();
748 return false; 752 return false;
749 } 753 }
750 754
755 // Custom WebKit items.
756 if (id >= IDC_CONTENT_CONTEXT_CUSTOM_FIRST &&
757 id <= IDC_CONTENT_CONTEXT_CUSTOM_LAST) {
758 const std::vector<WebMenuItem>& custom_items = params_.custom_items;
759 for (size_t i = 0; i < custom_items.size(); ++i) {
760 int action_id = IDC_CONTENT_CONTEXT_CUSTOM_FIRST + custom_items[i].action;
761 if (action_id == id)
762 return custom_items[i].enabled;
763 }
yurys 2010/08/25 12:55:29 There should be ASSERT_NOT_REACHED();
764 return true;
765 }
766
751 // Extension items. 767 // Extension items.
752 if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST && 768 if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
753 id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) { 769 id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
754 // In the future we may add APIs for extensions to disable items, but for 770 // In the future we may add APIs for extensions to disable items, but for
755 // now all items are implicitly enabled. 771 // now all items are implicitly enabled.
756 return true; 772 return true;
757 } 773 }
758 774
759 switch (id) { 775 switch (id) {
760 case IDC_BACK: 776 case IDC_BACK:
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 if (id == IDC_CONTENT_CONTEXT_LOOP) { 980 if (id == IDC_CONTENT_CONTEXT_LOOP) {
965 return (params_.media_flags & 981 return (params_.media_flags &
966 WebContextMenuData::MediaLoop) != 0; 982 WebContextMenuData::MediaLoop) != 0;
967 } 983 }
968 984
969 if (id == IDC_CONTENT_CONTEXT_CONTROLS) { 985 if (id == IDC_CONTENT_CONTEXT_CONTROLS) {
970 return (params_.media_flags & 986 return (params_.media_flags &
971 WebContextMenuData::MediaControls) != 0; 987 WebContextMenuData::MediaControls) != 0;
972 } 988 }
973 989
990 // Custom WebKit items.
991 if (id >= IDC_CONTENT_CONTEXT_CUSTOM_FIRST &&
992 id <= IDC_CONTENT_CONTEXT_CUSTOM_LAST) {
993 const std::vector<WebMenuItem>& custom_items = params_.custom_items;
994 for (size_t i = 0; i < custom_items.size(); ++i) {
995 int action_id = IDC_CONTENT_CONTEXT_CUSTOM_FIRST + custom_items[i].action;
996 if (action_id == id)
997 return custom_items[i].checked;
998 }
999 return false;
yurys 2010/08/25 12:55:29 ditto.
1000 }
1001
1002 // Extension items.
974 if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST && 1003 if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
975 id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) { 1004 id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
976 ExtensionMenuItem* item = GetExtensionMenuItem(id); 1005 ExtensionMenuItem* item = GetExtensionMenuItem(id);
977 if (item) 1006 if (item)
978 return item->checked(); 1007 return item->checked();
979 else 1008 else
980 return false; 1009 return false;
981 } 1010 }
982 1011
983 #if defined(OS_MACOSX) 1012 #if defined(OS_MACOSX)
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 UTF8ToWide(profile_->GetPrefs()->GetString(prefs::kAcceptLanguages)), 1455 UTF8ToWide(profile_->GetPrefs()->GetString(prefs::kAcceptLanguages)),
1427 g_browser_process->clipboard()); 1456 g_browser_process->clipboard());
1428 } 1457 }
1429 1458
1430 void RenderViewContextMenu::MediaPlayerActionAt( 1459 void RenderViewContextMenu::MediaPlayerActionAt(
1431 const gfx::Point& location, 1460 const gfx::Point& location,
1432 const WebMediaPlayerAction& action) { 1461 const WebMediaPlayerAction& action) {
1433 source_tab_contents_->render_view_host()->MediaPlayerActionAt( 1462 source_tab_contents_->render_view_host()->MediaPlayerActionAt(
1434 location, action); 1463 location, action);
1435 } 1464 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698