summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-02-28 17:44:23 +0000
committerBen Murdoch <benm@google.com>2011-02-28 17:45:53 +0000
commit99791c639dd95c082f551a62034d8959ce2cf15a (patch)
tree0fa8274ea5b783cf270dcd7c60fda667d11af553 /WebCore
parentd914e54363c3b0482ac7f4843af11d1beb340afe (diff)
downloadexternal_webkit-99791c639dd95c082f551a62034d8959ce2cf15a.zip
external_webkit-99791c639dd95c082f551a62034d8959ce2cf15a.tar.gz
external_webkit-99791c639dd95c082f551a62034d8959ce2cf15a.tar.bz2
Merge WebKit at Chromium 9.0.597.107: Initial merge by git.
Note that we are tracking the Chromium 9.0.597 release branch, which is WebKit r72805 + stability cherry picks. This corresponds to r78920 on the 597 release branch. Change-Id: I610ebdbcba92cfa788b229ee207a405789d45e67
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/ChangeLog41
-rw-r--r--WebCore/inspector/front-end/ScriptsPanel.js5
-rw-r--r--WebCore/inspector/front-end/SourceFrame.js5
-rw-r--r--WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp6
-rw-r--r--WebCore/rendering/RenderBox.cpp2
5 files changed, 48 insertions, 11 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2749f26..6ad75bd 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,44 @@
+2011-02-16 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Remove the early bail added in r75823 since we can run into anonymous
+ blocks when traversing the parents chain for clearing floats.
+ https://bugs.webkit.org/show_bug.cgi?id=54601
+
+ removeFloatingOrPositionedChildFromBlockLists tries to find the topmost
+ parent containing "this" block and then tries to remove it from its floats
+ list and mark all descendants blocks for layout. I added a bailout condition
+ in r75823 because we thought that if one of the parent render block does not
+ contain "this" float, then it is safe to assume that none of the grand parents
+ will have it. This is a wrong assumption since anonymous blocks do not have
+ float objects and we need to go higher in the chain to find the top most parent
+ containing this float. Instead of breaking out of the loop, it is ok to keep
+ traversing the chain till we find that parent. Otherwise, we will leave deleted
+ floats in the grand parents floats list.
+
+ Test: fast/block/float/floats-not-cleared-from-grand-parents.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
+
+2011-02-04 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] JPEG corruption
+ https://bugs.webkit.org/show_bug.cgi?id=53250
+
+ Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
+ profiles from CMYK to RGB twice and it causes color corruption. This
+ change suppresses the color profiles for CMYK JPEGs same as gray-scale
+ ones.
+
+ Test: fast/images/cmyk-jpeg-with-color-profile.html
+
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageReader::decode):
+
2011-01-30 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js
index 2a216cc..30bd513 100644
--- a/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/WebCore/inspector/front-end/ScriptsPanel.js
@@ -245,9 +245,6 @@ WebInspector.ScriptsPanel.prototype = {
// Resource is finished, bind the script right away.
resource.addScript(script);
this._sourceIDMap[sourceID] = resource;
- var view = WebInspector.ResourceManager.existingResourceViewForResource(resource);
- if (view && view.sourceFrame)
- view.sourceFrame.addScript(script);
} else {
// Resource is not finished, bind the script later.
if (!resource._scriptsPendingResourceLoad) {
@@ -315,7 +312,7 @@ WebInspector.ScriptsPanel.prototype = {
return;
// Need to clear breakpoints and re-create them later when editing source.
- var breakpoints = WebInspector.breakpointManager.breakpointsForSourceID(sourceID);
+ var breakpoints = WebInspector.breakpointManager.breakpointsForSourceID(editData.sourceID);
for (var i = 0; i < breakpoints.length; ++i)
breakpoints[i].remove();
diff --git a/WebCore/inspector/front-end/SourceFrame.js b/WebCore/inspector/front-end/SourceFrame.js
index 6cf226b..8e077cd 100644
--- a/WebCore/inspector/front-end/SourceFrame.js
+++ b/WebCore/inspector/front-end/SourceFrame.js
@@ -132,11 +132,6 @@ WebInspector.SourceFrame.prototype = {
this._addMessageToSource(msg);
},
- addScript: function(script)
- {
- this._scripts[script.sourceID] = script;
- },
-
clearMessages: function()
{
for (var line in this._messageBubbles) {
diff --git a/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp b/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp
index a2b9f8e..855ba24 100644
--- a/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp
+++ b/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp
@@ -222,6 +222,12 @@ public:
// jpeglib cannot convert these to rgb, but it can convert ycck
// to cmyk.
m_info.out_color_space = JCS_CMYK;
+
+ // Same as with grayscale images, we convert CMYK images to RGBA
+ // ones. When we keep the color profiles of these CMYK images,
+ // CoreGraphics will convert their colors again. So, we discard
+ // their color profiles to prevent color corruption.
+ m_decoder->setIgnoreGammaAndColorProfile(true);
break;
default:
return m_decoder->setFailed();
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index 140d326..0944c37 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -233,8 +233,6 @@ void RenderBox::removeFloatingOrPositionedChildFromBlockLists()
RenderBlock* currBlock = toRenderBlock(curr);
if (currBlock->containsFloat(this))
parentBlock = currBlock;
- else
- break;
}
}