Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 96889 There should be more space for the description of the pane switcher in the NTP
Starred by 15 users Project Member Reported by meh...@chromium.org, Sep 16 2011 Back to list
Status: Fixed
Owner:
Closed: Mar 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment
Chrome Version       : 16.0.883.0 (Entwickler-Build 101355 Mac OS X)
URLs (if applicable) :
OS version               : Mac OS 10.6.8
Behavior in Chrome for Windows: not tested

What steps will reproduce the problem?
1. go to NTP
2. take a look at description of the pane switcher in my attached screencast

What is the expected result? What happens instead?
The german translation of "Most Visited" is not completely to see. The pane switchers should be a little bit larger.

***Not sure if this issue is Mac-Only.***

Thanks and regards
Mehmet
 
NTP_bug.mov
669 KB Download
Comment 1 by mark@chromium.org, Sep 19 2011
Owner: estade@chromium.org
Status: Assigned
Not sure we want to do this. OK to WontFix in my opinion. This behaves how text fields are supposed to behave when their content is longer than their box. We can’t necessarily account for every localization in situations like this.
Comment 2 by estade@chromium.org, Sep 19 2011
Cc: estade@chromium.org
Owner: alcor@google.com
Cole to determine desired behavior
Comment 3 by estade@chromium.org, Sep 20 2011
 Issue 97173  has been merged into this issue.
I think that 97173 is a conceptually different issue though they could be solved at once. While WontFix might be OK for 96889, it's unlikely in the case of 97173. 

97173 is a major annoyance while 96889 is a minor annoyance: label is not fully visible in view-mode versus edit-mode.
Comment 5 by meh...@chromium.org, Sep 23 2011
 Issue 97730  has been merged into this issue.
Comment 6 by meh...@chromium.org, Sep 24 2011
 Issue 97769  has been merged into this issue.
Comment 7 by krtul...@gmail.com, Sep 24 2011
In Comment 1, mark@chromium.org wrote: We can’t necessarily account for every localization
in situations like this.

My question is why not?  Doesn't Google Chrome *OFFICIALLY* supporting its entire list
of supported languages means you *MUST* account for every localization in *ALL* such
situations for *ALL* supported languages?
Comment 8 by meh...@chromium.org, Sep 25 2011
Maybe we could use a fade out effect (if possible) like in the bookmarks bar. I think this would be a good solution for all :-)

***Mockup attached***
fade_out.png
6.8 KB View Download
Comment 9 by stomi0...@gmail.com, Sep 25 2011
Or you can use pictograms instead of text.
Comment 10 Deleted
Comment 11 Deleted
Comment 12 Deleted
Project Member Comment 13 by bugdroid1@chromium.org, Oct 13 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=105404

------------------------------------------------------------------------
r105404 | zea@chromium.org | Thu Oct 13 16:03:36 PDT 2011

Changed paths:
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/frontend_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/syncable_service_adapter.cc?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.h?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_mock.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service_unittest.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_mock.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_preference_unittest.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/syncable_service.h?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.h?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_unittest.cc?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.cc?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_autofill_unittest.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.cc?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.h?r1=105404&r2=105403&pathrev=105404
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.cc?r1=105404&r2=105403&pathrev=105404
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.h?r1=105404&r2=105403&pathrev=105404

[Sync] Refactor non-frontend DTC to handle new API properly.

We now support disconnecting the syncableservice from the syncer via
it's sync change processor. AutofillProfile has been modified to support
this. As a result of the refactor and this disconnect functionality, we don't
need to block sync shutdown on datatypes implemented the new API, even
if they don't run on the UI thread.

From here on, datatypes that are not on the UI thread should have their
controller inherit from NewNonFrontendDataTypeController, and should
have their syncable service take ownership of the sync change processor it
receives.

