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

Issue 574273002: Rewrite clipboard write IPC handling to be easier to understand. (Closed)

Created:
6 years, 3 months ago by dcheng
Modified:
6 years, 1 month ago
CC:
chromium-reviews, darin-cc_chromium.org, Elliot Glaysher, jam, jln (very slow on Chromium), mkwst+moarreviews-renderer_chromium.org, piman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Rewrite clipboard write IPC handling to be easier to understand. The original implementation sent clipboard data to be written over IPC as a map of clipboard formats to 'parameters' for that format. The parameters were just vectors of byte vectors. Needless to say, this logic was complicated, fragile, and prone to bugs. In the browser process, this resulted in the IPC validation logic being scattered between ClipboardMessageFilter and Clipboard::DispatchObject. The rewrite adds an IPC message for each flavor of data that the renderer is allowed to write to the clipboard. On the browser side, the logic is simply delegated to ScopedClipboardWriter. Since the clipboard object map is no longer under the control of an untrusted process, this allows the removal of a lot of validation logic. Unfortunately, bitmap handling is still a bit complicated because it's sent over shared memory, but all the validation logic has been moved into ClipboardMessageFilter. BUG=319285 Committed: https://crrev.com/a8095525d13449cd3ce2fe18d4f32f2133e69732 Cr-Commit-Position: refs/heads/master@{#304895}

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : . #

Patch Set 5 : staging #

Patch Set 6 : . #

Total comments: 14

Patch Set 7 : address sky comments #

Patch Set 8 : Fix a small bug #

Total comments: 6

Patch Set 9 : Rename client to delegate #

Patch Set 10 : . #

Patch Set 11 : Now with a functional test #

Patch Set 12 : Overcommit and strange SharedMemory artifact #

Patch Set 13 : Tests and formatting #

Patch Set 14 : Fix build by adding missing deps #

Patch Set 15 : And another missing dep #

Patch Set 16 : One more compile fix #

Patch Set 17 : Add header for Windows #

Patch Set 18 : Missing ) #

Patch Set 19 : Fix tests on Windows #

Total comments: 4

Patch Set 20 : Less auto, more copy elision? #

Patch Set 21 : Rebased #

Total comments: 4

Patch Set 22 : Comments and intermediate types #

Patch Set 23 : Rebase after virtual Clipboard #

Patch Set 24 : Rebase #

Patch Set 25 : rebase #

Patch Set 26 : Fix bad rebase #

Patch Set 27 : Uhhh #

Patch Set 28 : Unit test test clipboard awesomesauce #

Total comments: 2

Patch Set 29 : Document #

