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

Issue 1154013009: [OSX] Don't create deferred windows. (Closed)

Created:
5 years, 6 months ago by Scott Hess - ex-Googler
Modified:
5 years, 6 months ago
Reviewers:
Avi (use Gerrit), sky
CC:
chromium-reviews, extensions-reviews_chromium.org, tdanderson+views_chromium.org, tfarina, mlamouri+watch-notifications_chromium.org, chromium-apps-reviews_chromium.org, estade+watch_chromium.org, peter+watch_chromium.org, James Su, rouslan+autofillwatch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[OSX] Don't create deferred windows. Most Chromium windows are created then displayed immediately, which mostly defeats the purpose of deferring creation of the windowserver window. In case of resource exhaustion, this can cause exception failures to happen at first display rather than when the window is created. BUG=481212 Committed: https://crrev.com/fa89814df86cd44a8bae29f3b7889a924eab61c9 Cr-Commit-Position: refs/heads/master@{#332416}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -16 lines) Patch
M chrome/browser/ui/cocoa/autofill/autofill_popup_base_view_cocoa.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/base_bubble_controller_unittest.mm View 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/ui/cocoa/extensions/extension_popup_controller.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/framed_browser_window.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/fullscreen_window.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/omnibox/omnibox_popup_view_mac.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/status_bubble_mac.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/tabs/tab_window_controller.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/web_dialog_window_controller.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/apps/app_window_native_widget_mac.mm View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/frame/browser_frame_mac.mm View 1 chunk +1 line, -1 line 0 comments Download
M ui/message_center/cocoa/popup_controller.mm View 1 chunk +1 line, -1 line 0 comments Download
M ui/views/cocoa/bridged_native_widget_unittest.mm View 1 chunk +1 line, -1 line 0 comments Download
M ui/views/widget/native_widget_mac.mm View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 22 (7 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1154013009/1
5 years, 6 months ago (2015-06-01 19:42:59 UTC) #2
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 6 months ago (2015-06-01 21:04:38 UTC) #4
Scott Hess - ex-Googler
Periodically I notice things like the bug in question, and it makes me suspect that ...
5 years, 6 months ago (2015-06-01 22:11:06 UTC) #6
Avi (use Gerrit)
On 2015/06/01 22:11:06, Scott Hess wrote: > Periodically I notice things like the bug in ...
5 years, 6 months ago (2015-06-02 15:00:57 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1154013009/1
5 years, 6 months ago (2015-06-02 16:38:44 UTC) #9
Scott Hess - ex-Googler
On 2015/06/02 15:00:57, Avi wrote: > On 2015/06/01 22:11:06, Scott Hess wrote: > > Periodically ...
5 years, 6 months ago (2015-06-02 16:42:27 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/67578)
5 years, 6 months ago (2015-06-02 16:48:35 UTC) #12
Scott Hess - ex-Googler
On 2015/06/02 16:48:35, commit-bot: I haz the power wrote: > Try jobs failed on following ...
5 years, 6 months ago (2015-06-02 16:57:54 UTC) #14
sky
LGTM
5 years, 6 months ago (2015-06-02 17:04:43 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1154013009/1
5 years, 6 months ago (2015-06-02 17:10:05 UTC) #17
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 6 months ago (2015-06-02 17:16:42 UTC) #18
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/fa89814df86cd44a8bae29f3b7889a924eab61c9 Cr-Commit-Position: refs/heads/master@{#332416}
5 years, 6 months ago (2015-06-02 17:17:33 UTC) #19
Scott Hess - ex-Googler
Avi, http://crbug.com/496116 is complaining about a perf regression from this for startup.warm.blank_page . I _think_ ...
5 years, 6 months ago (2015-06-05 22:10:13 UTC) #20
Scott Hess - ex-Googler
On 2015/06/05 22:10:13, Scott Hess wrote: > Avi, http://crbug.com/496116 is complaining about a perf regression ...
5 years, 6 months ago (2015-06-05 22:50:14 UTC) #21
Avi (use Gerrit)
5 years, 6 months ago (2015-06-06 05:51:45 UTC) #22
Message was sent while issue was closed.
On 2015/06/05 22:50:14, Scott Hess wrote:
> On 2015/06/05 22:10:13, Scott Hess wrote:
> > Avi, http://crbug.com/496116 is complaining about a perf regression from
this
> > for startup.warm.blank_page .  I _think_ I've isolated it to
> > framed_browser_window.mm, which makes sense, as that's likely the only one
of
> > these which is in line for that test.
> > 
> > I'm trying to reason out why this would matter.  About all I can think of is
> > that Chromium might be doing a notable amount of window manipulation before
> > display, such as resizing the window and manually placing views in it.  With
> the
> > deferred window, these operations are probably short-circuited for the parts
> of
> > the implementation which actually touch the backing store.
> > 
> > Thinking along those lines makes me wonder if Chromium should default to the
> > _opposite_ choice, create windows always deferred.  With a regular Cocoa
app,
> > usually everything is loaded from a xib rather than being manually
> constructed,
> > I think it's plausible that there will be little churn (or that Cocoa have
> > provisions to suppress the churn until the xib is fully loaded).  I'm less
> > confident on the Chromium side.  I recently was instrumenting to debug bug
> > 468201 (an info bubble which pops up), and it was going through the window
> > layout code four or five times before the child window was finally placed. 
> I'd
> > expect many of our uses to be similar.
> > 
> > Is this reasoning insane?
> 
> OMG, my brain just suggested that maybe defer:YES was a hack added to support
> early manual-setup apps or ports, and the whole "It's so you can have the
> convenient Cocoa object hierarchy without the costly backing store" story was
> just a retcon to cover their embarrassment.  Because if you're _really_ that
> memory and CPU constrained, why would you spend memory and CPU manufacturing
> object hierarchies you aren't going to use?
> 
> And what about retained backing store!?!!  Maybe this would be a good time to
> head home for the weekend...

Re backing stores, I thought that value was always ignored nowadays.

Powered by Google App Engine
This is Rietveld 408576698