OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/views/frame/browser_frame_win.h" | 5 #include "chrome/browser/ui/views/frame/browser_frame_win.h" |
6 | 6 |
7 #include <dwmapi.h> | 7 #include <dwmapi.h> |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 #include <set> | 9 #include <set> |
10 | 10 |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "base/win/metro.h" | 13 #include "base/win/metro.h" |
14 #include "chrome/app/chrome_command_ids.h" | 14 #include "chrome/app/chrome_command_ids.h" |
15 #include "chrome/browser/lifetime/application_lifetime.h" | 15 #include "chrome/browser/lifetime/application_lifetime.h" |
16 #include "chrome/browser/profiles/profile.h" | 16 #include "chrome/browser/profiles/profile.h" |
17 #include "chrome/browser/search_engines/template_url.h" | 17 #include "chrome/browser/search_engines/util.h" |
18 #include "chrome/browser/search_engines/template_url_service.h" | |
19 #include "chrome/browser/search_engines/template_url_service_factory.h" | |
20 #include "chrome/browser/ui/browser_commands.h" | 18 #include "chrome/browser/ui/browser_commands.h" |
21 #include "chrome/browser/ui/browser_finder.h" | 19 #include "chrome/browser/ui/browser_finder.h" |
22 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 20 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
23 #include "chrome/browser/ui/views/frame/browser_frame_common_win.h" | 21 #include "chrome/browser/ui/views/frame/browser_frame_common_win.h" |
24 #include "chrome/browser/ui/views/frame/browser_view.h" | 22 #include "chrome/browser/ui/views/frame/browser_view.h" |
25 #include "chrome/browser/ui/views/frame/system_menu_insertion_delegate_win.h" | 23 #include "chrome/browser/ui/views/frame/system_menu_insertion_delegate_win.h" |
26 #include "chrome/browser/ui/views/tabs/tab_strip.h" | 24 #include "chrome/browser/ui/views/tabs/tab_strip.h" |
27 #include "chrome/common/chrome_constants.h" | 25 #include "chrome/common/chrome_constants.h" |
28 #include "chrome/common/chrome_switches.h" | 26 #include "chrome/common/chrome_switches.h" |
29 #include "content/public/browser/browser_accessibility_state.h" | 27 #include "content/public/browser/browser_accessibility_state.h" |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 | 457 |
460 if (!w_param && !l_param) { | 458 if (!w_param && !l_param) { |
461 NOTREACHED() << "Invalid metro request parameters"; | 459 NOTREACHED() << "Invalid metro request parameters"; |
462 return; | 460 return; |
463 } | 461 } |
464 | 462 |
465 Browser* browser = browser_view()->browser(); | 463 Browser* browser = browser_view()->browser(); |
466 DCHECK(browser); | 464 DCHECK(browser); |
467 | 465 |
468 GURL request_url; | 466 GURL request_url; |
469 | |
470 if (w_param) { | 467 if (w_param) { |
471 const wchar_t* url = reinterpret_cast<const wchar_t*>(w_param); | 468 request_url = GURL(reinterpret_cast<const wchar_t*>(w_param)); |
472 request_url = GURL(url); | |
473 } else if (l_param) { | 469 } else if (l_param) { |
474 const wchar_t* search_string = | 470 request_url = GetDefaultSearchURLForSearchTerms( |
475 reinterpret_cast<const wchar_t*>(l_param); | 471 browser->profile(), reinterpret_cast<const wchar_t*>(l_param)); |
476 const TemplateURL* default_provider = | |
477 TemplateURLServiceFactory::GetForProfile(browser->profile())-> | |
478 GetDefaultSearchProvider(); | |
479 if (default_provider) { | |
480 const TemplateURLRef& search_url = default_provider->url_ref(); | |
481 DCHECK(search_url.SupportsReplacement()); | |
482 request_url = GURL(search_url.ReplaceSearchTerms( | |
483 TemplateURLRef::SearchTermsArgs(search_string))); | |
484 } | |
485 } | 472 } |
486 if (request_url.is_valid()) { | 473 if (request_url.is_valid()) { |
487 browser->OpenURL(OpenURLParams(request_url, Referrer(), NEW_FOREGROUND_TAB, | 474 browser->OpenURL(OpenURLParams(request_url, Referrer(), NEW_FOREGROUND_TAB, |
488 content::PAGE_TRANSITION_TYPED, false)); | 475 content::PAGE_TRANSITION_TYPED, false)); |
489 } | 476 } |
490 } | 477 } |
491 | 478 |
492 void BrowserFrameWin::GetMetroCurrentTabInfo(WPARAM w_param) { | 479 void BrowserFrameWin::GetMetroCurrentTabInfo(WPARAM w_param) { |
493 if (!base::win::IsMetroProcess()) { | 480 if (!base::win::IsMetroProcess()) { |
494 NOTREACHED() << "Received unexpected metro request"; | 481 NOTREACHED() << "Received unexpected metro request"; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 | 525 |
539 //////////////////////////////////////////////////////////////////////////////// | 526 //////////////////////////////////////////////////////////////////////////////// |
540 // NativeBrowserFrame, public: | 527 // NativeBrowserFrame, public: |
541 | 528 |
542 // static | 529 // static |
543 NativeBrowserFrame* NativeBrowserFrame::CreateNativeBrowserFrame( | 530 NativeBrowserFrame* NativeBrowserFrame::CreateNativeBrowserFrame( |
544 BrowserFrame* browser_frame, | 531 BrowserFrame* browser_frame, |
545 BrowserView* browser_view) { | 532 BrowserView* browser_view) { |
546 return new BrowserFrameWin(browser_frame, browser_view); | 533 return new BrowserFrameWin(browser_frame, browser_view); |
547 } | 534 } |
OLD | NEW |