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

Issue 10915047: Links in platform apps should open in the system default browser. (Closed)

Created:
8 years, 3 months ago by Junmin Zhu
Modified:
8 years, 2 months ago
CC:
chromium-reviews, jeremya+watch_chromium.org, Aaron Boodman, mihaip-chromium-reviews_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Links in platform apps should open in the system default browser. BUG=145646 TEST=manually Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=161812

Patch Set 1 #

Patch Set 2 : refine the patch. #

Total comments: 4

Patch Set 3 : refine the patch according to comments #2,3,4. #

Total comments: 2

Patch Set 4 : change ExternalUrlController to singleton. #

Patch Set 5 : Adjust the test case and functionality for Open Link. #

Total comments: 1

Patch Set 6 : refine the patch according to Mihaip's comment. #

Total comments: 2

Patch Set 7 : refine the patch. #

Patch Set 8 : #

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+128 lines, -0 lines) Patch
M chrome/browser/extensions/platform_app_browsertest_util.h View 1 2 3 4 5 6 7 8 2 chunks +19 lines, -0 lines 0 comments Download
M chrome/browser/extensions/platform_app_browsertest_util.cc View 1 2 3 4 5 6 7 8 2 chunks +44 lines, -0 lines 0 comments Download
M chrome/browser/ui/extensions/shell_window.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/ui/extensions/shell_window.cc View 1 2 3 4 5 6 7 chunks +61 lines, -0 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
Junmin Zhu
Please review the patch. Thanks.
8 years, 3 months ago (2012-09-01 11:48:26 UTC) #1
jeremya
http://codereview.chromium.org/10915047/diff/3001/chrome/browser/ui/extensions/shell_window.cc File chrome/browser/ui/extensions/shell_window.cc (right): http://codereview.chromium.org/10915047/diff/3001/chrome/browser/ui/extensions/shell_window.cc#newcode232 chrome/browser/ui/extensions/shell_window.cc:232: CFRelease(url); It's kind of icky to have all these ...
8 years, 3 months ago (2012-09-03 02:42:28 UTC) #2
Marijn Kruisselbrink
Maybe you should assign the bug to yourself, since you're working on it? (and next ...
8 years, 3 months ago (2012-09-04 15:40:53 UTC) #3
Mihai Parparita -not on Chrome
http://codereview.chromium.org/10915047/diff/3001/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): http://codereview.chromium.org/10915047/diff/3001/chrome/browser/shell_integration_linux.cc#newcode691 chrome/browser/shell_integration_linux.cc:691: void LaunchDefaultBrowser(const GURL& url) { This is already implemented ...
8 years, 3 months ago (2012-09-04 21:39:53 UTC) #4
Junmin Zhu
On 2012/09/04 15:40:53, Marijn Kruisselbrink wrote: > Maybe you should assign the bug to yourself, ...
8 years, 3 months ago (2012-09-05 07:38:26 UTC) #5
Junmin Zhu
> chrome/browser/ui/extensions/shell_window.cc:232: CFRelease(url); > It's kind of icky to have all these #ifdefs here. Perhaps ...
8 years, 3 months ago (2012-09-05 07:47:18 UTC) #6
Mihai Parparita -not on Chrome
http://codereview.chromium.org/10915047/diff/8001/chrome/browser/ui/extensions/shell_window.cc File chrome/browser/ui/extensions/shell_window.cc (right): http://codereview.chromium.org/10915047/diff/8001/chrome/browser/ui/extensions/shell_window.cc#newcode298 chrome/browser/ui/extensions/shell_window.cc:298: #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_POSIX) What platform are ...
8 years, 3 months ago (2012-09-05 18:15:10 UTC) #7
Junmin Zhu
Please review again, thanks. > chrome/browser/ui/extensions/shell_window.cc:298: #if defined(OS_WIN) || > defined(OS_MACOSX) || defined(OS_POSIX) > What ...
8 years, 3 months ago (2012-09-06 03:11:19 UTC) #8
Mihai Parparita -not on Chrome
LGTM
8 years, 3 months ago (2012-09-06 04:17:02 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/5
8 years, 3 months ago (2012-09-06 04:20:57 UTC) #10
commit-bot: I haz the power
Try job failure for 10915047-5 (retry) on linux_rel for step "browser_tests". It's a second try, ...
8 years, 3 months ago (2012-09-06 05:49:23 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/5
8 years, 3 months ago (2012-09-06 06:08:04 UTC) #12
commit-bot: I haz the power
Try job failure for 10915047-5 (retry) on mac_rel for step "browser_tests". It's a second try, ...
8 years, 3 months ago (2012-09-06 07:49:25 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/5
8 years, 3 months ago (2012-09-06 09:58:59 UTC) #14
commit-bot: I haz the power
Try job failure for 10915047-5 (retry) on mac_rel for step "browser_tests". It's a second try, ...
8 years, 3 months ago (2012-09-06 11:40:35 UTC) #15
Mihai Parparita -not on Chrome
This isn't test flakiness, PlatformAppBrowserTest.OpenLink needs to be updated: http://code.google.com/searchframe#OAMlx_jo-ck/src/chrome/browser/extensions/platform_app_browsertest.cc&exact_package=chromium&q=OpenLink%20file:test.cc&type=cs&l=342 Since you're potentially opening the ...
8 years, 3 months ago (2012-09-06 14:47:27 UTC) #16
Junmin Zhu
Hi Mihaip, I add a different function for swapping OpenExternal in test scenario, and add ...
8 years, 3 months ago (2012-09-21 02:14:48 UTC) #17
Mihai Parparita -not on Chrome
http://codereview.chromium.org/10915047/diff/14001/chrome/browser/ui/extensions/shell_window.cc File chrome/browser/ui/extensions/shell_window.cc (right): http://codereview.chromium.org/10915047/diff/14001/chrome/browser/ui/extensions/shell_window.cc#newcode107 chrome/browser/ui/extensions/shell_window.cc:107: if (command_line->HasSwitch("OpenLinkTest")) { Test behavior is normally not overridden ...
8 years, 2 months ago (2012-09-29 00:28:44 UTC) #18
Junmin Zhu
Thanks for your comment. Refine the patch, please kindly review it again.
8 years, 2 months ago (2012-10-06 11:54:29 UTC) #19
Mihai Parparita -not on Chrome
LGTM http://codereview.chromium.org/10915047/diff/22001/chrome/browser/extensions/platform_app_browsertest_util.h File chrome/browser/extensions/platform_app_browsertest_util.h (right): http://codereview.chromium.org/10915047/diff/22001/chrome/browser/extensions/platform_app_browsertest_util.h#newcode25 chrome/browser/extensions/platform_app_browsertest_util.h:25: class MockExternalUrlController : public content::WebContentsDelegate { This doesn't ...
8 years, 2 months ago (2012-10-12 23:00:17 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/29001
8 years, 2 months ago (2012-10-13 09:13:13 UTC) #21
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build. Your ...
8 years, 2 months ago (2012-10-13 09:57:36 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/26002
8 years, 2 months ago (2012-10-13 14:21:55 UTC) #23
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build. Your ...
8 years, 2 months ago (2012-10-13 15:01:10 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junmin.zhu@intel.com/10915047/38007
8 years, 2 months ago (2012-10-14 15:52:58 UTC) #25
commit-bot: I haz the power
Change committed as 161812
8 years, 2 months ago (2012-10-14 20:19:33 UTC) #26
kinuko
This one seems to be causing ASAN use-after-free errors in PlatformAppBrowserTest.OpenLink test. It might be ...
8 years, 2 months ago (2012-10-15 06:27:10 UTC) #27
kinuko
8 years, 2 months ago (2012-10-15 06:32:09 UTC) #28
The bot failure link is: 
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%...

==27274== ERROR: AddressSanitizer heap-use-after-free on address 0x7f6f7e227a68
at pc 0x47ca442 bp 0x7fff825be770 sp 0x7fff825be768
READ of size 8 at 0x7f6f7e227a68 thread T0
#0 0x47ca441 in WebContentsImpl::OpenURL(content::OpenURLParams const&) ???:0
#1 0x47d6a88 in WebContentsImpl::RequestTransferURL(GURL const&,
content::Referrer const&, WindowOpenDisposition, long, content::GlobalRequestID
const&) ???:0
#2 0x47d674b in non-virtual thunk to
WebContentsImpl::RequestOpenURL(content::RenderViewHost*, GURL const&,
content::Referrer const&, WindowOpenDisposition, long) ???:0
#3 0x46dd909 in content::RenderViewHostImpl::OnMsgOpenURL(GURL const&,
content::Referrer const&, WindowOpenDisposition, long) ???:0
#4 0x46dd71e in bool ViewHostMsg_OpenURL::Dispatch<content::RenderViewHostImpl,
content::RenderViewHostImpl, void (content::RenderViewHostImpl::*)(GURL const&,
content::Referrer const&, WindowOpenDisposition, long)>(IPC::Message const*,
content::RenderViewHostImpl*, content::RenderViewHostImpl*, void
(content::RenderViewHostImpl::*)(GURL const&, content::Referrer const&,
WindowOpenDisposition, long)) ???:0
#5 0x46d98b9 in content::RenderViewHostImpl::OnMessageReceived(IPC::Message
const&) ???:0
#6 0x46e004c in non-virtual thunk to
content::RenderViewHostImpl::OnMessageReceived(IPC::Message const&) ???:0
#7 0x46b6253 in content::RenderProcessHostImpl::OnMessageReceived(IPC::Message
const&) ???:0
#8 0x46b700c in non-virtual thunk to
content::RenderProcessHostImpl::OnMessageReceived(IPC::Message const&) ???:0
#9 0x2be1575 in IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message
const&) ???:0
#10 0x36e63ec in MessageLoop::RunTask(base::PendingTask const&) ???:0
#11 0x36e69df in MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)
???:0
#12 0x36e778b in MessageLoop::DoWork() ???:0
#13 0x37b19c8 in (anonymous namespace)::WorkSourceDispatch(_GSource*, int
(*)(void*), void*) ../../base/message_pump_glib.cc:0
#14 0x7f6f977488c1 in g_main_dispatch
/build/buildd/glib2.0-2.24.1/glib/gmain.c:1960
0x7f6f7e227a68 is located 488 bytes inside of 1144-byte region
[0x7f6f7e227880,0x7f6f7e227cf8)
freed by thread T0 here:
#0 0xafff850 in operator delete(void*) ??:0
#1 0xd90082 in
extensions::MockExternalUrlController::OpenURLFromTab(content::WebContents*,
content::OpenURLParams const&) ???:0
#2 0x47ca2b4 in WebContentsImpl::OpenURL(content::OpenURLParams const&) ???:0
#3 0x47d6a88 in WebContentsImpl::RequestTransferURL(GURL const&,
content::Referrer const&, WindowOpenDisposition, long, content::GlobalRequestID
const&) ???:0
#4 0x47d674b in non-virtual thunk to
WebContentsImpl::RequestOpenURL(content::RenderViewHost*, GURL const&,
content::Referrer const&, WindowOpenDisposition, long) ???:0
#5 0x46dd909 in content::RenderViewHostImpl::OnMsgOpenURL(GURL const&,
content::Referrer const&, WindowOpenDisposition, long) ???:0
#6 0x46dd71e in bool ViewHostMsg_OpenURL::Dispatch<content::RenderViewHostImpl,
content::RenderViewHostImpl, void (content::RenderViewHostImpl::*)(GURL const&,
content::Referrer const&, WindowOpenDisposition, long)>(IPC::Message const*,
content::RenderViewHostImpl*, content::RenderViewHostImpl*, void
(content::RenderViewHostImpl::*)(GURL const&, content::Referrer const&,
WindowOpenDisposition, long)) ???:0
#7 0x46d98b9 in content::RenderViewHostImpl::OnMessageReceived(IPC::Message
const&) ???:0
#8 0x46e004c in non-virtual thunk to
content::RenderViewHostImpl::OnMessageReceived(IPC::Message const&) ???:0
#9 0x46b6253 in content::RenderProcessHostImpl::OnMessageReceived(IPC::Message
const&) ???:0
#10 0x46b700c in non-virtual thunk to
content::RenderProcessHostImpl::OnMessageReceived(IPC::Message const&) ???:0
#11 0x2be1575 in IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message
const&) ???:0
#12 0x36e63ec in MessageLoop::RunTask(base::PendingTask const&) ???:0
#13 0x36e69df in MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)
???:0
#14 0x36e778b in MessageLoop::DoWork() ???:0
#15 0x37b19c8 in (anonymous namespace)::WorkSourceDispatch(_GSource*, int
(*)(void*), void*) ../../base/message_pump_glib.cc:0
#16 0x7f6f977488c1 in g_main_dispatch
/build/buildd/glib2.0-2.24.1/glib/gmain.c:1960
previously allocated by thread T0 here:
#0 0xafff6d0 in operator new(unsigned long) ??:0
#1 0x47c7ca9 in WebContentsImpl::CreateNewWindow(int,
ViewHostMsg_CreateWindow_Params const&, content::SessionStorageNamespace*) ???:0
#2 0x36e63ec in MessageLoop::RunTask(base::PendingTask const&) ???:0
#3 0x36e69df in MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)
???:0
#4 0x36e778b in MessageLoop::DoWork() ???:0
#5 0x37b19c8 in (anonymous namespace)::WorkSourceDispatch(_GSource*, int
(*)(void*), void*) ../../base/message_pump_glib.cc:0
#6 0x7f6f977488c1 in g_main_dispatch
/build/buildd/glib2.0-2.24.1/glib/gmain.c:1960

Powered by Google App Engine
This is Rietveld 408576698