| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This is just some experimental performance code. Previously it was creating
a singleton object which created a ProcessMetrics object. This caused a bunch
of possibly expensive calls to query system information to happen on startup.
Review URL: http://codereview.chromium.org/174118
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-Windows. They were previously omitted on Windows official builds only.
BUG=16512
TEST=DCHECK logging unavailable in official builds;
Mac .app shrinks by about 740kB;
Mac .dmg shrinks by about 315kB;
Linux binary and package shrink by similar amounts
Review URL: http://codereview.chromium.org/171093
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23791 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cannot be destroyed (pthread_cond_destroy) during a broadcast
(pthread_cond_broadcast). SyncWaiter::Fire now holds the lock until the
broadcast is complete. Given the lock ordering, this guarantees that the
condition variable cannot be destroyed until it is safe to do so. Holding
the lock through the broadcast is harmless, as pthread_cond_wait and
pthread_cond_timedwait will simply block (if needed) until able to take the
lock prior to returning.
Ownership of the lock and condition variable is moved to SyncWaiter for better
self-documentation. The only true functional change here, however, is the
duration that SyncWaiter::Fire holds the lock.
This bug caused hangs in optimized official release builds on the Mac when
DCHECKS were optimized away. The DCHECK optimization was initially covered in
bug 16512 r20497 and was backed out due to bug 16871 r20889. The optimization
changed the timings just enough that we wound up hitting this case. On the
Mac, pthread_cond_broadcast wound up blocking indefinitely (with a trashed
stack) when its condition variable was destroyed beneath it; this caused other
locks held by its thread to never be released, resulting in other threads
becoming deadlocked and made the bug particularly difficult to diagnose.
BUG=19710
TEST=Application works with no unexplained deadlocks, hanging, or crashing
base_unittests (specifically WaitableEvent*)
ipc_tests (especially IPCSyncChannelTest.ChattyServer, which would hang
previously on the Mac with DCHECKs optimized away)
Review URL: http://codereview.chromium.org/173059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23790 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a new test to make sure clicking sets focus, since I changed a lot of tests to programatically set focus instead of using clicking.
Also set the actual time on our synthetic key events. I'm still not sure this is necessary but would like to avoid subtle bugs.
Also get rid of the NineBox constructor that takes a theme provider and convert its callers to use cairo directly or the other NineBox constructor. This change was necessary because theme providers could go stale and then the NineBox would cause seg faults. Also, it was only being used for single images... and UniBox just sounds wrong.
Also fix extension shelf to paint its image with the correct x/y (noticeable only with certain themes). Remove the notification observer stuff from the extension shelf, as I don't think there is any action to be taken when the theme changes.
BUG=19076
BUG=19659
TEST=all the ported interactive ui tests (as well as all the already-working tests) pass.
TEST=(Linux) things still render correctly (frame image, drop shadows, find box, extension shelf)
Review URL: http://codereview.chromium.org/173030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23732 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=Covered by base_unittests.
BUG=none
Review URL: http://codereview.chromium.org/173026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23709 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Crashing the reliability bot.
Review URL: http://codereview.chromium.org/174029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23674 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
reduce a dependency on ATL.
BUG=5027
TEST=none
Review URL: http://codereview.chromium.org/169015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23645 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
track down all callers, also removes the
deprecated function that uses std::wstring.
BUG=3078 (http://crbug.com/3078)
TEST=run base_unittests, installer_util_unittests, net_unittests, setup_unittests, and unit_tests.
Review URL: http://codereview.chromium.org/164537
Patch from Thiago Farina.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23631 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on 'using namespace icu'.
This is Chrome's counterpart to the ICU header change that disables
'using namespace icu' (http://codereview.chromium.org/171010/show), which is required to avoid the name colission between Chrome's StringPiece (in base) and ICU's StringPiece.
The webkit change (which is minor) will be dealt with in the webkit bugzilla.
This can go in before the ICU change/upgrade without affecting anything.
BUG=8198
TEST=All the targets are built without an error on all platforms.
Review URL: http://codereview.chromium.org/171012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23613 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/171088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23605 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/172056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23560 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
checking for ".." in a FilePath. Needed to make an upcoming security fix
clean.
BUG=NONE
TEST=FilePathTest.ReferencesParent
Review URL: http://codereview.chromium.org/172012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23528 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change PluginInstallImpl to use base::WindowImpl instead of CWindowImpl to
reduce a dependency on ATL.
BUG=5023
TEST=Uninstall flash. Visit hulu.com and install the flash plugin.
Original review: http://codereview.chromium.org/165469
TBR=levin
Review URL: http://codereview.chromium.org/165543
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23454 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This purify filter is already in the unit_tests.exe_UMR_flakey.txt file, so this is just bringing that hack to base.
BUG=http://crbug.com/18795
Review URL: http://codereview.chromium.org/165540
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23441 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that Tab2OutOfTabStrip is failing consistently after this change.
BUG=None
TEST=None
TBR=jhawkins@chromium.org
Review URL: http://codereview.chromium.org/164543
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23411 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
reduce a dependency on ATL.
BUG=5023
TEST=Uninstall flash. Visit hulu.com and install the flash plugin.
Review URL: http://codereview.chromium.org/165469
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23406 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/164424
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23327 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
build, where C++ exceptions are already disabled.
BUG=19094 12248
TEST=Mac release-mode Google Chrome.app should shrink by about 6MB.
Mac disk image should shrink by about 1.5MB.
Linux binary and package should shrink too.
Review URL: http://codereview.chromium.org/165330
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23304 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
No functional change. This gets things compiling on linux, but it still needs some work before it can be run on linux.
BUG=19085
Review URL: http://codereview.chromium.org/164352
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23272 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Nothing in base/ uses it, and I'm going to make some non-trivial changes to it.
TEST=none
http://crbug.com/19202
Review URL: http://codereview.chromium.org/164428
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23243 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/164401
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23230 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the following error when building for x64 targets:
base/third_party/nspr/prtime.cc: In function 'PRTime PR_ImplodeTime(const
PRExplodedTime*)':
base/third_party/nspr/prtime.cc:173: error: integer overflow in expression
base/third_party/nspr/prtime.cc:176: error: integer overflow in expression
PRTime is long long (8 bytes) on ia32, and long (8 bytes) on x64. On ia32,
LONG_MAX (4 bytes) converted to microseconds fits in the PRTime type, but
on x64 LONG_MAX is 8 bytes and so overflows the PRTime type on conversion.
Avoid these issues by only returning INT_MAX. On ia32 this is the correct
value, and does not change behaviour. On x64 the call to timegm() will always
succeed due to the increased range of time_t, so the error condition of -1
should never be reached.
Fix a bug in the conditional expression for 1 second before epoch.
Patch by Joel Stanley
Original review URL: http://codereview.chromium.org/160511
R=dean,wtc
BUG=18231
TEST=new unit test
Review URL: http://codereview.chromium.org/164366
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23186 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
initialized data even if the system is totally unable to service the request.
BUG=19000
Review URL: http://codereview.chromium.org/164388
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GTMWindowSheetController. Add carpet bombing dialog as first per-tab sheet.
Depends http://codereview.appspot.com/105064 .
The main issue with this patch is that GTMWindowSheetController doesn't provide an api to move sheets between windows, so this CL disables tab dragging for tabs with sheets, and fullscreen mode for windows with sheets. We can fix this later.
Other stuff that should be done at some point, but not now:
* Open/Save panels should be per-tab
* Need an ui test that goes to page, then page with sheet, then hit back, forward, reload.
* Bookmark sheets should not be sheets but in a separate window
BUG=14666
TEST=Go to skypher.com/SkyLined/Repro/Chrome/carpet bombing/repro.html , a per-window sheet should appear. Things to test with this dialog:
* Hitting cmd-q while a sheet is open in any tab should not quit but instead focus the sheet.
* Hitting cmd-w while a sheet is open in any tab should not close the window but instead focus the sheet.
* Dragging a tab with a sheet should move the window (and keep the tab visible), not detach the tab.
* Going fullscreen should be disabled for windows with open tabs.
* When a per-tab sheet is open in a non-active tab, it shouldn't steal the focus, i.e. going to the page above, then hitting cmd-t, and then hitting cmd-l should work.
* Closing a non-frontmost tab with a per-tab sheet shouldn't crash.
* Going to the url above and quickly opening a new tab, so that the sheet opens while its tab is not front-most should work (sheet should display only when you switch back to the tab with the sheet).
* Go to google.com, then to skypher.com/SkyLined/Repro/Chrome/carpet bombing/repro.html ,
hit "backward" with open sheet, hit forward, focus location bar, hit enter. This shouldn't crash.
* Hitting escape should dismiss the sheet
* Hitting enter should confirm the sheet.
Review URL: http://codereview.chromium.org/159780
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23091 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
survives the destruction of the IO thread.
This checking is done by introducing a new helper class to base called LeakTracker. Classes that you want to check for leaks just need to extend LeakTracker.
The reason I am picking on URLFetcher / URLRequest, is I believe we have a bug that is making an instance of URLFetcher to outlive the IO thread.
This causes various sorts of badness.
For example:
If URLFetcher survives the IO thread, then URLRequestContext remains referenced and therefore also survives IO thread. In turn HostResolverImpl survives the IO thread, so any outstanding resolve requests are NOT cancelled before the IO thread is decomissioned. So now, when the worker thread doing the DNS resolve finally finishes (assuming it finishes before the rogue URLRequest is destroyed), it post the result to a defunct message loop. KAB00m! (http://crbug.com/15513)
Moreover, I believe we hit this same problem sporadically in AutomationProxyTest.AutocompleteGetSetText -- the test is flaky on the buildbots, and I've seen DCHECKs which suggest it is related to this issue.
BUG=http://crbug.com/18372
Review URL: http://codereview.chromium.org/160447
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23084 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
the correct creator code for the application. This is 'rimZ' for branded
Google Chrome, and 'Cr24' for Chromium.
BUG=19000
TEST=No functional change in Google Chrome-branded builds
Review URL: http://codereview.chromium.org/164332
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=5022
TEST=test_shell_tests
Review URL: http://codereview.chromium.org/165188
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22864 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pickle is a base class of Message, which has a virtual destructor, so
it is better to have Pickle have a virtual destructor as well.
Add more defensive code in the case of self assignment.
**IF** self assignment was used, and the target was read-only,
then the existing code would have a memory fault.
I don't think this is currently possible in use cases, but
the defensize code is much better. (per suggestion from CPU
on last CL).
BUG=17027
BUG=17088
r=cpu
Review URL: http://codereview.chromium.org/159800
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22826 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
in place of CWindowImpl to reduce our dependency on ATL.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/165022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22787 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_FILE_OFFSET_BITS=64 is incompatible with fts (issue 17492), so
file_util::Delete, file_util::CopyDirectory file_util::FileEnumerator are
reimplemented without fts. Delete and CopyDirectory are now implemented using
FileEnumerator.
Patch from vandebo@google.com, original review:
http://codereview.chromium.org/160479
BUG=13718,17492
TEST=none
Review URL: http://codereview.chromium.org/165085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22670 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
version.
Fixes a race condition with file descriptors, and gives the Mac access to the environment-alterning version of LaunchApp
BUG=11174
TEST=Launching render/plugin/utility processes should still work on the Mac
Review URL: http://codereview.chromium.org/165067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22649 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This follows the general style of r21663, which we agreed was the way
to do this.
http://codereview.chromium.org/164080
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22645 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactor bookmark util clipboard code to be cross platform.
- Add a CBF_DATA format for writing arbitrary data to the clipboard.
- Change MenuGtk so that showing a menu only makes the menu items update asynchronously. This way we can show the menu immediately and we won't get in trouble if the delegate's IsCommandEnabled() runs a nested message loop.
I did not do any mac-side implementation of the new clipboard stuff. The implementation should be easy when they get around to writing the bookmark manager.
Review URL: http://codereview.chromium.org/159815
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Make one into a LOG(INFO) since it's relatively harmless;
add comments on the other with a link to the bug.
BUG=4609,18410
Review URL: http://codereview.chromium.org/159836
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22394 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
In the sandbox, reading shmmax from proc always fails. Thus, we move
the function into base and call it before starting the sandbox. The
value is then cached.
http://codereview.chromium.org/159843
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22393 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
I'm sending this first, then I'll add support to workers in another changelist to avoid making this change larger.
TEST=running message port related layout tests in ui_tests
Review URL: http://codereview.chromium.org/159372
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22356 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
LOG macros there.
TEST=none
http://crbug.com/18028
Review URL: http://codereview.chromium.org/159789
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22292 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
production code.
Rename previous test_support_base to test_support_perf. I couldn't just add things
to test_support_base because one file there defined main, and it would produce
link conflict for new users of test_support_base.
TEST=none
http://crbug.com/18101
Review URL: http://codereview.chromium.org/159791
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22291 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/160522
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22269 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since I was able to (some how) generate a problem with header_ being
double freed (perhaps, because it was shared in some way??), this change
adds several lines of defensive coding. The current assignment operator
appears very dangerous, as it allowed Resize to be called when the header_
was not owned by the instance (it was read-only). I haven't found a path
to cause a problem, but we may as well be defensive.
BUG=17027
BUG=17088
r=CPU
Review URL: http://codereview.chromium.org/160490
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22261 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
declaration.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/159735
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22223 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The MessageLoop had to be modified to support Dispatchers on Linux.
BUG=None
TEST=On Windows and Linux, make sure the accelerators still work as expected. On Linux toolkit views, build and run the unit-tests.
Review URL: http://codereview.chromium.org/159046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22210 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It makes UI tests even more flaky. However, we still log that event.
TEST=none
http://crbug.com/18028
Review URL: http://codereview.chromium.org/159723
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22195 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/159668
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22179 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=Compose an email in Gmail with plugins enabled; scroll around and mouse over the "Add attachment" link; it should always draw correctly instead of sometimes showing another part of the page.
Review URL: http://codereview.chromium.org/159712
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22178 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
http://crbug.com/18085
Review URL: http://codereview.chromium.org/159658
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22103 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This moves it out of libbase, and thus avoids relinking everything that touches
base just because the versioninfo changed.
Review URL: http://codereview.chromium.org/160358
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22014 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/160314
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
buildbot cycle.
Review URL: http://codereview.chromium.org/160313
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had not unloaded them as a premature optimization, thinking it'd be
better to leave 'em around since they'll eventually be loaded by a page.
But that happens in the plugin process and reading the mime type happens
in the browser process, so it didn't help anyway.
BUG=17444
Review URL: http://codereview.chromium.org/160303
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21929 0039d316-1c4b-4281-b951-d872f2087c98
|