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

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

Issue 159471: Merge 21466 - Allow the browser to send actions back to the render for media ... (Closed) Base URL: svn://chrome-svn/chrome/branches/195/src/
Patch Set: Created 11 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 | Annotate | Revision Log
Property Changes:
Modified: svn:mergeinfo
Merged /trunk/src/chrome/browser/tab_contents/render_view_context_menu.cc:r21466
OLDNEW
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698