A remaining TODO is to apply these changes to UI thread based datatypes.
This involves having them all take ownership of their sync change processors
(this change has their datatype controllers take ownership instead)
and creating a new parent datatype controller class that is API aware,
allowing us to remove the SyncableServiceAdapater completely. See
crbug.com/100114.

BUG= 96889 
TEST=unit_tests, integration tests

Review URL: http://codereview.chromium.org/8065016
------------------------------------------------------------------------
Project Member Comment 14 by bugdroid1@chromium.org, Oct 13 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=105408

------------------------------------------------------------------------
r105408 | zea@chromium.org | Thu Oct 13 16:13:45 PDT 2011

Changed paths:
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/frontend_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/syncable_service_adapter.cc?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.h?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_mock.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service_unittest.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_mock.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_preference_unittest.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/syncable_service.h?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.h?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_unittest.cc?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.cc?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_autofill_unittest.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.cc?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.h?r1=105408&r2=105407&pathrev=105408
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.cc?r1=105408&r2=105407&pathrev=105408
 D http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.h?r1=105408&r2=105407&pathrev=105408

Revert 105404 - [Sync] Refactor non-frontend DTC to handle new API properly.

We now support disconnecting the syncableservice from the syncer via
it's sync change processor. AutofillProfile has been modified to support
this. As a result of the refactor and this disconnect functionality, we don't
need to block sync shutdown on datatypes implemented the new API, even
if they don't run on the UI thread.

From here on, datatypes that are not on the UI thread should have their
controller inherit from NewNonFrontendDataTypeController, and should
have their syncable service take ownership of the sync change processor it
receives.

A remaining TODO is to apply these changes to UI thread based datatypes.
This involves having them all take ownership of their sync change processors
(this change has their datatype controllers take ownership instead)
and creating a new parent datatype controller class that is API aware,
allowing us to remove the SyncableServiceAdapater completely. See
crbug.com/100114.

BUG= 96889 
TEST=unit_tests, integration tests

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

TBR=zea@chromium.org
Review URL: http://codereview.chromium.org/8274020
------------------------------------------------------------------------
Project Member Comment 15 by bugdroid1@chromium.org, Oct 14 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=105431

------------------------------------------------------------------------
r105431 | zea@chromium.org | Thu Oct 13 18:08:09 PDT 2011

Changed paths:
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/frontend_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/syncable_service_adapter.cc?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_mock.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.h?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_mock.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service_unittest.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/app_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_mock.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/preference_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_preference_unittest.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/sync_change_processor.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/api/syncable_service.h?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_factory_impl.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/generic_change_processor.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.h?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/non_frontend_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller_unittest.cc?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/new_non_frontend_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/extension_data_type_controller.cc?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_mock.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/profile_sync_service_autofill_unittest.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/webdata/autofill_profile_syncable_service.cc?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/search_engine_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/autofill_profile_data_type_controller.h?r1=105431&r2=105430&pathrev=105431
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/change_processor.cc?r1=105431&r2=105430&pathrev=105431
 A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/shared_change_processor_ref.h?r1=105431&r2=105430&pathrev=105431

Reland r105404 with compile warning fix.

[Sync] Refactor non-frontend DTC to handle new API properly.

We now support disconnecting the syncableservice from the syncer via
it's sync change processor. AutofillProfile has been modified to support
this. As a result of the refactor and this disconnect functionality, we don't
need to block sync shutdown on datatypes implemented the new API, even
if they don't run on the UI thread.

From here on, datatypes that are not on the UI thread should have their
controller inherit from NewNonFrontendDataTypeController, and should
have their syncable service take ownership of the sync change processor it
receives.

A remaining TODO is to apply these changes to UI thread based datatypes.
This involves having them all take ownership of their sync change processors
(this change has their datatype controllers take ownership instead)
and creating a new parent datatype controller class that is API aware,
allowing us to remove the SyncableServiceAdapater completely. See
crbug.com/100114.

BUG= 96889 
TEST=unit_tests, integration tests
TBR=akalin@chromium.org

Original codereview at: http://codereview.chromium.org/8065016/

Review URL: http://codereview.chromium.org/8275018
------------------------------------------------------------------------
Comment 16 by zea@chromium.org, Oct 14 2011
Please disregard those previous commits, those were related to  bug 96899  :-(
Comment 17 by dhw@chromium.org, Oct 28 2011
Cc: coryferreria@google.com jeffreyc@google.com
 Issue 102203  has been merged into this issue.
Comment 18 by dhw@chromium.org, Oct 28 2011
Labels: Feature-I18N
Labels: -OS-Mac OS-All
Cc: alcor@google.com glen@chromium.org
Labels: Review-UI
Owner: estade@chromium.org
adding Review-UI so I make sure to talk to Glen or Cole about this on Monday.
Labels: Mstone-17
 Issue 102370  has been merged into this issue.
This should definitely be fixed asap. Currently, if I install Chrome as a German user, my first impression is that Chrome is poorly localized. Definitely not a P2 from my perspective.

See  Issue 102370  of how prominent "Meistbesuch" is. Please consider, that for a German "Meistbesuch" sounds at least as broken as "Most visit" - it is too close to a real world to be considered an abbreviation by the user. 
s/world/word/ :)
We'll leave the decision to Cole, but Glen and I suggest globally increasing the width of the pane switcher labels so that even the longest languages fit.

But since the tooltips that show up when hovering over the pane labels show the full string (correct?), Glen and I aren't too concerned about this.
Comment 26 by alcor@google.com, Nov 1 2011
I thought we had decided to set a min-width, but also a fairly reasonable max-width so that most languages had variable length pagers. We should let German fit the natural width and cap the length at something like 200px
Evan, does that sound doable?
not really, but I will try.
Issue 103171 has been merged into this issue.
 Issue 104803  has been merged into this issue.
I reported the above  issue 104803  and I am an English user.

1600x900 laptop screen


chromenewtab.jpeg
71.8 KB View Download
Labels: -Review-UI
hey Evan, were you planning on tackling this for M17?
Comment 33 by k...@google.com, Dec 19 2011
Labels: -Mstone-17 Mstone-18 MovedFrom-17
Moving bugs marked as Available but not blockers from M17 to M18.  Please move back if you think this is a blocker, and add the ReleaseBlock-Stable label.  If you're able.
Any progress on this? This hurts everyday I see it. If it's hard to get a general fix here, can we at least increase the pane label size by some pixels to avoid that this looks broken in German?

This UI element is just too prominent (1 of 5 words that make up the browser UI when you're on the NTP on Windows) to show a word that is missing a single letter.

I just stumbled upon a user comment at https://plus.google.com/100585555255542998765/posts/VEmqTZiEWmj which reminded me of this.

Thanks

Patrick
 Issue 109376  has been merged into this issue.
Evan, if what's proposed in comment 26 is hard to do, would it be easier to set 'lang' set in html or body tag and have per-language width specified with pseudo-lang selector (or other mechanisms)? It's similar to what we do with RTL languages (using 'dir' pseudo-selector). 

By other mechanisms, I meant having per-language stylesheets (as is done in other html-based UI in other products). It's more involved than just having a series of pseudo-lang-selector based styles in the common stylesheet, but in the long run, it may be more managable in a sense. 

Anyway, for this particular bug, how about me trying the former approach?  

I don't like per-language solutions generally, unless it's really the only way. My plan had been to set the min-width on the nav controls to be some number of ems based on the length of the translation (probably about 0.6em * len(str)). However I checked this yesterday and it doesn't appear to be an issue in German any more, at least on Linux, and the other languages I tried were ok as well. If we find some language(s) that still truncate the text, I'll try the em thing.
0.6em * len(str) would be too narrow for CJK, I'm afraid (because each character's width is about 1em in most CJK fonts).  Perhaps, max(0.6em * len(str), <reasonably_large_default_value>) would work better if there are languages with this problem. 

