summaryrefslogtreecommitdiffstats
path: root/base/win
Commit message (Collapse)AuthorAgeFilesLines
* Return VERSION_PRE_XP if OS version is pre-XP.wfh2016-03-251-2/+1
| | | | | | | | | | | This restores previous behavior before crrev.com/1784623003 BUG=597980 TEST=base_unittests on XP running in NT4 compat mode. Review URL: https://codereview.chromium.org/1832143002 Cr-Commit-Position: refs/heads/master@{#383332}
* Improve tablet mode detection on Windows 10+ananta2016-03-121-3/+91
| | | | | | | | | | | | | | | | | | | This patch introduces the following:- 1. A function IsWindows10TabletMode which uses the new WRL API's on Windows 10 to query the current interaction mode. As per msdn these API's can be called from Win32 apps. https://msdn.microsoft.com/en-us/library/windows/hardware/dn917883(v=vs.85).aspx https://software.intel.com/en-us/articles/detecting-slateclamshell-mode-screen-orientation-in-convertible-pc These API's however appear to always return UserModeTouch which indicates tablet mode on the Surface 4 configuration I was testing with. 2. If the IsTabletDevice function returns true we don't attempt to detect keyboards and just assume that there is no keyboard attached. BUG=497381 Review URL: https://codereview.chromium.org/1783123003 Cr-Commit-Position: refs/heads/master@{#380864}
* Add test for multithreaded ActiveVerifier behavior.wfh2016-03-124-4/+186
| | | | | | | | | | | | | | | | | Previous to crrev.com/678736a there was a race in the setting of the g_active_verifier global that could have caused multiple instantiations. This adds a test to verify the new behavior and detect any future regressions. The test failing with the old code can be seen here: http://pastebin.com/raw/iXz8j21C BUG=592753 TEST=base_unittests --gtest_filter=ScopedHandleTest.MultiProcess Review URL: https://codereview.chromium.org/1779333003 Cr-Commit-Position: refs/heads/master@{#380835}
* Add histograms to compare GetVersionEx() with VerQueryValue() of kernel32scottmg2016-03-123-42/+114
| | | | | | | | | | | | | | | | | | Checking VerQueryValue() of kernel32 reports the "real" OS, rather than the potentially shimmed one that GetVersionEx() reports. Normally it's better to use GetVersionEx() because that'll determine the APIs that are available and how they behave. However, we'd like to know if there are a substantial percentage of users in compatibility mode, as there have been complaints of users seeing the "XP and Vista are no longer supported" infobar on Windows 7. R=asvitkine@chromium.org, robliao@chromium.org, wfh@chromium.org, nick@chromium.org BUG=581499 Review URL: https://codereview.chromium.org/1784623003 Cr-Commit-Position: refs/heads/master@{#380793}
* Two HandleVerifier thread safety fixes.wfh2016-03-111-15/+39
| | | | | | | | | | | | | | | | | | | | | | | Two changes in this CL: 1. Before setting the g_active_verifier, check that another thread hasn't already set this. This is to cater for the situation where multiple threads attempt to create the handle verifier in the same module at the same time. The g_lock was not protecting the check to see if the handle verifier had already been instantiated by another thread before setting it. This could result in a handle verifier leaking and some handles being tracked in the leaked verifier. 2. Always instantiate the handle verifier inside the main module, unless the main module does not link with base. This means that there should be always one instance that lives in the main module. BUG=592753 TEST=base_unittests Review URL: https://codereview.chromium.org/1772343007 Cr-Commit-Position: refs/heads/master@{#380581}
* Use thread local state to avoid locking over CloseHandle operations.siggi2016-03-091-7/+7
| | | | | | | | | | | | | CloseHandle can take suprisingly long. As-is this will serialize all handle operations, which adds noise to Canary performance metrics. It appears that this implementation can also cause hangs, though it's not clear to me how that would happen. BUG=588241 Review URL: https://codereview.chromium.org/1772413002 Cr-Commit-Position: refs/heads/master@{#380129}
* Add creation tracking for ActiveVerifier.wfh2016-03-091-1/+7
| | | | | | | | | | | | | | | | | Sometimes the ActiveVerifier gets instantiated inside chrome_child's copy of base and sometimes inside chrome.exe's copy of base. The ActiveVerifier should only be running from chrome.exe's copy of base, but before enforcing this, am adding a check to determine what is causing this unpredictability. See bug for the gory details. BUG=592753 Review URL: https://codereview.chromium.org/1767293005 Cr-Commit-Position: refs/heads/master@{#379996}
* Remove LOG(FATAL) as this can't be called late in Chrome shutdown.wfh2016-03-082-9/+9
| | | | | | | | | | | | | | CloseHandle hooks sometimes hit after Chrome has already started shutting down, on Windows 7, so the logging engine has already been destructed at this point. Therefore these are not safe to be called. This restores original functionality before crrev.com/1762443002 BUG=571304, 475872 Review URL: https://codereview.chromium.org/1780513002 Cr-Commit-Position: refs/heads/master@{#379945}
* Make ObjectWatcher fail to start watching when there is no message loop.pkasting2016-03-083-6/+14
| | | | | | | | | | | | | | | | | | | The code blindly assumed there would be a message loop, which resulted in crashing trying to call AddDestructionObserver() if there was none. Furthermore, DoneWaiting() would try to access the message loop to post tasks on it. Rather than try to make this code work in the absence of a message loop (would that even work? Not sure how the MessageLoop and object signalling interact), this simply adds an explicit check for the loop's presence, and documents the need for it. BUG=505013, 585470 TEST=none Review URL: https://codereview.chromium.org/1772263002 Cr-Commit-Position: refs/heads/master@{#379767}
* Add handle verifier tests. Add stack tracing.wfh2016-03-033-9/+74
| | | | | | | | BUG=571304,475872 Review URL: https://codereview.chromium.org/1762443002 Cr-Commit-Position: refs/heads/master@{#379096}
* Convert Pass()→std::move() on Windowsdcheng2016-03-021-1/+3
| | | | | | | | | | | | | Also cleaned up a few stragglers from grepping the source: it's unclear if these are just building with weird defines, don't build at all, only build on obscure platforms, or something else… either way, Pass() itself will be removed shortly after this. BUG=557422 Review URL: https://codereview.chromium.org/1752233002 Cr-Commit-Position: refs/heads/master@{#378872}
* Revert of Enable handle verifier for tests and add some tests. (patchset #11 ↵wfh2016-02-063-87/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | id:220001 of https://codereview.chromium.org/1580873003/ ) Reason for revert: This breaks on win7 component builds, and also win10. Original issue's description: > Enable handle verifier for tests and add some tests. > > Disable handle verifier hooks if running under drmemory. > > BUG=571304 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_dbg_ng > > Committed: https://crrev.com/5556e56290c41891b0830af9b6b9153b745dd226 > Cr-Commit-Position: refs/heads/master@{#372877} TBR=cpu@chromium.org,scottmg@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=571304,583676,584741 Review URL: https://codereview.chromium.org/1678553002 Cr-Commit-Position: refs/heads/master@{#373983}
* [Win10 sandbox mitigations] Four new Win10 mitigations added.Penny MacNeil2016-02-032-8/+13
| | | | | | | | | | | | | | | | | | | | 1. Disable non-system font loading on >= WIN10 (MITIGATION_NONSYSTEM_FONT_DISABLE). 2. Disable image loads from remote devices on >= WIN10_TH2 (MITIGATION_IMAGE_LOAD_NO_REMOTE). 3. Disable loading images that are labelled low integrity mandatory on >= WIN10_TH2 (MITIGATION_IMAGE_LOAD_NO_LOW_LABEL). 4. Extra disabling of child process creation on >= WIN10_TH2. In BrokerServicesBase::SpawnTarget(), if JobLevel <= JOB_LIMITED_USER, set PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY to PROCESS_CREATION_CHILD_PROCESS_RESTRICTED via UpdateProcThreadAttribute(). This CL enables all four mitigations on every Chrome process except for browser. sbox_integration_tests have also been updated appropriately. base::win::VERSION_WIN10_TH2 has been added to identify Threshold 2/1511/10586. BUG=504006 R=jschuh@chromium.org, wfh@chromium.org Review URL: https://codereview.chromium.org/1626623003 . Cr-Commit-Position: refs/heads/master@{#373265}
* Enable handle verifier for tests and add some tests.wfh2016-02-023-5/+87
| | | | | | | | | | | Disable handle verifier hooks if running under drmemory. BUG=571304 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_dbg_ng Review URL: https://codereview.chromium.org/1580873003 Cr-Commit-Position: refs/heads/master@{#372877}
* Get crash keys from crashpad in hung browser reports.pmonette2016-02-013-1/+75
| | | | | | | | | | | | Uses the Crashpad snapshot API to do so. Also moves GetLoadedModulesSnapshot() to base so it can get reused. BUG=485149 Review URL: https://codereview.chromium.org/1609303003 Cr-Commit-Position: refs/heads/master@{#372801}
* Revert of Enable handle verifier for tests and add some tests. (patchset #7 ↵oshima2016-01-253-84/+5
| | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1580873003/ ) Reason for revert: A lot of test are crashing on DrMemory x64 bot, so I'm reverting this speculatively. I'll reland this if it didn't help. Original issue's description: > Enable handle verifier for tests and add some tests. > > BUG=571304 > > Committed: https://crrev.com/ff6cc3d794e1285c68f74ec9ae6d59dc3e523d5b > Cr-Commit-Position: refs/heads/master@{#371075} TBR=cpu@chromium.org,wfh@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=571304,580795 Review URL: https://codereview.chromium.org/1633623003 Cr-Commit-Position: refs/heads/master@{#371330}
* Remove Windows XP SHA-256 and ECDSA logic.davidben2016-01-252-26/+0
| | | | | | | | | | | We can assume the system verifier handles both SHA-256 and ECDSA now. No need to inject SHA-256 support or disable ECDSA ciphers. BUG=554410 Review URL: https://codereview.chromium.org/1610833004 Cr-Commit-Position: refs/heads/master@{#371329}
* Enable handle verifier for tests and add some tests.wfh2016-01-223-5/+84
| | | | | | | | BUG=571304 Review URL: https://codereview.chromium.org/1580873003 Cr-Commit-Position: refs/heads/master@{#371075}
* Remove base/win/metro.{cc|h} and some associated codescottmg2016-01-123-249/+0
| | | | | | | | | | | | | | | | | | | | The goal was to start by removing base/win/metro.{cc|h}, but this ended up touching a number of places. So, also removed are: chrome/browser/metro_utils/ chrome/browser/ui/apps/apps_metro_handler_win.{cc|h} chrome/browser/ui/metro_pin_tab_helper_win.{cc|h} chrome/browser/ui/views/frame/browser_frame_ashwin.{cc|h} In order for the CL to not get even larger, there are some added TODOs pointing at the associated bug where calls to the above were removed, but the surrounding code is not yet simplified. BUG=558054 Review URL: https://codereview.chromium.org/1581473002 Cr-Commit-Position: refs/heads/master@{#368971}
* Refactor the IsKeyboardPresentOnSlate function.ananta2016-01-082-40/+63
| | | | | | | | | | | | | | | | | | | Currently this function shares the same logic as the IsTabletDevice function. One of the big differences was the IsTabletDevice function allows calls from Windows XP. Changed that to Windows 8+ and changed the IsKeyboardPresentOnSlate function to call IsTabletDevice. The IsTabletDevice function now takes in a reason argument which is updated with the reason info as to why the device was deemed to be a tablet or not. We now use the PowerDeterminePlatformRoleEx API to determine the platform role. As per msdn this function returns better results on Windows 8+. Next step would be to see if this function reliably works for tablets and slate mode. If yes then we can possibly flip the switch kDisableUsbKeyboardDetect to kEnableUsbKeyboardDetect which would ensure that the OSK pops up by default. BUG=497381 TBR=sky Review URL: https://codereview.chromium.org/1535643006 Cr-Commit-Position: refs/heads/master@{#368241}
* OnHandleBeingClosed should never CHECK when verifier is disabled.wfh2016-01-061-0/+3
| | | | | | | | | | | | This fixes the case where handle verifier is disabled after it's already started tracking scoped handles, and the CloseHandle hook is present. This changes behavior of OnHandleBeingClosed to match all other functions in the verifier. BUG=539505,571304 Review URL: https://codereview.chromium.org/1547853002 Cr-Commit-Position: refs/heads/master@{#367865}
* Remove warning pragmas in pe_image.ccwfh2015-12-244-38/+56
| | | | | | | | | | PEImage::GetProcAddress now returns consistent -1 on both 32-bit and 64-bit. Added a test to verify. BUG=167707,554200 Review URL: https://codereview.chromium.org/1370843003 Cr-Commit-Position: refs/heads/master@{#366836}
* Switch to standard integer types in base/win/.avi2015-12-2443-58/+104
| | | | | | | | | BUG=138542 TBR=cpu@chromium.org Review URL: https://codereview.chromium.org/1550493002 Cr-Commit-Position: refs/heads/master@{#366802}
* These caused failures on debug win7 bots that need further investigation.wfh2015-12-212-43/+5
| | | | | | | | | | | | | | | Reverting all the CLs, taking a step back, try again next year. This reverts commit 7969a476e9d9c755811ee49a2de51421360790e8. This reverts commit fdd35a81b4c360208bc0d6d7a2f61f5e8ad652db. BUG=571304,570912,481095 TBR=cpu@chromium.org Review URL: https://codereview.chromium.org/1545473002 Cr-Commit-Position: refs/heads/master@{#366445}
* Eliminate HICON leaks caused by creating icons from bitmap image.anpol2015-12-181-47/+15
| | | | | | | | | | | | | Every icon handle created by CreateHICONFromSkBitmap() should become immediately owned by its creator. We use base::win::ScopedHICON to control the icon's lifetime. R=sky@chromium.org BUG= Review URL: https://codereview.chromium.org/1406403007 Cr-Commit-Position: refs/heads/master@{#366055}
* Move handle hooks into base/win and add tests.wfh2015-12-162-5/+43
| | | | | | | | | | | | | | Also enable handle verifier on base_unittests for both 32-bit and 64-bit. This is a prerequisite for adding more test coverage. The only intended behavior change for Chrome in this CL is that if handle hooks cannot be installed then handle verifier is disabled. A future CL intends to enable handle verifier more widely in Chrome and across tests. BUG=480639, 459544 Review URL: https://codereview.chromium.org/1502523004 Cr-Commit-Position: refs/heads/master@{#365601}
* Fixing remaining VC++ 2015 64-bit build breaksbrucedawson2015-12-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VC++ 2015 64-bit builds trigger many new warnings about possibly unintended truncation bugs. Some of the bugs have a very low signal-to- noise ratio and this change suppresses them (4311 and 4312). Others seem to find some real bugs so I am leaving them enabled for now (4302 and 4334), fixing the bugs, and adjusting the code to suppress the other warnings. The changes in shell_web_contents_view_delegate_win.cc, ipc_perftest_support.cc, test_root_certs_win.cc, TracedLayoutObject.* and TraceEvent.h appear to fix real truncation bugs. Typical warnings are: ipc\ipc_perftest_support.cc(351): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) net\cert\test_root_certs_win.cc(103): warning C4302: 'reinterpret_cast': truncation from 'LPCSTR' to 'uint32_t' The main pattern is that VC++ 2015 is suspicious of code that converts a 64-bit pointer to a 32-bit integer. If the code converts from a pointer to a 64-bit integer, and then to a 32-bit integer, separating the type change from the truncation, then it assumes that the truncation is intentional. This seems like a reasonable heuristic. The warnings in the generated code were suppressed because they aren't bugs and because fixing gperf.exe (untouched since 2004) does not seem worthwhile. The warnings from gperf generated code look like: out\release_x64\gen\blink\core\csspropertynames.cpp(2914): warning C4302: 'type cast': truncation from 'char (*)[28]' to 'long' out\release_x64\gen\blink\core\cssvaluekeywords.cpp(3409): warning C4302: 'type cast': truncation from 'char (*)[4]' to 'long' Note that Windows HANDLE types are a wrapper around a pointer, but due to WOW64 (32-bit process on 64-bit Windows) compatibility they are always 32-bit values that can safely be truncated, then sign-extended back. Unfortunately Microsoft does not supply a safe-truncation macro. https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203%28v=vs.85%29.aspx Also a few uncommented warning-disables in common.gypi were commented. Setting NOTRY=true because the change is hitting timeouts. See crbug.com/567377 and comment #119 for details. NOTRY=true BUG=440500 Review URL: https://codereview.chromium.org/1422773008 Cr-Commit-Position: refs/heads/master@{#364264}
* clang/win: Let some chromium_code targets build with -Wextra.thakis2015-12-1011-86/+87
| | | | | | | | | | | | | | | | | | | To make warning flags between Windows and non-Windows clang consistent, I'd like to build chromium_code targets with -Wextra enabled. This fixes -Wextra warnings in about 14k of 31k build steps. Most of the warnings were about signed/unsigned mismatches; some were about "const"s that had no effect. (This CL does not contain the change to actually turn on -Wextra, only cleanups.) BUG=567877 TBR=content/common/sandbox Review URL: https://codereview.chromium.org/1507413003 Cr-Commit-Position: refs/heads/master@{#364232}
* Remove kuint32max.avi2015-12-041-2/+5
| | | | | | | | BUG=138542, 488550 Review URL: https://codereview.chromium.org/1492403002 Cr-Commit-Position: refs/heads/master@{#363309}
* Remove old C++03 move emulation code.dcheng2015-12-011-9/+7
| | | | | | | | | | | Chrome allows the use of C++11 features now, so just use rvalue references directly. BUG=543901 Review URL: https://codereview.chromium.org/1407443002 Cr-Commit-Position: refs/heads/master@{#362394}
* Switch to static_assert in base/.avi2015-11-245-8/+11
| | | | | | | | BUG=442514 Review URL: https://codereview.chromium.org/1467003002 Cr-Commit-Position: refs/heads/master@{#361337}
* Make vector_as_array use std::vector::data and switch a few directories.davidben2015-11-192-4/+3
| | | | | | | | | | | Get //base and //crypto. This revealed an IWYU problem in //components/policy, so go and convert that too. BUG=556678 Review URL: https://codereview.chromium.org/1441543002 Cr-Commit-Position: refs/heads/master@{#360639}
* Do not use FAILED macro when checking return value for Registry APIs.wfh2015-11-081-2/+2
| | | | | | | | BUG=552819 Review URL: https://codereview.chromium.org/1426673011 Cr-Commit-Position: refs/heads/master@{#358543}
* Unify logic for "does chrome support metro on this Windows version".gab2015-11-022-0/+9
| | | | | | | | | | | | | Figured we'd want to unify places we have logic for this after http://crrev.com/356988. Also clarified check for |relaunch_mode| in upgrade_util_win based on the CL it was introduced in (http://crrev.com/292464). BUG=548965 Review URL: https://codereview.chromium.org/1427123002 Cr-Commit-Position: refs/heads/master@{#357363}
* Add scottmg and jschuh as base/win ownersjschuh2015-10-271-0/+2
| | | | | | Review URL: https://codereview.chromium.org/1418423006 Cr-Commit-Position: refs/heads/master@{#356387}
* Set modifier flags for Caps, OS, Scroll and Num Lock on X11 and Windows.dtapuska2015-10-202-31/+0
| | | | | | | | | | Adjust the bit translation functions to ensure the values are set correctly on the WebInputEvent. Add support for querying the values from the native OS on Windows. Collapse duplicated code in the Windows event builder to query active key states. BUG=265458 Review URL: https://codereview.chromium.org/1372253005 Cr-Commit-Position: refs/heads/master@{#355170}
* Reverted how taskbar pinning works.pmonette2015-10-162-140/+22
| | | | | | | | | | | | | | | | The change was causing Chrome to chrash when pinning shortcuts because because of third-party shell extensions (See bug). Also removed the unused start menu pinning in Windows 10. Previous CLs: Changing pin to taskbar crrev.com/1193363003 Adding pin to start menu crrev.com/1242763002 BUG=540710 Review URL: https://codereview.chromium.org/1402003002 Cr-Commit-Position: refs/heads/master@{#354621}
* Adding error handlers to setup.exe.pmonette2015-10-162-0/+81
| | | | | | | | | | | | | The handlers make setup crash cleanly when we run out of memory, on heap corruption and on invalid parameters in the CRT. Moved 2 functions from startup_helper_win to base target. Renamed startup_helper_win to sandbox_helper_win now that it contains only a function related to the sandbox. BUG=530624 Review URL: https://codereview.chromium.org/1387963006 Cr-Commit-Position: refs/heads/master@{#354591}
* Disable ETW EnableDisable testbrucedawson2015-10-071-1/+2
| | | | | | | | | | | Despite multiple fixes this test is still flaky. Disabling. TBR=danakj@chromium.org BUG=525297,534184 Review URL: https://codereview.chromium.org/1385123002 Cr-Commit-Position: refs/heads/master@{#352875}
* win: Remove uses of UNREFERENCED_PARAMETER.thakis2015-10-063-62/+42
| | | | | | | | | | | | | | | | | We don't build with warnings on unused parameters enabled, and almost none of the code in src/ annotates unused parameters. Since the Windows system header definition of UNREFERENCED_PARAMETERs is implemented in a way that clang's Wunused-value warns on, just remove the few uses of that macro. While here, also fix most `git cl lint` complaints about the files I touched. No intended behavior change. BUG=505318 Review URL: https://codereview.chromium.org/1374483003 Cr-Commit-Position: refs/heads/master@{#352479}
* Remove all Windows Window Scoped Trackers and Associated Instrumentationrobliao2015-09-291-1/+0
| | | | | | | | | | | | The jank dashboard shows that there is nothing actionable remaining to do here. The sampling profiler should be able to supersede any manual tracking should we need to investigate future jank. BUG=440919 Review URL: https://codereview.chromium.org/1370993003 Cr-Commit-Position: refs/heads/master@{#351254}
* Extend base::win::ObjectWatcher to watch an event multiple times.jam2015-09-294-47/+118
| | | | | | | | | | This is split off from https://codereview.chromium.org/1350023003/. During performance testing, it was found that it was 5x faster to watch an auto-reset event once instead of a manual-reset event every time it fired. BUG=478251 Review URL: https://codereview.chromium.org/1366093006 Cr-Commit-Position: refs/heads/master@{#351240}
* Don't wait for ETW controller.Stop() on Windows 7brucedawson2015-09-252-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows 7 the ControlTrace() function with EVENT_TRACE_CONTROL_STOP, called by EtwTraceController::Stop, does not call the callback function. This means that calling WaitForCallback() will hang on Windows 7, and enable_level() and enable_flags() will never return zero. This was hidden initially because there was no WaitForCallback after the Register call so that the test usually passed on Windows 8, but had a race condition. On Windows 7 the test usually didn't run due to E_ACCESSDENIED due to the user not being in the Performance Log Users group which is why it didn't fail there. The test is now hanging sometimes on Windows 7. Since this change should fix the test it also reenables it. This change also avoids stopping tracing in the EtwTraceController destructor if tracing is not running, to avoid confusing failures. R=danakj@chromium.org BUG=525297 Review URL: https://codereview.chromium.org/1358763003 Cr-Commit-Position: refs/heads/master@{#350878}
* Base: Remove myself from ownersrvargas2015-09-241-1/+0
| | | | | | | | | TBR=thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/1371513003 Cr-Commit-Position: refs/heads/master@{#350695}
* Disable EtwTraceControllerTest.EnableDisable againbrucedawson2015-09-211-1/+1
| | | | | | | | | | | | Spelling counts. DISABLE_ doesn't work as well as DISABLED_. Tested correctly this time to make sure it is actually disabled. R=danakj@chromium.org BUG=525297,534184 Review URL: https://codereview.chromium.org/1357733007 Cr-Commit-Position: refs/heads/master@{#349958}
* Switch from std::move to Pass()brucedawson2015-09-191-1/+1
| | | | | | | | | | | | dcheng pointed out that the test uses std::move in contravention of our C++ 11 style guidelines. Removed. R=rvargas@chromium.org BUG=528394 Review URL: https://codereview.chromium.org/1352433004 Cr-Commit-Position: refs/heads/master@{#349824}
* Disable EtwTraceControllerTest.EnableDisablebrucedawson2015-09-191-1/+2
| | | | | | | | | | | | This test is hanging on some Windows 7 machines and the fix is not obvious. Disabling while I investigate. R=danakj@chromium.org BUG=525297 Review URL: https://codereview.chromium.org/1358583004 Cr-Commit-Position: refs/heads/master@{#349818}
* Revert of Check for CloseHandle failures even when not debugging (patchset ↵brucedawson2015-09-181-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #4 id:60001 of https://codereview.chromium.org/1350493002/ ) Reason for revert: The SharedMemory checks are causing CHECK crashes in the printing system. See bug 533310. Reverting to allow time for an investigation of that underlying problem. Original issue's description: > Check for CloseHandle failures even when not debugging > > Bug 524267 was a handle closing failure that only showed up when running > renderer processes under a debugger at startup, so it was not discovered > for a while. > > Similarly, bug 520305 is a long-standing base_unittests bug that only > shows up under a debugger. > > This change fixes 520305 and checks for many handle closing failures > always so that subsequent bugs of this type will be detected > immediately. > > Most of the CloseHandle calls in base are now checked. > > This replaces the uncommitted https://codereview.chromium.org/1343873002/ > > R=grt@chromium.org,rvargas@chromium.org,dalecurtis@chromium.org > BUG=524267,520305 > > Committed: https://crrev.com/9ae49a753d07f5a9266a63a89e7336d774f3fe37 > Cr-Commit-Position: refs/heads/master@{#349333} TBR=dalecurtis@chromium.org,grt@chromium.org,rvargas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=524267,520305 Review URL: https://codereview.chromium.org/1356743003 Cr-Commit-Position: refs/heads/master@{#349716}
* Remove HANDLE_FLAG_PROTECT_FROM_CLOSE flag from Tracked/ScopedHandle.rvargas2015-09-171-15/+0
| | | | | | | | | | | | | | | | This reverts most of https://crrev.com/c928d34ee861fd4102c352d9e79e1a4959a47209 (refs/heads/master@{#329516}). There is a strong suspicion that this flag is causing a lot of extra crashes. In any case, the change caused the handle verifier to be enabled for all channels, which was not really intended (not desired). BUG=475872 TBR=grt@chromium.org Review URL: https://codereview.chromium.org/1355703002 Cr-Commit-Position: refs/heads/master@{#349531}
* Fix possibly flakiness of EtwTraceControllerTest.EnableDisablewangxianzhu2015-09-171-0/+3
| | | | | | | | | | | | | | | | | | | The last provider.WaitForCallback() returns immediately because the callback event of the previous controller.EnableProvider() has not been consumed. If controller.Stop() is asynchronous, the last two EXPECT_EQs will fail. Add a provider.WaitForCallback() call before controller.Stop() to consume the previous callback event. Found this because https://codereview.chromium.org/1345223004/ mysteriously caused failure of the test. BUG=525297 Review URL: https://codereview.chromium.org/1353893003 Cr-Commit-Position: refs/heads/master@{#349523}