1587: Some lines don't word-wrap correctly on IE/Chrome

seagl*****@gmai***** (Google Code) (Is this you? Claim this profile.)
June 27, 2010
What version are you running?
ReviewBoard 1.0.6
RBTools 0.2beta2

What's the URL of the page containing the problem?
Internal private URL

What steps will reproduce the problem?
1. Create a new request and upload diffs.
2. open IE/Chrome/Firefox/Opera browsers to visit the review request.

What is the expected output? What do you see instead?
In the files, some lines are long, so if the texts word-wrap correctly,
it's easier to review. On Firefox 3.6 and Opera 10.5, it works well. But on
IE6/7/8 and Chrome/4/5, some lines don't word-wrap correctly. Some lines
are so long that I have to scroll far to the right. The divider between the
"before" and "after" panes is so far to the right that I cannot see the
changes side by side. If i scroll to the right to see the "after" changes,
I lose sight of the "before" changes, even my screen is at 1600x1200.

What operating system are you using? What browser?
Windows XP SP3, IE6/7 Chrome 4, Opera 10.5.1
Windows 7, IE 8, Chrome 5

Please provide any additional information below.
chipx86
#1 chipx86
This is really a browser issue. It's a long-standing problem with IE (see bug #634)
but the fact that it's an issue with Chrome is new to me.

Might have to inject some tags to tell it it can wrap at certain points, but that
bloats the diff a little, unfortunately.

Might look at it for 1.5, but this may slip.
  • +Confirmed
  • -Priority-Medium
    +Priority-Low
    +Usability
    +Component-DiffViewer
    +Milestone-Release1.5
    +Browser
chipx86
#2 chipx86
Can you provide a screenshot of this? Are they in files with a long line that contains nothing but alphanumeric characters?
  • -Confirmed
    +NeedInfo
#3 seagl*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Please refer to the attachments.
chipx86
#4 chipx86
Right, but I need to see which lines are causing that scrollbar to be so wide. It must be the longest line on that page.
#5 seagl*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Some lines like this:

Name="VCCLCompilerTool"
				AdditionalIncludeDirectories=".;"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\pscan\res\pscanres";"$(SolutionDir)Pscan\RTVScan";"$(IntDir)\MIDL";"$(SolutionDir)include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\pscan";"$(Root)xxx_xxx\Corporate_Edition\COMMON\src\GEDataStore";"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\NAV_Glue";"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\PScan\DefWatch";"$(Root)core_technology\ldvp_shared\src\include\GEDataStore";"$(Root)SymSDK\QServer\Include";"$(Root)yyy_yyy\STG_Platform\autoprotect\include";"$(Root)xxx_xxx\Shared\MD5\Include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\src\utils\sym_templates\include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\src\Utils\sym_synch\include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\src\Utils\sym_time\include";"$(Root)xxx_xxx\Corporate_Edition\COMMON\SRC\rt";"$(Root)Shareable_code\licensed\InternetSecurity\include";"$(Root)Shareable_code\unlicensed";"$(Root)yyy_yyy\STG_Platform\Eraser\include";"$(Root)yyy_yyy\STG_Platform\DefUtils\include";"$(Root)components\SystemSnapshot\SysSnap";"$(Root)yyy_yyy\STG_Platform\AVE\include";"$(Root)components\ScanAndDeliver\src\include";"$(SolutionDir)Pscan\RTVScan\UIMgmt";"$(SolutionDir)Pscan\RTVScan\Impersonation";"$(SolutionDir)Pscan\RTVScan\WTS";"$(Root)xxx_xxx\corporate_edition\win32\src\pscan\rtvscan\OEM";"$(Root)xxx_xxx\corporate_edition\win32\src\pscan\rtvscan\Logon";"$(Root)tools\Crypto-C\include";"$(Root)yyy_yyy\STG_Platform\DecABI\include";"$(Root)xxx_xxx\corporate_edition\win32\src\pscan\symprotectstorage";"$(SolutionDir)Submitter\include";"$(Root)yyy_yyy\Client_Management\src\include";"$(Root)yyy_yyy\Client_Management\src\Smc\src\Smc";"$(Root)yyy_yyy\Client_Management\src\Smc\src\Inc";"$(Root)tools\ATLServer\include";"$(Root)Tools\Crypto-C\include";"$(Root)yyy_yyy\STG_Platform\BASH_Framework\include";"$(Root)yyy_yyy\STG_Platform\IRON\include";"$(SolutionDir)BASH\Common\src";"$(SolutionDir)BASH\include";"$(SolutionDir)ATPI\include";"$(SolutionDir)ATPI\AtpiTim";"$(SolutionDir)CIDS\include";"$(SolutionDir)common\TimShared";"$(Root)yyy_yyy\STG_Platform\CC\include\ccJobMgr";"$(Root)yyy_yyy\STG_Platform\CC\include\ccSubSDK";"$(SolutionDir)Submissions\Common\GeneratedHeaders";"$(SolutionDir)Submissions\Include";"$(Root)yyy_yyy\Client_Management\src\SylinkEx\src\SylinkCommon";"$(Root)yyy_yyy\Client_Management\src\LUE\include";"$(Root)yyy_yyy\Client_Management\src\include\AgentCore";"$(Root)yyy_yyy\Client_Management\src\AgentCore\Wrappers";"$(Root)Core_Technology\LDVP_Shared\src\Common\RT";"$(Root)yyy_yyy\STG_Platform\SymEFA\include";"$(Root)sarc\ecom\PreRelease\2010\2010.1\latest\include";"$(Root)yyy_yyy\STG_Platform\SymDS\include";"$(Root)Core_Technology\LDVP_Shared\src\Common\DBAccess";"$(Root)yyy_yyy\Client_Management\src\RebootMgr\include";"$(Root)xxx_xxx\Corporate_Edition\Win32\src\common""
				PreprocessorDefinitions="_DEBUG;_CRTDBG_MAP_ALLOC;_CONSOLE;WINNT;WIN32;_WIN32_WINNT=0x0501;_WINDOWS;_WIN32_DCOM;SERVICE;REAL_SERVICE;SERVER;SER;COMMON_CLIENT_DECOMPOSER;COMMON_CLIENT_SCAN;EVENT_CUSTOM_INFO_CREATE;MULTITHREADED_SCANS;RESUMABLE_SCANS;OEH_SCAN;DISABLE_COM_SNAPSERVER;USE_DPRINTF;IDEFUTILSLOADER_IMPORTED;CCSVCHST_PLUGIN"
chipx86
#6 chipx86
Okay. The problem there is that those lines don't contain any characters that are wrap-friendly. We could, when rendering the diff, insert some unicode characters that tell the browser it is allowed to wrap, but the trick is doing it efficiently and picking good spots. It will still wrap in non-optimal locations. I'm partly tempted to Won't Fix this, since it's really not a bug, and arguably it's not something we should be modifying, but I'll give it some thought.
  • -NeedInfo
    +Confirmed
david
#7 david
My vote is for wontfix
#8 seagl*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Okay! I see. But I don't understand why it's good on Firefox. Now I have to recommend others to use Firefox to visit the reviewboard.
Thanks for your update anyway.
chipx86
#9 chipx86
It's a difference in how Firefox and other browsers choose to handle long normally unwrappable lines. Firefox is forcing a wrap, whereas the others are not.
chipx86
#10 chipx86
Closing as third-party, since there's nothing sane we can do about this. It depends on the browser and on the characters used on the lines.
  • -Confirmed
    +ThirdParty