BTW, Is German not an issue any more because we increased the width or because the translation got shorter? 



yes, that is what I meant by min-width

I think the width was increased at some point or another
I can confirm that this is still an issue for JP (Chrome 18.0.998.0).
Also, for some reason the Most visited tab is not translated (it used to be; I don't remember editing it).
Hi,

It's still an issue for France.
[image: Chrome FR NTP Loca bug.png]

instead of "Les plus visit
Labels: hotlist-Japan
(adding hotlist-Japan for the record)
Not fixed in German (de) on Mac OS as mentioned in the comment 42. It is still 'Meistbesuch'.

Please find enclosed a screenshot from Chromium 18.0.1021.0 (Entwickler-Build 119444 Mac OS X).

Thanks.
NTP.png
4.4 KB View Download
Comment 45 by kareng@google.com, Feb 7 2012
Labels: MovedFrom18 Mstone-19
Comment 46 by ssdo...@gmail.com, Feb 8 2012
Not enough space for pt_BR translation "Mais Visitados" (last "s" was cutted).
more_visited.png
1.2 KB View Download
Comment 47 by ssdo...@gmail.com, Feb 8 2012
By the way, last comment was about version: 18.0.1025.7 dev-m, for Windows.

 Issue 113196  has been merged into this issue.
Labels: -MovedFrom18 -Mstone-19 Merge-Requested Mstone-18
I have a small and unobtrusive patch in review for this. I'd like to merge to m18 if possible after it lands.
Comment 50 by kareng@google.com, Feb 9 2012
Labels: -Merge-Requested
request once it lands ok? thanks for heads up.
Project Member Comment 51 by bugdroid1@chromium.org, Feb 10 2012
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=121402

------------------------------------------------------------------------
r121402 | estade@chromium.org | Thu Feb 09 20:11:54 PST 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/ntp4/new_tab.html?r1=121402&r2=121401&pathrev=121402
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/ntp4/new_tab.css?r1=121402&r2=121401&pathrev=121402

[ntp] fix font measuring hack

one more style (font: -webkit-small-control) was needed to make the \#fontMeasuringDiv exactly match the input divs' appearance.

BUG= 96889 
TEST=in mac, all languages look good: fr, ko, ja, de, en, ml


Review URL: http://codereview.chromium.org/9359002
------------------------------------------------------------------------
Comment 52 by ssdo...@gmail.com, Feb 11 2012
Version 19.0.1036.7 dev-m keeps the bug as reported in comment 46.
Comment 53 by ssdo...@gmail.com, Feb 15 2012
Version 19.0.1041.0 dev-m is OK for pt_BR!
Hi estade, it is broken again in language german in version 19.0.1065.0 (126019).
Comment 55 by ssdo...@gmail.com, Mar 11 2012
By the way, like in comment #46, the problem is solved in unstable, but still there in Stable releases.
Comment 56 by kareng@google.com, Mar 30 2012
Labels: -Mstone-18 Mstone-20
Comment 57 by kareng@google.com, Mar 30 2012
Labels: MovedFrom18
Labels: -Mstone-20 bulkmove MovedFrom-20 Mstone-21
M20 is about to sail in couple of days. If this should be part of M20, add it back.
Project Member Comment 59 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-UI -Feature-NewTabPage -Feature-I18N -Mstone-21 Cr-UI-Browser-NewTabPage Cr-UI M-21 Cr-UI-I18N
Project Member Comment 60 by bugdroid1@chromium.org, Mar 20 2013
Labels: -Cr-UI-I18N Cr-UI-Internationalization
Cc: kenjibaheux@chromium.org
Status: Fixed
AFAICT, I believe that this is fixed.
Comment 62 by laforge@google.com, Jul 24 2013
Cc: -jeffreyc@google.com
Sign in to add a comment