Unified diffs Side-by-side diffs Delta from patch set Stats (+696 lines, -893 lines) Patch
M chrome/chrome_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/net/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -0 lines 0 comments Download
M components/bookmarks/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/clipboard_message_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 4 chunks +29 lines, -6 lines 0 comments Download
M content/browser/renderer_host/clipboard_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +106 lines, -94 lines 0 comments Download
A content/browser/renderer_host/clipboard_message_filter_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +132 lines, -0 lines 0 comments Download
M content/common/clipboard_messages.h View 1 2 3 4 5 3 chunks +31 lines, -9 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 chunks +2 lines, -4 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +1 line, -0 lines 0 comments Download
D content/renderer/clipboard_client.h View 1 chunk +0 lines, -81 lines 0 comments Download
M content/renderer/renderer_blink_platform_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +2 lines, -2 lines 0 comments Download
M content/renderer/renderer_blink_platform_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +3 lines, -3 lines 0 comments Download
D content/renderer/renderer_clipboard_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +0 lines, -43 lines 0 comments Download
D content/renderer/renderer_clipboard_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +0 lines, -180 lines 0 comments Download
A content/renderer/renderer_clipboard_delegate.h View 1 2 3 4 5 6 7 8 1 chunk +66 lines, -0 lines 0 comments Download
A content/renderer/renderer_clipboard_delegate.cc View 1 2 3 4 5 6 7 8 1 chunk +165 lines, -0 lines 0 comments Download
D content/renderer/scoped_clipboard_writer_glue.h View 1 chunk +0 lines, -30 lines 0 comments Download
D content/renderer/scoped_clipboard_writer_glue.cc View 1 2 3 1 chunk +0 lines, -36 lines 0 comments Download
M content/renderer/webclipboard_impl.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -4 lines 0 comments Download
M content/renderer/webclipboard_impl.cc View 1 2 3 4 5 6 7 8 11 chunks +48 lines, -59 lines 0 comments Download
M ui/base/clipboard/clipboard.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 5 chunks +39 lines, -60 lines 0 comments Download
M ui/base/clipboard/clipboard.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +7 lines, -99 lines 0 comments Download
M ui/base/clipboard/clipboard_test_template.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +24 lines, -176 lines 0 comments Download
M ui/base/clipboard/clipboard_util_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M ui/base/clipboard/scoped_clipboard_writer.h View 1 2 3 4 3 chunks +6 lines, -2 lines 0 comments Download
M ui/base/clipboard/scoped_clipboard_writer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +18 lines, -0 lines 0 comments Download
M ui/base/test/test_clipboard.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +4 lines, -1 line 0 comments Download
M ui/base/test/test_clipboard.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +4 lines, -2 lines 0 comments Download
M ui/base/test/test_clipboard_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +1 line, -2 lines 0 comments Download
M ui/base/ui_base.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 39 (8 generated)
dcheng
I think this is ready for an initial review. This was originally prompted by Pwn2Own ...
6 years, 3 months ago (2014-09-18 17:02:23 UTC) #4
sky
https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc File content/browser/renderer_host/clipboard_message_filter.cc (right): https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc#newcode221 content/browser/renderer_host/clipboard_message_filter.cc:221: clipboard_writer_->WriteHTML(markup, url.spec()); Do you need to deal with an ...
6 years, 3 months ago (2014-09-18 19:47:53 UTC) #5
dcheng
I'm still trying to resolve the dependency mess. Sigh. https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc File content/browser/renderer_host/clipboard_message_filter.cc (right): https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc#newcode221 content/browser/renderer_host/clipboard_message_filter.cc:221: ...
6 years, 3 months ago (2014-09-18 21:06:00 UTC) #6
dcheng
+wfh for the IPC changes instead.
6 years, 3 months ago (2014-09-18 21:12:21 UTC) #8
sky
https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc File content/browser/renderer_host/clipboard_message_filter.cc (right): https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc#newcode221 content/browser/renderer_host/clipboard_message_filter.cc:221: clipboard_writer_->WriteHTML(markup, url.spec()); On 2014/09/18 21:06:00, dcheng (OOO) wrote: > ...
6 years, 3 months ago (2014-09-18 23:40:31 UTC) #9
dcheng
On 2014/09/18 at 23:40:31, sky wrote: > https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc > File content/browser/renderer_host/clipboard_message_filter.cc (right): > > https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc#newcode221 ...
6 years, 3 months ago (2014-09-18 23:44:53 UTC) #10
sky
Ok, LGTM then
6 years, 3 months ago (2014-09-19 02:51:49 UTC) #11
jamesr
https://codereview.chromium.org/574273002/diff/160001/content/renderer/renderer_clipboard_client.h File content/renderer/renderer_clipboard_client.h (right): https://codereview.chromium.org/574273002/diff/160001/content/renderer/renderer_clipboard_client.h#newcode24 content/renderer/renderer_clipboard_client.h:24: class RendererClipboardClient { this isn't a client thingy any ...
6 years, 3 months ago (2014-09-22 22:38:41 UTC) #12
dcheng
https://codereview.chromium.org/574273002/diff/160001/content/renderer/renderer_clipboard_client.h File content/renderer/renderer_clipboard_client.h (right): https://codereview.chromium.org/574273002/diff/160001/content/renderer/renderer_clipboard_client.h#newcode24 content/renderer/renderer_clipboard_client.h:24: class RendererClipboardClient { On 2014/09/22 22:38:41, jamesr wrote: > ...
6 years, 3 months ago (2014-09-22 23:06:25 UTC) #13
Will Harris
lgtm for IPC. I am both surprised and impressed that IPC supports maps :)
6 years, 3 months ago (2014-09-22 23:23:12 UTC) #14
Will Harris
oh I had one draft. just a minor comment. https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc File content/browser/renderer_host/clipboard_message_filter.cc (right): https://codereview.chromium.org/574273002/diff/100001/content/browser/renderer_host/clipboard_message_filter.cc#newcode253 content/browser/renderer_host/clipboard_message_filter.cc:253: ...
6 years, 3 months ago (2014-09-22 23:23:33 UTC) #15
dcheng
PTAL. I've added some basic unit tests. Unfortunately, I had to remove the test that ...
6 years, 2 months ago (2014-10-06 22:22:15 UTC) #16
Will Harris
still lgtm for Windows clipboard interactions https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc File content/browser/renderer_host/clipboard_message_filter_unittest.cc (right): https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc#newcode47 content/browser/renderer_host/clipboard_message_filter_unittest.cc:47: auto m = ...
6 years, 2 months ago (2014-10-06 22:49:24 UTC) #17
dcheng
https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc File content/browser/renderer_host/clipboard_message_filter_unittest.cc (right): https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc#newcode47 content/browser/renderer_host/clipboard_message_filter_unittest.cc:47: auto m = make_scoped_ptr(new base::SharedMemory()); On 2014/10/06 22:49:24, Will ...
6 years, 2 months ago (2014-10-06 22:51:44 UTC) #18
jamesr
https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc File content/browser/renderer_host/clipboard_message_filter_unittest.cc (right): https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc#newcode47 content/browser/renderer_host/clipboard_message_filter_unittest.cc:47: auto m = make_scoped_ptr(new base::SharedMemory()); On 2014/10/06 22:51:44, dcheng ...
6 years, 2 months ago (2014-10-06 23:00:27 UTC) #19
dcheng
On 2014/10/06 at 23:00:27, jamesr wrote: > https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc > File content/browser/renderer_host/clipboard_message_filter_unittest.cc (right): > > https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc#newcode47 ...
6 years, 2 months ago (2014-10-06 23:01:55 UTC) #20
dcheng
(Rebased as well, since a few things have moved around) https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc File content/browser/renderer_host/clipboard_message_filter_unittest.cc (right): https://codereview.chromium.org/574273002/diff/380001/content/browser/renderer_host/clipboard_message_filter_unittest.cc#newcode47 ...
6 years, 2 months ago (2014-10-06 23:34:42 UTC) #21
jamesr
content/renderer/ lgtm, one comment on another file i cannot understand https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc File ui/base/clipboard/clipboard.cc (right): https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc#newcode123 ...
6 years, 2 months ago (2014-10-09 22:34:12 UTC) #22
dcheng
https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc File ui/base/clipboard/clipboard.cc (right): https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc#newcode123 ui/base/clipboard/clipboard.cc:123: **reinterpret_cast<const SkBitmap* const*>(&(params[0].front()))); On 2014/10/09 22:34:12, jamesr wrote: > ...
6 years, 2 months ago (2014-10-09 22:39:17 UTC) #23
jamesr
https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc File ui/base/clipboard/clipboard.cc (right): https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc#newcode123 ui/base/clipboard/clipboard.cc:123: **reinterpret_cast<const SkBitmap* const*>(&(params[0].front()))); On 2014/10/09 22:39:17, dcheng wrote: > ...
6 years, 2 months ago (2014-10-09 22:41:28 UTC) #24
dcheng
https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc File ui/base/clipboard/clipboard.cc (right): https://codereview.chromium.org/574273002/diff/420001/ui/base/clipboard/clipboard.cc#newcode123 ui/base/clipboard/clipboard.cc:123: **reinterpret_cast<const SkBitmap* const*>(&(params[0].front()))); On 2014/10/09 at 22:41:28, jamesr wrote: ...
6 years, 2 months ago (2014-10-13 05:52:22 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/574273002/480001
6 years, 2 months ago (2014-10-13 05:53:42 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/17179)
6 years, 2 months ago (2014-10-13 06:00:36 UTC) #29
dcheng
+avi, mind doing an OWNERS review of content/browser/renderer_host? +sky, let me know if the test ...
6 years, 1 month ago (2014-11-19 16:44:18 UTC) #31
Avi (use Gerrit)
content/browser/renderer_host LGTM
6 years, 1 month ago (2014-11-19 17:58:01 UTC) #32
sky
LGTM https://codereview.chromium.org/574273002/diff/840001/ui/base/test/test_clipboard.h File ui/base/test/test_clipboard.h (right): https://codereview.chromium.org/574273002/diff/840001/ui/base/test/test_clipboard.h#newcode19 ui/base/test/test_clipboard.h:19: static Clipboard* CreateForCurrentThread(); Document ownership.
6 years, 1 month ago (2014-11-19 18:55:30 UTC) #33
dcheng
https://codereview.chromium.org/574273002/diff/840001/ui/base/test/test_clipboard.h File ui/base/test/test_clipboard.h (right): https://codereview.chromium.org/574273002/diff/840001/ui/base/test/test_clipboard.h#newcode19 ui/base/test/test_clipboard.h:19: static Clipboard* CreateForCurrentThread(); On 2014/11/19 18:55:30, sky wrote: > ...
6 years, 1 month ago (2014-11-19 20:39:03 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/574273002/860001
6 years, 1 month ago (2014-11-19 20:40:03 UTC) #36
commit-bot: I haz the power
Committed patchset #29 (id:860001)
6 years, 1 month ago (2014-11-19 21:49:37 UTC) #37
commit-bot: I haz the power
Patchset 29 (id:??) landed as https://crrev.com/a8095525d13449cd3ce2fe18d4f32f2133e69732 Cr-Commit-Position: refs/heads/master@{#304895}
6 years, 1 month ago (2014-11-19 21:50:02 UTC) #38
sky
6 years, 1 month ago (2014-11-19 22:43:43 UTC) #39
Message was sent while issue was closed.
A revert of this CL (patchset #29 id:860001) has been created in
https://codereview.chromium.org/740003003/ by sky@chromium.org.

The reason for reverting is: Reverting as broke components_unittests on a couple
of bots:

https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%...

https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%...
0 0x7fe36932398e base::debug::StackTrace::StackTrace()
#1 0x7fe3693234c3 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fe35cb16cb0 \u003Cunknown>
#3 0x7fe35917c425 gsignal
#4 0x7fe35917fb8b abort
#5 0x7fe35977e5ad __gnu_debug::_Error_formatter::_M_error()
#6 0x7fe36ce9025f std::__debug::vector\u003C>::front()
#7 0x7fe36ce8e892 ui::Clipboard::DispatchObject()
#8 0x7fe36ce98183 ui::ClipboardAura::WriteObjects()
#9 0x7fe36cea124f ui::ScopedClipboardWriter::~ScopedClipboardWriter()
#10 0x0000007b6216 bookmarks::(anonymous
namespace)::BookmarkUtilsTest_PasteBookmarkFromURL_Test::TestBody()
#11 0x000000ff3af3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#12 0x000000fe873e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#13 0x000000fdd5b5 testing::Test::Run()
#14 0x000000fddcab testing::TestInfo::Run()
#15 0x000000fde29a testing::TestCase::Run()
#16 0x000000fe3793 testing::internal::UnitTestImpl::RunAllTests()
#17 0x000000ff0db3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#18 0x000000fe9f4e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#19 0x000000fe3431 testing::UnitTest::Run()
#20 0x000000f7d511 RUN_ALL_TESTS()
#21 0x000000f7c4e7 base::TestSuite::Run()
#22 0x000000762b22 base::internal::RunnableAdapter\u003C>::Run()
#23 0x000000c5833f base::internal::InvokeHelper\u003C>::MakeItSo()
#24 0x000000c582ea base::internal::Invoker\u003C>::Run()
#25 0x0000007f099e base::Callback\u003C>::Run()
#26 0x000000f70299 base::(anonymous namespace)::LaunchUnitTestsInternal()
#27 0x000000f6ffd7 base::LaunchUnitTests()
#28 0x000000c58035 main
#29 0x7fe35916776d __libc_start_main
#30 0x000000533a55 \u003Cunknown>
  r8: 00007fe355d8f8c0  r9: 00007fff2537ee98 r10: 0000000000000008 r11:
0000000000000202
 r12: 00007fff2537f120 r13: 0000000000000000 r14: 0000000000000001 r15:
0000000000000000
  di: 0000000000003046  si: 0000000000003046  bp: 0000000000000001  bx:
00007fff2537f0e8
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp:
00007fff2537eee8
  ip: 00007fe35917c425 efl: 0000000000000202 cgf: 0000000000000033 erf:
0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000

BookmarkUtilsTest.PasteBookmarkFromURL (run #2):
[ RUN      ] BookmarkUtilsTest.PasteBookmarkFromURL
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:336:
    error: attempt to access an element in an empty container.

Objects involved in the operation:
sequence "this" @ 0x0x22748bd981e0 {
}
Received signal 6
#0 0x7f00fb73798e base::debug::StackTrace::StackTrace()
#1 0x7f00fb7374c3 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f00eef2acb0 \u003Cunknown>
#3 0x7f00eb590425 gsignal
#4 0x7f00eb593b8b abort
#5 0x7f00ebb925ad __gnu_debug::_Error_formatter::_M_error()
#6 0x7f00ff2a425f std::__debug::vector\u003C>::front()
#7 0x7f00ff2a2892 ui::Clipboard::DispatchObject()
#8 0x7f00ff2ac183 ui::ClipboardAura::WriteObjects()
#9 0x7f00ff2b524f ui::ScopedClipboardWriter::~ScopedClipboardWriter()
#10 0x0000007b6216 bookmarks::(anonymous
namespace)::BookmarkUtilsTest_PasteBookmarkFromURL_Test::TestBody()
#11 0x000000ff3af3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#12 0x000000fe873e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#13 0x000000fdd5b5 testing::Test::Run()
#14 0x000000fddcab testing::TestInfo::Run()
#15 0x000000fde29a testing::TestCase::Run()
#16 0x000000fe3793 testing::internal::UnitTestImpl::RunAllTests()
#17 0x000000ff0db3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#18 0x000000fe9f4e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#19 0x000000fe3431 testing::UnitTest::Run()
#20 0x000000f7d511 RUN_ALL_TESTS()
#21 0x000000f7c4e7 base::TestSuite::Run()
#22 0x000000762b22 base::internal::RunnableAdapter\u003C>::Run()
#23 0x000000c5833f base::internal::InvokeHelper\u003C>::MakeItSo()
#24 0x000000c582ea base::internal::Invoker\u003C>::Run()
#25 0x0000007f099e base::Callback\u003C>::Run()
#26 0x000000f70299 base::(anonymous namespace)::LaunchUnitTestsInternal()
#27 0x000000f6ffd7 base::LaunchUnitTests()
#28 0x000000c58035 main
#29 0x7f00eb57b76d __libc_start_main
#30 0x000000533a55 \u003Cunknown>
  r8: 00007f00e81a38c0  r9: 00007fff75ebfcd8 r10: 0000000000000008 r11:
0000000000000202
 r12: 00007fff75ebff60 r13: 0000000000000000 r14: 0000000000000001 r15:
0000000000000000
  di: 00000000000031b5  si: 00000000000031b5  bp: 0000000000000001  bx:
00007fff75ebff28
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp:
00007fff75ebfd28
  ip: 00007f00eb590425 efl: 0000000000000202 cgf: 0000000000000033 erf:
0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000

BookmarkUtilsTest.PasteBookmarkFromURL (run #3):
[ RUN      ] BookmarkUtilsTest.PasteBookmarkFromURL
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:336:
    error: attempt to access an element in an empty container.

Objects involved in the operation:
sequence "this" @ 0x0x3c55f5e901e0 {
}
Received signal 6
#0 0x7fed3784398e base::debug::StackTrace::StackTrace()
#1 0x7fed378434c3 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fed2b036cb0 \u003Cunknown>
#3 0x7fed2769c425 gsignal
#4 0x7fed2769fb8b abort
#5 0x7fed27c9e5ad __gnu_debug::_Error_formatter::_M_error()
#6 0x7fed3b3b025f std::__debug::vector\u003C>::front()
#7 0x7fed3b3ae892 ui::Clipboard::DispatchObject()
#8 0x7fed3b3b8183 ui::ClipboardAura::WriteObjects()
#9 0x7fed3b3c124f ui::ScopedClipboardWriter::~ScopedClipboardWriter()
#10 0x0000007b6216 bookmarks::(anonymous
namespace)::BookmarkUtilsTest_PasteBookmarkFromURL_Test::TestBody()
#11 0x000000ff3af3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#12 0x000000fe873e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#13 0x000000fdd5b5 testing::Test::Run()
#14 0x000000fddcab testing::TestInfo::Run()
#15 0x000000fde29a testing::TestCase::Run()
#16 0x000000fe3793 testing::internal::UnitTestImpl::RunAllTests()
#17 0x000000ff0db3
testing::internal::HandleSehExceptionsInMethodIfSupported\u003C>()
#18 0x000000fe9f4e
testing::internal::HandleExceptionsInMethodIfSupported\u003C>()
#19 0x000000fe3431 testing::UnitTest::Run()
#20 0x000000f7d511 RUN_ALL_TESTS()
#21 0x000000f7c4e7 base::TestSuite::Run()
#22 0x000000762b22 base::internal::RunnableAdapter\u003C>::Run()
#23 0x000000c5833f base::internal::InvokeHelper\u003C>::MakeItSo()
#24 0x000000c582ea base::internal::Invoker\u003C>::Run()
#25 0x0000007f099e base::Callback\u003C>::Run()
#26 0x000000f70299 base::(anonymous namespace)::LaunchUnitTestsInternal()
#27 0x000000f6ffd7 base::LaunchUnitTests()
#28 0x000000c58035 main
#29 0x7fed2768776d __libc_start_main
#30 0x000000533a55 \u003Cunknown>
  r8: 00007fed242af8c0  r9: 00007fff448a7b98 r10: 0000000000000008 r11:
0000000000000202
 r12: 00007fff448a7e20 r13: 0000000000000000 r14: 0000000000000001 r15:
0000000000000000
  di: 00000000000031b6  si: 00000000000031b6  bp: 0000000000000001  bx:
00007fff448a7de8
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp:
00007fff448a7be8
  ip: 00007fed2769c425 efl: 0000000000000202 cgf: 0000000000000033 erf:
0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000

BookmarkUtilsTest.PasteBookmarkFromURL (run #4):
[ RUN      ] BookmarkUtilsTest.PasteBookmarkFromURL
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:336:
    error: attempt to access an element in an empty container.

Objects involved in the operation:
sequence "this" @ 0x0x116d121c1e0 {
}
Received signal 6
#0 0x7f155f68d98e base::debug::StackTrace::StackTrace()
#1 0x7f155f68d4c3 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f1552e80cb0 \u003Cunknown>.

Powered by Google App Engine
This is Rietveld 408576698