[chromium-dev] Re: Readability mode prototyped in the wild

2009-03-05 Thread Simon

If a heuristic can judge the accuracy, then this readbility mode could
be offered as a hint in some part of the screen (top or bottom right,
similar to popup blocker does/used to do?).

Otherwise there is an option for a fallback solution. Look at Aardvark
(firefox plugin, https://addons.mozilla.org/en-US/firefox/addon/4111).
Basically it shows a frame around different HTML block elements, and
allows you to Isolate or Remove etc until you have the main article
left in there.

But maybe all of this still should go as an extension, rather than be
built into Chrome? Basically the readability mode would weed out third
party content, and some local stuff as well, leading to less ad
exposure. The latter might not be enough politically correct to have
as a default browser feature?

On Mar 4, 11:08 pm, Mike Beltzner beltz...@mozilla.com wrote:
 On 4-Mar-09, at 4:38 PM, Evan Martin wrote:



  Here's the core of that implementation:
 http://lab.arc90.com/experiments/readability/js/readability-0.1.js

  It's heuristic-based, e.g.:
     // Study all the paragraphs and find the chunk that has the most
  p's and keep it:

 For what it's worth, there are several reports on LifeHacker that the  
 selected heuristic doesn't end up working for a lot of pages, but it's  
 a clever start, to be  sure.

  I continue to feel that this is a huge use case for browsers and  
  something
  like this could be a major boon if the UI was right.

 Agreed. I think you'd need clearer controls about how to get back to  
 the full page, and probably a smooth transition from full page to  
 selected bit that uses visual momentum to keep the user's context.  
 Something similar to how the lightboxes on many websites use now, but  
 perhaps without the 3-d effect.

 Also, it might be powerful to let the user indicate the aspect of the  
 page they want to focus on.

 cheers,
 mike
--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Mac builds crash on every page

2009-03-05 Thread Mike Pinkerton

This morning's Mac build is a train wreck :( Every tab crashes while loading.

[52334:19459:1323448372606907:ERROR:/Users/pinkerton/src/trunk/src/chrome/common/ipc_channel_posix.cc(611)]
pipe error: Bad file descriptor
[52334:19459:1323448373087271:ERROR:/Users/pinkerton/src/trunk/src/chrome/common/ipc_channel_posix.cc(611)]
pipe error: Bad file descriptor
[52334:19459:1323448373829541:ERROR:/Users/pinkerton/src/trunk/src/chrome/common/ipc_channel_posix.cc(611)]
pipe error: Bad file descriptor
[52334:19459:1323448378028354:ERROR:/Users/pinkerton/src/trunk/src/chrome/common/ipc_channel_posix.cc(611)]
pipe error: Bad file descriptor
[52335:2055:1323448378336616:ERROR:/Users/pinkerton/src/trunk/src/chrome/common/ipc_channel_posix.cc(386)]
pipe error (3): Operation not permitted
[52334:19459:1323448378479984:WARNING:/Users/pinkerton/src/trunk/src/chrome/common/file_descriptor_set_posix.cc(17)]
FileDescriptorSet destroyed with unconsumed descriptors
[52334:19459:1323448378507560:WARNING:/Users/pinkerton/src/trunk/src/chrome/common/file_descriptor_set_posix.cc(17)]
FileDescriptorSet destroyed with unconsumed descriptors

It was ok yesterday afternoon. Does this look familiar to anyone?
Anyone know something that went in that might affect IPC channels?
None of that code appears to have changed in at least a week.

-- 
Mike Pinkerton
Mac Weenie
pinker...@google.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: Readability mode prototyped in the wild

2009-03-05 Thread Antony Sargent
I think I'd personally prefer the other page elements to remain in place,
but have their brightness dimmed down (the way Youtube/Hulu/etc. have a
turn down the lights feature - perhaps this is what Mike meant by
lightboxes?). For this to work well it would probably also have to stop
running flash elements similar to the flashkiller firefox addon.

On Thu, Mar 5, 2009 at 5:03 AM, Simon simon.boh...@gmail.com wrote:


 If a heuristic can judge the accuracy, then this readbility mode could
 be offered as a hint in some part of the screen (top or bottom right,
 similar to popup blocker does/used to do?).

 Otherwise there is an option for a fallback solution. Look at Aardvark
 (firefox plugin, https://addons.mozilla.org/en-US/firefox/addon/4111).
 Basically it shows a frame around different HTML block elements, and
 allows you to Isolate or Remove etc until you have the main article
 left in there.

 But maybe all of this still should go as an extension, rather than be
 built into Chrome? Basically the readability mode would weed out third
 party content, and some local stuff as well, leading to less ad
 exposure. The latter might not be enough politically correct to have
 as a default browser feature?

 On Mar 4, 11:08 pm, Mike Beltzner beltz...@mozilla.com wrote:
  On 4-Mar-09, at 4:38 PM, Evan Martin wrote:
 
 
 
   Here's the core of that implementation:
  http://lab.arc90.com/experiments/readability/js/readability-0.1.js
 
   It's heuristic-based, e.g.:
  // Study all the paragraphs and find the chunk that has the most
   p's and keep it:
 
  For what it's worth, there are several reports on LifeHacker that the
  selected heuristic doesn't end up working for a lot of pages, but it's
  a clever start, to be  sure.
 
   I continue to feel that this is a huge use case for browsers and
   something
   like this could be a major boon if the UI was right.
 
  Agreed. I think you'd need clearer controls about how to get back to
  the full page, and probably a smooth transition from full page to
  selected bit that uses visual momentum to keep the user's context.
  Something similar to how the lightboxes on many websites use now, but
  perhaps without the 3-d effect.
 
  Also, it might be powerful to let the user indicate the aspect of the
  page they want to focus on.
 
  cheers,
  mike
 


--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

I just verified that this patch completely broke everything.  You
committed late at night when no sheriff or anyone was around, and then
you went to bed.

Thanks for not testing your code, and not watching the tree go red after it.

Appreciation from another time zone,
-- dean

On Thu, Mar 5, 2009 at 7:38 AM,  hc...@chromium.org wrote:

 Author: hc...@chromium.org
 Date: Wed Mar  4 22:38:52 2009
 New Revision: 10972

 Log:
 Highlights of changes:
 1. Added entry to ResourceResponseHead so that it contains
   either a base::PlatformFile (OS_WIN) or
   base::FileDescriptor (OS_POSIX) for passing the file
   handle from browser to renderer process.
 2. Also added IPC messages for reporting download progress
   and ACK message for it. ResourceLoaderBridge::Peer::OnDownloadProgress
   is added so that the peer is notified of the download
   progress in the renderer process.
 3. Load flag to kick start the resource loading for media
   files. LOAD_MEDIA_RESOURCE is added so that
   ResourceDispatcherHost knows how to use a different
   ResourceHandler for handling media resource request.

 Review URL: http://codereview.chromium.org/27168

 Modified:
   trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
   trunk/src/chrome/browser/renderer_host/resource_handler.h
   trunk/src/chrome/common/render_messages.h
   trunk/src/chrome/common/render_messages_internal.h
   trunk/src/chrome/common/resource_dispatcher.cc
   trunk/src/chrome/common/resource_dispatcher.h
   trunk/src/net/base/load_flags.h
   trunk/src/net/http/http_cache.cc
   trunk/src/net/http/http_cache_unittest.cc
   trunk/src/net/url_request/url_request.h
   trunk/src/webkit/glue/resource_loader_bridge.h

 Modified: trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  
 (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  Wed 
 Mar  4 22:38:52 2009
 @@ -815,6 +815,15 @@
   response-response_head.content_length = request-GetExpectedContentSize();
   request-GetMimeType(response-response_head.mime_type);

 +  // Structure of ResourceResponseHead depends on the platform, so we do it
 +  // differently.
 +#if defined(OS_POSIX)
 +  response-response_head.response_data_file.fd = 
 request-response_data_file();
 +  response-response_head.response_data_file.auto_close = false;
 +#elif defined(OS_WIN)
 +  response-response_head.response_data_file = request-response_data_file();
 +#endif
 +
   if (request-ssl_info().cert) {
     int cert_id =
         CertStore::GetSharedInstance()-StoreCert(

 Modified: trunk/src/chrome/browser/renderer_host/resource_handler.h
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_handler.h   (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_handler.h   Wed Mar  4 
 22:38:52 2009
 @@ -12,6 +12,11 @@
  #ifndef CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_
  #define CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_

 +#include build/build_config.h
 +#if defined(OS_POSIX)
 +#include base/file_descriptor_posix.h
 +#endif
 +#include base/platform_file.h
  #include chrome/common/filter_policy.h
  #include net/url_request/url_request_status.h
  #include webkit/glue/resource_loader_bridge.h
 @@ -29,6 +34,20 @@
   // Specifies if the resource should be filtered before being displayed
   // (insecure resources can be filtered to keep the page secure).
   FilterPolicy::Type filter_policy;
 +
 +  // A platform specific handle for a file that carries response data. This
 +  // entry is used if the resource request is of type ResourceType::MEDIA and
 +  // the underlying cache layer keeps the response data in a standalone file.
 +#if defined(OS_POSIX)
 +  // If the response data file is available, the file handle is stored in
 +  // response_data_file.fd, its value is base::kInvalidPlatformFileValue
 +  // otherwise.
 +  base::FileDescriptor response_data_file;
 +#elif defined(OS_WIN)
 +  // An asynchronous file handle to the response data file, its value is
 +  // base::kInvalidPlatformFileValue if the file is not available.
 +  base::PlatformFile response_data_file;
 +#endif
  };

  // Parameters for a synchronous resource response.

 Modified: trunk/src/chrome/common/render_messages.h
 ==
 --- trunk/src/chrome/common/render_messages.h   (original)
 +++ trunk/src/chrome/common/render_messages.h   Wed Mar  4 22:38:52 2009
 @@ -377,6 +377,9 @@
      case ResourceType::OBJECT:
        type = LOBJECT;
        break;
 +     case ResourceType::MEDIA:
 +       type = LMEDIA;
 +       break;
      default:
        type = LUNKNOWN;
        break;
 @@ -1334,12 +1337,14 @@
     ParamTraitswebkit_glue::ResourceLoaderBridge::ResponseInfo::Write(m, p);
     WriteParam(m, 

[chromium-dev] Re: [chromium-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

I didn't mean that to be such a personal flame, we need to have some
better guards to prevent this from happening.  It's just frustrating
when the tree is broken for hours at a time.  It's happened a lot
lately, the tree has been closed and/or hosed for the majority of my
workday week.  The sheriff wakes up, reverts everything closes the
tree, nurses it back to heath, and then it happens again the next
morning.  It's not really a good strategy.

Maybe we need to limit the hours people are commit, if a sheriff isn't
around to fix things?  I don't really think that's a good strategy
either.  I don't know.

On Thu, Mar 5, 2009 at 5:34 PM, Dean McNamee de...@chromium.org wrote:
 I just verified that this patch completely broke everything.  You
 committed late at night when no sheriff or anyone was around, and then
 you went to bed.

 Thanks for not testing your code, and not watching the tree go red after it.

 Appreciation from another time zone,
 -- dean

 On Thu, Mar 5, 2009 at 7:38 AM,  hc...@chromium.org wrote:

 Author: hc...@chromium.org
 Date: Wed Mar  4 22:38:52 2009
 New Revision: 10972

 Log:
 Highlights of changes:
 1. Added entry to ResourceResponseHead so that it contains
   either a base::PlatformFile (OS_WIN) or
   base::FileDescriptor (OS_POSIX) for passing the file
   handle from browser to renderer process.
 2. Also added IPC messages for reporting download progress
   and ACK message for it. ResourceLoaderBridge::Peer::OnDownloadProgress
   is added so that the peer is notified of the download
   progress in the renderer process.
 3. Load flag to kick start the resource loading for media
   files. LOAD_MEDIA_RESOURCE is added so that
   ResourceDispatcherHost knows how to use a different
   ResourceHandler for handling media resource request.

 Review URL: http://codereview.chromium.org/27168

 Modified:
   trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
   trunk/src/chrome/browser/renderer_host/resource_handler.h
   trunk/src/chrome/common/render_messages.h
   trunk/src/chrome/common/render_messages_internal.h
   trunk/src/chrome/common/resource_dispatcher.cc
   trunk/src/chrome/common/resource_dispatcher.h
   trunk/src/net/base/load_flags.h
   trunk/src/net/http/http_cache.cc
   trunk/src/net/http/http_cache_unittest.cc
   trunk/src/net/url_request/url_request.h
   trunk/src/webkit/glue/resource_loader_bridge.h

 Modified: trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  
 (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  Wed 
 Mar  4 22:38:52 2009
 @@ -815,6 +815,15 @@
   response-response_head.content_length = request-GetExpectedContentSize();
   request-GetMimeType(response-response_head.mime_type);

 +  // Structure of ResourceResponseHead depends on the platform, so we do it
 +  // differently.
 +#if defined(OS_POSIX)
 +  response-response_head.response_data_file.fd = 
 request-response_data_file();
 +  response-response_head.response_data_file.auto_close = false;
 +#elif defined(OS_WIN)
 +  response-response_head.response_data_file = 
 request-response_data_file();
 +#endif
 +
   if (request-ssl_info().cert) {
     int cert_id =
         CertStore::GetSharedInstance()-StoreCert(

 Modified: trunk/src/chrome/browser/renderer_host/resource_handler.h
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_handler.h   (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_handler.h   Wed Mar  4 
 22:38:52 2009
 @@ -12,6 +12,11 @@
  #ifndef CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_
  #define CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_

 +#include build/build_config.h
 +#if defined(OS_POSIX)
 +#include base/file_descriptor_posix.h
 +#endif
 +#include base/platform_file.h
  #include chrome/common/filter_policy.h
  #include net/url_request/url_request_status.h
  #include webkit/glue/resource_loader_bridge.h
 @@ -29,6 +34,20 @@
   // Specifies if the resource should be filtered before being displayed
   // (insecure resources can be filtered to keep the page secure).
   FilterPolicy::Type filter_policy;
 +
 +  // A platform specific handle for a file that carries response data. This
 +  // entry is used if the resource request is of type ResourceType::MEDIA 
 and
 +  // the underlying cache layer keeps the response data in a standalone 
 file.
 +#if defined(OS_POSIX)
 +  // If the response data file is available, the file handle is stored in
 +  // response_data_file.fd, its value is base::kInvalidPlatformFileValue
 +  // otherwise.
 +  base::FileDescriptor response_data_file;
 +#elif defined(OS_WIN)
 +  // An asynchronous file handle to the response data file, its value is
 +  // base::kInvalidPlatformFileValue if the file is not available.
 +  base::PlatformFile 

[chromium-dev] Re: [chromium-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Nicolas Sylvain
There is one thing though, I don't think hclam checkin turned any Linux
tests red. The linux build was unusable, but the unit tests and layout tests
were passing. It seems like there is a lack of tests here.
When I woke up I reverted his change because it broke Purify on windows and
another unit test on windows, on only 1 bot.  There is a possibility that he
did wait, but did not judge that the tree was red enough to worry about it.
(the unit test did look like a flakyness, and Purify is often slow to give
results).

I learned just after the revert that it did fix the problem with linux.

So, my recommendations:

1. hclam: don't resubmit until you are sure it does not break linux. I'm
sure any linux people here can help you with this.
2. linux people: We need more tests.
3. Everyone: If the tree is broken, and no sheriff is around, please, try to
find what broke it, and revert the change.

If the tree is broken because of a problem with the buildbots, and no one is
around to fix it, you can also page me. (I'll add the email alias to my who
page).

Nicolas


On Thu, Mar 5, 2009 at 8:47 AM, Amanda Walker ama...@chromium.org wrote:


 On Thu, Mar 5, 2009 at 11:41 AM, Dean McNamee de...@chromium.org wrote:
  Maybe we need to limit the hours people are commit, if a sheriff isn't
  around to fix things?  I don't really think that's a good strategy
  either.  I don't know.

 Well, it's not the sheriff's responsibility to fix every checkin,
 they're just there as a safety net.  All of us should be making sure
 we don't break the build, every time we commit something.  I don't
 think limiting commit hours is a workable strategy, given how many
 people are working across so many time zones.  However, last night was
 a good reminder that no one should ever commit and then leave without
 watching the build to make sure it landed cleanly.  It just leaves a
 mess for other people, which is unfriendly.

 --Amanda

 


--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

On Thu, Mar 5, 2009 at 6:01 PM, Nicolas Sylvain nsylv...@chromium.org wrote:
 There is one thing though, I don't think hclam checkin turned any Linux
 tests red. The linux build was unusable, but the unit tests and layout tests
 were passing. It seems like there is a lack of tests here.

Yeah, we aren't running UI tests yet, and that would have caught this
(or page cycler or anything else).  I think we're getting close, but
there is a bunch of things involved to get everything working.  We
definitely need better testing, but I think we're all test burnt out
from working on layout tests, and just want to get some of our UI
going.

 When I woke up I reverted his change because it broke Purify on windows and
 another unit test on windows, on only 1 bot.  There is a possibility that he
 did wait, but did not judge that the tree was red enough to worry about it.
 (the unit test did look like a flakyness, and Purify is often slow to give
 results).
 I learned just after the revert that it did fix the problem with linux.
 So, my recommendations:
 1. hclam: don't resubmit until you are sure it does not break linux. I'm
 sure any linux people here can help you with this.
 2. linux people: We need more tests.
 3. Everyone: If the tree is broken, and no sheriff is around, please, try to
 find what broke it, and revert the change.

I pretty much wasted my day doing 3).  It was my fault for not
starting at the top and just going down, reverting, rebuild, etc.
That would have found it pretty quickly.  Mostly because it takes so
long to build, I instead tried to debug it, hoping I would find the
answer quickly.  In the end I chased a bunch of wrong ideas and wasted
a ton of time on it.

 If the tree is broken because of a problem with the buildbots, and no one is
 around to fix it, you can also page me. (I'll add the email alias to my who
 page).

It's not so fair to wake you up in the middle of the night.  I'd
rather just take the day off :)

I'm sure I was far too hard on hclam, I'm not super angry or anything.
 I am just trying to point out a problem that we continually seem to
have, and we obviously need to improve here and have clear steps about
how we're doing it.  More tests on Mac and Linux definitely need to
happen.  If SVN wasn't so slow, I would have just sync'd back a few
revisions.  We should make our build and source control faster, the
build I know we're working on.

I think also some improvement to the waterfall is going to be really
helpful.  We have so many builds and builders and tests now, it's
really hard to take all the information in.  When there is a problem,
we should have like a top 10 recent shady commits page, which tries
to attribute new failures across all our builders and tests to a
change list.  It's often hard to tell from a single builder if a patch
was bad, but if it caused a purify problem here, another problem here,
etc, then at least that would give people a good starting point of
where to look when they think the tree has gone sour.  We also
obviously need to improve our test flakiness.

I've committed more than my share of shady patches, and I think so has
the rest of the team.  Again, I didn't meant to try to blame things so
personally.  And you're right, even when you do commit and watch the
tree, it's often hard to tell the outcome, when it goes from kinda
red to still kinda red, that isn't a great gauge.  It just seems
with all of the new platforms / code / complexity, we need some better
ways of managing when it happens, because it's going to keep on
happening.  I think the outcome goal should be to not have sheriffs,
and to have a system that can handle itself.

 Nicolas

 On Thu, Mar 5, 2009 at 8:47 AM, Amanda Walker ama...@chromium.org wrote:

 On Thu, Mar 5, 2009 at 11:41 AM, Dean McNamee de...@chromium.org wrote:
  Maybe we need to limit the hours people are commit, if a sheriff isn't
  around to fix things?  I don't really think that's a good strategy
  either.  I don't know.

 Well, it's not the sheriff's responsibility to fix every checkin,
 they're just there as a safety net.  All of us should be making sure
 we don't break the build, every time we commit something.  I don't
 think limiting commit hours is a workable strategy, given how many
 people are working across so many time zones.  However, last night was
 a good reminder that no one should ever commit and then leave without
 watching the build to make sure it landed cleanly.  It just leaves a
 mess for other people, which is unfriendly.

 --Amanda

 



--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Amanda Walker

On Thu, Mar 5, 2009 at 12:38 PM, Alpha (Hin-Chung) Lam hc...@google.com wrote:
 everytime I do a checkin I do a sync and send it
 to the try server, which really takes me a lot of time, but still try server
 is showing me green light to check in, am I suppose to not trust the try
 server and rely on human intelligence?

In this case watching the build wouldn't have helped, since the
buildbots stayed green (I had misinterpreted Dean's original message,
the tone of which he has since apologized for).

However, to answer the general question, you should not completely
trust the try server.  If the try server breaks, it's a very good
indication that an actual commit would break, but the reverse is not
true.  If the try server succeeds, it doesn't mean that a commit will
succeed, since the try server runs fewer tests (and there may be
commits to the tree in between doing a try and doing a commit).  So
even if the try succeeds, it's still important to watch the buildbots
to make sure the actual commit also succeeds.  That wasn't the problem
in this instance (you wouldn't have seen this failure), but I wanted
to make sure people don't rely too much on the try server.  It's a
good preflight check, but it won't catch everything.

--Amanda

--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

On Thu, Mar 5, 2009 at 7:03 PM, Alpha (Hin-Chung) Lam hc...@google.com wrote:

 2009/3/5 Amanda Walker ama...@chromium.org

 On Thu, Mar 5, 2009 at 12:38 PM, Alpha (Hin-Chung) Lam hc...@google.com
 wrote:
  everytime I do a checkin I do a sync and send it
  to the try server, which really takes me a lot of time, but still try
  server
  is showing me green light to check in, am I suppose to not trust the try
  server and rely on human intelligence?

 In this case watching the build wouldn't have helped, since the
 buildbots stayed green (I had misinterpreted Dean's original message,
 the tone of which he has since apologized for).

 However, to answer the general question, you should not completely
 trust the try server.  If the try server breaks, it's a very good
 indication that an actual commit would break, but the reverse is not
 true.  If the try server succeeds, it doesn't mean that a commit will
 succeed, since the try server runs fewer tests (and there may be
 commits to the tree in between doing a try and doing a commit).  So
 even if the try succeeds, it's still important to watch the buildbots
 to make sure the actual commit also succeeds.  That wasn't the problem
 in this instance (you wouldn't have seen this failure), but I wanted
 to make sure people don't rely too much on the try server.  It's a
 good preflight check, but it won't catch everything.

 Thanks Amanda and Nicolas for the clarifactions.
 Sorry Dean for wasting your time to debug, I should have comminucated better
 as the patch really is posix specific.
 Sorry all chromium commiters if I have caused trouble to you.

Hey, it's no big deal.  I just want to make sure we took the instance
as an example of how we can improve our build setup, and how we can
keep the tree more stable.


 Alpha


 --Amanda


 


--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Marc-Antoine Ruel

I looked at yesterday Alpha's try run on linux, the try server runs ui
tests and it was green. The mac try slave were dead last evening. I
would only blame poor testing on linux side.

I'm adding ui testprinting tests on modules mac  linux on next master restart.

And oh, please read the 3 lines manual at
http://build.chromium.org/buildbot/try-server

Thanks,

M-A

On Thu, Mar 5, 2009 at 1:05 PM, Dean McNamee de...@chromium.org wrote:

 On Thu, Mar 5, 2009 at 7:03 PM, Alpha (Hin-Chung) Lam hc...@google.com 
 wrote:

 2009/3/5 Amanda Walker ama...@chromium.org

 On Thu, Mar 5, 2009 at 12:38 PM, Alpha (Hin-Chung) Lam hc...@google.com
 wrote:
  everytime I do a checkin I do a sync and send it
  to the try server, which really takes me a lot of time, but still try
  server
  is showing me green light to check in, am I suppose to not trust the try
  server and rely on human intelligence?

 In this case watching the build wouldn't have helped, since the
 buildbots stayed green (I had misinterpreted Dean's original message,
 the tone of which he has since apologized for).

 However, to answer the general question, you should not completely
 trust the try server.  If the try server breaks, it's a very good
 indication that an actual commit would break, but the reverse is not
 true.  If the try server succeeds, it doesn't mean that a commit will
 succeed, since the try server runs fewer tests (and there may be
 commits to the tree in between doing a try and doing a commit).  So
 even if the try succeeds, it's still important to watch the buildbots
 to make sure the actual commit also succeeds.  That wasn't the problem
 in this instance (you wouldn't have seen this failure), but I wanted
 to make sure people don't rely too much on the try server.  It's a
 good preflight check, but it won't catch everything.

 Thanks Amanda and Nicolas for the clarifactions.
 Sorry Dean for wasting your time to debug, I should have comminucated better
 as the patch really is posix specific.
 Sorry all chromium commiters if I have caused trouble to you.

 Hey, it's no big deal.  I just want to make sure we took the instance
 as an example of how we can improve our build setup, and how we can
 keep the tree more stable.


 Alpha


 --Amanda


 


 


--~--~-~--~~~---~--~~
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: Visual Studio chrome solution /Plugin development / does not build a .lib for dlls

2009-03-05 Thread Pavel Ivanov

About 2: I was just faced with the same problem in another project on
my job. And it turned out that Visual Studio doesn't create *.lib file
if there's no functions declared with __declspec(dllexport) or
mentioned in *.def file in the project. Nothing to export from dll -
no *.lib required. ;-)
You can check if this is the case for you with depends.exe.

Pavel

On Thu, Mar 5, 2009 at 4:07 PM, eager_learner
vijay.sankar.ra...@gmail.com wrote:

 Hello folks building Chrome on Visual Studio 2008 or 2005.

 I have been trying to integrate a third-party library into chrome to
 develop and test a plugin. Just like all plugins, this will be built
 as a dll which should summoned for designated content-type.

 I have read in many postings that the NPAPI like external API to
 develop plugins will be available in May so I decided to get on with
 work and implement this as an internal plugin by hacking my way
 through plugin_list.cc and the Glue.vcproject.

 When I navigate to my test site with content-type, the plugin does get
 invoked. However all this code is added to the glue.vcproject. I have
 the code for the thirdparty library that I made a dll project. Here is
 where the problem starts

 1. Glue.vcproject builds a static library (.lib) which calls functions
 from my third-party project which is built as a DLL. Is this plain
 wrong? Can a static library make calls to a dynamic library?

 2. I was able to build Glue.vcproject when I added my third-party
 project as project dependency to Glue.vcproject. However, chrome_dll
 which links to Glue.lib did not link complaining about unresolved
 references. It was looking for my project.lib. But magically, my
 project.vcproj only builds the dll no accompanying .lib. I have tried
 turning on and off various vcProject options... In the build output, I
 clearly see /DYNAMICBASE:NO /FIXED:No /IMPLIB being used.

 I am clueless and would like to know and can share my windows
 messenger id so that someone can take a look at the vcproject to find
 out what could be going wrong.

 Sincerely
 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Accesskeys on the Mac

2009-03-05 Thread Avi Drissman
The definition of what the accesskey modifier is the result of
EventHandler::accessKeyModifiers(). On Windows it's
althttp://trac.webkit.org/browser/trunk/WebCore/page/win/EventHandlerWin.cpp,
and on Chromium it's also
althttp://trac.webkit.org/browser/trunk/WebCore/page/chromium/EventHandlerChromium.cpp
.

The question is: What to make it on the Mac? And how to do it right?

Mozilla apparently switched recently to use the command key. They used to
use the control key. What does Safari use? Much more difficult question. The
codehttp://trac.webkit.org/browser/trunk/WebCore/page/mac/EventHandlerMac.mmsays:

unsigned EventHandler::accessKeyModifiers()
 {
 // Control+Option key combinations are usually unused on Mac OS X, but
 not when VoiceOver is enabled.
 // So, we use Control in this case, even though it conflicts with
 Emacs-style key bindings.
 // See https://bugs.webkit.org/show_bug.cgi?id=21107 for more
 detail.
 if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
 return PlatformKeyboardEvent::CtrlKey;

 return PlatformKeyboardEvent::CtrlKey | PlatformKeyboardEvent::AltKey;
 }


And if you go to the layout test, you'll see that on the Mac it uses the
modifiers ctrl+alt. This solution is problematic for two reasons.

The first is that using a dual modifier sucks. It makes it extremely
difficult to use accesskeys.

The second is that triggering them with a single modifier (just the ctrl
key) on my machine works fine in Safari. Which puts me in a quandary,
because I'm not sure how Safari's doing that (I'm digging now). If we alter
our accessKeyModifiers() to return the dual modifier, layout tests start
passing, but it's hard to use. If we use just ctrl, then it's easy to use
but we fail tests. And somehow Safari does both...

Avi

--~--~-~--~~~---~--~~
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: Accesskeys on the Mac

2009-03-05 Thread Ben Goodger (Google)

It sounds like they only use the single modifier when the
accessibility system setting is turned on, otherwise they use the dual
one. Why don't we just do the same thing? I'm pretty sure we should
match the platform default browser instead of emacs.

-Ben

On Thu, Mar 5, 2009 at 1:22 PM, Avi Drissman a...@google.com wrote:
 The definition of what the accesskey modifier is the result of
 EventHandler::accessKeyModifiers(). On Windows it's alt, and on Chromium
 it's also alt.

 The question is: What to make it on the Mac? And how to do it right?

 Mozilla apparently switched recently to use the command key. They used to
 use the control key. What does Safari use? Much more difficult question. The
 code says:

 unsigned EventHandler::accessKeyModifiers()
 {
     // Control+Option key combinations are usually unused on Mac OS X, but
 not when VoiceOver is enabled.
     // So, we use Control in this case, even though it conflicts with
 Emacs-style key bindings.
     // See https://bugs.webkit.org/show_bug.cgi?id=21107 for more
 detail.
     if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
     return PlatformKeyboardEvent::CtrlKey;

     return PlatformKeyboardEvent::CtrlKey | PlatformKeyboardEvent::AltKey;
 }

 And if you go to the layout test, you'll see that on the Mac it uses the
 modifiers ctrl+alt. This solution is problematic for two reasons.

 The first is that using a dual modifier sucks. It makes it extremely
 difficult to use accesskeys.

 The second is that triggering them with a single modifier (just the ctrl
 key) on my machine works fine in Safari. Which puts me in a quandary,
 because I'm not sure how Safari's doing that (I'm digging now). If we alter
 our accessKeyModifiers() to return the dual modifier, layout tests start
 passing, but it's hard to use. If we use just ctrl, then it's easy to use
 but we fail tests. And somehow Safari does both...

 Avi

 


--~--~-~--~~~---~--~~
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: Accesskeys on the Mac

2009-03-05 Thread Avi Drissman
And when I build WebKit and run it in Safari, only ctrl+alt work. Weird. I'm
doing testing now to see what this fixes.

Avi

On Thu, Mar 5, 2009 at 4:38 PM, Avi Drissman a...@google.com wrote:

 That value gets set in WebKit's WebFrame.mm:

 if ([[NSApp 
 accessibilityAttributeValue:NSAccessibilityEnhancedUserInterfaceAttribute] 
 boolValue])
 AXObjectCache::*enableEnhancedUserInterfaceAccessibility*();

 What is that mysterious NSAccessibilityEnhancedUserInterfaceAttribute? It's
 a secret AppKit value, equaling @AXEnhancedUserInterface. What's *that*?

 Oh, it's a magical value set by VoiceOver as a hint to certain internal
 AppKit controls to alter their behavior slightly to make life better for it.
 (See
 http://lists.apple.com/archives/accessibility-dev/2006/Feb/msg9.html). 
 That message is the only documentation past seeing it in WebKit archives.

 I'm fine with this, but I just want to know how I can do both...

 Avi



 On Thu, Mar 5, 2009 at 4:34 PM, Thomas Van Lenten 
 thoma...@chromium.orgwrote:

 Does the universal access setting w/in safari's prefs change this in any
 way?

 TVL



 On Thu, Mar 5, 2009 at 4:30 PM, Avi Drissman a...@google.com wrote:

 I'm trying to figure out the exact meaning of
 accessibilityEnhancedUserInterfaceEnabled because I'm getting that effect on
 my Mac without any accessibility. In addition, what I forgot to mention is
 that *both* ctrl *and* ctrl+alt work in Safari for me, while we can only
 pick one to return from accessKeyModifiers() and whichever one we don't
 return doesn't work.

 Avi


 On Thu, Mar 5, 2009 at 4:24 PM, Ben Goodger (Google) 
 b...@chromium.orgwrote:

 It sounds like they only use the single modifier when the
 accessibility system setting is turned on, otherwise they use the dual
 one. Why don't we just do the same thing? I'm pretty sure we should
 match the platform default browser instead of emacs.

 -Ben

 On Thu, Mar 5, 2009 at 1:22 PM, Avi Drissman a...@google.com wrote:
  The definition of what the accesskey modifier is the result of
  EventHandler::accessKeyModifiers(). On Windows it's alt, and on
 Chromium
  it's also alt.
 
  The question is: What to make it on the Mac? And how to do it right?
 
  Mozilla apparently switched recently to use the command key. They used
 to
  use the control key. What does Safari use? Much more difficult
 question. The
  code says:
 
  unsigned EventHandler::accessKeyModifiers()
  {
  // Control+Option key combinations are usually unused on Mac OS
 X, but
  not when VoiceOver is enabled.
  // So, we use Control in this case, even though it conflicts with
  Emacs-style key bindings.
  // See https://bugs.webkit.org/show_bug.cgi?id=21107 for more
  detail.
  if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
  return PlatformKeyboardEvent::CtrlKey;
 
  return PlatformKeyboardEvent::CtrlKey |
 PlatformKeyboardEvent::AltKey;
  }
 
  And if you go to the layout test, you'll see that on the Mac it uses
 the
  modifiers ctrl+alt. This solution is problematic for two reasons.
 
  The first is that using a dual modifier sucks. It makes it extremely
  difficult to use accesskeys.
 
  The second is that triggering them with a single modifier (just the
 ctrl
  key) on my machine works fine in Safari. Which puts me in a quandary,
  because I'm not sure how Safari's doing that (I'm digging now). If we
 alter
  our accessKeyModifiers() to return the dual modifier, layout tests
 start
  passing, but it's hard to use. If we use just ctrl, then it's easy to
 use
  but we fail tests. And somehow Safari does both...
 
  Avi
 
  
 



 




--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Mergers: ignore InspectorController changes for a little while.

2009-03-05 Thread Dimitri Glazkov

If you don't do the merges, you can stop reading now -- though you
might ask yourself why you're not doing the merges. They are so much
fun.

In the next few days (hopefully not weeks), I am making changes to
InspectorController in an effort to unfork it. This is the good news.
The bad news is that there's a certain transition period, during which
merging InspectorController will seem a little bit ... difficult. So,
to make your merging work easier, here are the instructions:

* Don't accept any changes from upstream to InspectorController.(cpp|h|idl).

See? Easy!

:DG

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] More plugin questions

2009-03-05 Thread eager_learner

Hello Plugin Gurus

The following link is very well written and I hope it still holds good
http://sites.google.com/a/chromium.org/dev/developers/design-documents/plugin-architecture

I have some followup questions on plugin development (internal)

1. Based on the plugin architecture design document, can you point me
to an existing plugin (flash, shockwave, activeX) code file names? The
source Navigator project that I have created does not show any
inheritance of WebPplugin

2. Again the debugging process seems a little difficult if new
processes are spawned (one for the browser, one for the renderer and
one for the plugin). How can we attach Visual Studio to the plugin?

3. Do plugin writers need to know anything about the class
PluginInstance? It seems to create the WebPlugin or atleast gets
passed it and has a reference to it.

Simply put, what needs to be done by plugin developers to develop an
internal plugin? Does the NPAPI need to know about the PluginInstance?

Perhaps there is a clearer document that explains this.

Thanks
Vijay
--~--~-~--~~~---~--~~
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: Profile Corruption, cause?

2009-03-05 Thread Mark Larson (Google)
Mohamed,

I'm glad to see your interest in tackling this problem.

Unfortunately, that data is collected under an agreement between the user
and Google, so we cannot share the dumps. It's OK to share the stack traces,
which have no personally identifying information, but I'm not sure we can
even find a set of reports definitely correlated with profile corruption.
This makes me wonder if we should have an integrity check when we detect
that the browser crashed in the previous session. It might be useful to
offer to reset the user's profile or (ideally) drop the parts that are
corrupt. I'd personally rather drop my entire browsing history to keep my
saved passwords (and vice versa). The UI would have to be diplomatic.

Maybe some developers who have dealt with corruption issues in the past can
provide some advice on things we could do to address corruption.

Thanks,
Mark

On Thu, Mar 5, 2009 at 21:09, Mohamed Mansour m0.interact...@gmail.comwrote:

 Hello, on the Google Help Forums, 80-85% of the crashes reported there are
 due to profile corruptions. What they have to do is run chrome in a new user
 directory, chrome.exe --user-data-dir=c:\foo, or deleting the local state
 file.
 Anyone have any idea what may of caused this? Users who don't know the
 answer to this problem, usually give up using the browser. Chrome is a great
 browser, and its sad to see people not using it because of this. If anyone
 has any crash logs due to this (from user reporting), and since its internal
 to Google, can you share the stack trace? I would like to spend one weekend
 taking a look at it.

 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: Profile Corruption, cause?

2009-03-05 Thread Finnur Thorarinsson
I suspect this is like crashes due to memory corruption: It won't do much
good to stare at the call stack at the time corruption was detected; we need
to know the stack at the time corruption occurred (assuming this is Chrome
that is corrupting the profile).
For memory corruptions we have gflags; I wonder if there is something in
SqlLite that can help us here?


On Thu, Mar 5, 2009 at 22:20, Mark Larson (Google) m...@chromium.org wrote:

 Mohamed,

 I'm glad to see your interest in tackling this problem.

 Unfortunately, that data is collected under an agreement between the user
 and Google, so we cannot share the dumps. It's OK to share the stack traces,
 which have no personally identifying information, but I'm not sure we can
 even find a set of reports definitely correlated with profile corruption.
 This makes me wonder if we should have an integrity check when we detect
 that the browser crashed in the previous session. It might be useful to
 offer to reset the user's profile or (ideally) drop the parts that are
 corrupt. I'd personally rather drop my entire browsing history to keep my
 saved passwords (and vice versa). The UI would have to be diplomatic.

 Maybe some developers who have dealt with corruption issues in the past can
 provide some advice on things we could do to address corruption.

 Thanks,
 Mark

 On Thu, Mar 5, 2009 at 21:09, Mohamed Mansour m0.interact...@gmail.comwrote:

 Hello, on the Google Help Forums, 80-85% of the crashes reported there are
 due to profile corruptions. What they have to do is run chrome in a new user
 directory, chrome.exe --user-data-dir=c:\foo, or deleting the local state
 file.
 Anyone have any idea what may of caused this? Users who don't know the
 answer to this problem, usually give up using the browser. Chrome is a great
 browser, and its sad to see people not using it because of this. If anyone
 has any crash logs due to this (from user reporting), and since its internal
 to Google, can you share the stack trace? I would like to spend one weekend
 taking a look at it.

 Thanks!




 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---