[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9
pfeldman at chromium.org
pfeldman at chromium.org
Thu Feb 4 21:27:03 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit e8c22a7b19484edc719d11f966f316c9648fb26f
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jan 25 10:58:01 2010 +0000
2010-01-24 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.
https://bugs.webkit.org/show_bug.cgi?id=33904
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/SourceFrame2.js:
(WebInspector.SourceFrame2):
(WebInspector.SourceFrame2.prototype.addMessage):
(WebInspector.SourceFrame2.prototype.clearMessages):
(WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount):
(WebInspector.SourceFrame2.prototype._addExistingMessagesToSource):
(WebInspector.SourceFrame2.prototype._addMessageToSource):
(WebInspector.SourceFrame2.prototype.resize):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.setDivDecoration):
(WebInspector.TextEditor.prototype._lineHeight):
(WebInspector.TextEditor.prototype._highlightChanged):
(WebInspector.TextEditor.prototype.packAndRepaintAll):
(WebInspector.TextEditor.prototype._updateSize):
(WebInspector.TextEditor.prototype._repaintAll):
(WebInspector.TextEditor.prototype._paint):
(WebInspector.TextEditor.prototype._paintLinesContinuation):
(WebInspector.TextEditor.prototype._mouseOut):
(WebInspector.TextEditor.prototype._updateDivDecorations):
(WebInspector.TextEditor.prototype._positionDivDecoration):
(WebInspector.TextEditor.prototype._paintSelection):
(WebInspector.TextEditor.prototype._replaceSelectionWith):
* inspector/front-end/TextEditorHighlighter.js:
(WebInspector.TextEditorHighlighter.prototype.updateHighlight):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
* inspector/front-end/inspector.html:
* inspector/front-end/textEditor.css: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a9ab892..d5c8773 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,46 @@
Reviewed by Timothy Hatcher.
+ Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33904
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/SourceFrame2.js:
+ (WebInspector.SourceFrame2):
+ (WebInspector.SourceFrame2.prototype.addMessage):
+ (WebInspector.SourceFrame2.prototype.clearMessages):
+ (WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount):
+ (WebInspector.SourceFrame2.prototype._addExistingMessagesToSource):
+ (WebInspector.SourceFrame2.prototype._addMessageToSource):
+ (WebInspector.SourceFrame2.prototype.resize):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor):
+ (WebInspector.TextEditor.prototype.setDivDecoration):
+ (WebInspector.TextEditor.prototype._lineHeight):
+ (WebInspector.TextEditor.prototype._highlightChanged):
+ (WebInspector.TextEditor.prototype.packAndRepaintAll):
+ (WebInspector.TextEditor.prototype._updateSize):
+ (WebInspector.TextEditor.prototype._repaintAll):
+ (WebInspector.TextEditor.prototype._paint):
+ (WebInspector.TextEditor.prototype._paintLinesContinuation):
+ (WebInspector.TextEditor.prototype._mouseOut):
+ (WebInspector.TextEditor.prototype._updateDivDecorations):
+ (WebInspector.TextEditor.prototype._positionDivDecoration):
+ (WebInspector.TextEditor.prototype._paintSelection):
+ (WebInspector.TextEditor.prototype._replaceSelectionWith):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/textEditor.css: Added.
+
+2010-01-24 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
Web Inspector: Replace split pane with tabbed pane in resource
contents view.
@@ -74355,8 +74395,6 @@ form controls that have different validity states.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustButtonStyle):
-=== End merge of nitro-extreme branch 2009-07-30 ===
-
2009-05-11 Geoffrey Garen <ggaren at apple.com>
Reviewed by Sam Weinig.
@@ -74369,8 +74407,6 @@ form controls that have different validity states.
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
-=== Start merge of nitro-extreme branch 2009-07-30 ===
-
2009-07-30 Dean McNamee <deanm at chromium.org>
Reviewed by Dimitri Glazkov.
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index d9cc87d..cbbdceb 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -3760,6 +3760,7 @@
'inspector/front-end/audits.css',
'inspector/front-end/inspector.css',
'inspector/front-end/inspectorSyntaxHighlight.css',
+ 'inspector/front-end/textEditor.css',
],
'webinspector_image_files': [
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index 29582fe..872509b 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -43076,6 +43076,10 @@
>
</File>
<File
+ RelativePath="..\inspector\front-end\textEditor.css"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\TextPrompt.js"
>
</File>
diff --git a/WebCore/inspector/front-end/SourceFrame2.js b/WebCore/inspector/front-end/SourceFrame2.js
index 93792f8..f8bbef1 100644
--- a/WebCore/inspector/front-end/SourceFrame2.js
+++ b/WebCore/inspector/front-end/SourceFrame2.js
@@ -35,6 +35,9 @@ WebInspector.SourceFrame2 = function()
this._editor.lineNumberDecorator = new WebInspector.BreakpointLineNumberDecorator(this);
this._editor.lineDecorator = new WebInspector.ExecutionLineDecorator(this);
this._editor.readOnly = true;
+ this._messages = [];
+ this._rowMessages = {};
+ this._messageBubbles = {};
this.element = this._editor.element;
}
@@ -44,6 +47,107 @@ WebInspector.SourceFrame2.prototype = {
this._editor.text = text;
},
+ addMessage: function(msg)
+ {
+ // Don't add the message if there is no message or valid line or if the msg isn't an error or warning.
+ if (!msg.message || msg.line <= 0 || !msg.isErrorOrWarning())
+ return;
+ this._messages.push(msg);
+ this._addMessageToSource(msg);
+ },
+
+ clearMessages: function()
+ {
+ for (var line in this._messageBubbles) {
+ var bubble = this._messageBubbles[line];
+ bubble.parentNode.removeChild(bubble);
+ }
+
+ this._messages = [];
+ this._rowMessages = {};
+ this._messageBubbles = {};
+ this._editor.packAndRepaintAll();
+ },
+
+ _incrementMessageRepeatCount: function(msg, repeatDelta)
+ {
+ if (!msg._resourceMessageLineElement)
+ return;
+
+ if (!msg._resourceMessageRepeatCountElement) {
+ var repeatedElement = document.createElement("span");
+ msg._resourceMessageLineElement.appendChild(repeatedElement);
+ msg._resourceMessageRepeatCountElement = repeatedElement;
+ }
+
+ msg.repeatCount += repeatDelta;
+ msg._resourceMessageRepeatCountElement.textContent = WebInspector.UIString(" (repeated %d times)", msg.repeatCount);
+ },
+
+ _addExistingMessagesToSource: function()
+ {
+ var length = this._messages.length;
+ for (var i = 0; i < length; ++i)
+ this._addMessageToSource(this._messages[i]);
+ },
+
+ _addMessageToSource: function(msg)
+ {
+ if (msg.line >= this._textModel.linesCount)
+ return;
+
+ var messageBubbleElement = this._messageBubbles[msg.line];
+ if (!messageBubbleElement || messageBubbleElement.nodeType !== Node.ELEMENT_NODE || !messageBubbleElement.hasStyleClass("webkit-html-message-bubble")) {
+ messageBubbleElement = document.createElement("div");
+ messageBubbleElement.className = "webkit-html-message-bubble";
+ this._messageBubbles[msg.line] = messageBubbleElement;
+ this._editor.setDivDecoration(msg.line, messageBubbleElement);
+ }
+
+ var rowMessages = this._rowMessages[msg.line];
+ if (!rowMessages) {
+ rowMessages = [];
+ this._rowMessages[msg.line] = rowMessages;
+ }
+
+ for (var i = 0; i < rowMessages.length; ++i) {
+ if (rowMessages[i].isEqual(msg, true)) {
+ this._incrementMessageRepeatCount(rowMessages[i], msg.repeatDelta);
+ this._editor.packAndRepaintAll();
+ return;
+ }
+ }
+
+ rowMessages.push(msg);
+
+ var imageURL;
+ switch (msg.level) {
+ case WebInspector.ConsoleMessage.MessageLevel.Error:
+ messageBubbleElement.addStyleClass("webkit-html-error-message");
+ imageURL = "Images/errorIcon.png";
+ break;
+ case WebInspector.ConsoleMessage.MessageLevel.Warning:
+ messageBubbleElement.addStyleClass("webkit-html-warning-message");
+ imageURL = "Images/warningIcon.png";
+ break;
+ }
+
+ var messageLineElement = document.createElement("div");
+ messageLineElement.className = "webkit-html-message-line";
+ messageBubbleElement.appendChild(messageLineElement);
+
+ // Create the image element in the Inspector's document so we can use relative image URLs.
+ var image = document.createElement("img");
+ image.src = imageURL;
+ image.className = "webkit-html-message-icon";
+ messageLineElement.appendChild(image);
+ messageLineElement.appendChild(document.createTextNode(msg.message));
+
+ msg._resourceMessageLineElement = messageLineElement;
+
+ this._editor.packAndRepaintAll();
+ },
+
get executionLine()
{
return this._executionLine;
@@ -70,7 +174,7 @@ WebInspector.SourceFrame2.prototype = {
resize: function()
{
- this._editor.updateCanvasSize();
+ this._editor.packAndRepaintAll();
}
}
diff --git a/WebCore/inspector/front-end/TextEditor.js b/WebCore/inspector/front-end/TextEditor.js
index 81055b7..7fa2716 100644
--- a/WebCore/inspector/front-end/TextEditor.js
+++ b/WebCore/inspector/front-end/TextEditor.js
@@ -58,20 +58,20 @@ WebInspector.TextEditor = function(platform)
this._container.appendChild(cursorElement);
this._cursor = new WebInspector.TextCursor(cursorElement);
- this._container.addEventListener("scroll", this._scroll.bind(this));
- this._sheet.addEventListener("mouseup", this._mouseUp.bind(this));
- this._sheet.addEventListener("mousedown", this._mouseDown.bind(this));
- this._sheet.addEventListener("mousemove", this._mouseMove.bind(this));
- this._sheet.addEventListener("mouseout", this._mouseOut.bind(this));
- this._sheet.addEventListener("dblclick", this._dblClick.bind(this));
- this.element.addEventListener("keydown", this._keyDown.bind(this));
- this.element.addEventListener("textInput", this._textInput.bind(this));
- this.element.addEventListener("beforecopy", this._beforeCopy.bind(this));
- this.element.addEventListener("copy", this._copy.bind(this));
- this.element.addEventListener("beforecut", this._beforeCut.bind(this));
- this.element.addEventListener("cut", this._cut.bind(this));
- this.element.addEventListener("beforepaste", this._beforePaste.bind(this));
- this.element.addEventListener("paste", this._paste.bind(this));
+ this._container.addEventListener("scroll", this._scroll.bind(this), false);
+ this._sheet.addEventListener("mouseup", this._mouseUp.bind(this), false);
+ this._sheet.addEventListener("mousedown", this._mouseDown.bind(this), false);
+ this._sheet.addEventListener("mousemove", this._mouseMove.bind(this), false);
+ this._sheet.addEventListener("mouseout", this._mouseOut.bind(this), false);
+ this._sheet.addEventListener("dblclick", this._dblClick.bind(this), false);
+ this.element.addEventListener("keydown", this._keyDown.bind(this), false);
+ this.element.addEventListener("textInput", this._textInput.bind(this), false);
+ this.element.addEventListener("beforecopy", this._beforeCopy.bind(this), false);
+ this.element.addEventListener("copy", this._copy.bind(this), false);
+ this.element.addEventListener("beforecut", this._beforeCut.bind(this), false);
+ this.element.addEventListener("cut", this._cut.bind(this), false);
+ this.element.addEventListener("beforepaste", this._beforePaste.bind(this), false);
+ this.element.addEventListener("paste", this._paste.bind(this), false);
this._desiredCaretColumn = 0;
this._scrollLeft = 0;
@@ -137,6 +137,19 @@ WebInspector.TextEditor.prototype = {
this._setSelectionEnd(endLine, endColumn);
},
+ setDivDecoration: function(lineNumber, element)
+ {
+ var divDecoration = this._textModel.getAttribute(lineNumber, "div-decoration");
+ if (divDecoration && divDecoration.element && divDecoration.element.parentNode)
+ divDecoration.element.parentNode.removeChild(divDecoration.element);
+
+ divDecoration = { element: element };
+ this.element.appendChild(element);
+
+ this._textModel.setAttribute(lineNumber, "div-decoration", divDecoration);
+ this.packAndRepaintAll();
+ },
+
_offsetToLine: function(offset)
{
if (offset > this._lineOffsetsCache[this._lineOffsetsCache.length - 1]) {
@@ -179,7 +192,10 @@ WebInspector.TextEditor.prototype = {
_lineHeight: function(lineNumber)
{
- return this._debugMode ? this._textLineHeight * (1 + lineNumber % 3) : this._textLineHeight;
+ var divDecoration = this._textModel.getAttribute(lineNumber, "div-decoration");
+ if (divDecoration)
+ return 2 * this._textLineHeight + divDecoration.element.clientHeight;
+ return this._textLineHeight;
},
reveal: function(line, column) {
@@ -239,12 +255,25 @@ WebInspector.TextEditor.prototype = {
_highlightChanged: function(fromLine, toLine)
{
+ if (this._muteHighlightListener)
+ return;
+
this._invalidateLines(fromLine, toLine);
this._paint();
},
+ packAndRepaintAll: function()
+ {
+ this._setCoalescingUpdate(true);
+ this._lineOffsetsCache = [0];
+ this._updateSize(0, this._textModel.linesCount);
+ this._repaintAll();
+ this._setCoalescingUpdate(false);
+ },
+
_updateSize: function(startLine, endLine)
{
+ this._setCoalescingUpdate(true);
var guardedEndLine = Math.min(this._textModel.linesCount, endLine + 1);
var newMaximum = false;
for (var i = startLine; i < guardedEndLine; ++i) {
@@ -280,9 +309,10 @@ WebInspector.TextEditor.prototype = {
this._lineNumberDigits = newLineNumberDigits;
this._repaintAll();
}
-
+
// Changes to size can change the client area (scrollers can appear/disappear)
this.updateCanvasSize();
+ this._setCoalescingUpdate(false);
},
updateCanvasSize: function()
@@ -297,9 +327,7 @@ WebInspector.TextEditor.prototype = {
_repaintAll: function()
{
this._invalidateLines(0, this._textModel.linesCount);
- this.paintLineNumbers();
this._paint();
- this._updateCursor(this._selection.endLine, this._selection.endColumn);
},
_invalidateLines: function(startLine, endLine)
@@ -324,9 +352,14 @@ WebInspector.TextEditor.prototype = {
if (this._paintCoalescingLevel)
return;
+ this.paintLineNumbers();
+
for (var i = 0; this._damage && i < this._damage.length; ++i)
this._paintLines(this._damage[i].startLine, this._damage[i].endLine);
delete this._damage;
+
+ this._updateDivDecorations();
+ this._updateCursor(this._selection.endLine, this._selection.endColumn);
},
_paintLines: function(firstLine, lastLine)
@@ -374,9 +407,11 @@ WebInspector.TextEditor.prototype = {
this._paintSelection(firstLine, lastLine);
- if (this._highlightingEnabled)
+ if (this._highlightingEnabled) {
+ this._muteHighlightListener = true;
this._highlighter.highlight(lastLine);
-
+ delete this._muteHighlightListener;
+ }
for (var i = firstLine; i < lastLine; ++i) {
var line = this._textModel.line(i);
var lineOffset = this._lineToOffset(i) - this._scrollTop;
@@ -384,6 +419,10 @@ WebInspector.TextEditor.prototype = {
if (this._lineDecorator)
this._lineDecorator.decorate(i, this._ctx, this._lineNumberWidth - 1, lineOffset, this._canvas.width - this._lineNumberWidth + 1, this._lineHeight(i), this._textLineHeight);
+ var divDecoration = this._textModel.getAttribute(i, "div-decoration");
+ if (divDecoration)
+ this._positionDivDecoration(i, divDecoration, true);
+
if (!this._highlightingEnabled) {
this._ctx.fillStyle = "rgb(0,0,0)";
this._ctx.fillText(line, this._lineNumberWidth - this._scrollLeft, lineOffset + this._textLineHeight);
@@ -494,7 +533,6 @@ WebInspector.TextEditor.prototype = {
_mouseOut: function(e)
{
- this._isDragging = false;
},
_dblClick: function(e)
@@ -678,6 +716,27 @@ WebInspector.TextEditor.prototype = {
this._updateCursor(end.line, end.column);
},
+ _updateDivDecorations: function()
+ {
+ var firstLine = this._offsetToLine(this._scrollTop) - 1;
+ var lastLine = this._offsetToLine(this._scrollTop + this._canvas.height) + 1;
+
+ var linesCount = this._textModel.linesCount;
+ for (var i = 0; i < linesCount; ++i) {
+ var divDecoration = this._textModel.getAttribute(i, "div-decoration");
+ if (divDecoration)
+ this._positionDivDecoration(i, divDecoration, i > firstLine && i < lastLine);
+ }
+ },
+
+ _positionDivDecoration: function(lineNumber, divDecoration, visible)
+ {
+ divDecoration.element.style.position = "absolute";
+ divDecoration.element.style.top = this._lineToOffset(lineNumber) - this._scrollTop + this._textLineHeight + "px";
+ divDecoration.element.style.left = this._lineNumberWidth + "px";
+ divDecoration.element.style.setProperty("max-width", (this._canvas.width - 200) + "px");
+ },
+
_updateCursor: function(line, column)
{
if (line >= this._textModel.linesCount)
@@ -723,7 +782,7 @@ WebInspector.TextEditor.prototype = {
} else
to = this._canvas.width;
- this._ctx.fillRect(from, this._lineToOffset(i) - this._scrollTop, to - from, this._textLineHeight);
+ this._ctx.fillRect(from, this._lineToOffset(i) - this._scrollTop, to - from, this._lineHeight(i));
}
this._ctx.fillStyle = "rgb(0, 0, 0)";
},
@@ -780,7 +839,6 @@ WebInspector.TextEditor.prototype = {
_replaceSelectionWith: function(newText, overrideRange)
{
var range = overrideRange || this._selection.range();
-
this._setCoalescingUpdate(true);
var newRange = this._textModel.setText(range, newText);
this._setCaretLocation(newRange.endLine, newRange.endColumn);
diff --git a/WebCore/inspector/front-end/TextEditorHighlighter.js b/WebCore/inspector/front-end/TextEditorHighlighter.js
index 064ed0c..0b9190d 100644
--- a/WebCore/inspector/front-end/TextEditorHighlighter.js
+++ b/WebCore/inspector/front-end/TextEditorHighlighter.js
@@ -106,10 +106,12 @@ WebInspector.TextEditorHighlighter.prototype = {
updateHighlight: function(startLine, endLine)
{
// Start line was edited, we should highlight everything until endLine synchronously.
- var state = this._textModel.getAttribute(startLine, "highlighter-state");
- if (!state || state.outOfDate) {
- // Highlighter did not reach this point yet, nothing to update. It will reach it on subsequent timer tick and do the job.
- return;
+ if (startLine) {
+ var state = this._textModel.getAttribute(startLine - 1, "highlighter-state");
+ if (!state || state.outOfDate) {
+ // Highlighter did not reach this point yet, nothing to update. It will reach it on subsequent timer tick and do the job.
+ return;
+ }
}
var restored = this._highlightLines(startLine, endLine);
diff --git a/WebCore/inspector/front-end/WebKit.qrc b/WebCore/inspector/front-end/WebKit.qrc
index ed92a2f..700cdae 100644
--- a/WebCore/inspector/front-end/WebKit.qrc
+++ b/WebCore/inspector/front-end/WebKit.qrc
@@ -89,6 +89,7 @@
<file>audits.css</file>
<file>inspector.css</file>
<file>inspectorSyntaxHighlight.css</file>
+ <file>textEditor.css</file>
<file>Images/back.png</file>
<file>Images/checker.png</file>
<file>Images/clearConsoleButtonGlyph.png</file>
diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css
index c050324..da9cdcd 100644
--- a/WebCore/inspector/front-end/inspector.css
+++ b/WebCore/inspector/front-end/inspector.css
@@ -3817,8 +3817,12 @@ ol.breakpoint-list {
overflow: auto;
}
-.text-editor-sheet, .text-editor-clip {
+.text-editor-clip {
opacity: 0;
+ position: absolute;
+ top:0;
+ left:0;
+ pointer-events: none;
}
.text-editor-cursor {
diff --git a/WebCore/inspector/front-end/inspector.html b/WebCore/inspector/front-end/inspector.html
index e34bd09..7788fbd 100644
--- a/WebCore/inspector/front-end/inspector.html
+++ b/WebCore/inspector/front-end/inspector.html
@@ -30,6 +30,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="audits.css">
+ <link rel="stylesheet" type="text/css" href="textEditor.css">
<link rel="stylesheet" type="text/css" href="inspector.css">
<link rel="stylesheet" type="text/css" href="inspectorSyntaxHighlight.css">
<script type="text/javascript" src="utilities.js"></script>
diff --git a/WebCore/inspector/front-end/textEditor.css b/WebCore/inspector/front-end/textEditor.css
new file mode 100644
index 0000000..e060a80
--- /dev/null
+++ b/WebCore/inspector/front-end/textEditor.css
@@ -0,0 +1,40 @@
+.webkit-html-message-bubble {
+ -webkit-box-shadow: black 0px 2px 5px;
+ -webkit-border-radius: 9px;
+ -webkit-border-fit: lines;
+ font-size: 10px;
+ font-family: Lucida Grande, sans-serif;
+ font-weight: bold;
+ margin: 6px 25px;
+ padding: 0 7px 1px;
+ z-index:20;
+}
+
+.webkit-html-warning-message {
+ background-color: rgb(100%, 62%, 42%);
+ border: 2px solid rgb(100%, 52%, 21%);
+}
+
+.webkit-html-error-message {
+ background-color: rgb(100%, 42%, 42%);
+ border: 2px solid rgb(100%, 31%, 31%);
+}
+
+.webkit-html-message-line {
+ padding-left: 23px;
+ text-indent: -20px;
+}
+
+.webkit-html-message-line-hover {
+ padding-left: 23px;
+ text-indent: -20px;
+ white-space: auto;
+ text-overflow: auto;
+ overflow: auto;
+}
+
+.webkit-html-message-icon {
+ position: relative;
+ top: 2px;
+ margin: 0 4px;
+}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list