OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/extensions/extension_host.h" | 5 #include "chrome/browser/extensions/extension_host.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 | 8 |
9 #include "base/memory/singleton.h" | 9 #include "base/memory/singleton.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 if (disposition == NEW_POPUP) { | 579 if (disposition == NEW_POPUP) { |
580 // Find a browser with a matching profile for creating a popup. | 580 // Find a browser with a matching profile for creating a popup. |
581 // (If none is found, NULL argument to NavigateParams is valid.) | 581 // (If none is found, NULL argument to NavigateParams is valid.) |
582 Browser* browser = BrowserList::FindTabbedBrowser( | 582 Browser* browser = BrowserList::FindTabbedBrowser( |
583 contents->profile(), | 583 contents->profile(), |
584 false); // Match incognito exactly. | 584 false); // Match incognito exactly. |
585 TabContentsWrapper* wrapper = new TabContentsWrapper(contents); | 585 TabContentsWrapper* wrapper = new TabContentsWrapper(contents); |
586 browser::NavigateParams params(browser, wrapper); | 586 browser::NavigateParams params(browser, wrapper); |
587 if (!browser) | 587 if (!browser) |
588 params.profile = contents->profile(); | 588 params.profile = contents->profile(); |
| 589 // The extension_app_id parameter ends up as app_name in the Browser |
| 590 // which causes the Browser to return true for is_app(). This affects |
| 591 // among other things, whether the location bar gets displayed. |
| 592 params.extension_app_id = extension_id_; |
589 params.disposition = NEW_POPUP; | 593 params.disposition = NEW_POPUP; |
590 params.window_bounds = initial_pos; | 594 params.window_bounds = initial_pos; |
591 params.window_action = browser::NavigateParams::SHOW_WINDOW; | 595 params.window_action = browser::NavigateParams::SHOW_WINDOW; |
592 params.user_gesture = user_gesture; | 596 params.user_gesture = user_gesture; |
593 browser::Navigate(¶ms); | 597 browser::Navigate(¶ms); |
594 return; | 598 return; |
595 } | 599 } |
596 | 600 |
597 // If the tab contents isn't a popup, it's a normal tab. We need to find a | 601 // If the tab contents isn't a popup, it's a normal tab. We need to find a |
598 // home for it. This is typically a Browser, but it can also be some other | 602 // home for it. This is typically a Browser, but it can also be some other |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 return window_id; | 814 return window_id; |
811 } | 815 } |
812 | 816 |
813 void ExtensionHost::OnRunFileChooser( | 817 void ExtensionHost::OnRunFileChooser( |
814 const ViewHostMsg_RunFileChooser_Params& params) { | 818 const ViewHostMsg_RunFileChooser_Params& params) { |
815 if (file_select_helper_.get() == NULL) | 819 if (file_select_helper_.get() == NULL) |
816 file_select_helper_.reset(new FileSelectHelper(profile())); | 820 file_select_helper_.reset(new FileSelectHelper(profile())); |
817 file_select_helper_->RunFileChooser(render_view_host_, | 821 file_select_helper_->RunFileChooser(render_view_host_, |
818 GetAssociatedTabContents(), params); | 822 GetAssociatedTabContents(), params); |
819 } | 823 } |
OLD | NEW |