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

Issue 15973003: Revert 201955 "Allow multiple base::MessagePumpForUI instances t..." (Closed)

Created:
7 years, 7 months ago by Dan Beam
Modified:
7 years, 7 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

Revert 201955 "Allow multiple base::MessagePumpForUI instances t..." Broke browser_tests on XP Tests (dbg)(4): http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%28dbg%29%284%29/builds/33253 [844:3260:0523/194017:1212046:FATAL:message_window.cc(28)] Check failed: CalledOnValidThread(). Backtrace: base::Histogram::GetCountAndBucketData [0x08408FD1+2262176] base::Histogram::GetCountAndBucketData [0x0827FBBE+651405] base::Histogram::GetCountAndBucketData [0x082E1E60+1053487] base::Histogram::GetCountAndBucketData [0x0825CC46+508181] base::Histogram::GetCountAndBucketData [0x0825BB66+503861] base::Histogram::GetCountAndBucketData [0x0825A534+498179] base::Histogram::GetCountAndBucketData [0x08256C16+483557] base::Histogram::GetCountAndBucketData [0x08256C82+483665] base::Histogram::GetCountAndBucketData [0x08256324+481267] base::Histogram::GetCountAndBucketData [0x081F59AF+85630] base::Histogram::GetCountAndBucketData [0x081F84AC+96635] base::Histogram::GetCountAndBucketData [0x081F5917+85478] base::Histogram::GetCountAndBucketData [0x08249FD3+431266] base::Histogram::GetCountAndBucketData [0x08249255+427812] base::Histogram::GetCountAndBucketData [0x082462CD+415644] base::Histogram::GetCountAndBucketData [0x0831D883+1297746] base::Histogram::GetCountAndBucketData [0x0831D602+1297105] ViewHostMsg_TextInputStateChanged::Read [0x0D3DD6F9+6214944] ViewHostMsg_TextInputStateChanged::Read [0x0D3DD584+6214571] ViewHostMsg_TextInputStateChanged::Read [0x0D33048E+5505717] ViewHostMsg_TextInputStateChanged::Read [0x0D3303FA+5505569] ViewHostMsg_TextInputStateChanged::Read [0x0D32DDEA+5495825] ViewHostMsg_TextInputStateChanged::Read [0x0D32BAC7+5486830] ViewHostMsg_TextInputStateChanged::Read [0x0D3DC9B6+6211549] ViewHostMsg_TextInputStateChanged::Read [0x0D367071+5729944] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x03E93429+30896697] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x025BD0DF+4853487] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x02701C3F+6183503] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x026EECCB+6105819] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x026EF6DD+6108397] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x026EFEAF+6110399] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x026F673D+6137165] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x02702637+6186055] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x026F4FA0+6131120] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x0262E070+5316224] (No symbol) [0x00632BF5] RelaunchChromeBrowserWithNewCommandLineIfNeeded [0x03E2BD73+30473091] (No symbol) [0x00632975] std::_Init_locks::operator= [0x03F5574F+5791] std::_Init_locks::operator= [0x03F5557F+5327] RegisterWaitForInputIdle [0x7C817077+73] > Allow multiple base::MessagePumpForUI instances to be created simultanenously on Windows. > > The current implementation of base::MessagePumpForUI on Windows registers a window class with a predefined name in order to create a message-only window. The window class is unregistered when base::MessagePumpForUI is deleted. This causes issues when two or more instances of base::MessagePumpForUI are created/destroyed simultanenously on different threads. For instance once thread can unregister the window class right before the other thread is trying to create a window using this class. > > The CL addresses this problem by switching MessageWindow to implement a message-only window. It also moves MessageWindow from remoting/host/win to base/win along with the corresponding unit test. > > MessageWindow registers a uniquely named window class per MessageWindow instance making sure that different MessageWindow objects do not share any resources. In the future this can be optimized further by registering a common window class shared by all MessageWindow objects in a thread-safe manner (by using LazyInstance for example). > > BUG=241939 > > Review URL: https://chromiumcodereview.appspot.com/15261005 TBR=alexeypa@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=201974

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -294 lines) Patch
M trunk/src/base/base.gyp View 2 chunks +1 line, -2 lines 0 comments Download
M trunk/src/base/base.gypi View 3 chunks +4 lines, -6 lines 0 comments Download
M trunk/src/base/message_pump_win.h View 4 chunks +11 lines, -13 lines 0 comments Download
M trunk/src/base/message_pump_win.cc View 11 chunks +37 lines, -23 lines 0 comments Download
D trunk/src/base/win/message_window.h View 1 chunk +0 lines, -67 lines 0 comments Download
D trunk/src/base/win/message_window.cc View 1 chunk +0 lines, -111 lines 0 comments Download
D trunk/src/base/win/message_window_unittest.cc View 1 chunk +0 lines, -61 lines 0 comments Download
M trunk/src/remoting/host/clipboard_win.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M trunk/src/remoting/host/local_input_monitor_win.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M trunk/src/remoting/host/win/host_service.h View 3 chunks +3 lines, -3 lines 0 comments Download
M trunk/src/remoting/host/win/host_service.cc View 1 chunk +1 line, -1 line 0 comments Download
A + trunk/src/remoting/host/win/message_window.h View 0 chunks +-1 lines, --1 lines 0 comments Download
A + trunk/src/remoting/host/win/message_window.cc View 0 chunks +-1 lines, --1 lines 0 comments Download
A + trunk/src/remoting/host/win/message_window_unittest.cc View 0 chunks +-1 lines, --1 lines 0 comments Download
M trunk/src/remoting/remoting.gyp View 2 chunks +3 lines, -0 lines 0 comments Download
M trunk/src/tools/valgrind/tsan/suppressions.txt View 1 chunk +31 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
Dan Beam
7 years, 7 months ago (2013-05-24 04:29:08 UTC) #1
Dan Beam
7 years, 7 months ago (2013-05-24 04:29:17 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 manually as r201974.

Powered by Google App Engine
This is Rietveld 408576698