WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
67234
REGRESSION(
r93902
): Can't open external links on gmail
https://bugs.webkit.org/show_bug.cgi?id=67234
Summary
REGRESSION(r93902): Can't open external links on gmail
Ryosuke Niwa
Reported
2011-08-30 14:40:22 PDT
Reproduction steps: 1. Go to gmail.com 2. Open some message that contains an external hyperlink 3. Open it while pressing the command key Expected result: The destination is opened in new tab Actual result: I get an alert with message "Grrr! A popup blocker may be preventing the application from opening the page. If you have a popup blocker, try disabling it to open the window."
Attachments
Patch
(3.69 KB, patch)
2011-08-31 14:34 PDT
,
Anders Carlsson
ap
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Ryosuke Niwa
Comment 1
2011-08-30 14:43:04 PDT
Oops, this bug doesn't reproduce on released version of Safari 5.1. Only on ToT.
Ryosuke Niwa
Comment 2
2011-08-30 16:25:33 PDT
r92990
: good
r93707
: good
r93849
: good
r93903
: bad
r93948
: bad
Alexey Proskuryakov
Comment 3
2011-08-31 10:31:44 PDT
Further bisected to
r93900
-
r93903
, meaning that it's <
http://trac.webkit.org/changeset/93902
> (
bug 66823
).
Alexey Proskuryakov
Comment 4
2011-08-31 10:34:50 PDT
My steps to reproduce: 1. Open a webkit-changes list message in GMail. 2. Click or Cmd-click on revision number. Expected results: changeset opens in a new window or tab. Actual results: a "Grrr!" alert.
Alexey Proskuryakov
Comment 5
2011-08-31 10:35:06 PDT
<
rdar://problem/10053636
>
Ryosuke Niwa
Comment 6
2011-08-31 10:37:00 PDT
This might be also related to nightly not auto-installing new binaries.
Alice Liu
Comment 7
2011-08-31 11:19:59 PDT
looking now.
Alice Liu
Comment 8
2011-08-31 12:42:41 PDT
the window isn't created because sendSync returns false. Looking further, sendSync does send the message okay, but it's having trouble decoding the reply. CoreIPC::ArgumentDecoder::markInvalid() at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:48 CoreIPC::ArgumentDecoder::alignBufferPosition(unsigned int, unsigned long) () CoreIPC::ArgumentDecoder::decodeUInt64 at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp:156 CoreIPC::ArgumentDecoder::decode<unsigned long long> at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:136 CoreIPC::Arguments1<unsigned long long&>::decode at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/Arguments.h:77 CoreIPC::Arguments2<unsigned long long&, WebKit::WebPageCreationParameters&>::decode at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/Arguments.h:115 CoreIPC::ArgumentCoder<CoreIPC::Arguments2<unsigned long long&, WebKit::WebPageCreationParameters&> >::decode at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44 CoreIPC::ArgumentDecoder::decode<CoreIPC::Arguments2<unsigned long long&, WebKit::WebPageCreationParameters&> > at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:89 CoreIPC::Connection::sendSync<Messages::WebPageProxy::CreateNewPage> at /Volumes/Data/Source/OpenSource/Source/WebKit2/Platform/CoreIPC/Connection.h:386 WebKit::WebChromeClient::createWindow at /Volumes/Data/Source/OpenSource/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:167
Anders Carlsson
Comment 9
2011-08-31 14:34:54 PDT
Created
attachment 105828
[details]
Patch
Alexey Proskuryakov
Comment 10
2011-08-31 14:41:33 PDT
Comment on
attachment 105828
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=105828&action=review
This bug couldn't happen on Windows, could it?
> Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:521 > + // FIXME: Move this to ArgumentCodersCFMac.mm and change this file back to be C++
Is there a reason why this cannot be done right away? Leaving ArgumentCodersCF.cpp in Objective C++ mode seems unfortunate.
> Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:525 > + result = reinterpret_cast<CFURLRef>([NSURL URLWithString:@""]);
Would be nice to avoid leaving an autoreleased object behind - NSURL has initWithString:.
Anders Carlsson
Comment 11
2011-08-31 16:14:48 PDT
(In reply to
comment #10
)
> (From update of
attachment 105828
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=105828&action=review
> > This bug couldn't happen on Windows, could it? >
Not sure...
> > Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:521 > > + // FIXME: Move this to ArgumentCodersCFMac.mm and change this file back to be C++ > > Is there a reason why this cannot be done right away? Leaving ArgumentCodersCF.cpp in Objective C++ mode seems unfortunate.
I wanted to get this fix landed as soon as possible.
> > > Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:525 > > + result = reinterpret_cast<CFURLRef>([NSURL URLWithString:@""]); > > Would be nice to avoid leaving an autoreleased object behind - NSURL has initWithString:.
I couldn't find an elegant way to do that given that we want to call adoptNS on a RetainPtr<CFURLRef>.
Anders Carlsson
Comment 12
2011-08-31 16:15:23 PDT
Committed
r94246
: <
http://trac.webkit.org/changeset/94246
>
Alexey Proskuryakov
Comment 13
2011-08-31 23:00:10 PDT
***
Bug 67333
has been marked as a duplicate of this bug. ***
Adam Roben (:aroben)
Comment 14
2011-09-01 06:43:44 PDT
Is it possible to write a test for this?
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug