summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Disable ETW EnableDisable testBruce Dawson2015-11-021-1/+2
| | | | | | | | | | | | | | | | | Despite multiple fixes this test is still flaky. Disabling. TBR=danakj@chromium.org BUG=525297,534184,548778 From CL 1385123002 Cr-Commit-Position: refs/heads/master@{#352875} (cherry picked from commit 5077e71445611ef80d536a2176ba833e8064bd63) Review URL: https://codereview.chromium.org/1428753005 . Cr-Commit-Position: refs/branch-heads/2526@{#304} Cr-Branched-From: cb947c0153db0ec02a8abbcb3ca086d88bf6006f-refs/heads/master@{#352221}
* Disable Force Touch lookup in the Omnibox.Dan Beam2015-10-291-0/+21
| | | | | | | | | | | | | | | | | | Force Touch in the Omnibox can, under the right conditions, crash the browser. Force Touch isn't desirable anyway in the Omnibox, so this change disables it. BUG=544250 Review URL: https://codereview.chromium.org/1426463002 Cr-Commit-Position: refs/heads/master@{#356086} (cherry picked from commit 20c59e0632ec7a6e1c688e184226a7dbe0ca4e59) Review URL: https://codereview.chromium.org/1416553004 . Cr-Commit-Position: refs/branch-heads/2526@{#264} Cr-Branched-From: cb947c0153db0ec02a8abbcb3ca086d88bf6006f-refs/heads/master@{#352221}
* Merge "WebApp splashscreen: add UMA to record how a splashscreen is ↵Mounir Lamouri2015-10-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | constructed." (This is not including the tests because they are too out of date compared to trunk.) It is adding the following UMA with tests: - Webapp.Splashcreen.Duration: how long the splashscreen is being shown. - Webapp.Splashscreen.Hides: why the splashscreen was hidden. - Webapp.Splashscreen.BackgroundColor: default vs custom background color. - Webapp.Splashscreen.ThemeColor: default vs custom theme color. - Webapp.Splashscreen.Icon.Type: no icon vs fallback (homescreen) vs custom icon. - Webapp.Splashscreen.Icon.Size: size in dp of the icon being shown (no records if no icon). BUG=542389 TBR=dfalcantara@chromium.org Review URL: https://codereview.chromium.org/1391993004 Cr-Commit-Position: refs/heads/master@{#355598} (cherry picked from commit f32d003d13534cd5ca100269f93aa97f7f5e1968) Review URL: https://codereview.chromium.org/1416423002 . Cr-Commit-Position: refs/branch-heads/2526@{#215} Cr-Branched-From: cb947c0153db0ec02a8abbcb3ca086d88bf6006f-refs/heads/master@{#352221}
* Merge "Web app splash screen: fix crash when theme-color isn't fully opaque."Mounir Lamouri2015-10-211-1/+4
| | | | | | | | | | | | | | | | | | It also passes any color provided by the Intent to set the notifict ation status bar color. BUG=545988 TBR=dfalcantara@chromium.org Review URL: https://codereview.chromium.org/1416013003 Cr-Commit-Position: refs/heads/master@{#355299} (cherry picked from commit 8b1432641f74fa80bf1642cc21fff64acc66df74) Review URL: https://codereview.chromium.org/1402333003 . Cr-Commit-Position: refs/branch-heads/2526@{#199} Cr-Branched-From: cb947c0153db0ec02a8abbcb3ca086d88bf6006f-refs/heads/master@{#352221}
* Remove the debug_message.exe helper.brettw2015-10-033-61/+2
| | | | | | | | This was not compiled by default so was effectively useless for developers. It also doesn't seem helpful for most types of debugging that are done now. Review URL: https://codereview.chromium.org/1384493003 Cr-Commit-Position: refs/heads/master@{#352204}
* mac: Implement Mach-primitive backed shared memory.erikchen2015-10-029-94/+592
| | | | | | | | | | | No code outside of tests instantiates Mach-primitive backed shared memory, so this should have no functional effect on official builds of Chrome. BUG=466437 Review URL: https://codereview.chromium.org/1362193003 Cr-Commit-Position: refs/heads/master@{#352177}
* Make AndroidWebviewShell stop initializing ApplicationStatusdgn2015-10-021-28/+43
| | | | | | | | | | | | | ApplicationStatus is used in many places in the code base but in the real world applications can't initialize it. This is to make sure we run tests in a state coherent with real world apps. BUG=470582 Review URL: https://codereview.chromium.org/1371333003 Cr-Commit-Position: refs/heads/master@{#352141}
* Detect KDE 5 desktop environmentedward.baker2015-10-023-6/+28
| | | | | | | | | | | | | | | | | | Configuration file locations now follow FreeDesktop specifications. For proxy settings, kioslaverc was previously located in ~/.kde/share/config or ~/.kde4/share/config. In KDE 5 it can be found in ~/.config. As with previous KDE releases, tools are appended with 5. To configure proxy settings launch kcmshell5 instead of kcmshell4. Environment variable KDE_SESSION_VERSION=5 is used to select KDE 5 instead of KDE 4. BUG=443704,499088 Review URL: https://codereview.chromium.org/1373483003 Cr-Commit-Position: refs/heads/master@{#352058}
* [tracing] Display the locked size of discardable memory segment.ssid2015-10-023-1/+22
| | | | | | | | | | | | | The locked size of the discardable memory segments is now displayed on tracing. The browser side can only tell if the whole segment is locked or not, if the segment is shared with a child. The child side can also tell how much memory in the segment is locked. BUG=529943 Review URL: https://codereview.chromium.org/1374213002 Cr-Commit-Position: refs/heads/master@{#352004}
* Fix deadlock in AtExitManager::ProcessCallbacksNow().alokp2015-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The deadlock happens when a singleton contains a thread member variable: 1. The singleton gets created and registered with AtExitManager. 2. Constructor of the singleton starts a thread. 3. The thread initializes ThreadTaskRunnerHandle, which in turn registers a lazy instance destructor with AtExitManager. 4. The program starts exiting with AtExitManager::ProcesCallbackNow, which calls the registered callbacks in reverse order and holding a lock. 5. The lazy instance holding ThreadTaskRunnerHandle gets destroyed. 6. Destructor of singleton gets called which starts destroying the the thread. 7. MessageLoop for the thread attempts to reset ThreadTaskRunnerHandle. Since the lazy instance for ThreadTaskRunnerHandle is already destroyed, calling LazyInstance::Pointer attempts to create a new one, which in turn attempts to register a callback with AtExitManager. 8. Registering a callback attempts to acquire the same lock held by AtExitManager::ProcesCallbackNow. 9. Deadlock. Changing the LazyInstance for ThreadTaskRunnerHandle to be Leaky fixes the issue. Review URL: https://codereview.chromium.org/1381493002 Cr-Commit-Position: refs/heads/master@{#351988}
* Add AVX2 detection.fbarchard2015-10-023-36/+70
| | | | | | | | | | | Update unittest to test avx and avx2, including for win64 with clangcl. Add AVX2 to uma for histograms. BUG=chromium:537916,chromium:168866 Review URL: https://codereview.chromium.org/1380943002 Cr-Commit-Position: refs/heads/master@{#351949}
* Stop warnings resulting from unimplemented SetProcessBackgrounded().shrike2015-10-022-5/+7
| | | | | | | | | | | | | | | | | Process::SetProcessBackgrounded() is not implemented on certain platforms (e.g. OS X). Calling Process::SetProcessBackgrounded() on these systems results in a warning to the console. Callers should first check result of Process::CanBackgroundProcesses() before calling SetProcessBackgrounded(). This cl also fixes a small error in the documentation for SetProcessBackgrounded(). BUG=537301 Review URL: https://codereview.chromium.org/1378753002 Cr-Commit-Position: refs/heads/master@{#351943}
* base: Make PortProvider a class, rather than an inner class.erikchen2015-10-015-12/+34
| | | | | | | | | | | | Previously, PortProvider was an inner class of base::ProcessMetrics. In the near future, PortProvider will be used by ipc/, so this CL moves its definition out of base::ProcessMetrics. BUG=535711 Review URL: https://codereview.chromium.org/1374333004 Cr-Commit-Position: refs/heads/master@{#351911}
* Isolate base_unittests_apk.stip2015-10-012-0/+45
| | | | | | | | BUG=525873 Review URL: https://codereview.chromium.org/1353033003 Cr-Commit-Position: refs/heads/master@{#351906}
* base: Minor improvement to interface of base::SharedMemory.erikchen2015-10-013-12/+22
| | | | | | | | | | | | The previous declaration of GetSizeFromSharedMemoryHandle() was returning an int and overloading the meaning of the return value. I changed the interface to return a bool, and have a size_t output parameter. BUG= Review URL: https://codereview.chromium.org/1380173002 Cr-Commit-Position: refs/heads/master@{#351893}
* Makes test_launcher stop on failure if gtest_break_on_failure is setsky2015-10-011-1/+5
| | | | | | | | | | | | | This is useful if both a repeat count and break on failure is set. BUG=none TEST=none R=phajdan.jr@chromium.org Review URL: https://codereview.chromium.org/1376233002 Cr-Commit-Position: refs/heads/master@{#351819}
* Reenable deprecation warning checking.aurimas2015-10-011-0/+12
| | | | | | | | | | | | Supress all the existing deprecation warnings, add TODO's and reenable deprecation warning check. BUG=503148 TBR=nyquist@chromium.org,qinmin@chromium.org Review URL: https://codereview.chromium.org/1368333003 Cr-Commit-Position: refs/heads/master@{#351689}
* Fix -Wunused-const-variable warning in Win-Clang buildHans Wennborg2015-09-301-2/+0
| | | | | | | | | BUG=82385 TBR=msw Review URL: https://codereview.chromium.org/1368293009 . Cr-Commit-Position: refs/heads/master@{#351628}
* Clear file system cache entries quicker on Windows.msw2015-09-301-69/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | clear_system_cache evicts files from system caches for tests. Telemetry cold startup perf tests use it on build and profile dirs. This takes very long on Windows, as it *overwrites* every file. Just rewrite the file info instead of overwriting the file data. This makes test-only EvictFileFromSystemCache much faster on Win. (reduces local out/Debug --recurse runtime from ~14min to ~11sec) See the bug for numerous bot links with sample cycle times, etc. This should reduce test cycle time without impacting test data. (Sysinternals RamMap still shows no cache entries after running) ("./tools/perf/run_benchmark startup.cold.blank_page" #s are sane) TODO: Find targets missing the 'clear_system_cache' dep. (let https://codereview.chromium.org/1361523003 land 1st) TODO: Use a file extension blacklist to avoid *.pdb, etc. BUG=527254 TEST=Faster tests cycles; cold startup perf still measured accurately. R=brucedawson@chromium.org,dtu@chromium.org,phajdan.jr@chromium.org,jam@chromium.org CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:win_perf_bisect Review URL: https://codereview.chromium.org/1357553002 Cr-Commit-Position: refs/heads/master@{#351599}
* Resize IPC input buffer to fit the next message.dskiba2015-09-303-4/+125
| | | | | | | | | | | | Sometimes we can get IPC message size from its header. In those cases we resize IPC::ChannelReader' overflow buffer to fit the entire message to avoid growing / reallocating it as we receive message's data. BUG=529940 Review URL: https://codereview.chromium.org/1345353004 Cr-Commit-Position: refs/heads/master@{#351586}
* Adding GetCurrentThreadPriority API in Android platform.ajith.v2015-09-302-2/+18
| | | | | | | | | | | | This change takes care of implementing GetCurrentThreadPriory in Android platform. Currently it is left NOTIMPLEMENTED(), due to which some unit test cases has to mark not to execute on Android. BUG=505474 Review URL: https://codereview.chromium.org/1216933009 Cr-Commit-Position: refs/heads/master@{#351563}
* Fix potential lint errors ahead of support library rollyusufo2015-09-291-0/+4
| | | | | | | | | | | | | All these are M related APIs that was added without explicit TargetAPI annotations. BUG=537270 TBR=yhirano@chromium.org Review URL: https://codereview.chromium.org/1376943002 Cr-Commit-Position: refs/heads/master@{#351427}
* base: Add support for compound CheckedNumeric operations.vmpstr2015-09-292-1/+36
| | | | | | | | | | | | Currently, we support arithmetic operations on two CheckedNumeric values if they are not a compound operations. This patch adds support for compound operations as well. R=danakj, thakis Review URL: https://codereview.chromium.org/1370263002 Cr-Commit-Position: refs/heads/master@{#351421}
* Move pref and switch in preparation for metrics componentizationblundell2015-09-292-0/+11
| | | | | | | | | | | | | | | | | | | Code will shortly be componentized into the metrics component that uses prefs::kMetricsReportingEnabled and switches::kForceFieldTrials. To enable that componentization, this CL does the following: - Moves prefs::kMetricsReportingEnabled into the metrics component. - Moves switches:kForceFieldTrials from //content to //base to enable it to be used both by //content and by the metrics component. BUG=508014 Committed: https://crrev.com/71f7da5a323ce64e8bc5b3ff2a62fc60e3c71bd0 Cr-Commit-Position: refs/heads/master@{#351268} Review URL: https://codereview.chromium.org/1373823002 Cr-Commit-Position: refs/heads/master@{#351294}
* Revert of Move pref and switch in preparation for metrics componentization ↵yoichio2015-09-292-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/1373823002/ ) Reason for revert: Build Failure: http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux/builds/42687 Original issue's description: > Move pref and switch in preparation for metrics componentization > > Code will shortly be componentized into the metrics component that uses > prefs::kMetricsReportingEnabled and switches::kForceFieldTrials. To enable that > componentization, this CL does the following: > > - Moves prefs::kMetricsReportingEnabled into the metrics component. > - Moves switches:kForceFieldTrials from //content to //base to enable it to be > used both by //content and by the metrics component. > > BUG=508014 > > Committed: https://crrev.com/71f7da5a323ce64e8bc5b3ff2a62fc60e3c71bd0 > Cr-Commit-Position: refs/heads/master@{#351268} TBR=asvitkine@chromium.org,jam@chromium.org,thestig@chromium.org,blundell@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=508014 Review URL: https://codereview.chromium.org/1374873002 Cr-Commit-Position: refs/heads/master@{#351270}
* Move pref and switch in preparation for metrics componentizationblundell2015-09-292-0/+11
| | | | | | | | | | | | | | | | Code will shortly be componentized into the metrics component that uses prefs::kMetricsReportingEnabled and switches::kForceFieldTrials. To enable that componentization, this CL does the following: - Moves prefs::kMetricsReportingEnabled into the metrics component. - Moves switches:kForceFieldTrials from //content to //base to enable it to be used both by //content and by the metrics component. BUG=508014 Review URL: https://codereview.chromium.org/1373823002 Cr-Commit-Position: refs/heads/master@{#351268}
* Remove all Windows Window Scoped Trackers and Associated Instrumentationrobliao2015-09-293-31/+1
| | | | | | | | | | | | 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-297-51/+122
| | | | | | | | | | 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}
* Remove a piece of unused code from ApiCompatibilityUtilsianwen2015-09-291-18/+0
| | | | | | | | | | | setStatusBarColor() should have been removed. This CL fulfills a TODO that ianwen left. BUG=NONE Review URL: https://codereview.chromium.org/1372283003 Cr-Commit-Position: refs/heads/master@{#351224}
* Expand FeatureList to support FieldTrial association.asvitkine2015-09-286-20/+360
| | | | | | | | | | | | | | | | | | | | | This CL adds the following: - Two new APIs on FeatureList to be used during initialization. One to associate a field trial for reporting purposes when the feature is forced from the command line and the other to override the feature state via a field trial. - Passing the FeatureList instance to VariationsService during browser start up. - Extension of VariationsService (and associated proto changes) to invoke the two above APIs, when processing variations with the new proto fields. - A new API on FieldTrial to get the group name of a field trial without activating it, used by VariationsService when association a field trial. BUG=526169 Review URL: https://codereview.chromium.org/1306653004 Cr-Commit-Position: refs/heads/master@{#351199}
* Remove memory corruption testing from base::File().gavinp2015-09-283-163/+2
| | | | | | | | | | | | This was intended to help debug issue 424562 (see Issue 702473009 for more details), and it isn't needed any more. R=thakis@chromium.org,pasko@chromium.org,thestig@chromium.org BUG=424562 Review URL: https://codereview.chromium.org/1372113002 Cr-Commit-Position: refs/heads/master@{#351194}
* Add method for simulating MemoryPressureListener notificationspetrcermak2015-09-283-27/+71
| | | | | | | | | | | | | | | | | | This patch adds a new static method to MemoryPressureListener which can be used to simulate memory pressure notifications: MemoryPressureListener::SimulatePressureNotification(level); This patch is a part of the plan to implement a DevTools API for suppressing and simulating memory pressure signals in Chrome. The main use case for this feature is to enforce consistent conditions across memory measurements. See https://goo.gl/cZFdH3 for more details. BUG=516776 Review URL: https://codereview.chromium.org/1370713002 Cr-Commit-Position: refs/heads/master@{#351061}
* Use POSIX implementation of shared memory on iOS.erikchen2015-09-264-20/+8
| | | | | | | | | | | The OSX implementation recently forked from the POSIX implementation, and the OSX implementation will soon be incompatible with iOS. BUG=528408 Review URL: https://codereview.chromium.org/1367053002 Cr-Commit-Position: refs/heads/master@{#350968}
* Make SharedMemoryHandle a class on windows.erikchen2015-09-256-38/+141
| | | | | | | | | | | | | | | | This CL is intended to be a refactor and should not introduce any behavior changes. Previously, SharedMemoryhandle was typedefed to HANDLE. Making it a class allows us to add metainformation about the process in which the HANDLE is valid. This will be used in the future by Chrome's IPC system to automatically duplicate HANDLEs into their destination process. BUG=493414, 535028 Review URL: https://codereview.chromium.org/1320783002 Cr-Commit-Position: refs/heads/master@{#350932}
* Support other KeyTypes in IDMapjkarlin2015-09-252-7/+19
| | | | | | | | | | This CL supports templated KeyTypes for IDMap. The primary purpose of this is to support int64_t keys in situations where the idmap may be used frequently. Review URL: https://codereview.chromium.org/1361353003 Cr-Commit-Position: refs/heads/master@{#350903}
* Move PathService to the base namespace.brettw2015-09-253-106/+113
| | | | | | | | This leaves a "using" statement in to allow landing without updating all callers atomically. Review URL: https://codereview.chromium.org/1371463003 Cr-Commit-Position: refs/heads/master@{#350896}
* Optimise IntToString by avoiding string allocation.ricea2015-09-251-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | Use a fixed-sized temporary buffer on the stack for IntToString and variants, rather than allocating a string. This reduces the time to run IntToString in a microbenchmark by 70%, and the code size by 30%, both on Android arm7. See the bug for more details. Since all the *Int*ToString* functions share a common implementation, they all benefit from this change. Security implications: If this function overflowed its buffer, then this change would change a heap overflow bug to a stack overflow bug. However, the unit tests in combination with the DCHECKs in the code provide a strong guarantee that this function does not overflow its buffer. The compiler also adds stack-smashing protection. BUG=535972 TEST=base_unittests Review URL: https://codereview.chromium.org/1359253003 Cr-Commit-Position: refs/heads/master@{#350883}
* Reland of "Add thread-local allocation context for tracing"ruuda2015-09-256-0/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of https://crrev.com/1340013002. Original issue's description: > This introduces a thread-local context that can be used for heap > profiling. It contains a pseudo stack where trace events are the > stack frames. There is a fast early-out in case capturing context > is disabled. > > This is a prerequisite for the heap profiler in chrome://tracing. It > will log allocations with context obtained from the system introduced > here. > > This is intended to replace the tcmalloc-specific heap profiler in > base/trace_event/trace_event_memory and its pseudo stack once the heap > profiler lands. > > BUG=524631 > > Committed: https://crrev.com/abff8221c8d35916a8d7e12845ba61bc5c48aff8 > Cr-Commit-Position: refs/heads/master@{#350799} BUG=524631 TBR=primiano@chromium.org Review URL: https://codereview.chromium.org/1368993002 Cr-Commit-Position: refs/heads/master@{#350880}
* 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}
* Remove unnecessary crazy_linker order_profiling logicpkotwicz2015-09-251-6/+0
| | | | | | | | | | | | The logic is unnecessary because the crazy linker is not used for chrome_apk when order_profiling=1. BUG=531278 TEST=None Review URL: https://codereview.chromium.org/1366433004 Cr-Commit-Position: refs/heads/master@{#350839}
* Revert of Use a class instead of several separate globals in ↵zhaoqin2015-09-253-124/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | crash_logging.cc. (patchset #3 id:60001 of https://codereview.chromium.org/1368703002/ ) Reason for revert: This CL is the culprit of an uninit read and several test crash on Valgrind bots. BUG=535990 Original issue's description: > Use a class instead of several separate globals in crash_logging.cc. > > There should be no behavior change; this is just refactoring. > > Committed: https://crrev.com/5e57bcecf023ec05c9c2343b2b636f3d7e0cf1f1 > Cr-Commit-Position: refs/heads/master@{#350701} TBR=danakj@chromium.org,rsesek@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1360943004 Cr-Commit-Position: refs/heads/master@{#350829}
* Revert of Add thread-local allocation context for tracing (patchset #17 ↵caitkp2015-09-256-431/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:320001 of https://codereview.chromium.org/1340013002/ ) Reason for revert: Consistent test failures on Win7 dbg http://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/42030/steps/base_unittests/logs/AllocationContextTest.PseudoStackBeginEndTrace AllocationContextTest.PseudoStackBeginEndTrace (run #1): [ RUN ] AllocationContextTest.PseudoStackBeginEndTrace [3804:3148:0925/051951:43082047:FATAL:memory_profiler_allocation_context.cc(61)] Check failed: frame == *tracker->pseudo_stack_.top() (Donut vs. Donut) Backtrace: base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x1009A3A1+520392] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x100F1EEB+879634] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x102A1258+2645887] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x10300F01+3038248] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA30CE+446] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA2FDB+203] base::trace_event::AllocationContextTest_PseudoStackBeginEndTrace_Test::TestBody [0x00CA3913+467] testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> [0x00DB1357+55] testing::Test::Run [0x00DCEFFE+174] testing::TestInfo::Run [0x00DCF29D+221] testing::TestCase::Run [0x00DCF13F+239] testing::internal::UnitTestImpl::RunAllTests [0x00DCF776+726] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x00DB1447+55] testing::UnitTest::Run [0x00DCF42B+267] RUN_ALL_TESTS [0x00E05E6F+15] base::TestSuite::Run [0x00E0602B+171] `anonymous namespace'::RunTestSuite [0x00DF8367+55] base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>::Run [0x00DF8306+54] base::internal::InvokeHelper<0,int,base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,base::internal::TypeList<int const &,char * * const &> >::MakeItSo [0x00DF8245+37] base::internal::Invoker<base::IndexSequence<0,1>,base::internal::BindState<base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,int __cdecl(int,char * *),base::internal::TypeList<int,char * *> >,base::internal::TypeList<base::internal::UnwrapTrai [0x00DF82BF+111] base::Callback<int __cdecl(void)>::Run [0x004FCC9F+47] base::`anonymous namespace'::LaunchUnitTestsInternal [0x00DFF8C1+497] base::LaunchUnitTests [0x00DFF61D+109] main [0x00DF8410+80] __tmainCRTStartup [0x00DF6369+409] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:626) mainCRTStartup [0x00DF64AD+13] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:466) BaseThreadInitThunk [0x7638337A+18] RtlInitializeExceptionChain [0x76EC92B2+99] RtlInitializeExceptionChain [0x76EC9285+54] AllocationContextTest.PseudoStackBeginEndTrace (run #2): [ RUN ] AllocationContextTest.PseudoStackBeginEndTrace [2724:1644:0925/051955:43086742:FATAL:memory_profiler_allocation_context.cc(61)] Check failed: frame == *tracker->pseudo_stack_.top() (Donut vs. Donut) Backtrace: base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x1009A3A1+520392] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x100F1EEB+879634] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x102A1258+2645887] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x10300F01+3038248] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA30CE+446] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA2FDB+203] base::trace_event::AllocationContextTest_PseudoStackBeginEndTrace_Test::TestBody [0x00CA3913+467] testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> [0x00DB1357+55] testing::Test::Run [0x00DCEFFE+174] testing::TestInfo::Run [0x00DCF29D+221] testing::TestCase::Run [0x00DCF13F+239] testing::internal::UnitTestImpl::RunAllTests [0x00DCF776+726] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x00DB1447+55] testing::UnitTest::Run [0x00DCF42B+267] RUN_ALL_TESTS [0x00E05E6F+15] base::TestSuite::Run [0x00E0602B+171] `anonymous namespace'::RunTestSuite [0x00DF8367+55] base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>::Run [0x00DF8306+54] base::internal::InvokeHelper<0,int,base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,base::internal::TypeList<int const &,char * * const &> >::MakeItSo [0x00DF8245+37] base::internal::Invoker<base::IndexSequence<0,1>,base::internal::BindState<base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,int __cdecl(int,char * *),base::internal::TypeList<int,char * *> >,base::internal::TypeList<base::internal::UnwrapTrai [0x00DF82BF+111] base::Callback<int __cdecl(void)>::Run [0x004FCC9F+47] base::`anonymous namespace'::LaunchUnitTestsInternal [0x00DFF8C1+497] base::LaunchUnitTests [0x00DFF61D+109] main [0x00DF8410+80] __tmainCRTStartup [0x00DF6369+409] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:626) mainCRTStartup [0x00DF64AD+13] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:466) BaseThreadInitThunk [0x7638337A+18] RtlInitializeExceptionChain [0x76EC92B2+99] RtlInitializeExceptionChain [0x76EC9285+54] AllocationContextTest.PseudoStackBeginEndTrace (run #3): [ RUN ] AllocationContextTest.PseudoStackBeginEndTrace [4072:3120:0925/051957:43088162:FATAL:memory_profiler_allocation_context.cc(61)] Check failed: frame == *tracker->pseudo_stack_.top() (Donut vs. Donut) Backtrace: base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x1009A3A1+520392] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x100F1EEB+879634] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x102A1258+2645887] base::time_internal::TimeBase<base::ThreadTicks>::ToInternalValue [0x10300F01+3038248] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA30CE+446] base::trace_event::AllocationContextTest_PseudoStackScopedTrace_Test::`scalar deleting destructor' [0x00CA2FDB+203] base::trace_event::AllocationContextTest_PseudoStackBeginEndTrace_Test::TestBody [0x00CA3913+467] testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> [0x00DB1357+55] testing::Test::Run [0x00DCEFFE+174] testing::TestInfo::Run [0x00DCF29D+221] testing::TestCase::Run [0x00DCF13F+239] testing::internal::UnitTestImpl::RunAllTests [0x00DCF776+726] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x00DB1447+55] testing::UnitTest::Run [0x00DCF42B+267] RUN_ALL_TESTS [0x00E05E6F+15] base::TestSuite::Run [0x00E0602B+171] `anonymous namespace'::RunTestSuite [0x00DF8367+55] base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>::Run [0x00DF8306+54] base::internal::InvokeHelper<0,int,base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,base::internal::TypeList<int const &,char * * const &> >::MakeItSo [0x00DF8245+37] base::internal::Invoker<base::IndexSequence<0,1>,base::internal::BindState<base::internal::RunnableAdapter<int (__cdecl*)(int,char * *)>,int __cdecl(int,char * *),base::internal::TypeList<int,char * *> >,base::internal::TypeList<base::internal::UnwrapTrai [0x00DF82BF+111] base::Callback<int __cdecl(void)>::Run [0x004FCC9F+47] base::`anonymous namespace'::LaunchUnitTestsInternal [0x00DFF8C1+497] base::LaunchUnitTests [0x00DFF61D+109] main [0x00DF8410+80] __tmainCRTStartup [0x00DF6369+409] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:626) mainCRTStartup [0x00DF64AD+13] (f:\dd ctools\crt\crtw32\dllstuff\crtexe.c:466) BaseThreadInitThunk [0x7638337A+18] RtlInitializeExceptionChain [0x76EC92B2+99] RtlInitializeExceptionChain [0x76EC9285+54] Original issue's description: > This introduces a thread-local context that can be used for heap > profiling. It contains a pseudo stack where trace events are the > stack frames. There is a fast early-out in case capturing context > is disabled. > > This is a prerequisite for the heap profiler in chrome://tracing. It > will log allocations with context obtained from the system introduced > here. > > This is intended to replace the tcmalloc-specific heap profiler in > base/trace_event/trace_event_memory and its pseudo stack once the heap > profiler lands. > > BUG=524631 > > Committed: https://crrev.com/abff8221c8d35916a8d7e12845ba61bc5c48aff8 > Cr-Commit-Position: refs/heads/master@{#350799} TBR=dsinclair@chromium.org,picksi@google.com,primiano@chromium.org,ruuda@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=524631 Review URL: https://codereview.chromium.org/1370693003 Cr-Commit-Position: refs/heads/master@{#350821}
* Fix up _some_ web app directory StrictMode violationsdfalcantara2015-09-251-0/+31
| | | | | | | | | | | | | | | | | | | | | | | * Enable Webapp document instancing for any devices running >= L. Tablets running Lollipop don't have any real reason to be excluded. * Shifts code around so that directory accesses are all done on a background thread. * webapp -> web app where it makes sense to change them in comments.. * Moves a function for recursively deleting files into a new file called FileUtilities.java. I wanted to amend TestFileUtil.java, but that's accessible only from tests. * Adds unit tests for the WebappDirectoryManager. BUG=525781 Review URL: https://codereview.chromium.org/1354323003 Cr-Commit-Position: refs/heads/master@{#350807}
* This introduces a thread-local context that can be used for heapruuda2015-09-256-0/+431
| | | | | | | | | | | | | | | | | | | | profiling. It contains a pseudo stack where trace events are the stack frames. There is a fast early-out in case capturing context is disabled. This is a prerequisite for the heap profiler in chrome://tracing. It will log allocations with context obtained from the system introduced here. This is intended to replace the tcmalloc-specific heap profiler in base/trace_event/trace_event_memory and its pseudo stack once the heap profiler lands. BUG=524631 Review URL: https://codereview.chromium.org/1340013002 Cr-Commit-Position: refs/heads/master@{#350799}
* Cleanup: IWYU for base/gtest_prod_util.h.thestig2015-09-254-4/+2
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=pneubeck@chromium.org Review URL: https://codereview.chromium.org/1366123002 Cr-Commit-Position: refs/heads/master@{#350770}
* Use FRIEND_TEST_ALL_PREFIXES instead of FRIEND_TEST.thestig2015-09-251-19/+2
| | | | | | | | Also remove a custom FRIEND_TEST_ALL_PREFIXES #define from 6 years ago. Review URL: https://codereview.chromium.org/1370563002 Cr-Commit-Position: refs/heads/master@{#350719}
* Switch IntToStringT to base/numericsjschuh2015-09-241-68/+19
| | | | | | | | Simplifies some code by using base/numerics templates Review URL: https://codereview.chromium.org/1363103002 Cr-Commit-Position: refs/heads/master@{#350709}
* Use a class instead of several separate globals in crash_logging.cc.rsesek2015-09-243-78/+124
| | | | | | | | There should be no behavior change; this is just refactoring. Review URL: https://codereview.chromium.org/1368703002 Cr-Commit-Position: refs/heads/master@{#350701}
* Base: Remove myself from ownersrvargas2015-09-244-4/+0
| | | | | | | | | TBR=thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/1371513003 Cr-Commit-Position: refs/heads/master@{#350695}
* Fix LifeCycleWatcher in ScopedVectorTest to not be referenced after being ↵amistry2015-09-241-2/+13
| | | | | | | | | | | | | | | destructed. If the LifeCycleObject owned by LifeCycleWatcher still exists at the time LifeCycleWatcher is destroyed, the LifeCycleObject's destructor will call LifeCycleWatcher::OnLifeCycleDestroy() after LifeCycleWatcher's destructor has finished running. BUG=535321 Review URL: https://codereview.chromium.org/1365893002 Cr-Commit-Position: refs/heads/master@{#350683}