[chromium-dev] Re: A question regarding to the keyboard event flow in the browser process.
Is anybody familiar this part? - James Su 2009/11/6 James Su su...@chromium.org (Ask this question again, in case you know the answer but missed this thread.) Thanks for your clear explanation. Now I have some questions regarding to the keyboard event flow: As I understand, a keyboard event will firstly be sent to the RenderWidgetHostView object, which will forward the event to the renderer. And then if the event was not handled by the renderer, it'll be sent to the TabContentsView object through RenderViewHostDelegate::View interface. And I find that there is a HandleKeyboardEvent method in TabContentsDelegate interface, so seems that the keyboard event should be sent to the delegate object through this method and handled there. But the current implements are: 1. In windows and Linux toolkit_views implementations, the focus manager will be called directly inside TabContentsView's HandleKeyboardEvent method to handle the keyboard event. And TabContentsDelegate::HandleKeyboardEvent method only gets called in windows implementation. 2. In Linux gtk implementation, the keyboard event is delivered to the BrowserWindowGtk object directly in TabContentsViewGtk::HandleKeyboardEvent method. TabContentsDelegate::HandleKeyboardEvent never gets called. 3. The Mac implementation is just similar than the Linux gtk code, which never calls TabContentsDelegate::HandleKeyboardEvent method. The logic here looks a little messy to me. So I'm wondering which is the most apporpriate logic here. As you said, a TabContents might not always be attached to a browser window, so should the TabContentsDelegate object always take charge of the unhandled keyboard event? Is it appropriate for the TabContentsView object to handle the event instead (like the current code does)? Regards James Su 2009/11/5 Ben Goodger (Google) b...@chromium.org - 隐藏引用文字 - As Mohammed notes, there are several diagrams in design docs under dev.chromium.org I use Omnigraffle for all my diagrams, it's fab. I use the same template for everything so the line styles etc all mean something. Lacking a collaborative web based version of Omnigraffle, I simply attach the graffle files to the docs so they can be edited later. A TabContentsView is the view portion of a TabContents. A TabContents is not necessarily always associated with a Browser. This is a mistake many people make - it's actually wrong to include browser.h etc in TabContents. TabContents communicates with Browser via the TabContentsDelegate interface which Browser implements. But sometimes the delegate is different... e.g. when you detach a tab and drag it around on screen the TabContentsDelegate is actually the DraggedTabController. And in ChromeFrame (which embeds a TabContents), the TabContentsDelegate is the ExternalTabContainer I think. -Ben On Wed, Nov 4, 2009 at 8:54 PM, James Su su...@chromium.org wrote: Hi, Recently, I'm studying the source code under chrome/browser and trying to understand the overall architecture, especially the relationship among those important classes, such as Browser, BrowserWindow, TabContents, TabContentsDelegate, TabContentsView, TabStripModel, RenderWidgetHost, RenderWidgetHostView, ExternalTabContainer, etc. Though I already have a rough picture of the architecture, there are still many aspects that I don't understand very well, such as: 1. The ownership among these classes. 2. The relationship between Browser and ExternalTabContainer classes, which both implement TabContentsDelegate interface. And how does an external tab work? 3. Does a TabContentsView always associate to a Browser? I'm wondering if there is any document to help me understand these aspects? I searched on dev.chromium.org but found nothing related. Thanks James Su --~--~-~--~~~---~--~~ 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: How much RAM needed to get past linking? (Linux)
Wrapping up: With 2GB of RAM it seems I can compile the debug mode, even without using the gold replacement for ld. The linking step of the final executable takes the remaining 1.5Gb~1.7Gb of physical memory, then another 500Mb~600Mb of swap. It stays at that level instead of gradual expanding until swap overloads. I haven't finished quite yet due to missing symbols error (like crbug #26496) but I'm confident that we've found the current requirements. Best to have 3Gb+, can be done with 2Gb + 1Gb+ of swap. Akira --~--~-~--~~~---~--~~ 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: Circular relationship in NaCl .gyp files - this is bad!
Robert, try patching http://codereview.chromium.org/373002 into your copy of GYP and see if it raises an exception. Mark Robert Muth wrote: We do not want circular deps in our build system anyway, so having the hard error is desirable for us. I think I fixed the problem you complained about but there could be others. What is the best way for use to check this other than eyeballing. We will push a new nacl version into chrome later this week and I want to make sure it is clean. Robert On Thu, Nov 5, 2009 at 8:38 PM, Mark Mentovai mmento...@google.com wrote: Right. Xcode project objects are reference-counted, and when there's a circular relationship, their reference counts never drop to zero and thus can never be freed. When this happens, Xcode won't ever reload the affected project files; the state that they were in when the cycle was created will be the state that they're frozen in. It won't be able to read updates in from disk, and it will notice the discrepancy between what's in memory and what's on disk, try to save the project again, and fail. It's a mess. Xcode is perfectly happy to let you set up an arrangement like this, even in the absence of GYP. Command-Q wipes the slate clean, as Brad points out. This doesn't affect the buildbots because they don't run Xcode.app, they run xcodebuild, which results in a new process and a clean slate each time. Once the NaCl dependencies are cleaned up, I'll turn this into a hard error in GYP so it shouldn't affect us in the future. (This is the third time that it's bitten us, and the second in a month.) Mark Bradley Nelson wrote: Some further info on this topic: There are circular dependencies in nacl, but the reason this does not afflict the buildbots is that xcode will handle this correctly IF you CMD-Q out of xcode before regenerating the project file. We should nonetheless fix the circularity and then have gyp complain. -BradN On Thu, Nov 5, 2009 at 3:33 PM, Mark Mentovai mmento...@google.com wrote: Robert Muth wrote: I am looking into it. Thanks. I have a change for GYP ready to detect these cases and raise an exception. Once you get your fix in, I'll check my fix into GYP so that we can catch these early before they start causing problems. PS: Hope we will be sitting close to each other soon. Definitely! --~--~-~--~~~---~--~~ 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: How much RAM needed to get past linking? (Linux)
if I want to install it on Fedora I note that there isn't package (yet) It is good that you are trying to build for Fedora. I just mention that are a few rpm package options for fedora: http://spot.fedorapeople.org/chromium and the chrome dev channels rpm wrapping: http://www.google.com/linuxrepositories/yum.html If you are comfortable running trunk builds or what to test them you might find http://petersen.fedorapeople.org/chromium-get-snap/ useful too. Jens --~--~-~--~~~---~--~~ 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: Circular relationship in NaCl .gyp files - this is bad!
Mark, Brad: We do not want circular deps in our build system anyway, so having the hard error is desirable for us. I think I fixed the problem you complained about but there could be others. What is the best way for use to check this other than eyeballing. We will push a new nacl version into chrome later this week and I want to make sure it is clean. Robert On Thu, Nov 5, 2009 at 8:38 PM, Mark Mentovai mmento...@google.com wrote: Right. Xcode project objects are reference-counted, and when there's a circular relationship, their reference counts never drop to zero and thus can never be freed. When this happens, Xcode won't ever reload the affected project files; the state that they were in when the cycle was created will be the state that they're frozen in. It won't be able to read updates in from disk, and it will notice the discrepancy between what's in memory and what's on disk, try to save the project again, and fail. It's a mess. Xcode is perfectly happy to let you set up an arrangement like this, even in the absence of GYP. Command-Q wipes the slate clean, as Brad points out. This doesn't affect the buildbots because they don't run Xcode.app, they run xcodebuild, which results in a new process and a clean slate each time. Once the NaCl dependencies are cleaned up, I'll turn this into a hard error in GYP so it shouldn't affect us in the future. (This is the third time that it's bitten us, and the second in a month.) Mark Bradley Nelson wrote: Some further info on this topic: There are circular dependencies in nacl, but the reason this does not afflict the buildbots is that xcode will handle this correctly IF you CMD-Q out of xcode before regenerating the project file. We should nonetheless fix the circularity and then have gyp complain. -BradN On Thu, Nov 5, 2009 at 3:33 PM, Mark Mentovai mmento...@google.com wrote: Robert Muth wrote: I am looking into it. Thanks. I have a change for GYP ready to detect these cases and raise an exception. Once you get your fix in, I'll check my fix into GYP so that we can catch these early before they start causing problems. PS: Hope we will be sitting close to each other soon. Definitely! --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Chrome UI Jank Task Force Status Update
*Chrome UI Jank Task Force Update* The Chrome UI Jank Task Force is out to fix UI Jank and slowness in the browser. A list of open Jank bugs is here: http://code.google.com/p/chromium/issues/list?q=label:Jank (feel free to take one!) *Updates* John - Finished up Mstone-4 bugs - All structures of Refcounted objects private -- cleaned up some things, and found some bugs. - Looked into how long it takes to create a render process from cold start (see multi-process histograms) - Win: 120ms first on average, 50ms subsequently - Linux: 1.2s! (3ms after that) But NTP load time is less than that? Maybe Zygote-related. - Something seems to be off, investigating further. - John to cc agl and Dan K about this issue (they know Zygote) Chase - Cookies on startup (cookies loading from disk for the NTP?). Understanding pipeline webkit - renderer - browser - Tab switching test only measuring whiteout duration, want to expand it to measure more. - Working with John on adding more measurements to this. Tony - Theme.dll merged into chrome.dll (caused issues with icon for the app) -- didn't seem to affect startup time. - Working on mstone-4 crashers. Evan - Landed the spellchecker - renderer move on Linux. This may have made memory tests flaky. - Should be minimal effort to move Win Mac. (Windows doesn't like to open files in the renderer - have to pass a handle) - Working on search engine prepopulate data Linux bugs. --~--~-~--~~~---~--~~ 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: Chrome UI Jank Task Force Status Update
Carlos - Build PGO instrument again but could not finish PGO optimized with a 22 Mb training file. Eats 11 GB while linking and slows to a crawl. - Got a leased machine (in jail) that has 24 GB of ram, installed everything and managed to build release. Next stop PGO. Note: I does not feel that building chrome's from scratch is fulfilling Linu's goal of can be done by a moron with ADD. --~--~-~--~~~---~--~~ 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: Preventing Incremental Backup of History/Thumbnails
On Nov 6, 2009, at 10:09 AM, mrossetti wrote: 1) Exclude individual database files. Journal files would still be backed up. 2) Move the database files into a new, excluded directory. Both the database files and their journals would not be backed up. By 'journal' do you mean the temporary side-file that sqlite creates during a transaction? If so, option 1 is potentially quite dangerous. If a journal file is later restored from backup somehow, the next instance of sqlite that opens a transaction on the matching database will assume that a previous transaction died in midstream, and use the journal file to restore the original contents of the database. As the restoration is basically just a series of binary patches, if the database is out of sync with the journal file, the result will be a severely corrupted db. I have run into this before. (The same thing happens in the opposite scenario: where the db file gets restored from backup, but a journal file is still lying around.) The only safe thing to do is to apply the same exclusion rule to the journal as to the database itself. —Jens --~--~-~--~~~---~--~~ 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: Recommendations for string data type
On Nov 7, 2009, at 3:10 PM, Erik Corry wrote: V8 strings get moved by the garbage collector so it's probably unrealistic to access the internal strings externally. Yes. Using V8 to back a StringImpl would require doing something about the API call that returns a direct pointer to the characters. (I have a couple of ideas.) On the other hand V8 supports strings backed by an external immutable utf16 or ASCii character buffer (no utf-8!). This is already heavily used in the binding layer. The problem with this is that V8 still allocates the string first, and then WebCore makes a copy. Even though V8 points to the WebCore string afterwards, the memory for the original V8 string is still in the V8 heap until the next GC. So this has an effect on footprint. In addition, the time to copy the strings is definitely a hot spot in the Dromaeo DOM benchmarks. While utf8 can be useful for interchange and storage it is a major pain for immutable strings (how to get the nth character?) and no use at all for mutable string buffers. Agreed. ISO-8859-1 (aka CP1252) would be a saner choice. —Jens --~--~-~--~~~---~--~~ 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: Recommendations for string data type
On Nov 9, 2009, at 2:22 PM, Erik Corry wrote: How big are the strings we are talking about here on average? In Dromaeo? I haven't checked; I was focusing on other metrics when I ran those tests. You could run the four DOM Core benchmarks and instrument the code to find out. The DOM Query subtest is the one where Chrome really gets its butt kicked by Safari (2x as fast!). I don't have the profile dumps anymore, unfortunately, but my recollection is that Chrome spent at least 10% of the time converting strings. —Jens --~--~-~--~~~---~--~~ 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: Assertion failures on Mac OS are super slow
ReportCrash is crawling for stacks and looking up symbol names. If your process is a debug build it has huge symbol tables. I don't know of any way to disable ReportCrash. However, you can add some code to your process to catch the offending symbols and exit instead. You can also run the process under the debugger, which will prevent ReportCrash from running. Others may know more. -eric On Mon, Nov 9, 2009 at 4:57 PM, Eric Roman ero...@chromium.org wrote: Whenever I hit a CHECK/DCHECK in the chrome unit tests on mac, after printing a backtrace (which btw lacks the symbol names), the process locks up and becomes un-killable! It won't respond to either SIGINT or SIGKILL. It looks like the villain is the ReportCrash process. As this is happening, ReportCrash happily chews up 100% CPU for about 5-10 minutes. I confirmed ReportCrash is the villain, since if I murder it as root then the unit-test is killed right away. I don't know what is going on with ReportCrash, but it is certainly very frustrating. Running fs_usage I notice that ReportCrash is repeatedly open/close/fstate the same *.a files under src/xcodebuild/Debug. So my guess is that ReportCrash is having a heart attack trying to symbolicate. Anyone know how to fix this? Can I disable ReportCrash if not? Thanks! /me is a mac n00b so please be gentle :) --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] [linux] page action extensions crashy on 4.0.237.0
If you don't run Chrome on Linux or you don't have any extensions installed, you can ignore this email. If you have any browser action extensions (like the buildbot extension or the gmail extension) installed on Linux Chrome, you may be experiencing frequent crashes when closing browser windows. A potential fix has been checked in, but until the next dev channel build is released, you can work around the crash by disabling the extension. This applies to any extension that puts a button in your browser toolbar. If you're curious: http://code.google.com/p/chromium/issues/detail?id=26751 tony --~--~-~--~~~---~--~~ 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: 437k files checked out for an official build
This is related to the thread (last Friday?) about making a light weight checkout of Chromium the default. Btw a quick look indicates that 100k are Google specific files (hermetic build environment and such). 200k are layout tests. So that leaves only 150k filesprobably many of which are still test related. On Mon, Nov 9, 2009 at 5:37 PM, Anthony LaForge lafo...@google.com wrote: Howdy, Was just clobbering a build directory this morning, and noticed it was deleting ~437 thousand files from a single Chrome official windows build directory, which took approximately 20-30 minutes to do a delete. Perhaps my view isn't oriented correctly, but this seems like a very high number of files. This isn't a high priority issue for the 4.0 timeframe, indeed may not be a high priority issue at all, but I'd like to turn it over to our developer community to see if anyone has any thoughts on the matter. So w/ that... Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Coping with configurations differences in sources
Hi Mark, So the nacl guys have a use case where they would be tempted to have per-configuration sources, if it were supported. Since this is particularly hairy for xcode, I wanted to see if you could offer some guidance as to how they should tackle this. Currently they are porting base + app to 64-bit for windows. They only need a limited subset of functionality for nacl, so they have only made some source files 64-bit clean. They would like to simply disable the rest for 64-bit (at least for now). With gyp's current limitations, they appear to have a limited set of option, all of which will affect others: 1. Surround each of the several dozen source files with #ifdefs gated on some 64-bit windows define. 2. Add app.cc, base.cc which #includes all the other .cc files, and gates them en-mass on some 64-bit windows define. 1 seems better to me, though a bit tedious. How would you suggest they proceed? -BradN --~--~-~--~~~---~--~~ 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: Preventing Incremental Backup of History/Thumbnails
Applying incorrect journal files would be bad. SQLite uses a sync cookie to do some tricks WRT keeping the cache warm. I'm somewhat surprised that the same thing isn't used to prevent applying journal files inappropriately. [I don't know this, and should not be spending time verifying it just now, but I'll star this for looking at later.] -scott On Mon, Nov 9, 2009 at 2:14 PM, Jens Alfke s...@google.com wrote: On Nov 6, 2009, at 10:09 AM, mrossetti wrote: 1) Exclude individual database files. Journal files would still be backed up. 2) Move the database files into a new, excluded directory. Both the database files and their journals would not be backed up. By 'journal' do you mean the temporary side-file that sqlite creates during a transaction? If so, option 1 is potentially quite dangerous. If a journal file is later restored from backup somehow, the next instance of sqlite that opens a transaction on the matching database will assume that a previous transaction died in midstream, and use the journal file to restore the original contents of the database. As the restoration is basically just a series of binary patches, if the database is out of sync with the journal file, the result will be a severely corrupted db. I have run into this before. (The same thing happens in the opposite scenario: where the db file gets restored from backup, but a journal file is still lying around.) The only safe thing to do is to apply the same exclusion rule to the journal as to the database itself. —Jens --~--~-~--~~~---~--~~ 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: 437k files checked out for an official build
Right, but the builds need these files to run the tests to make sure the bits are good. The problem is some tests leave logs and such in the tree after running, if we could ensure nothing changes in the tree, we might be able to change the scripts to simply update. Or maybe we do the same gclient revert the trybots do to make sure it is a completely clean tree for the build. TVL On Mon, Nov 9, 2009 at 9:35 PM, Jeremy Orlow jor...@chromium.org wrote: This is related to the thread (last Friday?) about making a light weight checkout of Chromium the default. Btw a quick look indicates that 100k are Google specific files (hermetic build environment and such). 200k are layout tests. So that leaves only 150k filesprobably many of which are still test related. On Mon, Nov 9, 2009 at 5:37 PM, Anthony LaForge lafo...@google.comwrote: Howdy, Was just clobbering a build directory this morning, and noticed it was deleting ~437 thousand files from a single Chrome official windows build directory, which took approximately 20-30 minutes to do a delete. Perhaps my view isn't oriented correctly, but this seems like a very high number of files. This isn't a high priority issue for the 4.0 timeframe, indeed may not be a high priority issue at all, but I'd like to turn it over to our developer community to see if anyone has any thoughts on the matter. So w/ that... Kind Regards, Anthony Laforge Technical Program Manager Mountain View, CA --~--~-~--~~~---~--~~ 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: Coping with configurations differences in sources
(m...@chromium.org, please - that's the address that I can post to mailing lists from.) There was a chromium-dev thread on this on Friday. http://groups.google.com/group/chromium-dev/browse_thread/thread/932a19ed777b9bb4 Between your two choices, I have a slight preference for option 1. Option 2, while it has an identical result, is confusing in that it results in .cc files that aren't used directly as compiler input. Putting them into a .gyp file's 'sources' section would then require custom excludes in 'sources!' or 'sources/' to keep the compiler from trying to crunch them. Mark Brad Nelson wrote: Hi Mark, So the nacl guys have a use case where they would be tempted to have per-configuration sources, if it were supported. Since this is particularly hairy for xcode, I wanted to see if you could offer some guidance as to how they should tackle this. Currently they are porting base + app to 64-bit for windows. They only need a limited subset of functionality for nacl, so they have only made some source files 64-bit clean. They would like to simply disable the rest for 64-bit (at least for now). With gyp's current limitations, they appear to have a limited set of option, all of which will affect others: 1. Surround each of the several dozen source files with #ifdefs gated on some 64-bit windows define. 2. Add app.cc, base.cc which #includes all the other .cc files, and gates them en-mass on some 64-bit windows define. 1 seems better to me, though a bit tedious. How would you suggest they proceed? --~--~-~--~~~---~--~~ 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: Coping with configurations differences in sources
Greg can this work for you? On Nov 9, 2009 6:49 PM, Mark Mentovai m...@chromium.org wrote: (m...@chromium.org, please - that's the address that I can post to mailing lists from.) There was a chromium-dev thread on this on Friday. http://groups.google.com/group/chromium-dev/browse_thread/thread/932a19ed777b9bb4 Between your two choices, I have a slight preference for option 1. Option 2, while it has an identical result, is confusing in that it results in .cc files that aren't used directly as compiler input. Putting them into a .gyp file's 'sources' section would then require custom excludes in 'sources!' or 'sources/' to keep the compiler from trying to crunch them. Mark Brad Nelson wrote: Hi Mark, So the nacl guys have a use case where they would be tempted to hav... --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] how to debug in webkit
Hi all: I have complied the chrome source,but when i set the breakpoint in webkit,It doesn't work. And i tried in other modules such as view,and it workes. I want to know how does it happens,and how to make the breakpoint works? That's all,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: how to debug in webkit
That's because webkit runs in the renderer process and your debugger is attached to the browser process. See http://www.chromium.org/developers/how-tos/debugging . On Mon, Nov 9, 2009 at 7:03 PM, DavidZhang dreamst...@gmail.com wrote: Hi all: I have complied the chrome source,but when i set the breakpoint in webkit,It doesn't work. And i tried in other modules such as view,and it workes. I want to know how does it happens,and how to make the breakpoint works? That's all,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: how to debug in webkit
Hello, Chrome is a multi process architecture, you would have to attach the running child process with the debugger. The following document will show you how to do so. http://dev.chromium.org/developers/how-tos/debugging http://dev.chromium.org/developers/how-tos/debugging - Mohamed Mansour On Mon, Nov 9, 2009 at 10:03 PM, DavidZhang dreamst...@gmail.com wrote: Hi all: I have complied the chrome source,but when i set the breakpoint in webkit,It doesn't work. And i tried in other modules such as view,and it workes. I want to know how does it happens,and how to make the breakpoint works? That's all,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: [chromium-extensions] Re: Desktop Notifications
Hi all, We've managed to use the Notifications API from our extension, thanks to John Gregg's implementation. However we are missing a key feature for us, which is to be able to have some logic inside the notifications itself, so that we can communicate with the background script for several things. I understand the way of communicating this components is under discussion, but are there any tips or clues for us to base our work on? We've tried setting something like background to the Notification object and try accesing it from the inner javascript in the notification, with no luck, ince we can only reach up to a DOMWindow object. The same goes backwards, where onDisplay we were trying to call a method in the notifications internal javscript, but we can go deeper from the Notification object. Inside the DOMWindow from the notification we can go through chrome.[windows/tabs/extension] but any call to those APIs will throw an access denied error. Is there any workaround or something we can do in the short term to accomplish this type of communication? Maybe something like what content scripts do with ports. What are the proposals for this under discussion? Thanks for your help. Marcos On Thu, Nov 5, 2009 at 6:22 PM, Marcos Aruj marcos.a...@gmail.com wrote: Ok, done: http://www.crbug.com/26859 I attached a crx to the report that triggers the bug. Thanks! On Thu, Nov 5, 2009 at 5:19 PM, John Gregg john...@google.com wrote: Thanks for the bug report, I am currently working on getting Notifications working for extensions and I'm familiar with this issue, although I don't think there is a bug for it yet. If you would create one I can update it as I get the fix checked in (which will hopefully be tomorrow, I think it's a fairly easy fix). -John On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've been testing the Notifications API and have shown them successfully on a regular page. We are trying to use it from within an extension, but Chromium crashes when calling requestPermission. It correctly asks to allow notifications for chrome-extension://XX/, but after allowing or denying, it crashes. Let me know if a bug needs to be created, if it's a known issue or if we are missing something. Thanks, Marcos On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, Quick question, how is the Notifications API going for the release of 4.0? Are there any news on this? Any sample code? Just wanted to know if we can rely on it now or if we should wait. Thanks! Marcos On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote: OK, that sounds reasonable to me. -Darin On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.comwrote: Not precisely embedding a TabContents; I'm drawing a custom toast using views and putting a RenderViewHost+RenderWidgetHostView in it. -John On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote: Is this accomplished by embedding a TabContents in a custom drawn (using Views) toast? -Darin On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.orgwrote: To be clear - our priority is to support HTML notifications on all platforms *before* investigating support for native notification platforms (like Growl/libnotify). -atw On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.orgwrote: We're trying to come up with a way to display html notifications on these platforms, once we get the windows one checked in. (Likely code that we will have to write.) 2009/10/19 Evan Martin e...@chromium.org On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com wrote: The implementation of notifications is nearly complete for Windows chromium with the final pieces being reviewed right now. Hopefully it will be available on the dev channel very soon behind a command-line switch for developers to start using. If you have questions about the specifics of the API, let me know, I'm happy to answer them and/or provide more documentation. I had alluded to this before, but I don't still see a good answer: what is the plan on Mac/Linux when the API is called with HTML? -- Marcos Aruj Alvarez Ingeniero de Software --- marcos.a...@gmail.com - -- Marcos Aruj Alvarez Ingeniero de Software --- marcos.a...@gmail.com - -- Marcos Aruj Alvarez Ingeniero de Software --- marcos.a...@gmail.com - -- Marcos Aruj Alvarez Ingeniero de Software --- marcos.a...@gmail.com - --~--~-~--~~~---~--~~ 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] Re: Desktop Notifications
Hi Marcos, It might help if you could describe (as specifically as you feel you can) the use-case you're hoping to realize, since changes to the spec should be driven by use-cases rather than just programming style. At present my concern is to make sure we remain flexible with the presentation of notifications rather than building in too many hooks before the feature has received a lot of use. But if there's an important use-case that the spec doesn't meet, that would be a place to start. As far as workarounds that wouldn't depend on changing the Notifications spec, you might look at shared workers, which are coming soon to Chromium as well (atwilson@ can provide details): it should be the case that both the notification page and the main creating script can communicate via the same shared worker. -John On Mon, Nov 9, 2009 at 11:11 PM, Marcos Aruj marcos.a...@gmail.com wrote: Hi all, We've managed to use the Notifications API from our extension, thanks to John Gregg's implementation. However we are missing a key feature for us, which is to be able to have some logic inside the notifications itself, so that we can communicate with the background script for several things. I understand the way of communicating this components is under discussion, but are there any tips or clues for us to base our work on? We've tried setting something like background to the Notification object and try accesing it from the inner javascript in the notification, with no luck, ince we can only reach up to a DOMWindow object. The same goes backwards, where onDisplay we were trying to call a method in the notifications internal javscript, but we can go deeper from the Notification object. Inside the DOMWindow from the notification we can go through chrome.[windows/tabs/extension] but any call to those APIs will throw an access denied error. Is there any workaround or something we can do in the short term to accomplish this type of communication? Maybe something like what content scripts do with ports. What are the proposals for this under discussion? Thanks for your help. Marcos On Thu, Nov 5, 2009 at 6:22 PM, Marcos Aruj marcos.a...@gmail.com wrote: Ok, done: http://www.crbug.com/26859 I attached a crx to the report that triggers the bug. Thanks! On Thu, Nov 5, 2009 at 5:19 PM, John Gregg john...@google.com wrote: Thanks for the bug report, I am currently working on getting Notifications working for extensions and I'm familiar with this issue, although I don't think there is a bug for it yet. If you would create one I can update it as I get the fix checked in (which will hopefully be tomorrow, I think it's a fairly easy fix). -John On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've been testing the Notifications API and have shown them successfully on a regular page. We are trying to use it from within an extension, but Chromium crashes when calling requestPermission. It correctly asks to allow notifications for chrome-extension://XX/, but after allowing or denying, it crashes. Let me know if a bug needs to be created, if it's a known issue or if we are missing something. Thanks, Marcos On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, Quick question, how is the Notifications API going for the release of 4.0? Are there any news on this? Any sample code? Just wanted to know if we can rely on it now or if we should wait. Thanks! Marcos On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote: OK, that sounds reasonable to me. -Darin On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.comwrote: Not precisely embedding a TabContents; I'm drawing a custom toast using views and putting a RenderViewHost+RenderWidgetHostView in it. -John On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote: Is this accomplished by embedding a TabContents in a custom drawn (using Views) toast? -Darin On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.org wrote: To be clear - our priority is to support HTML notifications on all platforms *before* investigating support for native notification platforms (like Growl/libnotify). -atw On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.orgwrote: We're trying to come up with a way to display html notifications on these platforms, once we get the windows one checked in. (Likely code that we will have to write.) 2009/10/19 Evan Martin e...@chromium.org On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com wrote: The implementation of notifications is nearly complete for Windows chromium with the final pieces being reviewed right now. Hopefully it will be available on the dev channel very soon behind a command-line switch for developers to start using. If you have questions about the specifics of the API, let
[chromium-dev] Re: [chromium-extensions] Re: Desktop Notifications
As John mentioned, SharedWorkers are intended to be the standard way for notifications (or any two pages under the same domain) to communicate. They are not yet available on Chrome, but they will be in the near future. -atw On Mon, Nov 9, 2009 at 8:33 PM, John Gregg john...@google.com wrote: Hi Marcos, It might help if you could describe (as specifically as you feel you can) the use-case you're hoping to realize, since changes to the spec should be driven by use-cases rather than just programming style. At present my concern is to make sure we remain flexible with the presentation of notifications rather than building in too many hooks before the feature has received a lot of use. But if there's an important use-case that the spec doesn't meet, that would be a place to start. As far as workarounds that wouldn't depend on changing the Notifications spec, you might look at shared workers, which are coming soon to Chromium as well (atwilson@ can provide details): it should be the case that both the notification page and the main creating script can communicate via the same shared worker. -John On Mon, Nov 9, 2009 at 11:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've managed to use the Notifications API from our extension, thanks to John Gregg's implementation. However we are missing a key feature for us, which is to be able to have some logic inside the notifications itself, so that we can communicate with the background script for several things. I understand the way of communicating this components is under discussion, but are there any tips or clues for us to base our work on? We've tried setting something like background to the Notification object and try accesing it from the inner javascript in the notification, with no luck, ince we can only reach up to a DOMWindow object. The same goes backwards, where onDisplay we were trying to call a method in the notifications internal javscript, but we can go deeper from the Notification object. Inside the DOMWindow from the notification we can go through chrome.[windows/tabs/extension] but any call to those APIs will throw an access denied error. Is there any workaround or something we can do in the short term to accomplish this type of communication? Maybe something like what content scripts do with ports. What are the proposals for this under discussion? Thanks for your help. Marcos On Thu, Nov 5, 2009 at 6:22 PM, Marcos Aruj marcos.a...@gmail.comwrote: Ok, done: http://www.crbug.com/26859 I attached a crx to the report that triggers the bug. Thanks! On Thu, Nov 5, 2009 at 5:19 PM, John Gregg john...@google.com wrote: Thanks for the bug report, I am currently working on getting Notifications working for extensions and I'm familiar with this issue, although I don't think there is a bug for it yet. If you would create one I can update it as I get the fix checked in (which will hopefully be tomorrow, I think it's a fairly easy fix). -John On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've been testing the Notifications API and have shown them successfully on a regular page. We are trying to use it from within an extension, but Chromium crashes when calling requestPermission. It correctly asks to allow notifications for chrome-extension://XX/, but after allowing or denying, it crashes. Let me know if a bug needs to be created, if it's a known issue or if we are missing something. Thanks, Marcos On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, Quick question, how is the Notifications API going for the release of 4.0? Are there any news on this? Any sample code? Just wanted to know if we can rely on it now or if we should wait. Thanks! Marcos On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote: OK, that sounds reasonable to me. -Darin On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.comwrote: Not precisely embedding a TabContents; I'm drawing a custom toast using views and putting a RenderViewHost+RenderWidgetHostView in it. -John On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote: Is this accomplished by embedding a TabContents in a custom drawn (using Views) toast? -Darin On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.org wrote: To be clear - our priority is to support HTML notifications on all platforms *before* investigating support for native notification platforms (like Growl/libnotify). -atw On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.orgwrote: We're trying to come up with a way to display html notifications on these platforms, once we get the windows one checked in. (Likely code that we will have to write.) 2009/10/19 Evan Martin e...@chromium.org On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com wrote:
[chromium-dev] Re: [chromium-extensions] Re: Desktop Notifications
Hi John, To be more specific. We have logic in our background page that acts as a single entry point for several features, including opening site pages according to some user preferences and location. Any component that needs to open a page should do it through this entry point. We also have implemented an observer-like service, so that several parts of the application can react over several events. Use cases: * The notification contains a link or button that when clicked, the extension performs an action, ie. opening a custom link in a new tab, in a new window, etc... * The extension would want to update a notification's content(if visible) when some updated data is received via a remote API. Those are our specific use cases. Shared workers sound like what we need though. @Drew, Does near future include the 4.0 release? Let us know if you need help testing this. Thanks a lot! On Mon, Nov 9, 2009 at 10:33 PM, John Gregg john...@google.com wrote: Hi Marcos, It might help if you could describe (as specifically as you feel you can) the use-case you're hoping to realize, since changes to the spec should be driven by use-cases rather than just programming style. At present my concern is to make sure we remain flexible with the presentation of notifications rather than building in too many hooks before the feature has received a lot of use. But if there's an important use-case that the spec doesn't meet, that would be a place to start. As far as workarounds that wouldn't depend on changing the Notifications spec, you might look at shared workers, which are coming soon to Chromium as well (atwilson@ can provide details): it should be the case that both the notification page and the main creating script can communicate via the same shared worker. -John On Mon, Nov 9, 2009 at 11:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've managed to use the Notifications API from our extension, thanks to John Gregg's implementation. However we are missing a key feature for us, which is to be able to have some logic inside the notifications itself, so that we can communicate with the background script for several things. I understand the way of communicating this components is under discussion, but are there any tips or clues for us to base our work on? We've tried setting something like background to the Notification object and try accesing it from the inner javascript in the notification, with no luck, ince we can only reach up to a DOMWindow object. The same goes backwards, where onDisplay we were trying to call a method in the notifications internal javscript, but we can go deeper from the Notification object. Inside the DOMWindow from the notification we can go through chrome.[windows/tabs/extension] but any call to those APIs will throw an access denied error. Is there any workaround or something we can do in the short term to accomplish this type of communication? Maybe something like what content scripts do with ports. What are the proposals for this under discussion? Thanks for your help. Marcos On Thu, Nov 5, 2009 at 6:22 PM, Marcos Aruj marcos.a...@gmail.comwrote: Ok, done: http://www.crbug.com/26859 I attached a crx to the report that triggers the bug. Thanks! On Thu, Nov 5, 2009 at 5:19 PM, John Gregg john...@google.com wrote: Thanks for the bug report, I am currently working on getting Notifications working for extensions and I'm familiar with this issue, although I don't think there is a bug for it yet. If you would create one I can update it as I get the fix checked in (which will hopefully be tomorrow, I think it's a fairly easy fix). -John On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, We've been testing the Notifications API and have shown them successfully on a regular page. We are trying to use it from within an extension, but Chromium crashes when calling requestPermission. It correctly asks to allow notifications for chrome-extension://XX/, but after allowing or denying, it crashes. Let me know if a bug needs to be created, if it's a known issue or if we are missing something. Thanks, Marcos On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote: Hi all, Quick question, how is the Notifications API going for the release of 4.0? Are there any news on this? Any sample code? Just wanted to know if we can rely on it now or if we should wait. Thanks! Marcos On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote: OK, that sounds reasonable to me. -Darin On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.comwrote: Not precisely embedding a TabContents; I'm drawing a custom toast using views and putting a RenderViewHost+RenderWidgetHostView in it. -John On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote: Is this accomplished by embedding a
[chromium-dev] Re: how to debug in webkit
That's it.Thanks to all! On 11月10日, 上午11时14分, Mohamed Mansour m...@chromium.org wrote: Hello, Chrome is a multi process architecture, you would have to attach the running child process with the debugger. The following document will show you how to do so.http://dev.chromium.org/developers/how-tos/debugging http://dev.chromium.org/developers/how-tos/debugging - Mohamed Mansour On Mon, Nov 9, 2009 at 10:03 PM, DavidZhang dreamst...@gmail.com wrote: Hi all: I have complied the chrome source,but when i set the breakpoint in webkit,It doesn't work. And i tried in other modules such as view,and it workes. I want to know how does it happens,and how to make the breakpoint works? That's all,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: Assertion failures on Mac OS are super slow
On Mon, Nov 9, 2009 at 5:03 PM, Dave MacLachlan dmacl...@google.com wrote: I haven't looked into it, but I'm assuming the reason it's so slow is because of the bad DSYM parsing in Leopard. It should be much faster in Snow Leopard, but that probably doesn't help you. That's probably right. I haven't seen this issue on Slow Leopard, and I was debugging a few crashes recently without problems. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---