| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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 "chrome/browser/tab_contents/render_view_context_menu.h" | 5 #include "chrome/browser/tab_contents/render_view_context_menu.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "base/clipboard.h" | 8 #include "base/clipboard.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 source_tab_contents_(tab_contents), | 44 source_tab_contents_(tab_contents), |
| 45 profile_(tab_contents->profile()) { | 45 profile_(tab_contents->profile()) { |
| 46 } | 46 } |
| 47 | 47 |
| 48 RenderViewContextMenu::~RenderViewContextMenu() { | 48 RenderViewContextMenu::~RenderViewContextMenu() { |
| 49 } | 49 } |
| 50 | 50 |
| 51 // Menu construction functions ------------------------------------------------- | 51 // Menu construction functions ------------------------------------------------- |
| 52 | 52 |
| 53 void RenderViewContextMenu::Init() { | 53 void RenderViewContextMenu::Init() { |
| 54 InitMenu(params_.node, params_.media_params); | 54 InitMenu(params_.node_type, params_.media_params); |
| 55 DoInit(); | 55 DoInit(); |
| 56 } | 56 } |
| 57 | 57 |
| 58 void RenderViewContextMenu::InitMenu(ContextNode node, | 58 void RenderViewContextMenu::InitMenu(ContextNodeType node_type, |
| 59 ContextMenuMediaParams media_params) { | 59 ContextMenuMediaParams media_params) { |
| 60 if (node.type & ContextNode::PAGE) | 60 if (node_type.type & ContextNodeType::PAGE) |
| 61 AppendPageItems(); | 61 AppendPageItems(); |
| 62 if (node.type & ContextNode::FRAME) | 62 if (node_type.type & ContextNodeType::FRAME) |
| 63 AppendFrameItems(); | 63 AppendFrameItems(); |
| 64 if (node.type & ContextNode::LINK) | 64 if (node_type.type & ContextNodeType::LINK) |
| 65 AppendLinkItems(); | 65 AppendLinkItems(); |
| 66 | 66 |
| 67 if (node.type & ContextNode::IMAGE) { | 67 if (node_type.type & ContextNodeType::IMAGE) { |
| 68 if (node.type & ContextNode::LINK) | 68 if (node_type.type & ContextNodeType::LINK) |
| 69 AppendSeparator(); | 69 AppendSeparator(); |
| 70 AppendImageItems(); | 70 AppendImageItems(); |
| 71 } | 71 } |
| 72 | 72 |
| 73 if (node.type & ContextNode::VIDEO) { | 73 if (node_type.type & ContextNodeType::VIDEO) { |
| 74 if (node.type & ContextNode::LINK) | 74 if (node_type.type & ContextNodeType::LINK) |
| 75 AppendSeparator(); | 75 AppendSeparator(); |
| 76 AppendVideoItems(media_params); | 76 AppendVideoItems(media_params); |
| 77 } | 77 } |
| 78 | 78 |
| 79 if (node.type & ContextNode::AUDIO) { | 79 if (node_type.type & ContextNodeType::AUDIO) { |
| 80 if (node.type & ContextNode::LINK) | 80 if (node_type.type & ContextNodeType::LINK) |
| 81 AppendSeparator(); | 81 AppendSeparator(); |
| 82 AppendAudioItems(media_params); | 82 AppendAudioItems(media_params); |
| 83 } | 83 } |
| 84 | 84 |
| 85 if (node.type & ContextNode::EDITABLE) | 85 if (node_type.type & ContextNodeType::EDITABLE) |
| 86 AppendEditableItems(); | 86 AppendEditableItems(); |
| 87 else if (node.type & ContextNode::SELECTION || | 87 else if (node_type.type & ContextNodeType::SELECTION || |
| 88 node.type & ContextNode::LINK) | 88 node_type.type & ContextNodeType::LINK) |
| 89 AppendCopyItem(); | 89 AppendCopyItem(); |
| 90 | 90 |
| 91 if (node.type & ContextNode::SELECTION) | 91 if (node_type.type & ContextNodeType::SELECTION) |
| 92 AppendSearchProvider(); | 92 AppendSearchProvider(); |
| 93 AppendSeparator(); | 93 AppendSeparator(); |
| 94 AppendDeveloperItems(); | 94 AppendDeveloperItems(); |
| 95 } | 95 } |
| 96 | 96 |
| 97 void RenderViewContextMenu::AppendDeveloperItems() { | 97 void RenderViewContextMenu::AppendDeveloperItems() { |
| 98 AppendMenuItem(IDS_CONTENT_CONTEXT_INSPECTELEMENT); | 98 AppendMenuItem(IDS_CONTENT_CONTEXT_INSPECTELEMENT); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void RenderViewContextMenu::AppendLinkItems() { | 101 void RenderViewContextMenu::AppendLinkItems() { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 125 AppendMediaItems(media_params); | 125 AppendMediaItems(media_params); |
| 126 AppendSeparator(); | 126 AppendSeparator(); |
| 127 AppendMenuItem(IDS_CONTENT_CONTEXT_SAVEAUDIOAS); | 127 AppendMenuItem(IDS_CONTENT_CONTEXT_SAVEAUDIOAS); |
| 128 AppendMenuItem(IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION); | 128 AppendMenuItem(IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION); |
| 129 AppendMenuItem(IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB); | 129 AppendMenuItem(IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void RenderViewContextMenu::AppendVideoItems( | 132 void RenderViewContextMenu::AppendVideoItems( |
| 133 ContextMenuMediaParams media_params) { | 133 ContextMenuMediaParams media_params) { |
| 134 AppendMediaItems(media_params); | 134 AppendMediaItems(media_params); |
| 135 AppendMenuItem(IDS_CONTENT_CONTEXT_FULLSCREEN); | |
| 136 AppendSeparator(); | 135 AppendSeparator(); |
| 137 AppendMenuItem(IDS_CONTENT_CONTEXT_SAVEVIDEOAS); | 136 AppendMenuItem(IDS_CONTENT_CONTEXT_SAVEVIDEOAS); |
| 138 AppendMenuItem(IDS_CONTENT_CONTEXT_SAVESCREENSHOTAS); | |
| 139 AppendMenuItem(IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION); | 137 AppendMenuItem(IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION); |
| 140 AppendMenuItem(IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB); | 138 AppendMenuItem(IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB); |
| 141 } | 139 } |
| 142 | 140 |
| 143 void RenderViewContextMenu::AppendMediaItems( | 141 void RenderViewContextMenu::AppendMediaItems( |
| 144 ContextMenuMediaParams media_params) { | 142 ContextMenuMediaParams media_params) { |
| 145 if (media_params.player_state & ContextMenuMediaParams::PLAYER_PAUSED) { | 143 if (media_params.player_state & ContextMenuMediaParams::PAUSED) { |
| 146 AppendMenuItem(IDS_CONTENT_CONTEXT_PLAY); | 144 AppendMenuItem(IDS_CONTENT_CONTEXT_PLAY); |
| 147 } else { | 145 } else { |
| 148 AppendMenuItem(IDS_CONTENT_CONTEXT_PAUSE); | 146 AppendMenuItem(IDS_CONTENT_CONTEXT_PAUSE); |
| 149 } | 147 } |
| 150 | 148 |
| 151 if (media_params.player_state & ContextMenuMediaParams::PLAYER_MUTED) { | 149 if (media_params.player_state & ContextMenuMediaParams::MUTED) { |
| 152 AppendMenuItem(IDS_CONTENT_CONTEXT_UNMUTE); | 150 AppendMenuItem(IDS_CONTENT_CONTEXT_UNMUTE); |
| 153 } else { | 151 } else { |
| 154 AppendMenuItem(IDS_CONTENT_CONTEXT_MUTE); | 152 AppendMenuItem(IDS_CONTENT_CONTEXT_MUTE); |
| 155 } | 153 } |
| 156 | 154 |
| 157 AppendCheckboxMenuItem(IDS_CONTENT_CONTEXT_LOOP, | 155 AppendCheckboxMenuItem(IDS_CONTENT_CONTEXT_LOOP, |
| 158 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_LOOP)); | 156 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_LOOP)); |
| 159 | 157 |
| 160 StartSubMenu(IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU, | 158 StartSubMenu(IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU, |
| 161 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU)); | 159 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU)); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 case IDS_CONTENT_CONTEXT_MUTE: | 341 case IDS_CONTENT_CONTEXT_MUTE: |
| 344 case IDS_CONTENT_CONTEXT_UNMUTE: | 342 case IDS_CONTENT_CONTEXT_UNMUTE: |
| 345 case IDS_CONTENT_CONTEXT_LOOP: | 343 case IDS_CONTENT_CONTEXT_LOOP: |
| 346 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU: | 344 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_MENU: |
| 347 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_SLOW: | 345 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_SLOW: |
| 348 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_NORMAL: | 346 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_NORMAL: |
| 349 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FAST: | 347 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FAST: |
| 350 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FASTER: | 348 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FASTER: |
| 351 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_DOUBLETIME: | 349 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_DOUBLETIME: |
| 352 return (params_.media_params.player_state & | 350 return (params_.media_params.player_state & |
| 353 ContextMenuMediaParams::PLAYER_ERROR) == 0; | 351 ContextMenuMediaParams::IN_ERROR) == 0; |
| 354 | 352 |
| 355 case IDS_CONTENT_CONTEXT_SAVESCREENSHOTAS: | 353 case IDS_CONTENT_CONTEXT_SAVESCREENSHOTAS: |
| 356 // TODO(ajwong): Enable save screenshot after we actually implement | 354 // TODO(ajwong): Enable save screenshot after we actually implement |
| 357 // this. | 355 // this. |
| 358 return false; | 356 return false; |
| 359 | 357 |
| 360 case IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION: | 358 case IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION: |
| 361 case IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION: | 359 case IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION: |
| 362 case IDS_CONTENT_CONTEXT_COPYIMAGELOCATION: | 360 case IDS_CONTENT_CONTEXT_COPYIMAGELOCATION: |
| 363 return params_.src_url.is_valid(); | 361 return params_.src_url.is_valid(); |
| 364 | 362 |
| 365 case IDS_CONTENT_CONTEXT_SAVEAUDIOAS: | 363 case IDS_CONTENT_CONTEXT_SAVEAUDIOAS: |
| 366 case IDS_CONTENT_CONTEXT_SAVEVIDEOAS: | 364 case IDS_CONTENT_CONTEXT_SAVEVIDEOAS: |
| 367 return (params_.media_params.player_state & | 365 return (params_.media_params.player_state & |
| 368 ContextMenuMediaParams::PLAYER_CAN_SAVE) && | 366 ContextMenuMediaParams::CAN_SAVE) && |
| 369 params_.src_url.is_valid() && | 367 params_.src_url.is_valid() && |
| 370 URLRequest::IsHandledURL(params_.src_url); | 368 URLRequest::IsHandledURL(params_.src_url); |
| 371 | 369 |
| 372 case IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB: | 370 case IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB: |
| 373 case IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB: | 371 case IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB: |
| 374 return true; | 372 return true; |
| 375 | 373 |
| 376 case IDS_CONTENT_CONTEXT_SAVEPAGEAS: | 374 case IDS_CONTENT_CONTEXT_SAVEPAGEAS: |
| 377 return SavePackage::IsSavableURL(source_tab_contents_->GetURL()); | 375 return SavePackage::IsSavableURL(source_tab_contents_->GetURL()); |
| 378 | 376 |
| 379 case IDS_CONTENT_CONTEXT_OPENFRAMENEWTAB: | 377 case IDS_CONTENT_CONTEXT_OPENFRAMENEWTAB: |
| 380 case IDS_CONTENT_CONTEXT_OPENFRAMENEWWINDOW: | 378 case IDS_CONTENT_CONTEXT_OPENFRAMENEWWINDOW: |
| 381 return params_.frame_url.is_valid(); | 379 return params_.frame_url.is_valid(); |
| 382 | 380 |
| 383 case IDS_CONTENT_CONTEXT_UNDO: | 381 case IDS_CONTENT_CONTEXT_UNDO: |
| 384 return !!(params_.edit_flags & ContextNode::CAN_UNDO); | 382 return !!(params_.edit_flags & ContextNodeType::CAN_UNDO); |
| 385 | 383 |
| 386 case IDS_CONTENT_CONTEXT_REDO: | 384 case IDS_CONTENT_CONTEXT_REDO: |
| 387 return !!(params_.edit_flags & ContextNode::CAN_REDO); | 385 return !!(params_.edit_flags & ContextNodeType::CAN_REDO); |
| 388 | 386 |
| 389 case IDS_CONTENT_CONTEXT_CUT: | 387 case IDS_CONTENT_CONTEXT_CUT: |
| 390 return !!(params_.edit_flags & ContextNode::CAN_CUT); | 388 return !!(params_.edit_flags & ContextNodeType::CAN_CUT); |
| 391 | 389 |
| 392 case IDS_CONTENT_CONTEXT_COPY: | 390 case IDS_CONTENT_CONTEXT_COPY: |
| 393 return !!(params_.edit_flags & ContextNode::CAN_COPY); | 391 return !!(params_.edit_flags & ContextNodeType::CAN_COPY); |
| 394 | 392 |
| 395 case IDS_CONTENT_CONTEXT_PASTE: | 393 case IDS_CONTENT_CONTEXT_PASTE: |
| 396 return !!(params_.edit_flags & ContextNode::CAN_PASTE); | 394 return !!(params_.edit_flags & ContextNodeType::CAN_PASTE); |
| 397 | 395 |
| 398 case IDS_CONTENT_CONTEXT_DELETE: | 396 case IDS_CONTENT_CONTEXT_DELETE: |
| 399 return !!(params_.edit_flags & ContextNode::CAN_DELETE); | 397 return !!(params_.edit_flags & ContextNodeType::CAN_DELETE); |
| 400 | 398 |
| 401 case IDS_CONTENT_CONTEXT_SELECTALL: | 399 case IDS_CONTENT_CONTEXT_SELECTALL: |
| 402 return !!(params_.edit_flags & ContextNode::CAN_SELECT_ALL); | 400 return !!(params_.edit_flags & ContextNodeType::CAN_SELECT_ALL); |
| 403 | 401 |
| 404 case IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD: | 402 case IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD: |
| 405 return !profile_->IsOffTheRecord() && params_.link_url.is_valid(); | 403 return !profile_->IsOffTheRecord() && params_.link_url.is_valid(); |
| 406 | 404 |
| 407 case IDS_CONTENT_CONTEXT_OPENFRAMEOFFTHERECORD: | 405 case IDS_CONTENT_CONTEXT_OPENFRAMEOFFTHERECORD: |
| 408 return !profile_->IsOffTheRecord() && params_.frame_url.is_valid(); | 406 return !profile_->IsOffTheRecord() && params_.frame_url.is_valid(); |
| 409 | 407 |
| 410 case IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY: | 408 case IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY: |
| 411 return !params_.misspelled_word.empty(); | 409 return !params_.misspelled_word.empty(); |
| 412 | 410 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 if (id == IDS_CONTENT_CONTEXT_PLAYBACKRATE_FASTER) { | 447 if (id == IDS_CONTENT_CONTEXT_PLAYBACKRATE_FASTER) { |
| 450 return params_.media_params.playback_rate == kFasterPlaybackRate; | 448 return params_.media_params.playback_rate == kFasterPlaybackRate; |
| 451 } | 449 } |
| 452 if (id == IDS_CONTENT_CONTEXT_PLAYBACKRATE_DOUBLETIME) { | 450 if (id == IDS_CONTENT_CONTEXT_PLAYBACKRATE_DOUBLETIME) { |
| 453 return params_.media_params.playback_rate == kDoubleTimePlaybackRate; | 451 return params_.media_params.playback_rate == kDoubleTimePlaybackRate; |
| 454 } | 452 } |
| 455 | 453 |
| 456 // See if the video is set to looping. | 454 // See if the video is set to looping. |
| 457 if (id == IDS_CONTENT_CONTEXT_LOOP) { | 455 if (id == IDS_CONTENT_CONTEXT_LOOP) { |
| 458 return (params_.media_params.player_state & | 456 return (params_.media_params.player_state & |
| 459 ContextMenuMediaParams::PLAYER_LOOP) != 0; | 457 ContextMenuMediaParams::LOOP) != 0; |
| 460 } | 458 } |
| 461 | 459 |
| 462 // Check box for 'Check the Spelling of this field'. | 460 // Check box for 'Check the Spelling of this field'. |
| 463 if (id == IDC_CHECK_SPELLING_OF_THIS_FIELD) { | 461 if (id == IDC_CHECK_SPELLING_OF_THIS_FIELD) { |
| 464 return (params_.spellcheck_enabled && | 462 return (params_.spellcheck_enabled && |
| 465 profile_->GetPrefs()->GetBoolean(prefs::kEnableSpellCheck)); | 463 profile_->GetPrefs()->GetBoolean(prefs::kEnableSpellCheck)); |
| 466 } | 464 } |
| 467 | 465 |
| 468 // Don't bother getting the display language vector if this isn't a spellcheck | 466 // Don't bother getting the display language vector if this isn't a spellcheck |
| 469 // language. | 467 // language. |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 case IDS_CONTENT_CONTEXT_COPYIMAGE: | 532 case IDS_CONTENT_CONTEXT_COPYIMAGE: |
| 535 CopyImageAt(params_.x, params_.y); | 533 CopyImageAt(params_.x, params_.y); |
| 536 break; | 534 break; |
| 537 | 535 |
| 538 case IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB: | 536 case IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB: |
| 539 case IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB: | 537 case IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB: |
| 540 case IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB: | 538 case IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB: |
| 541 OpenURL(params_.src_url, NEW_BACKGROUND_TAB, PageTransition::LINK); | 539 OpenURL(params_.src_url, NEW_BACKGROUND_TAB, PageTransition::LINK); |
| 542 break; | 540 break; |
| 543 | 541 |
| 542 case IDS_CONTENT_CONTEXT_PLAY: |
| 543 MediaPlayerActionAt(params_.x, |
| 544 params_.y, |
| 545 MediaPlayerAction(MediaPlayerAction::PLAY)); |
| 546 break; |
| 547 |
| 548 case IDS_CONTENT_CONTEXT_PAUSE: |
| 549 MediaPlayerActionAt(params_.x, |
| 550 params_.y, |
| 551 MediaPlayerAction(MediaPlayerAction::PAUSE)); |
| 552 break; |
| 553 |
| 554 case IDS_CONTENT_CONTEXT_MUTE: |
| 555 MediaPlayerActionAt(params_.x, |
| 556 params_.y, |
| 557 MediaPlayerAction(MediaPlayerAction::MUTE)); |
| 558 break; |
| 559 |
| 560 case IDS_CONTENT_CONTEXT_UNMUTE: |
| 561 MediaPlayerActionAt(params_.x, |
| 562 params_.y, |
| 563 MediaPlayerAction(MediaPlayerAction::UNMUTE)); |
| 564 break; |
| 565 |
| 566 case IDS_CONTENT_CONTEXT_LOOP: |
| 567 if (ItemIsChecked(IDS_CONTENT_CONTEXT_LOOP)) { |
| 568 MediaPlayerActionAt(params_.x, |
| 569 params_.y, |
| 570 MediaPlayerAction(MediaPlayerAction::NO_LOOP)); |
| 571 } else { |
| 572 MediaPlayerActionAt(params_.x, |
| 573 params_.y, |
| 574 MediaPlayerAction(MediaPlayerAction::LOOP)); |
| 575 } |
| 576 break; |
| 577 |
| 578 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_SLOW: |
| 579 MediaPlayerActionAt( |
| 580 params_.x, |
| 581 params_.y, |
| 582 MediaPlayerAction(MediaPlayerAction::SET_PLAYBACK_RATE, |
| 583 kSlowPlaybackRate)); |
| 584 break; |
| 585 |
| 586 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_NORMAL: |
| 587 MediaPlayerActionAt( |
| 588 params_.x, |
| 589 params_.y, |
| 590 MediaPlayerAction(MediaPlayerAction::SET_PLAYBACK_RATE, |
| 591 kNormalPlaybackRate)); |
| 592 break; |
| 593 |
| 594 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FAST: |
| 595 MediaPlayerActionAt( |
| 596 params_.x, |
| 597 params_.y, |
| 598 MediaPlayerAction(MediaPlayerAction::SET_PLAYBACK_RATE, |
| 599 kFastPlaybackRate)); |
| 600 break; |
| 601 |
| 602 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_FASTER: |
| 603 MediaPlayerActionAt( |
| 604 params_.x, |
| 605 params_.y, |
| 606 MediaPlayerAction(MediaPlayerAction::SET_PLAYBACK_RATE, |
| 607 kFasterPlaybackRate)); |
| 608 break; |
| 609 |
| 610 case IDS_CONTENT_CONTEXT_PLAYBACKRATE_DOUBLETIME: |
| 611 MediaPlayerActionAt( |
| 612 params_.x, |
| 613 params_.y, |
| 614 MediaPlayerAction(MediaPlayerAction::SET_PLAYBACK_RATE, |
| 615 kDoubleTimePlaybackRate)); |
| 616 break; |
| 617 |
| 544 case IDS_CONTENT_CONTEXT_BACK: | 618 case IDS_CONTENT_CONTEXT_BACK: |
| 545 source_tab_contents_->controller().GoBack(); | 619 source_tab_contents_->controller().GoBack(); |
| 546 break; | 620 break; |
| 547 | 621 |
| 548 case IDS_CONTENT_CONTEXT_FORWARD: | 622 case IDS_CONTENT_CONTEXT_FORWARD: |
| 549 source_tab_contents_->controller().GoForward(); | 623 source_tab_contents_->controller().GoForward(); |
| 550 break; | 624 break; |
| 551 | 625 |
| 552 case IDS_CONTENT_CONTEXT_SAVEPAGEAS: | 626 case IDS_CONTENT_CONTEXT_SAVEPAGEAS: |
| 553 source_tab_contents_->OnSavePage(); | 627 source_tab_contents_->OnSavePage(); |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 // applications may not enocode non-ASCII characters in UTF-8. | 846 // applications may not enocode non-ASCII characters in UTF-8. |
| 773 // So the 4th parameter of net::FormatUrl() should be false. | 847 // So the 4th parameter of net::FormatUrl() should be false. |
| 774 // See crbug.com/2820. | 848 // See crbug.com/2820. |
| 775 WideToUTF8(net::FormatUrl( | 849 WideToUTF8(net::FormatUrl( |
| 776 url, profile_->GetPrefs()->GetString(prefs::kAcceptLanguages), | 850 url, profile_->GetPrefs()->GetString(prefs::kAcceptLanguages), |
| 777 false, UnescapeRule::NONE, NULL, NULL)); | 851 false, UnescapeRule::NONE, NULL, NULL)); |
| 778 | 852 |
| 779 WriteTextToClipboard(UTF8ToUTF16(utf8_text)); | 853 WriteTextToClipboard(UTF8ToUTF16(utf8_text)); |
| 780 DidWriteURLToClipboard(utf8_text); | 854 DidWriteURLToClipboard(utf8_text); |
| 781 } | 855 } |
| 856 |
| 857 void RenderViewContextMenu::MediaPlayerActionAt( |
| 858 int x, |
| 859 int y, |
| 860 const MediaPlayerAction& action) { |
| 861 source_tab_contents_->render_view_host()->MediaPlayerActionAt(x, y, action); |
| 862 } |
| OLD | NEW |