Lightroom: Web module doesn't use display's color profile -- incorrect color management

  • 5
  • Problem
  • Updated 6 months ago
  • In Progress
  • (Edited)
The Web module in CC 2015.7 / OS X 10.11.5 doesn't use the display's profile when showing photos. You can easily verify this:

1. Install this display profile on your system. The profile swaps red for blue, green for red, and blue for green.

2. In the Library module, view a photo and notice the colors have been garishly swapped, indicating that Library is using the display profile.

3. In the Web module, use the default HTML gallery to view the same photo, and notice that the colors have not been swapped, indicating that the display profile is not being used.

4. In the Web module, click Preview In Browser. If your browser is color-managed, the colors of the photo will be swapped. (You may have to completely restart your browser before doing this.)

With a regular display profile, this bug can cause colors in the Web module to be more saturated.  See the original report from Bob Somrak here: https://forums.adobe.com/thread/2216419

The problem doesn't occur with LR 5.7.1, and Bob thinks it doesn't occur with minor versions prior to CC 2015.7.
Photo of John R. Ellis

John R. Ellis, Champion

  • 4172 Posts
  • 1108 Reply Likes

Posted 3 years ago

  • 5
Photo of Steve Sprengel

Steve Sprengel, Champion

  • 2668 Posts
  • 344 Reply Likes
To illustrate this I made a screenshot, where pink sky means the profile is being used whereas normal-looking blue sky means it is not:

(Edited)
Photo of Smit Keniya

Smit Keniya, Employee

  • 216 Posts
  • 98 Reply Likes
Hi John,

I went back to 2015.0 and tried this. All versions are working same as 2015.7.

I will work with engineering on this to figure out more details.

Meanwhile could you confirm if you could it doesn't occur in prior versions of Lightroom CC?

Thanks,
Smit Keniya
Adobe Lightroom Team
(Edited)
Photo of John R. Ellis

John R. Ellis, Champion

  • 4172 Posts
  • 1108 Reply Likes
For LR CC, I only have 2015.7 installed -- I don't know how to have multiple minor releases installed at the same time.  As mentioned above, I do have LR 5.7.1 installed, and the problem does not occur with it.  Thanks.
Photo of Smit Keniya

Smit Keniya, Employee

  • 216 Posts
  • 98 Reply Likes
Ok. I understand that.
Photo of Andrew Rodney

Andrew Rodney

  • 721 Posts
  • 141 Reply Likes
This bug exists in LR5....
Photo of John MacLean

John MacLean

  • 87 Posts
  • 15 Reply Likes
This reply was created from a merged topic originally titled Web Module color overly saturated.

I see this has been reported several years ago, but it's still happening. You can see that the Web Module is more saturated than the Library Module and the finals online in Safari. My X-Rite i1 Profiler profile is out of date, but still being applied.

I'm on: 
LR CC 7.3.1
MBP v10.13.4 
Safari v11.1





Photo of John R. Ellis

John R. Ellis, Champion

  • 4172 Posts
  • 1108 Reply Likes
This problem still occurs in LR 8.0 / Mac OS 10.13.6 -- the Web module doesn't use the display's assigned ICC profile. To further confuse matters, the Web module does use an ICC profile embedded in a photo, apparently converting the photo to sRGB (as many Microsoft products have done).

Following the recipe posted above, I assigned FakeBRG.icc to the display, which swaps the red and blue channels.  A program that uses the display's ICC profile will display photos with red and blue swapped.

Library thumbnails have red and blue swapped, indicating that LR is using the display profile:



The Web module HTML thumbnails and photo preview are not using the display profile:




Clicking Preview in Browser to preview the gallery in Chrome confirms Chrome is using the display profile:



Here's a test photo FakeBRG.jpg with an embedded ICC profile that swaps red for blue, green for red, and blue for green, as it appears in Library:



The colors are swapped, indicating that LR is using the embedded profile. 

But here's how that photo appears in the Web module, indicating that it also uses the photo's embedded profile!



Many Microsoft products have long behaved this way, using a photo's embedded profile while assuming the display profile was sRGB, instead of using the assigned profile.  Colloquially, many have called this "partial" color management.

Photo of Smit Keniya

Smit Keniya, Employee

  • 216 Posts
  • 98 Reply Likes
Official Response
I have logged a bug for this. We would look into this.
Photo of John R. Ellis

John R. Ellis, Champion

  • 4172 Posts
  • 1108 Reply Likes
On Mac OS 10.13.6, I retested the recipe above with LR 4, 5.7.1, and 6.14. To summarize the testing of older versions: 

2.7: Works correctly (Per Bernsten)

4.0: Works correctly (John Ellis)

5.7.1: Works correctly (John Ellis)

6.0: Works incorrectly (Smit Keniya)

6.14: Works incorrectly (John Ellis)

8.0: Works incorrectly (John Ellis)
Photo of Andrew Rodney

Andrew Rodney

  • 721 Posts
  • 141 Reply Likes
Didn’t work correctly for me in last build of LR5. I’m on MacOS, bug shows depending on the web gallery which itself is odd.
(Edited)
Photo of John R. Ellis

John R. Ellis, Champion

  • 4172 Posts
  • 1108 Reply Likes
Summary: LR includes third-party web-browser engines that are almost certainly used to render HTML Web galleries. The observed color-management behavior of LR's Web module matches that of these Web engines on Mac. The Web module could be made fully color-managed by updating LR to use the most recent version of the Chromium Embedded Framework.

Details

The Finder shows LR 4.0 and 5.7.1 on Mac include WebKit 1.0.0, the web browser engine used by Safari, which has long been fully color managed (using profiles embedded in photos and the display profile).  Accordingly, the Web module in these versions of LR is fully color-managed.

The Finder shows LR 6.0, 6.14, and 8.0 on Mac include Chromium Embedded Framework (CEF), the web engine inside Chrome.  All of these LR versions use an old version of CEF (31523.6.11), dating from at least 2015, when LR 6 was released.  Older versions of Chrome were only partially color-managed, using profiles embedded in photos but assuming the display's profile was sRGB.  Accordingly, the Web module in these versions of LR behaves similarly.

Both web engines treat photos without an embedded profile ("untagged") specially. WebKit assumes the photo is sRGB and displays it using the display profile. CEF sends the color numbers directly to the display without using the display profile.

The color behavior of CEF in LR's Web module was certainly reasonable for 2015, since it matched the behavior of the most popular browser at the time.  But now most people viewing the Web on desktop computers use browsers that are fully color-managed.  Newer versions of CEF support full color-management, so this issue could be addressed by including the most recent version of CEF in LR.

Steps to Confirm

The step-by-step above demonstrates the basic behavior of the Web module in the various LR versions. The following recipe provides detailed confirmation that the Web module's behavior matches the corresponding web engine.

I created a color chart in Pro Photo and then converted it to Adobe RGB (1998) and sRGB, creating these files: adobergb.jpg, prophoto.jpg, srgb.jpg.

I created an additional three versions of the chart by removing the embedded profiles: adobergb.untagged.jpg, prophoto.untagged.jpg, srgb.untagged.jpg.

I created two more versions by assigning the sRGB profile to adobergb.jpg and prophoto.jpg using ExifTool: adobergb.srgb.jpg, prophoto.srgb.jpg.

These are all available here, along with the screenshots included below: 
https://www.dropbox.com/s/vpf5onzinh124km/web-module.2018.10.26.zip?dl=0 

I displayed each chart in LR 8.0's Web module and compared it side-by-side with one of the charts displayed using Faststone, a popular Windows app that isn't color-managed. (Faststone was running in a virtual machine, with its CMS disabled. This was the most convenient way for me to send color numbers directly to the display without using a photo's profile or the display profile. You could also use Photoshop if you set the Color Settings appropriately.)

In the screenshots that follow, the Web module's HTML gallery is on the left and the Faststone window on the right. The name of the charts being displayed is at the bottom left and bottom right.

For the charts adobergb.jpg, prophoto.rgb, and srgb.jpg, the Web module converts them to sRGB and sends the resulting color numbers to the display without using the display profile. Thus, the Web module matches srgb.untagged.jpg as viewed in Faststone:







For the charts adobergb.untagged.jpg, prophoto.untagged.jpg, and srgb.untagged.jpg, these files are missing embedded profiles, so the Web module sends their color numbers unmodified to the display without using the display profile. Thus, the Web module matches the results of the file displayed in Faststone:







You can open these screenshots in Photoshop and compare the RGB values of the corresponding patches -- they match to +/- 1 of the RGB value (e.g. 171 versus 172 in the red channel). (Screenshots record the pixel values as they are sent to the display, after any display profile has been applied.)

I did a similar procedure with LR 5.7.1. As predicted, for the tagged files adobergb.jpg, prophoto.jpg, and srgb.jpg, the Web module matches the output of Safari (both use WebKit). For the untagged files, the Web module assumes they are in sRGB and then displays them using the display profile.  For example, the Web module's output of prophoto.untagged.jpg matches Safari displaying prophoto.srgb.jpg (which is prophoto.jpg assigned the sRGB profile).
Photo of Robert Somrak

Robert Somrak, Champion

  • 299 Posts
  • 98 Reply Likes
Impressive sleuthing job John.