mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 07:18:39 +09:00
Re-implement custom background color of standalone images.
This resolves #717. Note: this does not affect other applications because the platform default is to use the "darknoise" background image for standalone image, which effectively overrides a bg color.
This commit is contained in:
parent
3b27dfb5e3
commit
9531d12c10
3 changed files with 23 additions and 0 deletions
|
|
@ -40,12 +40,14 @@
|
|||
#include "nsThreadUtils.h"
|
||||
#include "nsIScrollableFrame.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsCSSParser.h" // for CSS colors on the background
|
||||
#include "mozilla/dom/Element.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include <algorithm>
|
||||
|
||||
#define AUTOMATIC_IMAGE_RESIZING_PREF "browser.enable_automatic_image_resizing"
|
||||
#define CLICK_IMAGE_RESIZING_PREF "browser.enable_click_image_resizing"
|
||||
#define STANDALONE_IMAGE_BACKGROUND_COLOR_PREF "browser.display.standalone_images.background_color"
|
||||
//XXX A hack needed for Firefox's site specific zoom.
|
||||
#define SITE_SPECIFIC_ZOOM "browser.zoom.siteSpecific"
|
||||
|
||||
|
|
@ -170,6 +172,8 @@ ImageDocument::Init()
|
|||
mClickResizingEnabled = Preferences::GetBool(CLICK_IMAGE_RESIZING_PREF);
|
||||
mShouldResize = mResizeImageByDefault;
|
||||
mFirstResize = true;
|
||||
|
||||
mBackgroundColor = Preferences::GetString(STANDALONE_IMAGE_BACKGROUND_COLOR_PREF);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
@ -682,9 +686,22 @@ ImageDocument::CreateSyntheticDocument()
|
|||
mImageContent->SetAttr(kNameSpaceID_None, nsGkAtoms::src, srcString, false);
|
||||
mImageContent->SetAttr(kNameSpaceID_None, nsGkAtoms::alt, srcString, false);
|
||||
|
||||
// Implement mechanism for custom background color from pref.
|
||||
if (!mBackgroundColor.IsEmpty()) {
|
||||
nsCSSValue color;
|
||||
nsCSSParser parser;
|
||||
if (parser.ParseColorString(mBackgroundColor, nullptr, 0, color)) {
|
||||
nsAutoString styleAttr(NS_LITERAL_STRING("background-color: "));
|
||||
styleAttr.Append(mBackgroundColor);
|
||||
body->SetAttr(kNameSpaceID_None, nsGkAtoms::style, styleAttr, false);
|
||||
}
|
||||
}
|
||||
|
||||
body->AppendChildTo(mImageContent, false);
|
||||
imageLoader->SetLoadingEnabled(true);
|
||||
|
||||
UpdateTitleAndCharset();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue