[webkit-changes] [213443] trunk/LayoutTests

2017-03-05 Thread carlosgc
Title: [213443] trunk/LayoutTests








Revision 213443
Author carlo...@webkit.org
Date 2017-03-05 23:38:24 -0800 (Sun, 05 Mar 2017)


Log Message
Unreviewed GTK+ gardening. Rebaseline fast/css/css2-system-fonts.html after r213267.

* platform/gtk/fast/css/css2-system-fonts-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/gtk/fast/css/css2-system-fonts-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (213442 => 213443)

--- trunk/LayoutTests/ChangeLog	2017-03-06 05:51:57 UTC (rev 213442)
+++ trunk/LayoutTests/ChangeLog	2017-03-06 07:38:24 UTC (rev 213443)
@@ -1,3 +1,9 @@
+2017-03-05  Carlos Garcia Campos  
+
+Unreviewed GTK+ gardening. Rebaseline fast/css/css2-system-fonts.html after r213267.
+
+* platform/gtk/fast/css/css2-system-fonts-expected.txt:
+
 2017-03-05  Simon Fraser  
 
 Avoid backing store for layers with empty text nodes in a few more cases


Modified: trunk/LayoutTests/platform/gtk/fast/css/css2-system-fonts-expected.txt (213442 => 213443)

--- trunk/LayoutTests/platform/gtk/fast/css/css2-system-fonts-expected.txt	2017-03-06 05:51:57 UTC (rev 213442)
+++ trunk/LayoutTests/platform/gtk/fast/css/css2-system-fonts-expected.txt	2017-03-06 07:38:24 UTC (rev 213443)
@@ -1,10 +1,10 @@
 This tests platform specific system font styles. If any of the styles appear in monospace the test fails.
-caption: normal normal normal 16px/17px 'Liberation Sans'
-icon: normal normal normal 16px/17px 'Liberation Sans'
-menu: normal normal normal 16px/17px 'Liberation Sans'
-message-box: normal normal normal 16px/17px 'Liberation Sans'
-small-caption: normal normal normal 16px/17px 'Liberation Sans'
-status-bar: normal normal normal 16px/17px 'Liberation Sans'
--webkit-mini-control: normal normal normal 16px/17px 'Liberation Sans'
--webkit-small-control: normal normal normal 16px/17px 'Liberation Sans'
--webkit-control: normal normal normal 16px/17px 'Liberation Sans'
+caption: normal normal normal normal 16px/17px 'Liberation Sans'
+icon: normal normal normal normal 16px/17px 'Liberation Sans'
+menu: normal normal normal normal 16px/17px 'Liberation Sans'
+message-box: normal normal normal normal 16px/17px 'Liberation Sans'
+small-caption: normal normal normal normal 16px/17px 'Liberation Sans'
+status-bar: normal normal normal normal 16px/17px 'Liberation Sans'
+-webkit-mini-control: normal normal normal normal 16px/17px 'Liberation Sans'
+-webkit-small-control: normal normal normal normal 16px/17px 'Liberation Sans'
+-webkit-control: normal normal normal normal 16px/17px 'Liberation Sans'






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [213442] trunk/Source/WebKit2

2017-03-05 Thread beidson
Title: [213442] trunk/Source/WebKit2








Revision 213442
Author beid...@apple.com
Date 2017-03-05 21:51:57 -0800 (Sun, 05 Mar 2017)


Log Message
Remove new files accidentally added in r213441

Unreviewed.

* UIProcess/WebLoadingProviderProxy.cpp: Removed.
* UIProcess/WebLoadingProviderProxy.h: Removed.
* UIProcess/WebLoadingProviderProxy.messages.in: Removed.

Modified Paths

trunk/Source/WebKit2/ChangeLog


Removed Paths

trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.cpp
trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.h
trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.messages.in




Diff

Modified: trunk/Source/WebKit2/ChangeLog (213441 => 213442)

--- trunk/Source/WebKit2/ChangeLog	2017-03-06 02:53:31 UTC (rev 213441)
+++ trunk/Source/WebKit2/ChangeLog	2017-03-06 05:51:57 UTC (rev 213442)
@@ -1,5 +1,15 @@
 2017-03-05  Brady Eidson  
 
+Remove new files accidentally added in r213441
+
+Unreviewed.
+
+* UIProcess/WebLoadingProviderProxy.cpp: Removed.
+* UIProcess/WebLoadingProviderProxy.h: Removed.
+* UIProcess/WebLoadingProviderProxy.messages.in: Removed.
+
+2017-03-05  Brady Eidson  
+
 Rename CustomProtocolFoo to LegacyCustomProtocolFoo.
 https://bugs.webkit.org/show_bug.cgi?id=169188
 


Deleted: trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.cpp (213441 => 213442)

--- trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.cpp	2017-03-06 02:53:31 UTC (rev 213441)
+++ trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.cpp	2017-03-06 05:51:57 UTC (rev 213442)
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2017 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *notice, this list of conditions and the following disclaimer in the
- *documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebLoadingProviderProxy.h"
-
-namespace WebKit {
-
-
-} // namespace WebKit


Deleted: trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.h (213441 => 213442)

--- trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.h	2017-03-06 02:53:31 UTC (rev 213441)
+++ trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.h	2017-03-06 05:51:57 UTC (rev 213442)
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2017 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *notice, this list of conditions and the following disclaimer in the
- *documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-namespace WebKit {
-
-
-} // namespace WebKit


Deleted: trunk/Source/WebKit2/UIProcess/WebLoadingProviderProxy.messages.in (213441 => 213442)

--- 

[webkit-changes] [213440] trunk

2017-03-05 Thread simon . fraser
Title: [213440] trunk








Revision 213440
Author simon.fra...@apple.com
Date 2017-03-05 18:48:20 -0800 (Sun, 05 Mar 2017)


Log Message
Avoid backing store for layers with empty text nodes in a few more cases
https://bugs.webkit.org/show_bug.cgi?id=169185

Reviewed by Dan Bernstein.

Source/WebCore:

In hasPaintingNonLayerDescendants() we can check whether the RenderText's linesBoundingBox()
is empty to avoid backing store in a few more cases. Also use containsOnlyWhitespace() rather
than isAllCollapsibleWhitespace(), because there's no need for backing store for non-selectable
whitespace text.

Covered by existing tests.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

inline-block-no-backing.html enhanced to have a layer with non-collapsible whitespace (an ).

Rebaselined other tests.

* compositing/backing/inline-block-no-backing-expected.txt:
* compositing/backing/inline-block-no-backing.html:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* css3/blending/blend-mode-clip-accelerated-blending-canvas-expected.txt:
* platform/ios-simulator-wk2/compositing/backing/inline-block-no-backing-expected.txt:
* platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/backing/inline-block-no-backing-expected.txt
trunk/LayoutTests/compositing/backing/inline-block-no-backing.html
trunk/LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt
trunk/LayoutTests/css3/blending/blend-mode-clip-accelerated-blending-canvas-expected.txt
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/backing/inline-block-no-backing-expected.txt
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (213439 => 213440)

--- trunk/LayoutTests/ChangeLog	2017-03-06 01:37:53 UTC (rev 213439)
+++ trunk/LayoutTests/ChangeLog	2017-03-06 02:48:20 UTC (rev 213440)
@@ -1,3 +1,21 @@
+2017-03-05  Simon Fraser  
+
+Avoid backing store for layers with empty text nodes in a few more cases
+https://bugs.webkit.org/show_bug.cgi?id=169185
+
+Reviewed by Dan Bernstein.
+
+inline-block-no-backing.html enhanced to have a layer with non-collapsible whitespace (an ).
+
+Rebaselined other tests.
+
+* compositing/backing/inline-block-no-backing-expected.txt:
+* compositing/backing/inline-block-no-backing.html:
+* compositing/iframes/page-cache-layer-tree-expected.txt:
+* css3/blending/blend-mode-clip-accelerated-blending-canvas-expected.txt:
+* platform/ios-simulator-wk2/compositing/backing/inline-block-no-backing-expected.txt:
+* platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
+
 2017-03-05  Chris Dumez  
 
 Using  in  causes following  to get swallowed


Modified: trunk/LayoutTests/compositing/backing/inline-block-no-backing-expected.txt (213439 => 213440)

--- trunk/LayoutTests/compositing/backing/inline-block-no-backing-expected.txt	2017-03-06 01:37:53 UTC (rev 213439)
+++ trunk/LayoutTests/compositing/backing/inline-block-no-backing-expected.txt	2017-03-06 02:48:20 UTC (rev 213440)
@@ -1,4 +1,4 @@
-  
+    
 
  (GraphicsLayer
   (anchor 0.00 0.00)
@@ -7,7 +7,7 @@
 (GraphicsLayer
   (bounds 800.00 600.00)
   (contentsOpaque 1)
-  (children 3
+  (children 4
 (GraphicsLayer
   (position 18.00 18.00)
   (bounds 160.00 320.00)
@@ -14,7 +14,7 @@
   (drawsContent 1)
   (children 2
 (GraphicsLayer
-  (position 10.00 10.00)
+  (position 18.00 10.00)
   (bounds 120.00 120.00)
 )
 (GraphicsLayer
@@ -51,6 +51,20 @@
 )
   )
 )
+(GraphicsLayer
+  (position 570.00 18.00)
+  (bounds 160.00 320.00)
+  (children 2
+(GraphicsLayer
+  (position 10.00 10.00)
+  (bounds 120.00 120.00)
+)
+(GraphicsLayer
+  (position 10.00 154.00)
+  (bounds 120.00 120.00)
+)
+  )
+)
   )
 )
   )


Modified: trunk/LayoutTests/compositing/backing/inline-block-no-backing.html (213439 => 213440)

--- trunk/LayoutTests/compositing/backing/inline-block-no-backing.html	2017-03-06 01:37:53 UTC (rev 213439)
+++ trunk/LayoutTests/compositing/backing/inline-block-no-backing.html	2017-03-06 02:48:20 UTC (rev 213440)
@@ -42,6 +42,10 @@
 
 
 
+
+
 
  

Modified: trunk/LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt (213439 => 213440)

--- trunk/LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt	2017-03-06 01:37:53 UTC 

[webkit-changes] [213439] trunk/Source/WebCore

2017-03-05 Thread cdumez
Title: [213439] trunk/Source/WebCore








Revision 213439
Author cdu...@apple.com
Date 2017-03-05 17:37:53 -0800 (Sun, 05 Mar 2017)


Log Message
Drop unnecessary backslash in ResourceResponse::sanitizeSuggestedFilename()
https://bugs.webkit.org/show_bug.cgi?id=169066

Reviewed by Sam Weinig.

Drop unnecessary backslash in ResourceResponse::sanitizeSuggestedFilename().

* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::sanitizeSuggestedFilename):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (213438 => 213439)

--- trunk/Source/WebCore/ChangeLog	2017-03-06 01:36:30 UTC (rev 213438)
+++ trunk/Source/WebCore/ChangeLog	2017-03-06 01:37:53 UTC (rev 213439)
@@ -1,5 +1,17 @@
 2017-03-05  Chris Dumez  
 
+Drop unnecessary backslash in ResourceResponse::sanitizeSuggestedFilename()
+https://bugs.webkit.org/show_bug.cgi?id=169066
+
+Reviewed by Sam Weinig.
+
+Drop unnecessary backslash in ResourceResponse::sanitizeSuggestedFilename().
+
+* platform/network/ResourceResponseBase.cpp:
+(WebCore::ResourceResponseBase::sanitizeSuggestedFilename):
+
+2017-03-05  Chris Dumez  
+
 Using  in  causes following  to get swallowed
 https://bugs.webkit.org/show_bug.cgi?id=163552
 


Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (213438 => 213439)

--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp	2017-03-06 01:36:30 UTC (rev 213438)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp	2017-03-06 01:37:53 UTC (rev 213439)
@@ -231,7 +231,7 @@
 
 ResourceResponse response(URL(ParsedURLString, "http://example.com/"), String(), -1, String());
 response.setHTTPStatusCode(200);
-String escapedSuggestedFilename = String(suggestedFilename).replace('\\', "").replace('\"', "\\\"");
+String escapedSuggestedFilename = String(suggestedFilename).replace('\\', "").replace('"', "\\\"");
 String value = makeString("attachment; filename=\"", escapedSuggestedFilename, '"');
 response.setHTTPHeaderField(HTTPHeaderName::ContentDisposition, value);
 return response.suggestedFilename();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [213438] trunk

2017-03-05 Thread cdumez
Title: [213438] trunk








Revision 213438
Author cdu...@apple.com
Date 2017-03-05 17:36:30 -0800 (Sun, 05 Mar 2017)


Log Message
Using  in  causes following  to get swallowed
https://bugs.webkit.org/show_bug.cgi?id=163552

Reviewed by Sam Weinig.

Source/WebCore:

As per the HTML specification [1], when finding a "form" tag in the "in body"
insertion mode, we should insert an HTML element for the token, and, if there
is no template element on the stack of open elements, set the form element
pointer to point to the element created.

We were missing the "if there is no template element on the stack of open
elements" check and setting the form element pointer unconditionally.
This patch fixes the issue.

[1] https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody:form-element-pointer-2

Test: fast/parser/form-after-template.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement):

LayoutTests:

Add layout test coverage.

* fast/parser/form-after-template-expected.html: Added.
* fast/parser/form-after-template.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp


Added Paths

trunk/LayoutTests/fast/parser/form-after-template-expected.html
trunk/LayoutTests/fast/parser/form-after-template.html




Diff

Modified: trunk/LayoutTests/ChangeLog (213437 => 213438)

--- trunk/LayoutTests/ChangeLog	2017-03-05 20:31:06 UTC (rev 213437)
+++ trunk/LayoutTests/ChangeLog	2017-03-06 01:36:30 UTC (rev 213438)
@@ -1,3 +1,15 @@
+2017-03-05  Chris Dumez  
+
+Using  in  causes following  to get swallowed
+https://bugs.webkit.org/show_bug.cgi?id=163552
+
+Reviewed by Sam Weinig.
+
+Add layout test coverage.
+
+* fast/parser/form-after-template-expected.html: Added.
+* fast/parser/form-after-template.html: Added.
+
 2017-03-04  Myles C. Maxfield  
 
 Update CSSFontSelector's matching algorithm to understand ranges


Added: trunk/LayoutTests/fast/parser/form-after-template-expected.html (0 => 213438)

--- trunk/LayoutTests/fast/parser/form-after-template-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/parser/form-after-template-expected.html	2017-03-06 01:36:30 UTC (rev 213438)
@@ -0,0 +1,9 @@
+
+
+
+Test that the form following a template element properly gets parsed.
+
+Submit
+
+
+


Added: trunk/LayoutTests/fast/parser/form-after-template.html (0 => 213438)

--- trunk/LayoutTests/fast/parser/form-after-template.html	(rev 0)
+++ trunk/LayoutTests/fast/parser/form-after-template.html	2017-03-06 01:36:30 UTC (rev 213438)
@@ -0,0 +1,10 @@
+
+
+
+Test that the form following a template element properly gets parsed.
+
+
+Submit
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (213437 => 213438)

--- trunk/Source/WebCore/ChangeLog	2017-03-05 20:31:06 UTC (rev 213437)
+++ trunk/Source/WebCore/ChangeLog	2017-03-06 01:36:30 UTC (rev 213438)
@@ -1,3 +1,26 @@
+2017-03-05  Chris Dumez  
+
+Using  in  causes following  to get swallowed
+https://bugs.webkit.org/show_bug.cgi?id=163552
+
+Reviewed by Sam Weinig.
+
+As per the HTML specification [1], when finding a "form" tag in the "in body"
+insertion mode, we should insert an HTML element for the token, and, if there
+is no template element on the stack of open elements, set the form element
+pointer to point to the element created.
+
+We were missing the "if there is no template element on the stack of open
+elements" check and setting the form element pointer unconditionally.
+This patch fixes the issue.
+
+[1] https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody:form-element-pointer-2
+
+Test: fast/parser/form-after-template.html
+
+* html/parser/HTMLConstructionSite.cpp:
+(WebCore::HTMLConstructionSite::insertHTMLFormElement):
+
 2017-03-04  Myles C. Maxfield  
 
 Update CSSFontSelector's matching algorithm to understand ranges


Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp (213437 => 213438)

--- trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2017-03-05 20:31:06 UTC (rev 213437)
+++ trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2017-03-06 01:36:30 UTC (rev 213438)
@@ -476,10 +476,14 @@
 void HTMLConstructionSite::insertHTMLFormElement(AtomicHTMLToken&& token, bool isDemoted)
 {
 auto element = createHTMLElement(token);
-m_form = (element.get());
-m_form->setDemoted(isDemoted);
-attachLater(currentNode(), *m_form);
-m_openElements.push(HTMLStackItem::create(*m_form, WTFMove(token)));
+auto& formElement = downcast(element.get());
+// If there is no template element on the stack of open elements, set the
+// form element pointer to 

[webkit-changes] [213437] trunk/Source/WebCore

2017-03-05 Thread aestes
Title: [213437] trunk/Source/WebCore








Revision 213437
Author aes...@apple.com
Date 2017-03-05 12:31:06 -0800 (Sun, 05 Mar 2017)


Log Message
Add support for canvas.toBlob
https://bugs.webkit.org/show_bug.cgi?id=148878

Reviewed by Tim Horton.

Address additional review feedback received after r213412 landed.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toBlob): Passed null to the blob callback if blob conversion
fails for any reason.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::cgImage): Removed an unnecessary local variable.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLCanvasElement.cpp
trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (213436 => 213437)

--- trunk/Source/WebCore/ChangeLog	2017-03-05 20:14:02 UTC (rev 213436)
+++ trunk/Source/WebCore/ChangeLog	2017-03-05 20:31:06 UTC (rev 213437)
@@ -238,6 +238,21 @@
 
 Add support for canvas.toBlob
 https://bugs.webkit.org/show_bug.cgi?id=148878
+
+Reviewed by Tim Horton.
+
+Address additional review feedback received after r213412 landed.
+
+* html/HTMLCanvasElement.cpp:
+(WebCore::HTMLCanvasElement::toBlob): Passed null to the blob callback if blob conversion
+fails for any reason.
+* platform/graphics/cg/ImageBufferCG.cpp:
+(WebCore::cgImage): Removed an unnecessary local variable.
+
+2017-03-03  Andy Estes  
+
+Add support for canvas.toBlob
+https://bugs.webkit.org/show_bug.cgi?id=148878
 
 
 Reviewed by Tim Horton.


Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (213436 => 213437)

--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2017-03-05 20:14:02 UTC (rev 213436)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2017-03-05 20:31:06 UTC (rev 213437)
@@ -504,8 +504,11 @@
 
 #if USE(CG)
 if (auto imageData = getImageData()) {
+RefPtr blob;
 Vector blobData = data(*imageData, encodingMIMEType, quality);
-callback->scheduleCallback(context, Blob::create(WTFMove(blobData), encodingMIMEType));
+if (!blobData.isEmpty())
+blob = Blob::create(WTFMove(blobData), encodingMIMEType);
+callback->scheduleCallback(context, WTFMove(blob));
 return { };
 }
 #endif
@@ -512,8 +515,11 @@
 
 makeRenderingResultsAvailable();
 
+RefPtr blob;
 Vector blobData = buffer()->toData(encodingMIMEType, quality);
-callback->scheduleCallback(context, Blob::create(WTFMove(blobData), encodingMIMEType));
+if (!blobData.isEmpty())
+blob = Blob::create(WTFMove(blobData), encodingMIMEType);
+callback->scheduleCallback(context, WTFMove(blob));
 return { };
 }
 


Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp (213436 => 213437)

--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp	2017-03-05 20:14:02 UTC (rev 213436)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp	2017-03-05 20:31:06 UTC (rev 213437)
@@ -610,8 +610,7 @@
 if (!dataProvider)
 return nullptr;
 
-auto image = adoptCF(CGImageCreate(source.width(), source.height(), 8, 32, 4 * source.width(), sRGBColorSpaceRef(), kCGBitmapByteOrderDefault | dataAlphaInfo, dataProvider.get(), 0, false, kCGRenderingIntentDefault));
-return image;
+return adoptCF(CGImageCreate(source.width(), source.height(), 8, 32, 4 * source.width(), sRGBColorSpaceRef(), kCGBitmapByteOrderDefault | dataAlphaInfo, dataProvider.get(), 0, false, kCGRenderingIntentDefault));
 }
 
 String dataURL(const ImageData& source, const String& mimeType, std::optional quality)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [213436] trunk

2017-03-05 Thread mmaxfield
Title: [213436] trunk








Revision 213436
Author mmaxfi...@apple.com
Date 2017-03-05 12:14:02 -0800 (Sun, 05 Mar 2017)


Log Message
Update CSSFontSelector's matching algorithm to understand ranges
https://bugs.webkit.org/show_bug.cgi?id=168892

Reviewed by Jon Lee.

Source/WebCore:

This patch migrates the font selection algorithm out of FontCacheCoreText and into its own file which can be shared
among all ports. It then migrates our web font selection algorithm to use it.

This patch doesn't actually change the parsing rules; it just changes the internal machinery for how fonts get
selected. Therefore, this patch simply makes zero-length ranges from the discrete values the parser emits, and passes
those zero-length ranges to the range-based font selection routine. This means that this patch doesn't actually
change the results of the font selection algorithm.

One of the inputs to the new font selection algorithm is font-stretch, which previously was not parsed inside
@font-face blocks or the CSS Font Loading API. This patch therefore adds parsing support and modifies the existing
tests for these pieces to expect parsing to work. Because the font selection algorithm itself is shared between
installed fonts and webfonts, this patch doesn't add any additional tests for it (because it is already covered under
existing tests).

No new tests because there is no behavior change.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj: Add new file for the font selection algorithm.
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::calculateStretch): Used on @font-face blocks and the CSS Font Loading API.
(WebCore::CSSFontFace::setStretch): Fill out the previously stubbed function.
* css/CSSFontFace.h: Add the range member variable to CSSFontFaces.
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered): Now that we care about font-stretch, we need to
look it up for local fonts too. This current approach of an extra FontSelectionValue hanging around with a
FontTraitsMask is very ugly and will be removed soon (https://bugs.webkit.org/show_bug.cgi?id=168889 and
https://bugs.webkit.org/show_bug.cgi?id=168890).
(WebCore::computeFontStretch): Used on @font-face blocks and the CSS Font Loading API.
(WebCore::CSSFontFaceSet::matchingFaces): Educate about font-stretch.
(WebCore::CSSFontFaceSet::fontFace): Migrate to the new font-selection algorithm.
(WebCore::fontFaceComparator): Deleted.
* css/CSSFontFaceSet.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule): Educate about font-stretch.
(WebCore::CSSFontSelector::fontRangesForFamily): Ditto.
* css/FontFace.cpp:
(WebCore::FontFace::setStretch): Ditto.
(WebCore::FontFace::stretch): Ditto.
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseFontFaceDescriptor): Ditto.
* platform/graphics/FontCache.h: Ditto.
* platform/graphics/FontDescription.h:
* platform/graphics/FontSelectionAlgorithm.cpp: Added.
(WebCore::FontSelectionAlgorithm::filterCapability):
(WebCore::FontSelectionAlgorithm::indexOfBestCapabilities):
(WebCore::fontSelectionRequestForTraitsMask):
(WebCore::initialFontSelectionCapabilitiesForTraitsMask):
(WebCore::fontSelectionCapabilitiesForTraitsMask):
* platform/graphics/FontSelectionAlgorithm.h: Added. Taken from FontCacheCoreText.cpp.
(WebCore::FontSelectionValue::FontSelectionValue):
(WebCore::FontSelectionValue::operator float):
(WebCore::FontSelectionValue::rawValue):
(WebCore::FontSelectionValue::maximumValue):
(WebCore::FontSelectionValue::minimumValue):
(WebCore::FontSelectionValue::operator+):
(WebCore::FontSelectionValue::operator-):
(WebCore::FontSelectionValue::operator*):
(WebCore::FontSelectionValue::operator/):
(WebCore::FontSelectionValue::operator==):
(WebCore::FontSelectionValue::operator!=):
(WebCore::FontSelectionValue::operator<):
(WebCore::FontSelectionValue::operator<=):
(WebCore::FontSelectionValue::operator>):
(WebCore::FontSelectionValue::operator>=):
(WebCore::FontSelectionRange::isValid):
(WebCore::FontSelectionRange::expand):
(WebCore::FontSelectionRange::includes):
(WebCore::FontSelectionRequest::operator==):
(WebCore::FontSelectionRequest::operator!=):
(WebCore::FontSelectionRequestKey::FontSelectionRequestKey):
(WebCore::FontSelectionRequestKey::isHashTableDeletedValue):
(WebCore::FontSelectionRequestKey::operator==):
(WebCore::FontSelectionRequestKeyHash::hash):
(WebCore::FontSelectionRequestKeyHash::equal):
(WebCore::FontSelectionCapabilities::expand):
(WebCore::FontSelectionAlgorithm::FontSelectionAlgorithm):
(WebCore::FontSelectionAlgorithm::iterateActiveCapabilitiesWithReturn):
(WebCore::FontSelectionAlgorithm::iterateActiveCapabilities):
* platform/graphics/cocoa/FontCacheCoreText.cpp: Moved to FontSelectionAlgorithm.
(WebCore::stretchFromCoreTextTraits):
(WebCore::FontDatabase::capabilitiesForFontDescriptor):
(WebCore::findClosestFont):
(WebCore::calculateFontSelectionRequest):
(WebCore::platformFontLookupWithFamily):

[webkit-changes] [213435] trunk/Source/WebCore

2017-03-05 Thread simon . fraser
Title: [213435] trunk/Source/WebCore








Revision 213435
Author simon.fra...@apple.com
Date 2017-03-05 11:14:12 -0800 (Sun, 05 Mar 2017)


Log Message
Make some RenderLayer tree traversal in RenderLayerBacking more generic
https://bugs.webkit.org/show_bug.cgi?id=169177

Reviewed by Zalan Bujtas.

The real goal of this patch is reduce the number of callers of
RenderLayerBacking::isPaintDestinationForDescendantLayers() to one. To achieve that,
have the setContentsVisible() logic (which is really just about the CSS 'visibility' property)
do its own tree traversal which just consults layer.hasVisibleContent(). So
make descendantLayerPaintsIntoAncestor() a generic traversal function which walks
descendant layers which may paint into the target layer. The "Visible" in the name
reflects the fact that it can bypass a subtree for a layer with !hasVisibleDescendant().

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::traverseVisibleNonCompositedDescendantLayers):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers):
(WebCore::RenderLayerBacking::hasVisibleNonCompositedDescendants):
(WebCore::descendantLayerPaintsIntoAncestor): Deleted.
* rendering/RenderLayerBacking.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
trunk/Source/WebCore/rendering/RenderLayerBacking.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (213434 => 213435)

--- trunk/Source/WebCore/ChangeLog	2017-03-05 11:10:10 UTC (rev 213434)
+++ trunk/Source/WebCore/ChangeLog	2017-03-05 19:14:12 UTC (rev 213435)
@@ -1,3 +1,26 @@
+2017-03-05  Simon Fraser  
+
+Make some RenderLayer tree traversal in RenderLayerBacking more generic
+https://bugs.webkit.org/show_bug.cgi?id=169177
+
+Reviewed by Zalan Bujtas.
+
+The real goal of this patch is reduce the number of callers of
+RenderLayerBacking::isPaintDestinationForDescendantLayers() to one. To achieve that,
+have the setContentsVisible() logic (which is really just about the CSS 'visibility' property)
+do its own tree traversal which just consults layer.hasVisibleContent(). So
+make descendantLayerPaintsIntoAncestor() a generic traversal function which walks
+descendant layers which may paint into the target layer. The "Visible" in the name
+reflects the fact that it can bypass a subtree for a layer with !hasVisibleDescendant().
+
+* rendering/RenderLayerBacking.cpp:
+(WebCore::RenderLayerBacking::updateAfterDescendants):
+(WebCore::traverseVisibleNonCompositedDescendantLayers):
+(WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers):
+(WebCore::RenderLayerBacking::hasVisibleNonCompositedDescendants):
+(WebCore::descendantLayerPaintsIntoAncestor): Deleted.
+* rendering/RenderLayerBacking.h:
+
 2017-03-04  Simon Fraser  
 
 Clarify some terminology in RenderLayerBacking


Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (213434 => 213435)

--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2017-03-05 11:10:10 UTC (rev 213434)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2017-03-05 19:14:12 UTC (rev 213435)
@@ -1104,7 +1104,7 @@
 
 updateDrawsContent(isSimpleContainer);
 
-m_graphicsLayer->setContentsVisible(m_owningLayer.hasVisibleContent() || isPaintDestinationForDescendantLayers());
+m_graphicsLayer->setContentsVisible(m_owningLayer.hasVisibleContent() || hasVisibleNonCompositedDescendants());
 if (m_scrollingLayer) {
 m_scrollingLayer->setContentsVisible(renderer().style().visibility() == VISIBLE);
 m_scrollingLayer->setUserInteractionEnabled(renderer().style().pointerEvents() != PE_NONE);
@@ -1948,7 +1948,9 @@
 return true;
 }
 
-static bool descendantLayerPaintsIntoAncestor(RenderLayer& parent)
+enum class LayerTraversal { Continue, Stop };
+
+static LayerTraversal traverseVisibleNonCompositedDescendantLayers(RenderLayer& parent, std::function layerFunc)
 {
 // FIXME: We shouldn't be called with a stale z-order lists. See bug 85512.
 parent.updateLayerListsIfNeeded();
@@ -1959,40 +1961,75 @@
 
 if (auto* normalFlowList = parent.normalFlowList()) {
 for (auto* childLayer : *normalFlowList) {
-if (!compositedWithOwnBackingStore(*childLayer) && (childLayer->isVisuallyNonEmpty() || descendantLayerPaintsIntoAncestor(*childLayer)))
-return true;
+if (compositedWithOwnBackingStore(*childLayer))
+continue;
+
+if (layerFunc(*childLayer) == LayerTraversal::Stop)
+return LayerTraversal::Stop;
+
+if (traverseVisibleNonCompositedDescendantLayers(*childLayer, layerFunc) == LayerTraversal::Stop)
+return LayerTraversal::Stop;
 }
 }
 
 if 

[webkit-changes] [213434] trunk/LayoutTests

2017-03-05 Thread commit-queue
Title: [213434] trunk/LayoutTests








Revision 213434
Author commit-qu...@webkit.org
Date 2017-03-05 03:10:10 -0800 (Sun, 05 Mar 2017)


Log Message
[GTK] Two file reset tests are failing in the bots since they were added in r213042
https://bugs.webkit.org/show_bug.cgi?id=169126

Patch by Carlos Garcia Campos  on 2017-03-05
Reviewed by Michael Catanzaro.

They are failing because the GTK+ event sender is not firing the second UIHelper.activateAt() after the change
event. In one case this causes that the reset button is not clicked, and in the other one the file input is not
unfocused. This is because the change event is emitted before the mouse up, and the GTK+ event sender ignores
mouse down events when the button is already down to not confuse Xvfb. So, we can easily fix theses tests by
using a timeout to ensure the next UIHelper.activateAt() happens in a different run loop iteration, after the
mouse up.

* fast/forms/file/file-input-reset-using-open-panel.html:
* fast/forms/file/file-reset-in-change-using-open-panel.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/forms/file/file-input-reset-using-open-panel.html
trunk/LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel.html




Diff

Modified: trunk/LayoutTests/ChangeLog (213433 => 213434)

--- trunk/LayoutTests/ChangeLog	2017-03-05 08:37:34 UTC (rev 213433)
+++ trunk/LayoutTests/ChangeLog	2017-03-05 11:10:10 UTC (rev 213434)
@@ -1,3 +1,20 @@
+2017-03-05  Carlos Garcia Campos  
+
+[GTK] Two file reset tests are failing in the bots since they were added in r213042
+https://bugs.webkit.org/show_bug.cgi?id=169126
+
+Reviewed by Michael Catanzaro.
+
+They are failing because the GTK+ event sender is not firing the second UIHelper.activateAt() after the change
+event. In one case this causes that the reset button is not clicked, and in the other one the file input is not
+unfocused. This is because the change event is emitted before the mouse up, and the GTK+ event sender ignores
+mouse down events when the button is already down to not confuse Xvfb. So, we can easily fix theses tests by
+using a timeout to ensure the next UIHelper.activateAt() happens in a different run loop iteration, after the
+mouse up.
+
+* fast/forms/file/file-input-reset-using-open-panel.html:
+* fast/forms/file/file-reset-in-change-using-open-panel.html:
+
 2017-03-04  Commit Queue  
 
 Unreviewed, rolling out r213379.


Modified: trunk/LayoutTests/fast/forms/file/file-input-reset-using-open-panel.html (213433 => 213434)

--- trunk/LayoutTests/fast/forms/file/file-input-reset-using-open-panel.html	2017-03-05 08:37:34 UTC (rev 213433)
+++ trunk/LayoutTests/fast/forms/file/file-input-reset-using-open-panel.html	2017-03-05 11:10:10 UTC (rev 213434)
@@ -23,12 +23,15 @@
 
 file.addEventListener("change", function() {
 document.getElementById("console").innerHTML = file.value + " is selected.";
-UIHelper.activateAt(reset.offsetLeft + reset.offsetWidth / 2, reset.offsetTop + reset.offsetHeight / 2).then(function() {
-// Move a cursor out of the reset button.
-UIHelper.activateAt(reset.offsetLeft + reset.offsetWidth + 10, reset.offsetTop + reset.offsetHeight + 10).then(function() {
-testRunner.notifyDone();
+// The change event can be fired before the mouse up, so use a timeout here to ensure the next mouse down happens after the pending mouse up.
+window.setTimeout(function() {
+UIHelper.activateAt(reset.offsetLeft + reset.offsetWidth / 2, reset.offsetTop + reset.offsetHeight / 2).then(function() {
+// Move a cursor out of the reset button.
+UIHelper.activateAt(reset.offsetLeft + reset.offsetWidth + 10, reset.offsetTop + reset.offsetHeight + 10).then(function() {
+testRunner.notifyDone();
+});
 });
-});
+}, 0);
 });
 
 openFilesInElement(file, ["foo.txt"]);


Modified: trunk/LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel.html (213433 => 213434)

--- trunk/LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel.html	2017-03-05 08:37:34 UTC (rev 213433)
+++ trunk/LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel.html	2017-03-05 11:10:10 UTC (rev 213434)
@@ -15,9 +15,12 @@
 
 function handleChange() {
 file1.value = '';
-UIHelper.activateAt(1, 1).then(function() {
-testRunner.notifyDone();
-});
+// The change event can be fired before the mouse up, so use a timeout here to ensure the next mouse down happens after the pending mouse up.
+window.setTimeout(function() {
+UIHelper.activateAt(1, 1).then(function() {
+testRunner.notifyDone();
+});
+}, 0);
 }
 
 if (window.testRunner)







[webkit-changes] [213433] trunk/Source/JavaScriptCore

2017-03-05 Thread utatane . tea
Title: [213433] trunk/Source/_javascript_Core








Revision 213433
Author utatane@gmail.com
Date 2017-03-05 00:37:34 -0800 (Sun, 05 Mar 2017)


Log Message
[JSCOnly][GTK] Suppress warnings on return type in B3 and WASM
https://bugs.webkit.org/show_bug.cgi?id=168869

Reviewed by Keith Miller.

* b3/B3Width.h:
* wasm/WasmSections.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/B3Width.h
trunk/Source/_javascript_Core/wasm/WasmSections.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (213432 => 213433)

--- trunk/Source/_javascript_Core/ChangeLog	2017-03-05 07:41:25 UTC (rev 213432)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-03-05 08:37:34 UTC (rev 213433)
@@ -1,3 +1,13 @@
+2017-03-05  Yusuke Suzuki  
+
+[JSCOnly][GTK] Suppress warnings on return type in B3 and WASM
+https://bugs.webkit.org/show_bug.cgi?id=168869
+
+Reviewed by Keith Miller.
+
+* b3/B3Width.h:
+* wasm/WasmSections.h:
+
 2017-03-04  Csaba Osztrogonác  
 
 [ARM] Unreviewed buildfix after r213376.


Modified: trunk/Source/_javascript_Core/b3/B3Width.h (213432 => 213433)

--- trunk/Source/_javascript_Core/b3/B3Width.h	2017-03-05 07:41:25 UTC (rev 213432)
+++ trunk/Source/_javascript_Core/b3/B3Width.h	2017-03-05 08:37:34 UTC (rev 213433)
@@ -30,6 +30,11 @@
 #include "B3Bank.h"
 #include "B3Type.h"
 
+#if COMPILER(GCC) && ASSERT_DISABLED
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wreturn-type"
+#endif // COMPILER(GCC) && ASSERT_DISABLED
+
 namespace JSC { namespace B3 {
 
 enum Width : int8_t {
@@ -103,5 +108,9 @@
 
 } // namespace WTF
 
+#if COMPILER(GCC) && ASSERT_DISABLED
+#pragma GCC diagnostic pop
+#endif // COMPILER(GCC) && ASSERT_DISABLED
+
 #endif // ENABLE(B3_JIT)
 


Modified: trunk/Source/_javascript_Core/wasm/WasmSections.h (213432 => 213433)

--- trunk/Source/_javascript_Core/wasm/WasmSections.h	2017-03-05 07:41:25 UTC (rev 213432)
+++ trunk/Source/_javascript_Core/wasm/WasmSections.h	2017-03-05 08:37:34 UTC (rev 213433)
@@ -27,6 +27,11 @@
 
 #if ENABLE(WEBASSEMBLY)
 
+#if COMPILER(GCC) && ASSERT_DISABLED
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wreturn-type"
+#endif // COMPILER(GCC) && ASSERT_DISABLED
+
 namespace JSC { namespace Wasm {
 
 #define FOR_EACH_WASM_SECTION(macro) \
@@ -81,4 +86,8 @@
 
 } } // namespace JSC::Wasm
 
+#if COMPILER(GCC) && ASSERT_DISABLED
+#pragma GCC diagnostic pop
+#endif // COMPILER(GCC) && ASSERT_DISABLED
+
 #endif // ENABLE(WEBASSEMBLY)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes