[chromium-dev] Question about chromium sandbox on Mac OSX
Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Adding a Custom Scheme
On Wed, Jul 29, 2009 at 9:18 PM, Tim Steele t...@chromium.org wrote: I've done something like this in the past, and it used to be that if I selected the second suggestion (which was *not* a Search Google for: ... type suggestion, it would actually go to my registered URL and from that point on this became the default whenever I typed a URL with my scheme. Sorry, but that has never been the behavior. Navigation (rather than search) could become the default action for _that URL_, but not for the entire scheme-- the autocomplete system doesn't learn that way. I'm trying to remember which piece of code I traced this to.. I'll take a look and reply if I can find it. Probably things like AutocompleteInput::Parse() and the various results the AutocompleteProviders returned. That's all higher-level than the desired effect here, which needs to happen down in the scheme handling code. PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Adding a Custom Scheme
On Wed, Jul 29, 2009 at 11:39 PM, Peter Kasting pkast...@chromium.orgwrote: On Wed, Jul 29, 2009 at 9:18 PM, Tim Steele t...@chromium.org wrote: I've done something like this in the past, and it used to be that if I selected the second suggestion (which was *not* a Search Google for: ... type suggestion, it would actually go to my registered URL and from that point on this became the default whenever I typed a URL with my scheme. Sorry, but that has never been the behavior. Navigation (rather than search) could become the default action for _that URL_, but not for the entire scheme-- the autocomplete system doesn't learn that way. Im describing what the behavior I saw was; not claiming to know how the internals work. Sorry for the confusion. We only had one URL for the scheme in question, so whether it was for the entire scheme didn't matter. At first we didn't even notice the option below Search Google for: .. and assumed our scheme wasn't getting registered, so I suggested it in case something similar was going on here. Thanks for clarifying though! I'm trying to remember which piece of code I traced this to.. I'll take a look and reply if I can find it. Probably things like AutocompleteInput::Parse() and the various results the AutocompleteProviders returned. That's all higher-level than the desired effect here, which needs to happen down in the scheme handling code. PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Adding a Custom Scheme
On Thu, Jul 30, 2009 at 12:38 AM, Tim Steele t...@chromium.org wrote: We only had one URL for the scheme in question, so whether it was for the entire scheme didn't matter. Ah. Yeah, that'd do it. PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Adding a Custom Scheme
I tried selecting an alternative from the autocomplete suggestions, but all of them resort to a Google search. From what I saw last night, it seems as though any factory methods that are registered prior to the BrowserMain method are being cleared, and then the Chromium methods are being registered. I haven't been able to spend very much time exploring/breaking throughout the Chromium source yet. I am going to give it another try when I get home from work tonight. Thanks, On 30 July, 08:44, Peter Kasting pkast...@chromium.org wrote: On Thu, Jul 30, 2009 at 12:38 AM, Tim Steele t...@chromium.org wrote: We only had one URL for the scheme in question, so whether it was for the entire scheme didn't matter. Ah. Yeah, that'd do it. PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Unsubscribe please
View archives, change email options, or *unsubscribe*: http://groups.google.com/group/chromium-dev Go to this page, click on Edit my membership on the top left and click on the Unsubscribe button in the middle center (approximately). ☆PhistucK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] gcl upload can't support proxy
HI, All, I access internet through a http proxy, and the other protocol like https, ftp also use this http proxy. I found that I can't gcl upload when I under the proxy. Could you please help me ? Thanks. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: gcl upload can't support proxy
I was facing this issue, and that too a few days ago. There is an issue with python(urllib2) and https connections over http-proxies. http://www.velocityreviews.com/forums/t339065-urllib2-proxy-and-https.html If you are on linux, just tunnel all traffic via proxychains. If you are on windows, you would require something like widecap to pass all the traffic via a SOCKS proxy. I found a software, CCProxy, that lets you create a SOCKS proxy that uses an upstream HTTP proxy. Both of these seem to work for me. On Thu, Jul 30, 2009 at 5:04 PM, empriser xueyunl...@gmail.com wrote: HI, All, I access internet through a http proxy, and the other protocol like https, ftp also use this http proxy. I found that I can't gcl upload when I under the proxy. Could you please help me ? Thanks. -- Cheers, Arindam. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
On Thu, Jul 30, 2009 at 9:08 AM, Jeremy Moskovichjer...@chromium.org wrote: Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy From the http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, I am trying to see what it the current setting in chromium. I can't find that in renderer.sb or when sandbox_init() is called. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Regards, On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
Is this just out of curiosity? Is there something specific you're trying to achieve? On Thu, Jul 30, 2009 at 9:32 AM, n179911 n179...@gmail.com wrote: On Thu, Jul 30, 2009 at 9:08 AM, Jeremy Moskovichjer...@chromium.org wrote: Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy From the http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, I am trying to see what it the current setting in chromium. I can't find that in renderer.sb or when sandbox_init() is called. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Regards, On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lenten thoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
On Thursday, July 30, 2009, n179911 n179...@gmail.com wrote: I am trying to see what it the current setting in chromium. I can't find that in http://renderer.sb or when sandbox_init() is called. As TVL said in his earlier reply, renderer.sb *is* the current setting. We use a custom set of allow/deny rules rather than one of the pre-canned defaults. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Reading renderer.sb should give you exactly that information; all of the exclusions there were added for a reason (documented in the file). The design doc you are reading sounds like it hasn't been updated since the sandbox was actually implemented; it should probably be updated. -Stuart --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: gcl upload can't support proxy
The proxy suggestion already provided is your best bet. But if you can't make that work, I believe you can create reviews on codereview.chromium.org by uploading a patch file using your browser. On Thu, Jul 30, 2009 at 4:34 AM, empriserxueyunl...@gmail.com wrote: HI, All, I access internet through a http proxy, and the other protocol like https, ftp also use this http proxy. I found that I can't gcl upload when I under the proxy. Could you please help me ? Thanks. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForge lafo...@google.comwrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! I like how your script doesn't escape and , so there's a button in the middle of the page :) PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
Mac changes: * Trackpad scrolling on maps works again * First stab at history menu * Download shelf now has real download items * Lots of polish bugs (gradient between tabs and toolbar looks smooth again, double-clicking tabstrip to minimize works, app icon is slightly smaller, completion popups behave correctly on page scroll, scrollbars now get inactive look when chrome is not the active app, space bar can now open popup boxes, fixed tab title text truncation, location bar looks nice again for https pages) -- the stuff in parens should probably be omitted though :-) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [chromium-extensions] Inter-extension communication API proposal
On Tue, Jul 28, 2009 at 6:02 PM, Matt Perry mpcompl...@chromium.org wrote: Two suggestions (one I accidentally sent only to James): chrome.extension.Port: // ID of the extension at the other side of this port. String senderID; Port currently has a 'tab' property if the sender was a tab. Maybe we should group these: chrome.extension.Port: Object sender: Object tab; // if the sender was a tab String id; // ID of the sending extension. chrome.extension: // Open a channel to another extension with the provided ID. // If no extension with the provided ID exists, nothing happens. // Otherwise the chrome.extension.onConnectExternal event is fired // to all components of the extension with the provided ID each time // the method is called. // The channel can optionally be named. This name will be sent along // with the onConnectExternal event Port connectExternal(string ID, [string channelName]) It makes more sense to me to have the API mirror the regular connect event: chrome.extension.connect(); // connects to my own extension other = new chrome.Extension('abcef...'); other.connect(); // connects to extension abcdef... The reason I shied away from this is that the behavior of the statement new chrome.Extension('abdef...').connect() is very different depending on if 'abcdef...' is the ID of the extension containing that code or a different one. It's also not clear from the documentation what an extension should expect to be able to do with the result of new chrome.Extension('abcdef...'). According to http://dev.chromium.org/developers/design-documents/extensions/content-scripts the available APIs in addition to connect() are the onConnect event, which another extension should _not_ have access to, and getURL(path), which seems like it would just return chrome-extension://abcdef.../path. Based on that I don't see much value in exposing the new chrome.Extension('abcdef...') syntax for inter-extension interaction. - James --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
Extension changes: * Introduce moles! These are a new extra area that can pop up above toolstrips. 21621 * Theme install experience is now complete: 21626 * Themes now work with --load-extension (good for development): 21619 * You can now reload extensions from a button on chrome://extensions. Useful for debugging. 21719 * Fix bug where bookmarks.getTree() doesn't return any bookmarks: 21503 * Minimum auto-update frequency from command line is now 30 seconds. Useful for debugging. 21849 * (Re-)enable content scripts executing in isolated worlds: 21878 On Thu, Jul 30, 2009 at 10:48 AM, Nico Webertha...@chromium.org wrote: Mac changes: * Trackpad scrolling on maps works again * First stab at history menu * Download shelf now has real download items * Lots of polish bugs (gradient between tabs and toolbar looks smooth again, double-clicking tabstrip to minimize works, app icon is slightly smaller, completion popups behave correctly on page scroll, scrollbars now get inactive look when chrome is not the active app, space bar can now open popup boxes, fixed tab title text truncation, location bar looks nice again for https pages) -- the stuff in parens should probably be omitted though :-) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [chromium-extensions] Inter-extension communication API proposal
On Thu, Jul 30, 2009 at 10:44 AM, James Robinson jam...@google.com wrote: On Tue, Jul 28, 2009 at 6:02 PM, Matt Perry mpcompl...@chromium.orgwrote: Two suggestions (one I accidentally sent only to James): chrome.extension.Port: // ID of the extension at the other side of this port. String senderID; Port currently has a 'tab' property if the sender was a tab. Maybe we should group these: chrome.extension.Port: Object sender: Object tab; // if the sender was a tab String id; // ID of the sending extension. chrome.extension: // Open a channel to another extension with the provided ID. // If no extension with the provided ID exists, nothing happens. // Otherwise the chrome.extension.onConnectExternal event is fired // to all components of the extension with the provided ID each time // the method is called. // The channel can optionally be named. This name will be sent along // with the onConnectExternal event Port connectExternal(string ID, [string channelName]) It makes more sense to me to have the API mirror the regular connect event: chrome.extension.connect(); // connects to my own extension other = new chrome.Extension('abcef...'); other.connect(); // connects to extension abcdef... The reason I shied away from this is that the behavior of the statement new chrome.Extension('abdef...').connect() is very different depending on if 'abcdef...' is the ID of the extension containing that code or a different one. How is it different? Sounds like a bug to me. It's also not clear from the documentation what an extension should expect to be able to do with the result of new chrome.Extension('abcdef...'). According to http://dev.chromium.org/developers/design-documents/extensions/content-scripts the available APIs in addition to connect() are the onConnect event, which another extension should _not_ have access to, and getURL(path), which seems like it would just return chrome-extension://abcdef.../path. Based on that I don't see much value in exposing the new chrome.Extension('abcdef...') syntax for inter-extension interaction. The value is consistency. extensionObject.connect() is how you open a port to that extension. It should be the same regardless of who you're talking to. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [chromium-extensions] Inter-extension communication API proposal
[bcc chromium-dev] On Thu, Jul 30, 2009 at 2:01 PM, Matt Perry mpcompl...@chromium.org wrote: On Thu, Jul 30, 2009 at 10:44 AM, James Robinson jam...@google.comwrote: On Tue, Jul 28, 2009 at 6:02 PM, Matt Perry mpcompl...@chromium.orgwrote: Two suggestions (one I accidentally sent only to James): chrome.extension.Port: // ID of the extension at the other side of this port. String senderID; Port currently has a 'tab' property if the sender was a tab. Maybe we should group these: chrome.extension.Port: Object sender: Object tab; // if the sender was a tab String id; // ID of the sending extension. chrome.extension: // Open a channel to another extension with the provided ID. // If no extension with the provided ID exists, nothing happens. // Otherwise the chrome.extension.onConnectExternal event is fired // to all components of the extension with the provided ID each time // the method is called. // The channel can optionally be named. This name will be sent along // with the onConnectExternal event Port connectExternal(string ID, [string channelName]) It makes more sense to me to have the API mirror the regular connect event: chrome.extension.connect(); // connects to my own extension other = new chrome.Extension('abcef...'); other.connect(); // connects to extension abcdef... The reason I shied away from this is that the behavior of the statement new chrome.Extension('abdef...').connect() is very different depending on if 'abcdef...' is the ID of the extension containing that code or a different one. How is it different? Sounds like a bug to me. It's also not clear from the documentation what an extension should expect to be able to do with the result of new chrome.Extension('abcdef...'). According to http://dev.chromium.org/developers/design-documents/extensions/content-scripts the available APIs in addition to connect() are the onConnect event, which another extension should _not_ have access to, and getURL(path), which seems like it would just return chrome-extension://abcdef.../path. Based on that I don't see much value in exposing the new chrome.Extension('abcdef...') syntax for inter-extension interaction. The value is consistency. extensionObject.connect() is how you open a port to that extension. It should be the same regardless of who you're talking to. In extension A with id 'a', the code: new chrome.Extension('a').connect() would fire an onConnect event at components of extension A. With the proposal, doing that same line of code in extension B with id 'b' an onConnectExternal event would be fired at components of extension A. The most consistent thing to do would be to use connect() and onConnect everywhere, but an extension needs to be aware of when a connection is coming from another component within the same extension and when it is coming from a different extension. Hence the connectExternal/onConnectExternal calls instead of reusing connect/onConnect. - James --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
Windows/All changes: * Crash fixes * Tweaks to New New Tab Page * Fixed problems displaying tooltips * Viewing images no longer shows strange characters in the tab title * [WINDOWS] Cursor no longer flickers over the omnibox and other editable controls * Bug fixes and context menus for video and audio * [WINDOWS] Disconnecting a monitor and restarting Chrome no longer leaves windows off in space and impossible to access PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Adding a Custom Scheme
I have just tried adding the scheme directly beneath where the standard Chromium ones are being registered. The scheme is now being recognized within the web browser. When my-scheme://test is entered, the location bar now automatically switches to http://192.168.1.4:8080/;. Is it possible to make the Chromium location bar show my-scheme:// test but still have the page come from http://192.168.1.4:8080/;? On 30 July, 09:39, Kruncher leaha...@gmail.com wrote: I tried selecting an alternative from the autocomplete suggestions, but all of them resort to a Google search. From what I saw last night, it seems as though any factory methods that are registered prior to the BrowserMain method are being cleared, and then the Chromium methods are being registered. I haven't been able to spend very much time exploring/breaking throughout the Chromium source yet. I am going to give it another try when I get home from work tonight. Thanks, On 30 July, 08:44, Peter Kasting pkast...@chromium.org wrote: On Thu, Jul 30, 2009 at 12:38 AM, Tim Steele t...@chromium.org wrote: We only had one URL for the scheme in question, so whether it was for the entire scheme didn't matter. Ah. Yeah, that'd do it. PK --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
One more for Linux, then, since it was especially annoying me and I fixed it myself: - dragging a tab off and dropping it puts the dropped window where you dropped it On Thu, Jul 30, 2009 at 10:27 AM, Evan Martine...@chromium.org wrote: User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] [BUG][PATCH] Small compilation issue on Linux
Hi, I'm running Debian, with GCC 4.3.3 and am current getting a compilation error while compiling Chromium: cc1plus: warnings being treated as errors chromium/src/net/base/net_util.cc: In function 'boolunnamed::IsIDNComponentSafe(const char16*, int, const std::wstring)': chromium/src/net/base/net_util.cc:641: error: suggest parentheses around assignment used as truth value scons: *** [chromium/src/sconsbuild/Release/obj/net/base/net_util.o] Error 1 The code in question was introduced at revision 21963. The obvious patch (below) fixes the issue for me. However, without understanding the code, I can't be sure the typo as actually to change = to ==. Since we return 'safe', I assumed that the assignment was what was intended. Cheers, Livio Index: net/base/net_util.cc === --- net/base/net_util.cc(revision 22072) +++ net/base/net_util.cc(working copy) @@ -638,7 +638,7 @@ std::string languages_list(WideToASCII(languages)); StringTokenizer t(languages_list, ,); while (t.GetNext()) { -if (safe = IsComponentCoveredByLang(component_characters, t.token ())) +if ((safe = IsComponentCoveredByLang(component_characters, t.token ( break; } return safe; --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Temporarily disable tcmalloc in build
I just submitted a change (22080) that disables tcmalloc used on Windows platform. The plan is keeping it in trunk for 24 hours and then reverting it. The intentions are - Having another round of performance comparison between build with and w/o tcmalloc. - Having a full run of UI test under purify with tcmalloc disabled. - Getting a verified CL in case we'd like to build an alternative dev build w/o tcmalloc for A/B test. As a head up, the performance, stability, and purify test results could be different during the period. Huan --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [BUG][PATCH] Small compilation issue on Linux
On Thu, Jul 30, 2009 at 12:13 PM, LivioSoareslivi...@gmail.com wrote: Hi, I'm running Debian, with GCC 4.3.3 and am current getting a compilation error while compiling Chromium: cc1plus: warnings being treated as errors chromium/src/net/base/net_util.cc: In function 'boolunnamed::IsIDNComponentSafe(const char16*, int, const std::wstring)': chromium/src/net/base/net_util.cc:641: error: suggest parentheses around assignment used as truth value scons: *** [chromium/src/sconsbuild/Release/obj/net/base/net_util.o] Error 1 The code in question was introduced at revision 21963. The obvious patch (below) fixes the issue for me. However, without understanding the code, I can't be sure the typo as actually to change = to ==. Since we return 'safe', I assumed that the assignment was what was intended. Thanks a lot for the patch. I think your patch is correct. I will convert it to a changelist and ask jshin to review it. Wan-Teh --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [BUG][PATCH] Small compilation issue on Linux
That's the third such cl I've seen. Conclusion: tiny fixes like that should be committed as tbr to avoid duplication of effort. On Jul 30, 2009 12:44 PM, Wan-Teh Chang w...@google.com wrote: On Thu, Jul 30, 2009 at 12:13 PM, LivioSoareslivi...@gmail.com wrote: Hi,I'm running... Thanks a lot for the patch. I think your patch is correct. I will convert it to a changelist and ask jshin to review it. Wan-Teh --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-de... --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
And another one for linux, by estade and me: Linux now has carpet bombing protection. Not too interesting, but since this counts as a security issue these days, you might want to mention it. On Thu, Jul 30, 2009 at 12:08 PM, Evan Martine...@chromium.org wrote: One more for Linux, then, since it was especially annoying me and I fixed it myself: - dragging a tab off and dropping it puts the dropped window where you dropped it On Thu, Jul 30, 2009 at 10:27 AM, Evan Martine...@chromium.org wrote: User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: [BUG][PATCH] Small compilation issue on Linux
We build on a recent Fedora and Ubuntu in an attempt to find compile errors between gcc versions, but the bots frequently are red. Still suspect we should turn off -Werror unless gcc_version == known_version_used_by_developers http://build.chromium.org/buildbot/waterfall.fyi/waterfall?builder=Chromium%20Linux%20(Jaunty)builder=Chromium%20Linux%20(Fedora%2011,%20dbg) On Thu, Jul 30, 2009 at 1:19 PM, Dan Kegeld...@kegel.com wrote: That's the third such cl I've seen. Conclusion: tiny fixes like that should be committed as tbr to avoid duplication of effort. On Jul 30, 2009 12:44 PM, Wan-Teh Chang w...@google.com wrote: On Thu, Jul 30, 2009 at 12:13 PM, LivioSoareslivi...@gmail.com wrote: Hi, I'm running... Thanks a lot for the patch. I think your patch is correct. I will convert it to a changelist and ask jshin to review it. Wan-Teh --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
On Thu, Jul 30, 2009 at 1:46 PM, Nico Webertha...@chromium.org wrote: And another one for linux, by estade and me: Linux now has carpet bombing protection. Not too interesting, but since this counts as a security issue these days, you might want to mention it. actually we already had the protection right? Before we had the dialog it was treated as if the user always denied it. So really, the new functionality is that the user can choose to allow carpet bombing. On Thu, Jul 30, 2009 at 12:08 PM, Evan Martine...@chromium.org wrote: One more for Linux, then, since it was especially annoying me and I fixed it myself: - dragging a tab off and dropping it puts the dropped window where you dropped it On Thu, Jul 30, 2009 at 10:27 AM, Evan Martine...@chromium.org wrote: User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
No, before it was treated as if the user always allowed it. Some file had a check that the download was denied if the dialog was NULL, but there's a stub dialog in temp_scaffoling_stubs that always pretends that the user clicks yes, so that check was never triggered. On Thu, Jul 30, 2009 at 2:35 PM, Evan Stadeest...@chromium.org wrote: On Thu, Jul 30, 2009 at 1:46 PM, Nico Webertha...@chromium.org wrote: And another one for linux, by estade and me: Linux now has carpet bombing protection. Not too interesting, but since this counts as a security issue these days, you might want to mention it. actually we already had the protection right? Before we had the dialog it was treated as if the user always denied it. So really, the new functionality is that the user can choose to allow carpet bombing. On Thu, Jul 30, 2009 at 12:08 PM, Evan Martine...@chromium.org wrote: One more for Linux, then, since it was especially annoying me and I fixed it myself: - dragging a tab off and dropping it puts the dropped window where you dropped it On Thu, Jul 30, 2009 at 10:27 AM, Evan Martine...@chromium.org wrote: User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Call for highlights to the 196.0 release notes
I like this new approach! The content looks excellent, many thanks to everyone who contributed. Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA On Thu, Jul 30, 2009 at 2:40 PM, Nico Weber tha...@chromium.org wrote: No, before it was treated as if the user always allowed it. Some file had a check that the download was denied if the dialog was NULL, but there's a stub dialog in temp_scaffoling_stubs that always pretends that the user clicks yes, so that check was never triggered. On Thu, Jul 30, 2009 at 2:35 PM, Evan Stadeest...@chromium.org wrote: On Thu, Jul 30, 2009 at 1:46 PM, Nico Webertha...@chromium.org wrote: And another one for linux, by estade and me: Linux now has carpet bombing protection. Not too interesting, but since this counts as a security issue these days, you might want to mention it. actually we already had the protection right? Before we had the dialog it was treated as if the user always denied it. So really, the new functionality is that the user can choose to allow carpet bombing. On Thu, Jul 30, 2009 at 12:08 PM, Evan Martine...@chromium.org wrote: One more for Linux, then, since it was especially annoying me and I fixed it myself: - dragging a tab off and dropping it puts the dropped window where you dropped it On Thu, Jul 30, 2009 at 10:27 AM, Evan Martine...@chromium.org wrote: User-visible notes from skimming the Linux commits: - We now respect the system font hinting/antialiasing setting. - We now have a password manager dialog (Options - Personal - Show Saved Passwords). - Fixed an issue where scrolling a long page by dragging the scrollbar would lag significantly. (We've fixed many bugs but the third one's been reported within Google a few times, so I imagine it's affecting a lot of users. Though it's possible it's something specific to our hardware setup.) On Thu, Jul 30, 2009 at 10:15 AM, Anthony LaForgelafo...@google.com wrote: I'm in the process of building the release notes/ blog post for the 196.0 release. I figured I'd try something a little different this week and turn over the process of picking high to the shiny folks on chromium-dev. I've attached a filtered list of changes that were made to the 196.0 release since 195.1 (between revisions 21177 and 21983). Please let me know if there are any particulars that you'd like to see bubble up. Thanks in advance for your help! Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA External Phone: 1-650-214-4055 --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: gyp Make breakage workaround
Sorry for the trouble, everyone. I believe this is fixed in r22105 (which is the DEPS change to pick up the gyp fix). On Fri, Jul 24, 2009 at 7:10 PM, Andrew Scherkusscher...@chromium.org wrote: In command form: cd /path/to/chrome/src ./tools/gyp/gyp_chromium build/all.gyp On Fri, Jul 24, 2009 at 6:54 PM, Albert J. Wong (王重傑) ajw...@chromium.org wrote: It seems like there's some bad interaction between gclient and gyp's make build generator that got uncovered when the gyp DEPS were rolled to r555. The effect is the top-level make file ends up having src/ prepended to the paths for all the sub-makefiles. A simple work around is to run gyp by manually from the src directory. Note that the directory is important, as is *not* running it via gclient runhooks. The specific bug seems to be as follows: 1) gyp was switched to using relative path generation on linux. 2) gclient invokes up from one level above src 3) The relative paths that are inserted into the root Makefile are mistakenly made relative off of the directory that gyp was invoked in. We could probably unroll the DEPS to fix it, but since it's friday night, and this wasn't the only change included in the gyp update, publishing a workaround seemed safer. -Albert --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Design Doc: out of process (v8) proxy resolving
Thanks all for the feedback. Responses are inline, and an updated design document has been posted. @robertshield: Regarding the class naming in the Out of process design, the convention I've seen most often is to have FooHost classes run in the browser with Foo classes in child processes. Yeah, I always get confused on which endpoint should be called Host. My thinking was from the perspective of the consumer -- the local (in-process) component we talk to is named XXX. And then XXX vends the functionality of an out-of-process component named XXXHost. (At least that is how I always understood the relationship between ResourceDispatcher / ResourceDispatcherHost). I could be on crack, in which case I will flip the names. Proxy resolver process / crashes - the document mentions fallback if proxy config is set to auto-detect. If the proxy config is instead set to use a fixed pac url and the proxy resolver process repeatedly crashes or becomes unresponsive could we offer a UI toast in the browser along the lines of Your network configuration is bad, would you like me to try a different one? upon which we would switch to auto-detect or direct connections? Or would that be requiring too much of the user? Right now we will silently fall-back to direct, so this isn't an issue. However, I don't feel that policy is correct: http://crbug.com/12303. Once/if 12303 is address, I agree that on PAC failure we should display a richer error page, describing that the proxy configuration is borked. IPC messages from proxy resolver process to the browser - What functionality does Msg_Alert provide that Msg_OnError doesn't? Yes, I could combine them into a single IPC message. I chose to separate them as separate messages, in order to end up with IPC messages that correspond exactly with the ProxyResolverV8::JSBindings interface http://src.chromium.org/viewvc/chrome/trunk/src/net/proxy/proxy_resolver_v8.h Proxy resolver process / Alive - the proxy resolver process may decide to that a PAC script is invalid while doing auto-detect. I interpreted the next step to be notifying the browser process of the invalid script. Does it signal to the browser that the script is invalid through Msg_OnError or Msg_Alert or through some special invocation of Msg_GetProxyForURL_Complete? The latter. Msg_GetProxyForURL_Complete() will contain a network error code for |result_code|, rather than |net::OK|. ProxyService already knows to look for this failure and do its thing. (We don't have separate error for the script is invalid, since running the PAC with different URLs can lead to different runtime errors, so we can only be valid on a per-URL basis) Proxy resolver process / Unresponsive - the section just below on Request timeouts seems like it answers the TODO(eroman): How do we measure unresponsive? question. Request timeouts on the browser process - proxy resolver process requests seem pretty important to have for v1. D'oh! Combined those two sections into a single Unresponsive section. Performance - additional latency is (1 + number of DNS resolves) * kIpcRoundtripLatency. Done- reworded as a formula per your suggestion. In fact, I re-wrote the entire performance section, and added an Optimizations subsection. Totally premature question tainted by a dash of sandboxing ignorance: is it possible to embed the proxy resolver process in a sandbox that _does_ allow network requests (but is otherwise similar to the renderer sandbox)? This would chop down the latency although it would require maintaining a separate dns resolver cache from the browser. I would really to avoid this, and keep the sandbox pure computation. (In addittion to network priviledges, there are other subtle system dependencies like /etc/resolv.conf and c:\windows\system32\drivers\etc\host which would suck to punch holes for). If performance of these sequential IPCs ends up being a performance bottleneck, we have some good options to fix the performance. I have enumerated these options in a new Optimizations section of the design document. @jorlow: If so, I'd propose making the design for this new process a bit more general purpose. Honestly, I don't think there's much to do. And I think it'd be OK to say that all work done by this process would need to be stateless (so we can kill it and spin it back up at will). I'm not necessarily saying you need to do the work to make it general purpose now, but I definitely think it should be kept in mind while working on this. That way we don't need to worry about finding ourselves designed into a corner (and needing to create another another helper process). Yeah that's reasonable. For the existing use-cases its not a big deal, since the utility processes are very short-lived (whereas the proxy resolver process is long-lived). I could do some sort of ref-counted deal to expose a handle to the utility process (which controls creation/destruction of the process). So we
[chromium-dev] Re: Design Doc: out of process (v8) proxy resolving
On Thu, Jul 30, 2009 at 4:20 PM, Eric Roman ero...@chromium.org wrote: Thanks all for the feedback. Responses are inline, and an updated design document has been posted. @robertshield: Regarding the class naming in the Out of process design, the convention I've seen most often is to have FooHost classes run in the browser with Foo classes in child processes. Yeah, I always get confused on which endpoint should be called Host. My thinking was from the perspective of the consumer -- the local (in-process) component we talk to is named XXX. And then XXX vends the functionality of an out-of-process component named XXXHost. (At least that is how I always understood the relationship between ResourceDispatcher / ResourceDispatcherHost). I could be on crack, in which case I will flip the names. Proxy resolver process / crashes - the document mentions fallback if proxy config is set to auto-detect. If the proxy config is instead set to use a fixed pac url and the proxy resolver process repeatedly crashes or becomes unresponsive could we offer a UI toast in the browser along the lines of Your network configuration is bad, would you like me to try a different one? upon which we would switch to auto-detect or direct connections? Or would that be requiring too much of the user? Right now we will silently fall-back to direct, so this isn't an issue. However, I don't feel that policy is correct: http://crbug.com/12303. Once/if 12303 is address, I agree that on PAC failure we should display a richer error page, describing that the proxy configuration is borked. IPC messages from proxy resolver process to the browser - What functionality does Msg_Alert provide that Msg_OnError doesn't? Yes, I could combine them into a single IPC message. I chose to separate them as separate messages, in order to end up with IPC messages that correspond exactly with the ProxyResolverV8::JSBindings interface http://src.chromium.org/viewvc/chrome/trunk/src/net/proxy/proxy_resolver_v8.h Proxy resolver process / Alive - the proxy resolver process may decide to that a PAC script is invalid while doing auto-detect. I interpreted the next step to be notifying the browser process of the invalid script. Does it signal to the browser that the script is invalid through Msg_OnError or Msg_Alert or through some special invocation of Msg_GetProxyForURL_Complete? The latter. Msg_GetProxyForURL_Complete() will contain a network error code for |result_code|, rather than |net::OK|. ProxyService already knows to look for this failure and do its thing. (We don't have separate error for the script is invalid, since running the PAC with different URLs can lead to different runtime errors, so we can only be valid on a per-URL basis) Proxy resolver process / Unresponsive - the section just below on Request timeouts seems like it answers the TODO(eroman): How do we measure unresponsive? question. Request timeouts on the browser process - proxy resolver process requests seem pretty important to have for v1. D'oh! Combined those two sections into a single Unresponsive section. Performance - additional latency is (1 + number of DNS resolves) * kIpcRoundtripLatency. Done- reworded as a formula per your suggestion. In fact, I re-wrote the entire performance section, and added an Optimizations subsection. Totally premature question tainted by a dash of sandboxing ignorance: is it possible to embed the proxy resolver process in a sandbox that _does_ allow network requests (but is otherwise similar to the renderer sandbox)? This would chop down the latency although it would require maintaining a separate dns resolver cache from the browser. I would really to avoid this, and keep the sandbox pure computation. (In addittion to network priviledges, there are other subtle system dependencies like /etc/resolv.conf and c:\windows\system32\drivers\etc\host which would suck to punch holes for). If performance of these sequential IPCs ends up being a performance bottleneck, we have some good options to fix the performance. I have enumerated these options in a new Optimizations section of the design document. @jorlow: If so, I'd propose making the design for this new process a bit more general purpose. Honestly, I don't think there's much to do. And I think it'd be OK to say that all work done by this process would need to be stateless (so we can kill it and spin it back up at will). I'm not necessarily saying you need to do the work to make it general purpose now, but I definitely think it should be kept in mind while working on this. That way we don't need to worry about finding ourselves designed into a corner (and needing to create another another helper process). Yeah that's reasonable. For the existing use-cases its not a big deal, since the utility processes are very short-lived (whereas the proxy resolver
[chromium-dev] Re: Design Doc: out of process (v8) proxy resolving
On Thu, Jul 30, 2009 at 4:20 PM, Eric Romanero...@chromium.org wrote: Regarding the class naming in the Out of process design, the convention I've seen most often is to have FooHost classes run in the browser with Foo classes in child processes. Yeah, I always get confused on which endpoint should be called Host. My thinking was from the perspective of the consumer -- the local (in-process) component we talk to is named XXX. And then XXX vends the functionality of an out-of-process component named XXXHost. (At least that is how I always understood the relationship between ResourceDispatcher / ResourceDispatcherHost). I could be on crack, in which case I will flip the names. For renderers, plugins, and child processes in general, Host means the outer thing, in an ownership sense, which means the browser process side of it. I don't know anything about ResourceDispatcher though. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] gyp scons generator temporary glitch
In rolling DEPS forward to pick up my fixes to the make generator for gyp, we picked up an unrelated change that broke scons. For now you can pass the mode flag to make it work: hammer --mode=Debug This didn't affect the build bots because they always pass --mode. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
I would like to change it so that the renderer can create/write file on /tmp. Like this 'kSBXProfileNoWriteExceptTemporary' profile. On Thu, Jul 30, 2009 at 9:43 AM, Jeremy Moskovichjer...@chromium.org wrote: Is this just out of curiosity? Is there something specific you're trying to achieve? On Thu, Jul 30, 2009 at 9:32 AM, n179911 n179...@gmail.com wrote: On Thu, Jul 30, 2009 at 9:08 AM, Jeremy Moskovichjer...@chromium.org wrote: Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy From the http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, I am trying to see what it the current setting in chromium. I can't find that in renderer.sb or when sandbox_init() is called. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Regards, On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
The easiest way would be to add a rule to renderer.sb, the language it uses is undocumented but very easy to use, you can find the file in the source tree. May I ask why you want the renderer to be able to read/write files in /tmp? Best regards, Jeremy On Thu, Jul 30, 2009 at 7:32 PM, n179911 n179...@gmail.com wrote: I would like to change it so that the renderer can create/write file on /tmp. Like this 'kSBXProfileNoWriteExceptTemporary' profile. On Thu, Jul 30, 2009 at 9:43 AM, Jeremy Moskovichjer...@chromium.org wrote: Is this just out of curiosity? Is there something specific you're trying to achieve? On Thu, Jul 30, 2009 at 9:32 AM, n179911 n179...@gmail.com wrote: On Thu, Jul 30, 2009 at 9:08 AM, Jeremy Moskovichjer...@chromium.org wrote: Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy From the http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, I am trying to see what it the current setting in chromium. I can't find that in renderer.sb or when sandbox_init() is called. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Regards, On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Question about chromium sandbox on Mac OSX
Thank you all. I have a better understanding now. I just try to log some debug info of the renderer in /tmp that may help me understand things better. Regards, On Thu, Jul 30, 2009 at 7:36 PM, Jeremy Moskovichjer...@chromium.org wrote: The easiest way would be to add a rule to renderer.sb, the language it uses is undocumented but very easy to use, you can find the file in the source tree. May I ask why you want the renderer to be able to read/write files in /tmp? Best regards, Jeremy On Thu, Jul 30, 2009 at 7:32 PM, n179911 n179...@gmail.com wrote: I would like to change it so that the renderer can create/write file on /tmp. Like this 'kSBXProfileNoWriteExceptTemporary' profile. On Thu, Jul 30, 2009 at 9:43 AM, Jeremy Moskovichjer...@chromium.org wrote: Is this just out of curiosity? Is there something specific you're trying to achieve? On Thu, Jul 30, 2009 at 9:32 AM, n179911 n179...@gmail.com wrote: On Thu, Jul 30, 2009 at 9:08 AM, Jeremy Moskovichjer...@chromium.org wrote: Hi, It would really help if you could provide some details on what your trying to do. Best regards, Jeremy From the http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, I am trying to see what it the current setting in chromium. I can't find that in renderer.sb or when sandbox_init() is called. And then I would want to see if I can switch it to 'kSBXProfilePureComputation' and see what may break. Regards, On Thu, Jul 30, 2009 at 9:06 AM, n179911 n179...@gmail.com wrote: Thank you. Can you please tell me how can I change the configure file (renderer.sb) to use other sandbox profile, like the one described in man page: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation And I did try looking for the sandbox configuration format, but this is the only thing I found, but it does not contain sandbox config file format http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man3/sandbox_init.3.html On Thu, Jul 30, 2009 at 5:21 AM, Thomas Van Lententhoma...@chromium.org wrote: Those constants are pre-configured settings. The NAMED_EXTERNAL flag lets us pass in our own config, which is the renderer.sb. Apple hasn't really documented the file format, but if you do some searching on the web, you'll find some documentation folks have figured out and I believe there was a talk given at one point by some of the Apple folks that work on it. TVL On Thu, Jul 30, 2009 at 2:32 AM, n179911 n179...@gmail.com wrote: Hi, I read this article: http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design It said Mac OSX supports five constants for sandbox access restrictions: * kSBXProfileNoInternet * kSBXProfileNoNetwork * kSBXProfileNoWrite * kSBXProfileNoWriteExceptTemporary * kSBXProfilePureComputation In the renderer, we would probably want to use a combination of kSBXProfileNoNetwork and kSBXProfileNoWrite. If possible, we would like to get by with kSBXProfilePureComputation, Can you please which access restrictions the renderer of chromium is currently set to? I have looked at renderer_main_platform_delegate_mac.mm, which I believe is how/where chromium set the access restrictions to. But from the code, i can't tell which access restrictions it assigns to renderer. int error = sandbox_init(sandbox_profile, SANDBOX_NAMED_EXTERNAL, error_buff); And I have looked at the file 'renderer.sb', it does not contains any of the above 5 access restrictions string either. Thank you for your help. Regards, --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---