[webkit-changes] [211473] trunk

2017-02-01 Thread utatane . tea
Title: [211473] trunk








Revision 211473
Author utatane@gmail.com
Date 2017-02-01 02:00:32 -0800 (Wed, 01 Feb 2017)


Log Message
Propagate networking errors correctly for import() operator
https://bugs.webkit.org/show_bug.cgi?id=167501

Reviewed by Ryosuke Niwa.

.:

* Source/ModuleFetchFailureKind.h: Added.

Source/WebCore:

We use the promise chain inside the module loader pipeline.
The problem is that,

1. The errors of loading module scripts are propagated through the promise's rejection.
2. Some module related errors like syntax error (when scanning module dependencies) are
   reported at loading time (evaluating time). These errors are propagated through the
   promise rejections and dumped to the console. LoadableModuleScript set catch handler
   for that and print these errors to the console for ScriptElement.
3. Some of errors are already reported to the console. For example, networking errors
   are reported by the CachedModuleLoader.
4. But there is no way to distinguish between (2) and (3) at the catch handler.

Previously, we propagate the special symbol for the already reported errors to distinguish
that. This was OK because these errors cannot be catched by the user code. However,
recent `import()` call needs to expose these errors to the user code. So now, accidentally,
the special purpose symbol is exposed.

Instead of propagating the special symbol, this patch just propagates the errors. But these
error objects are annotated with the private symbol. So these errors can be distinguished
from the other ones.

Currently, we do not have the way to expose the error details to the client of the
CachedScript. So we just report the error with the failed / canceled. This should be
more descriptive error messages in the separate patch[1].

[1]: https://bugs.webkit.org/show_bug.cgi?id=167553

Tests: http/tests/security/mixedContent/import-insecure-script-in-iframe.html
   js/dom/modules/import-not-found-error.html

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMPromise.h:
(WebCore::DeferredPromise::resolveWithCallback):
(WebCore::DeferredPromise::rejectWithCallback):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::setupModuleScriptHandlers):
* bindings/js/ScriptController.h:
(WebCore::ScriptController::moduleLoaderAlreadyReportedErrorSymbol): Deleted.
(WebCore::ScriptController::moduleLoaderFetchingIsCanceledSymbol): Deleted.
* bindings/js/ScriptModuleLoader.cpp:
(WebCore::rejectToPropagateNetworkError):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::notifyFinished):
* bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

* http/tests/security/mixedContent/import-insecure-script-in-iframe-expected.txt: Added.
* http/tests/security/mixedContent/import-insecure-script-in-iframe.html: Added.
* http/tests/security/mixedContent/resources/frame-with-insecure-import.html: Added.
* js/dom/modules/import-not-found-error-expected.txt: Added.
* js/dom/modules/import-not-found-error.html: Added.

Modified Paths

trunk/ChangeLog
trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/bindings/js/JSDOMPromise.h
trunk/Source/WebCore/bindings/js/ScriptController.cpp
trunk/Source/WebCore/bindings/js/ScriptController.h
trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp
trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h


Added Paths

trunk/LayoutTests/http/tests/security/mixedContent/import-insecure-script-in-iframe-expected.txt
trunk/LayoutTests/http/tests/security/mixedContent/import-insecure-script-in-iframe.html
trunk/LayoutTests/http/tests/security/mixedContent/resources/frame-with-insecure-import.html
trunk/LayoutTests/js/dom/modules/import-not-found-error-expected.txt
trunk/LayoutTests/js/dom/modules/import-not-found-error.html
trunk/Source/ModuleFetchFailureKind.h




Diff

Modified: trunk/ChangeLog (211472 => 211473)

--- trunk/ChangeLog	2017-02-01 07:55:44 UTC (rev 211472)
+++ trunk/ChangeLog	2017-02-01 10:00:32 UTC (rev 211473)
@@ -1,3 +1,12 @@
+2017-02-01  Yusuke Suzuki  
+
+Propagate networking errors correctly for import() operator
+https://bugs.webkit.org/show_bug.cgi?id=167501
+
+Reviewed by Ryosuke Niwa.
+
+* Source/ModuleFetchFailureKind.h: Added.
+
 2017-01-31  Carlos Garcia Campos  
 
 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.15.4 release.


Modified: trunk/LayoutTests/ChangeLog (211472 => 211473)

--- trunk/LayoutTests/ChangeLog	2017-02-01 07:55:44 UTC (rev 211472)
+++ trunk/LayoutTests/ChangeLog	2017-02-01 10:00:32 UTC (rev 211473)
@@ -1,3 +1,16 @@
+2017-02-01  Yusuke Suzuki  
+
+Propagate networking errors correctly for import() operator
+https://bugs.webkit.org/show_bug.cgi?id=167501
+
+Reviewed by Ryosuke Niwa.
+
+* http/tests/security/mixedContent/import-insecure-script-in-iframe-expected.txt: Added.
+* http/tests/security/mixedContent/import-insecure-script-in-

[webkit-changes] [211474] trunk/Source

2017-02-01 Thread utatane . tea
Title: [211474] trunk/Source








Revision 211474
Author utatane@gmail.com
Date 2017-02-01 02:32:33 -0800 (Wed, 01 Feb 2017)


Log Message
Unreviewed, build fix for macOS and iOS ports

* bindings/js/ModuleFetchFailureKind.h: Renamed from Source/ModuleFetchFailureKind.h.

Modified Paths

trunk/Source/WebCore/ChangeLog


Added Paths

trunk/Source/WebCore/bindings/js/ModuleFetchFailureKind.h


Removed Paths

trunk/Source/ModuleFetchFailureKind.h




Diff

Deleted: trunk/Source/ModuleFetchFailureKind.h (211473 => 211474)

--- trunk/Source/ModuleFetchFailureKind.h	2017-02-01 10:00:32 UTC (rev 211473)
+++ trunk/Source/ModuleFetchFailureKind.h	2017-02-01 10:32:33 UTC (rev 211474)
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2017 Yusuke Suzuki 
- *
- * 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 WebCore {
-
-enum class ModuleFetchFailureKind {
-WasErrored,
-WasCanceled,
-};
-
-} // namespace WebCore
-


Modified: trunk/Source/WebCore/ChangeLog (211473 => 211474)

--- trunk/Source/WebCore/ChangeLog	2017-02-01 10:00:32 UTC (rev 211473)
+++ trunk/Source/WebCore/ChangeLog	2017-02-01 10:32:33 UTC (rev 211474)
@@ -1,5 +1,11 @@
 2017-02-01  Yusuke Suzuki  
 
+Unreviewed, build fix for macOS and iOS ports
+
+* bindings/js/ModuleFetchFailureKind.h: Renamed from Source/ModuleFetchFailureKind.h.
+
+2017-02-01  Yusuke Suzuki  
+
 Propagate networking errors correctly for import() operator
 https://bugs.webkit.org/show_bug.cgi?id=167501
 


Copied: trunk/Source/WebCore/bindings/js/ModuleFetchFailureKind.h (from rev 211473, trunk/Source/ModuleFetchFailureKind.h) (0 => 211474)

--- trunk/Source/WebCore/bindings/js/ModuleFetchFailureKind.h	(rev 0)
+++ trunk/Source/WebCore/bindings/js/ModuleFetchFailureKind.h	2017-02-01 10:32:33 UTC (rev 211474)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 Yusuke Suzuki 
+ *
+ * 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 WebCore {
+
+enum class ModuleFetchFailureKind {
+WasErrored,
+WasCanceled,
+};
+
+} // namespace WebCore
+






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


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

2017-02-01 Thread utatane . tea
Title: [211475] trunk/Source/WebCore








Revision 211475
Author utatane@gmail.com
Date 2017-02-01 02:42:35 -0800 (Wed, 01 Feb 2017)


Log Message
Unreviewed, build fix for macOS and iOS ports, part 2

Annotate the function with static.

* bindings/js/ScriptModuleLoader.cpp:
(WebCore::rejectToPropagateNetworkError):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (211474 => 211475)

--- trunk/Source/WebCore/ChangeLog	2017-02-01 10:32:33 UTC (rev 211474)
+++ trunk/Source/WebCore/ChangeLog	2017-02-01 10:42:35 UTC (rev 211475)
@@ -1,5 +1,14 @@
 2017-02-01  Yusuke Suzuki  
 
+Unreviewed, build fix for macOS and iOS ports, part 2
+
+Annotate the function with static.
+
+* bindings/js/ScriptModuleLoader.cpp:
+(WebCore::rejectToPropagateNetworkError):
+
+2017-02-01  Yusuke Suzuki  
+
 Unreviewed, build fix for macOS and iOS ports
 
 * bindings/js/ModuleFetchFailureKind.h: Renamed from Source/ModuleFetchFailureKind.h.


Modified: trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp (211474 => 211475)

--- trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp	2017-02-01 10:32:33 UTC (rev 211474)
+++ trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp	2017-02-01 10:42:35 UTC (rev 211475)
@@ -125,7 +125,7 @@
 return jsPromise.promise();
 }
 
-void rejectToPropagateNetworkError(DeferredPromise& deferred, ModuleFetchFailureKind failureKind, ASCIILiteral message)
+static void rejectToPropagateNetworkError(DeferredPromise& deferred, ModuleFetchFailureKind failureKind, ASCIILiteral message)
 {
 deferred.rejectWithCallback([&] (JSC::ExecState& state, JSDOMGlobalObject&) {
 // We annotate exception with special private symbol. It allows us to distinguish these errors from the user thrown ones.






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


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

2017-02-01 Thread ossy
Title: [211476] trunk/Source/WebKit2








Revision 211476
Author o...@webkit.org
Date 2017-02-01 02:46:10 -0800 (Wed, 01 Feb 2017)


Log Message
[Mac][cmake] Unreviewed speculative buildfix after r211403.
https://bugs.webkit.org/show_bug.cgi?id=167601

* UIProcess/API/Cocoa/WKWebView.mm:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (211475 => 211476)

--- trunk/Source/WebKit2/ChangeLog	2017-02-01 10:42:35 UTC (rev 211475)
+++ trunk/Source/WebKit2/ChangeLog	2017-02-01 10:46:10 UTC (rev 211476)
@@ -1,3 +1,10 @@
+2017-02-01  Csaba Osztrogonác  
+
+[Mac][cmake] Unreviewed speculative buildfix after r211403.
+https://bugs.webkit.org/show_bug.cgi?id=167601
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+
 2017-01-31  Antti Koivisto  
 
 Teach cache coders to encode time_points


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (211475 => 211476)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-02-01 10:42:35 UTC (rev 211475)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-02-01 10:46:10 UTC (rev 211476)
@@ -91,6 +91,7 @@
 #import 
 #import 
 #import 
+#import 
 #import 
 #import 
 #import 






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


[webkit-changes] [211477] trunk/Tools

2017-02-01 Thread calvaris
Title: [211477] trunk/Tools








Revision 211477
Author calva...@igalia.com
Date 2017-02-01 02:58:52 -0800 (Wed, 01 Feb 2017)


Log Message
[GTK] Install either libxfont1-dev or libxfont-dev as dependency
https://bugs.webkit.org/show_bug.cgi?id=167498

Reviewed by Carlos Garcia Campos.

Depending on the distro version you can need either libxfont1-dev
or libfont-dev to build with jhbuild.

* gtk/install-dependencies:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/gtk/install-dependencies




Diff

Modified: trunk/Tools/ChangeLog (211476 => 211477)

--- trunk/Tools/ChangeLog	2017-02-01 10:46:10 UTC (rev 211476)
+++ trunk/Tools/ChangeLog	2017-02-01 10:58:52 UTC (rev 211477)
@@ -1,3 +1,15 @@
+2017-02-01  Xabier Rodriguez Calvar  
+
+[GTK] Install either libxfont1-dev or libxfont-dev as dependency
+https://bugs.webkit.org/show_bug.cgi?id=167498
+
+Reviewed by Carlos Garcia Campos.
+
+Depending on the distro version you can need either libxfont1-dev
+or libfont-dev to build with jhbuild.
+
+* gtk/install-dependencies:
+
 2017-01-31  Ryan Haddad  
 
 Disable API test WebKit2.WKWebProcessPlugInRangeHandle


Modified: trunk/Tools/gtk/install-dependencies (211476 => 211477)

--- trunk/Tools/gtk/install-dependencies	2017-02-01 10:46:10 UTC (rev 211476)
+++ trunk/Tools/gtk/install-dependencies	2017-02-01 10:58:52 UTC (rev 211477)
@@ -188,7 +188,7 @@
 libv4l-dev \
 libxcb-composite0-dev \
 libxcb-xfixes0-dev \
-libxfont-dev \
+$(aptIfElse libxfont1-dev libxfont-dev) \
 libxkbfile-dev \
 libtool-bin \
 libudev-dev \






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


[webkit-changes] [211479] trunk

2017-02-01 Thread utatane . tea
Title: [211479] trunk








Revision 211479
Author utatane@gmail.com
Date 2017-02-01 03:29:25 -0800 (Wed, 01 Feb 2017)


Log Message
ArityFixup should adjust SP first
https://bugs.webkit.org/show_bug.cgi?id=167239

Reviewed by Michael Saboff.

JSTests:

Significantly large arity fixup reliably causes this crash.

* stress/arity-fixup-should-not-touch-stack-area-below-sp.js: Added.

Source/_javascript_Core:

Arity fixup extends the stack and copy/fill the stack with
the values. At that time, we accidentally read/write stack
space below the stack pointer. As a result, we touch the area
of the stack space below the x64 red zone. These areas are unsafe.
OS may corrupt this space when constructing a signal stack.
The Linux kernel could not populate the pages for this space
and causes segmentation fault. This patch changes the stack
pointer before performing the arity fixup.

* jit/ThunkGenerators.cpp:
(JSC::arityFixupGenerator):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp
trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm
trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm


Added Paths

trunk/JSTests/stress/arity-fixup-should-not-touch-stack-area-below-sp.js




Diff

Modified: trunk/JSTests/ChangeLog (211478 => 211479)

--- trunk/JSTests/ChangeLog	2017-02-01 10:59:17 UTC (rev 211478)
+++ trunk/JSTests/ChangeLog	2017-02-01 11:29:25 UTC (rev 211479)
@@ -1,3 +1,14 @@
+2017-02-01  Yusuke Suzuki  
+
+ArityFixup should adjust SP first
+https://bugs.webkit.org/show_bug.cgi?id=167239
+
+Reviewed by Michael Saboff.
+
+Significantly large arity fixup reliably causes this crash.
+
+* stress/arity-fixup-should-not-touch-stack-area-below-sp.js: Added.
+
 2017-01-31  Filip Pizlo  
 
 Move slow-running microbenchmarks out of JSTests/microbenchmarks


Added: trunk/JSTests/stress/arity-fixup-should-not-touch-stack-area-below-sp.js (0 => 211479)

--- trunk/JSTests/stress/arity-fixup-should-not-touch-stack-area-below-sp.js	(rev 0)
+++ trunk/JSTests/stress/arity-fixup-should-not-touch-stack-area-below-sp.js	2017-02-01 11:29:25 UTC (rev 211479)
@@ -0,0 +1,5 @@
+var args = "y,".repeat(3);
+var g = Function(args, "return 0");
+for (var i = 0; i < 1e3; ++i) {
+g();
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (211478 => 211479)

--- trunk/Source/_javascript_Core/ChangeLog	2017-02-01 10:59:17 UTC (rev 211478)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-02-01 11:29:25 UTC (rev 211479)
@@ -1,3 +1,24 @@
+2017-02-01  Yusuke Suzuki  
+
+ArityFixup should adjust SP first
+https://bugs.webkit.org/show_bug.cgi?id=167239
+
+Reviewed by Michael Saboff.
+
+Arity fixup extends the stack and copy/fill the stack with
+the values. At that time, we accidentally read/write stack
+space below the stack pointer. As a result, we touch the area
+of the stack space below the x64 red zone. These areas are unsafe.
+OS may corrupt this space when constructing a signal stack.
+The Linux kernel could not populate the pages for this space
+and causes segmentation fault. This patch changes the stack
+pointer before performing the arity fixup.
+
+* jit/ThunkGenerators.cpp:
+(JSC::arityFixupGenerator):
+* llint/LowLevelInterpreter32_64.asm:
+* llint/LowLevelInterpreter64.asm:
+
 2017-01-31  Filip Pizlo  
 
 Make verifyEdge a RELEASE_ASSERT


Modified: trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp (211478 => 211479)

--- trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp	2017-02-01 10:59:17 UTC (rev 211478)
+++ trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp	2017-02-01 11:29:25 UTC (rev 211479)
@@ -440,6 +440,15 @@
 
 jit.neg64(JSInterfaceJIT::argumentGPR0);
 
+// Adjust call frame register and stack pointer to account for missing args.
+// We need to change the stack pointer first before performing copy/fill loops.
+// This stack space below the stack pointer is considered unsed by OS. Therefore,
+// OS may corrupt this space when constructing a signal stack.
+jit.move(JSInterfaceJIT::argumentGPR0, extraTemp);
+jit.lshift64(JSInterfaceJIT::TrustedImm32(3), extraTemp);
+jit.addPtr(extraTemp, JSInterfaceJIT::callFrameRegister);
+jit.addPtr(extraTemp, JSInterfaceJIT::stackPointerRegister);
+
 // Move current frame down argumentGPR0 number of slots
 JSInterfaceJIT::Label copyLoop(jit.label());
 jit.load64(JSInterfaceJIT::regT3, extraTemp);
@@ -455,12 +464,6 @@
 jit.addPtr(JSInterfaceJIT::TrustedImm32(8), JSInterfaceJIT::regT3);
 jit.branchAdd32(MacroAssembler::NonZero, JSInterfaceJIT::TrustedImm32(1), JSInterfaceJIT::argumentGPR2).linkTo(fillUndefinedLoop, &jit);
 
-// Adjust cal

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

2017-02-01 Thread antti
Title: [211480] trunk/Source/WebKit2








Revision 211480
Author an...@apple.com
Date 2017-02-01 05:38:49 -0800 (Wed, 01 Feb 2017)


Log Message
Load resources speculatively
https://bugs.webkit.org/show_bug.cgi?id=167660

Reviewed by Andreas Kling.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::makeEntry):

Factor to a function.

(WebKit::NetworkCache::Cache::store):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

Support loads where we don't have existing cache entry to validate.

(WebKit::NetworkCache::SpeculativeLoad::didReceiveBuffer):

Synthesize a NetworkCache::Entry if we can't store it.

(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
(WebKit::NetworkCache::SpeculativeLoad::didFailLoading):
(WebKit::NetworkCache::SpeculativeLoad::abort):
(WebKit::NetworkCache::SpeculativeLoad::didComplete):
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::constructRevalidationRequest):

Make having existing cache entry optional.

(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):

Allow validation without validation headers (that is, normal load).

(WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):

Make having existing cache entry optional.

(WebKit::NetworkCache::canRevalidate):

Allow speculative loads without validation headers if we have high confidence that the
page is going to request this resource again. This is based on the time span we have
seen this resource being loaded on a given page and how much time has elapsed since we
last loaded it.

For example if we have seen the resource over the last 10 days we'll speculate that it will
be required for the next 5 days.

(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): Deleted.
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
* NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourceInfo::encode):
(WebKit::NetworkCache::SubresourceInfo::decode):

Encode the firstSeen and lastSeen time stamps.

(WebKit::NetworkCache::SubresourceInfo::SubresourceInfo):
(WebKit::NetworkCache::makeSubresourceInfoVector):
(WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
(WebKit::NetworkCache::SubresourcesEntry::updateSubresourceLoads):
* NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
(WebKit::NetworkCache::SubresourceInfo::lastSeen):
(WebKit::NetworkCache::SubresourceInfo::firstSeen):
(WebKit::NetworkCache::SubresourceInfo::setNonTransient):
(WebKit::NetworkCache::SubresourceInfo::SubresourceInfo): Deleted.
(WebKit::NetworkCache::SubresourceInfo::setTransient): Deleted.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp
trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheSubresourcesEntry.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (211479 => 211480)

--- trunk/Source/WebKit2/ChangeLog	2017-02-01 11:29:25 UTC (rev 211479)
+++ trunk/Source/WebKit2/ChangeLog	2017-02-01 13:38:49 UTC (rev 211480)
@@ -1,3 +1,74 @@
+2017-02-01  Antti Koivisto  
+
+Load resources speculatively
+https://bugs.webkit.org/show_bug.cgi?id=167660
+
+Reviewed by Andreas Kling.
+
+* NetworkProcess/cache/NetworkCache.cpp:
+(WebKit::NetworkCache::Cache::makeEntry):
+
+Factor to a function.
+
+(WebKit::NetworkCache::Cache::store):
+* NetworkProcess/cache/NetworkCache.h:
+* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
+
+Support loads where we don't have existing cache entry to validate.
+
+(WebKit::NetworkCache::SpeculativeLoad::didReceiveBuffer):
+
+Synthesize a NetworkCache::Entry if we can't store it.
+
+(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
+(WebKit::NetworkCache::SpeculativeLoad::didFailLoading):
+(WebKit::NetworkCache::SpeculativeLoad::abort):
+(WebKit::NetworkCache::SpeculativeLoad::didComplete):
+* NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
+* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
+(WebKit::NetworkCache::constructRevalidationRequest):
+
+Make havi

[webkit-changes] [211481] trunk

2017-02-01 Thread tpopela
Title: [211481] trunk








Revision 211481
Author tpop...@redhat.com
Date 2017-02-01 06:14:36 -0800 (Wed, 01 Feb 2017)


Log Message
[GTK] Add an API to add a custom tab into the print dialog
https://bugs.webkit.org/show_bug.cgi?id=151998

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Add a new create-custom-widget signal to the WebKitPrintOperation. The
signal is emitted before the dialog is displayed and it gives an
opportunity to embed a custom widget in the dialog. You can do so by
creating a new WebKitPrintCustomWidget and returning it from the
create-custom-widget signal handler. The WebKitPrintCustomWidget is
emitting two signals:
  - update - emitted when the currently selected printer is changed,
 to be able to actualize the custom widget based on the
 current printer
  - apply - emitted when the dialog is closed, just before the
printing will start, to be able e.g. to change content
based on the custom widget state.

* PlatformGTK.cmake:
* UIProcess/API/gtk/WebKitAutocleanups.h:
* UIProcess/API/gtk/WebKitPrintCustomWidget.cpp: Added.
(webkitPrintCustomWidgetSetProperty):
(webkit_print_custom_widget_class_init):
(webkit_print_custom_widget_new):
(webkit_print_custom_widget_get_widget):
(webkit_print_custom_widget_get_title):
(webkitPrintCustomWidgetEmitCustomWidgetApplySignal):
(webkitPrintCustomWidgetEmitUpdateCustomWidgetSignal):
* UIProcess/API/gtk/WebKitPrintCustomWidget.h: Added.
* UIProcess/API/gtk/WebKitPrintCustomWidgetPrivate.h: Added.
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationAccumulatorObjectHandled):
(webkit_print_operation_class_init):
(notifySelectedPrinterCallback):
(webkitPrintOperationRunDialog):
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/gtk/docs/webkit2gtk-4.0.types:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/webkit2.h:

Tools:

Add a new WebKitPrintOperation/custom-widget test in TestPrinting
that is testing a newly added API.

* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
(testPrintCustomWidget):
(beforeAll):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/PlatformGTK.cmake
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitAutocleanups.h
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-4.0.types
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml
trunk/Source/WebKit2/UIProcess/API/gtk/webkit2.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp


Added Paths

trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrintCustomWidget.cpp
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrintCustomWidget.h
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrintCustomWidgetPrivate.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (211480 => 211481)

--- trunk/Source/WebKit2/ChangeLog	2017-02-01 13:38:49 UTC (rev 211480)
+++ trunk/Source/WebKit2/ChangeLog	2017-02-01 14:14:36 UTC (rev 211481)
@@ -1,3 +1,45 @@
+2017-02-01  Tomas Popela  
+
+[GTK] Add an API to add a custom tab into the print dialog
+https://bugs.webkit.org/show_bug.cgi?id=151998
+
+Reviewed by Carlos Garcia Campos.
+
+Add a new create-custom-widget signal to the WebKitPrintOperation. The
+signal is emitted before the dialog is displayed and it gives an
+opportunity to embed a custom widget in the dialog. You can do so by
+creating a new WebKitPrintCustomWidget and returning it from the
+create-custom-widget signal handler. The WebKitPrintCustomWidget is
+emitting two signals:
+  - update - emitted when the currently selected printer is changed,
+ to be able to actualize the custom widget based on the
+ current printer
+  - apply - emitted when the dialog is closed, just before the
+printing will start, to be able e.g. to change content
+based on the custom widget state.
+
+* PlatformGTK.cmake:
+* UIProcess/API/gtk/WebKitAutocleanups.h:
+* UIProcess/API/gtk/WebKitPrintCustomWidget.cpp: Added.
+(webkitPrintCustomWidgetSetProperty):
+(webkit_print_custom_widget_class_init):
+(webkit_print_custom_widget_new):
+(webkit_print_custom_widget_get_widget):
+(webkit_print_custom_widget_get_title):
+(webkitPrintCustomWidgetEmitCustomWidgetApplySignal):
+(webkitPrintCustomWidgetEmitUpdateCustomWidgetSignal):
+* UIProcess/API/gtk/WebKitPrintCustomWidget.h: Added.
+* UIProcess/API/gtk/WebKitPrintCustomWidgetPrivate.h: Added.
+* UIProcess/API/gtk/WebKitPrintOperation.cpp:
+(webkitPrintOperationAccumulatorObjectHandled):
+(webkit_print_operation_class_init):
+(notifySelectedPrinterCallback):
+(webkitPrintOperationRunDi

[webkit-changes] [211482] trunk/Source

2017-02-01 Thread akling
Title: [211482] trunk/Source








Revision 211482
Author akl...@apple.com
Date 2017-02-01 06:55:00 -0800 (Wed, 01 Feb 2017)


Log Message
Implement the alwaysRunsAtBackgroundPriority WK2 setting using thread QoS.



Reviewed by Antti Koivisto.

Source/bmalloc:

Support changing the QoS level of the scavenger thread asynchronously through
a request variable. This is not the most elegant thing in the world, but since
threads are only allowed to change their own QoS class, our options are limited.

* bmalloc/Heap.cpp:
(bmalloc::Heap::concurrentScavenge):
* bmalloc/Heap.h:
(bmalloc::Heap::takeRequestedScavengerThreadQOSClass):
(bmalloc::Heap::setScavengerThreadQOSClass):
* bmalloc/bmalloc.h:
(bmalloc::api::setScavengerThreadQOSClass):

Source/WebKit2:

Remove the old ProcessThrottlerClient implementation of alwaysRunsAtBackgroundPriority
and replace it with WTF::setGlobalMaxQOSClass().

If the setting is enabled, it's passed over to each WK2 child process along with its
bootstrap parameter, and we notify WTF in XPCServiceInitializer(), before anything
too threading related happens.

* Platform/IPC/Connection.cpp:
(IPC::Connection::processIncomingMessage):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::ChildProcessProxy):
(WebKit::ChildProcessProxy::getLaunchOptions):
* UIProcess/ChildProcessProxy.h:
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::alwaysRunsAtBackgroundPriority): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::assertionState):
* UIProcess/ProcessThrottlerClient.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::alwaysRunsAtBackgroundPriority): Deleted.
* UIProcess/WebProcessProxy.h:

Source/WTF:

Add a new mechanism for overriding the max thread QoS level globally:

void setGlobalMaxQOSClass(qos_class_t)
qos_class_t adjustedQOSClass(qos_class_t)

The QoS cap applies to all newly created threads, threads that try to override
their QoS class manually, and also passed down to bmalloc.

* wtf/Threading.cpp:
(WTF::setCurrentThreadIsUserInteractive):
(WTF::setCurrentThreadIsUserInitiated):
(WTF::setGlobalMaxQOSClass):
(WTF::adjustedQOSClass):
* wtf/Threading.h:
* wtf/ThreadingPthreads.cpp:
(WTF::createThreadInternal):
* wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::dispatchQOSClass):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Threading.cpp
trunk/Source/WTF/wtf/Threading.h
trunk/Source/WTF/wtf/ThreadingPthreads.cpp
trunk/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Platform/IPC/Connection.cpp
trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h
trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm
trunk/Source/WebKit2/UIProcess/ChildProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/ChildProcessProxy.h
trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h
trunk/Source/WebKit2/UIProcess/ProcessThrottler.cpp
trunk/Source/WebKit2/UIProcess/ProcessThrottlerClient.h
trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/WebProcessProxy.h
trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/bmalloc/Heap.cpp
trunk/Source/bmalloc/bmalloc/Heap.h
trunk/Source/bmalloc/bmalloc/bmalloc.h




Diff

Modified: trunk/Source/WTF/ChangeLog (211481 => 211482)

--- trunk/Source/WTF/ChangeLog	2017-02-01 14:14:36 UTC (rev 211481)
+++ trunk/Source/WTF/ChangeLog	2017-02-01 14:55:00 UTC (rev 211482)
@@ -1,3 +1,30 @@
+2017-02-01  Andreas Kling  
+
+Implement the alwaysRunsAtBackgroundPriority WK2 setting using thread QoS.
+
+
+
+Reviewed by Antti Koivisto.
+
+Add a new mechanism for overriding the max thread QoS level globally:
+
+void setGlobalMaxQOSClass(qos_class_t)
+qos_class_t adjustedQOSClass(qos_class_t)
+
+The QoS cap applies to all newly created threads, threads that try to override
+their QoS class manually, and also passed down to bmalloc.
+
+* wtf/Threading.cpp:
+(WTF::setCurrentThreadIsUserInteractive):
+(WTF::setCurrentThreadIsUserInitiated):
+(WTF::setGlobalMaxQOSClass):
+(WTF::adjustedQOSClass):
+* wtf/Threading.h:
+* wtf/ThreadingPthreads.cpp:
+(WTF::createThreadInternal):
+* wtf/c

[webkit-changes] [211483] trunk/Tools

2017-02-01 Thread tpopela
Title: [211483] trunk/Tools








Revision 211483
Author tpop...@redhat.com
Date 2017-02-01 07:28:08 -0800 (Wed, 01 Feb 2017)


Log Message
Unreviewed. Fix coding style in MiniBrowser

* MiniBrowser/gtk/BrowserWindow.c:
(editingCommandCallback):
(insertImageCommandCallback):
(insertLinkCommandCallback):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/MiniBrowser/gtk/BrowserWindow.c




Diff

Modified: trunk/Tools/ChangeLog (211482 => 211483)

--- trunk/Tools/ChangeLog	2017-02-01 14:55:00 UTC (rev 211482)
+++ trunk/Tools/ChangeLog	2017-02-01 15:28:08 UTC (rev 211483)
@@ -1,5 +1,14 @@
 2017-02-01  Tomas Popela  
 
+Unreviewed. Fix coding style in MiniBrowser
+
+* MiniBrowser/gtk/BrowserWindow.c:
+(editingCommandCallback):
+(insertImageCommandCallback):
+(insertLinkCommandCallback):
+
+2017-02-01  Tomas Popela  
+
 [GTK] Add an API to add a custom tab into the print dialog
 https://bugs.webkit.org/show_bug.cgi?id=151998
 


Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (211482 => 211483)

--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2017-02-01 14:55:00 UTC (rev 211482)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2017-02-01 15:28:08 UTC (rev 211483)
@@ -562,13 +562,14 @@
 
 return TRUE;
 }
-static void editingCommandCallback(GtkWidget*widget, BrowserWindow *window)
+
+static void editingCommandCallback(GtkWidget *widget, BrowserWindow *window)
 {
 WebKitWebView *webView = browser_tab_get_web_view(window->activeTab);
 webkit_web_view_execute_editing_command(webView, gtk_widget_get_name(widget));
 }
 
-static void insertImageCommandCallback(GtkWidget*widget, BrowserWindow *window)
+static void insertImageCommandCallback(GtkWidget *widget, BrowserWindow *window)
 {
 GtkWidget *fileChooser = gtk_file_chooser_dialog_new("Insert Image", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_OPEN,
 "Cancel", GTK_RESPONSE_CANCEL, "Open", GTK_RESPONSE_ACCEPT, NULL);
@@ -590,7 +591,7 @@
 gtk_widget_destroy(fileChooser);
 }
 
-static void insertLinkCommandCallback(GtkWidget*widget, BrowserWindow *window)
+static void insertLinkCommandCallback(GtkWidget *widget, BrowserWindow *window)
 {
 GtkWidget *dialog = gtk_dialog_new_with_buttons("Insert Link", GTK_WINDOW(window), GTK_DIALOG_MODAL, "Insert", GTK_RESPONSE_ACCEPT, NULL);
 gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);






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


[webkit-changes] [211484] trunk

2017-02-01 Thread commit-queue
Title: [211484] trunk








Revision 211484
Author commit-qu...@webkit.org
Date 2017-02-01 08:17:52 -0800 (Wed, 01 Feb 2017)


Log Message
[Readable Streams API] Implement ReadableByteStreamController pull()
https://bugs.webkit.org/show_bug.cgi?id=167593

Patch by Romain Bellessort  on 2017-02-01
Reviewed by Youenn Fablet.

Source/WebCore:

Implemented pull() method for ReadableByteStreamController. Also updated
pendingPullIntos attribute, which was a more complex object than necessary
(an array is enough).

Added 2 tests that allow covering most of new code. Code not yet tested will
become reachable as the rest of the spec is implemented (new tests will then
be added).

* Modules/streams/ReadableByteStreamInternals.js:
(privateInitializeReadableByteStreamController): Updated pendingPullIntos.
(readableByteStreamControllerCancel): Updated pendingPullIntos.
(readableByteStreamControllerClose): Updated pendingPullIntos.
(readableByteStreamControllerHandleQueueDrain): Added.
(readableByteStreamControllerPull): Added.

LayoutTests:

Added 2 tests that allow covering most of new code. Code not yet tested will
become reachable as the rest of the spec is implemented (new tests will then
be added).

* streams/readable-byte-stream-controller-expected.txt:
* streams/readable-byte-stream-controller.js:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/streams/readable-byte-stream-controller-expected.txt
trunk/LayoutTests/streams/readable-byte-stream-controller.js
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js




Diff

Modified: trunk/LayoutTests/ChangeLog (211483 => 211484)

--- trunk/LayoutTests/ChangeLog	2017-02-01 15:28:08 UTC (rev 211483)
+++ trunk/LayoutTests/ChangeLog	2017-02-01 16:17:52 UTC (rev 211484)
@@ -1,3 +1,17 @@
+2017-02-01  Romain Bellessort  
+
+[Readable Streams API] Implement ReadableByteStreamController pull()
+https://bugs.webkit.org/show_bug.cgi?id=167593
+
+Reviewed by Youenn Fablet.
+
+Added 2 tests that allow covering most of new code. Code not yet tested will
+become reachable as the rest of the spec is implemented (new tests will then
+be added).
+
+* streams/readable-byte-stream-controller-expected.txt:
+* streams/readable-byte-stream-controller.js:
+
 2017-02-01  Yusuke Suzuki  
 
 Propagate networking errors correctly for import() operator


Modified: trunk/LayoutTests/streams/readable-byte-stream-controller-expected.txt (211483 => 211484)

--- trunk/LayoutTests/streams/readable-byte-stream-controller-expected.txt	2017-02-01 15:28:08 UTC (rev 211483)
+++ trunk/LayoutTests/streams/readable-byte-stream-controller-expected.txt	2017-02-01 16:17:52 UTC (rev 211484)
@@ -9,6 +9,8 @@
 PASS Calling close() after calling error() should throw a TypeError 
 PASS Calling read() on a reader associated to a controller that has been errored should fail with provided error 
 PASS Calling read() on a reader associated to a controller that has been closed should not be rejected 
+PASS Pending reading promise should be rejected if controller is errored (case where autoAllocateChunkSize is undefined) 
+FAIL Pending reading promise should be rejected if controller is errored (case where autoAllocateChunkSize is specified) Can't find private variable: @Uint8Array
 FAIL Calling read() after a chunk has been enqueued should result in obtaining said chunk ReadableByteStreamController enqueue() is not implemented
 PASS By default initial value of desiredSize should be 1 
 PASS Calling cancel() on a readable ReadableStream that is not locked to a reader should return a promise whose fulfillment handler returns undefined 
@@ -25,6 +27,8 @@
 PASS Calling close() after calling error() should throw a TypeError 
 PASS Calling read() on a reader associated to a controller that has been errored should fail with provided error 
 PASS Calling read() on a reader associated to a controller that has been closed should not be rejected 
+PASS Pending reading promise should be rejected if controller is errored (case where autoAllocateChunkSize is undefined) 
+FAIL Pending reading promise should be rejected if controller is errored (case where autoAllocateChunkSize is specified) Can't find private variable: @Uint8Array
 FAIL Calling read() after a chunk has been enqueued should result in obtaining said chunk ReadableByteStreamController enqueue() is not implemented
 PASS By default initial value of desiredSize should be 1 
 PASS Calling cancel() on a readable ReadableStream that is not locked to a reader should return a promise whose fulfillment handler returns undefined 


Modified: trunk/LayoutTests/streams/readable-byte-stream-controller.js (211483 => 211484)

--- trunk/LayoutTests/streams/readable-byte-stream-controller.js	2017-02-01 15:28:08 UTC (rev 211483)
+++ trunk/LayoutTests/streams/readable-byte-stream-controller.js	2017-02-01 16:17:52 UTC (rev 211484)
@@ -179,6 +179,41 @@
 );
 

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

2017-02-01 Thread commit-queue
Title: [211486] trunk/Source/_javascript_Core








Revision 211486
Author commit-qu...@webkit.org
Date 2017-02-01 09:34:00 -0800 (Wed, 01 Feb 2017)


Log Message
Web Inspector: Use guaranteed RunLoop instead of RunLoop::current for dispatching inspector GC event
https://bugs.webkit.org/show_bug.cgi?id=167683


Patch by Joseph Pecoraro  on 2017-02-01
Reviewed by Timothy Hatcher.

* inspector/agents/InspectorHeapAgent.cpp:
(Inspector::SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask):
Use RunLoop::main instead of RunLoop::current which may go away.

* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
Ensure RunLoop::main is initialized when using JSC APIs.

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/agents/InspectorHeapAgent.cpp
trunk/Source/_javascript_Core/runtime/InitializeThreading.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (211485 => 211486)

--- trunk/Source/_javascript_Core/ChangeLog	2017-02-01 17:33:56 UTC (rev 211485)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-02-01 17:34:00 UTC (rev 211486)
@@ -1,3 +1,19 @@
+2017-02-01  Joseph Pecoraro  
+
+Web Inspector: Use guaranteed RunLoop instead of RunLoop::current for dispatching inspector GC event
+https://bugs.webkit.org/show_bug.cgi?id=167683
+
+
+Reviewed by Timothy Hatcher.
+
+* inspector/agents/InspectorHeapAgent.cpp:
+(Inspector::SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask):
+Use RunLoop::main instead of RunLoop::current which may go away.
+
+* runtime/InitializeThreading.cpp:
+(JSC::initializeThreading):
+Ensure RunLoop::main is initialized when using JSC APIs.
+
 2017-02-01  Yusuke Suzuki  
 
 ArityFixup should adjust SP first


Modified: trunk/Source/_javascript_Core/inspector/agents/InspectorHeapAgent.cpp (211485 => 211486)

--- trunk/Source/_javascript_Core/inspector/agents/InspectorHeapAgent.cpp	2017-02-01 17:33:56 UTC (rev 211485)
+++ trunk/Source/_javascript_Core/inspector/agents/InspectorHeapAgent.cpp	2017-02-01 17:34:00 UTC (rev 211486)
@@ -61,7 +61,7 @@
 
 SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask(HeapFrontendDispatcher& frontendDispatcher)
 : m_frontendDispatcher(frontendDispatcher)
-, m_timer(RunLoop::current(), this, &SendGarbageCollectionEventsTask::timerFired)
+, m_timer(RunLoop::main(), this, &SendGarbageCollectionEventsTask::timerFired)
 {
 }
 


Modified: trunk/Source/_javascript_Core/runtime/InitializeThreading.cpp (211485 => 211486)

--- trunk/Source/_javascript_Core/runtime/InitializeThreading.cpp	2017-02-01 17:33:56 UTC (rev 211485)
+++ trunk/Source/_javascript_Core/runtime/InitializeThreading.cpp	2017-02-01 17:34:00 UTC (rev 211486)
@@ -32,17 +32,18 @@
 #include "ExecutableAllocator.h"
 #include "Heap.h"
 #include "HeapStatistics.h"
-#include "Options.h"
 #include "Identifier.h"
 #include "JSDateMath.h"
 #include "JSGlobalObject.h"
 #include "JSLock.h"
 #include "LLIntData.h"
+#include "Options.h"
 #include "StructureIDTable.h"
 #include "SuperSampler.h"
 #include "WriteBarrier.h"
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -59,6 +60,7 @@
 WTF::double_conversion::initialize();
 WTF::initializeThreading();
 WTF::initializeGCThreads();
+RunLoop::initializeMainRunLoop();
 Options::initialize();
 if (Options::recordGCPauseTimes())
 HeapStatistics::initialize();






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


[webkit-changes] [211485] trunk/Source/WebInspectorUI

2017-02-01 Thread commit-queue
Title: [211485] trunk/Source/WebInspectorUI








Revision 211485
Author commit-qu...@webkit.org
Date 2017-02-01 09:33:56 -0800 (Wed, 01 Feb 2017)


Log Message
Web Inspector: Remove keyboard shortcut to close tab - does not match expectations
https://bugs.webkit.org/show_bug.cgi?id=167672

Patch by Joseph Pecoraro  on 2017-02-01
Reviewed by Timothy Hatcher.

* UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser):

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (211484 => 211485)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-02-01 16:17:52 UTC (rev 211484)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-02-01 17:33:56 UTC (rev 211485)
@@ -1,3 +1,13 @@
+2017-02-01  Joseph Pecoraro  
+
+Web Inspector: Remove keyboard shortcut to close tab - does not match expectations
+https://bugs.webkit.org/show_bug.cgi?id=167672
+
+Reviewed by Timothy Hatcher.
+
+* UserInterface/Views/TabBrowser.js:
+(WebInspector.TabBrowser):
+
 2017-01-31  Devin Rousso  
 
 Web Inspector: Tooltip text should not end in a period


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js (211484 => 211485)

--- trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js	2017-02-01 16:17:52 UTC (rev 211484)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js	2017-02-01 17:33:56 UTC (rev 211485)
@@ -53,14 +53,7 @@
 
 let showNextTab = () => { this._showNextTab(); };
 let showPreviousTab = () => { this._showPreviousTab(); };
-let closeCurrentTab = () => {
-let selectedTabBarItem = this._tabBar.selectedTabBarItem;
-if (this._tabBar.tabBarItems.length > 3 || !selectedTabBarItem.isDefaultTab)
-this._tabBar.removeTabBarItem(selectedTabBarItem);
-};
 
-this._closeCurrentTabKeyboardShortuct = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Shift, "W", closeCurrentTab);
-
 this._showNextTabKeyboardShortcut1 = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Shift, WebInspector.KeyboardShortcut.Key.RightCurlyBrace, showNextTab);
 this._showPreviousTabKeyboardShortcut1 = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Shift, WebInspector.KeyboardShortcut.Key.LeftCurlyBrace, showPreviousTab);
 this._showNextTabKeyboardShortcut2 = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Control, WebInspector.KeyboardShortcut.Key.Tab, showNextTab);






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


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

2017-02-01 Thread timothy
Title: [211487] trunk/Source/WebCore








Revision 211487
Author timo...@hatcher.name
Date 2017-02-01 09:37:03 -0800 (Wed, 01 Feb 2017)


Log Message
HTMLMediaElement.h fails to build when ENABLE(MEDIA_CONTROLS_SCRIPT) is false
https://bugs.webkit.org/show_bug.cgi?id=167689

Reviewed by Joseph Pecoraro.

* html/HTMLMediaElement.h: Move mediaControlsHost() into the ENABLE(MEDIA_CONTROLS_SCRIPT)
block that is just above it to match m_mediaControlsHost.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.h


Property Changed

trunk/Source/WebCore/html/HTMLMediaElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (211486 => 211487)

--- trunk/Source/WebCore/ChangeLog	2017-02-01 17:34:00 UTC (rev 211486)
+++ trunk/Source/WebCore/ChangeLog	2017-02-01 17:37:03 UTC (rev 211487)
@@ -1,3 +1,13 @@
+2017-02-01  Timothy Hatcher  
+
+HTMLMediaElement.h fails to build when ENABLE(MEDIA_CONTROLS_SCRIPT) is false
+https://bugs.webkit.org/show_bug.cgi?id=167689
+
+Reviewed by Joseph Pecoraro.
+
+* html/HTMLMediaElement.h: Move mediaControlsHost() into the ENABLE(MEDIA_CONTROLS_SCRIPT)
+block that is just above it to match m_mediaControlsHost.
+
 2017-02-01  Romain Bellessort  
 
 [Readable Streams API] Implement ReadableByteStreamController pull()


Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (211486 => 211487)

--- trunk/Source/WebCore/html/HTMLMediaElement.h	2017-02-01 17:34:00 UTC (rev 211486)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h	2017-02-01 17:37:03 UTC (rev 211487)
@@ -457,9 +457,9 @@
 void pageScaleFactorChanged();
 void userInterfaceLayoutDirectionChanged();
 WEBCORE_EXPORT String getCurrentMediaControlsStatus();
-#endif
 
 MediaControlsHost* mediaControlsHost() { return m_mediaControlsHost.get(); }
+#endif
 
 bool isDisablingSleep() const { return m_sleepDisabler.get(); }
 
Property changes on: trunk/Source/WebCore/html/HTMLMediaElement.h
___


Added: svn:executable
+*
\ No newline at end of property




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


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

2017-02-01 Thread timothy
Title: [211488] trunk/Source/WebCore








Revision 211488
Author timo...@hatcher.name
Date 2017-02-01 09:46:12 -0800 (Wed, 01 Feb 2017)


Log Message
AXObjectCache is missing two functions at link time when !HAVE(ACCESSIBILITY)
https://bugs.webkit.org/show_bug.cgi?id=167691

Reviewed by Chris Fleizach.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::recomputeDeferredIsIgnored): Added empty stub.
(WebCore::AXObjectCache::performDeferredIsIgnoredChange): Added empty stub.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AXObjectCache.h


Property Changed

trunk/Source/WebCore/accessibility/AXObjectCache.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (211487 => 211488)

--- trunk/Source/WebCore/ChangeLog	2017-02-01 17:37:03 UTC (rev 211487)
+++ trunk/Source/WebCore/ChangeLog	2017-02-01 17:46:12 UTC (rev 211488)
@@ -1,5 +1,16 @@
 2017-02-01  Timothy Hatcher  
 
+AXObjectCache is missing two functions at link time when !HAVE(ACCESSIBILITY)
+https://bugs.webkit.org/show_bug.cgi?id=167691
+
+Reviewed by Chris Fleizach.
+
+* accessibility/AXObjectCache.h:
+(WebCore::AXObjectCache::recomputeDeferredIsIgnored): Added empty stub.
+(WebCore::AXObjectCache::performDeferredIsIgnoredChange): Added empty stub.
+
+2017-02-01  Timothy Hatcher  
+
 HTMLMediaElement.h fails to build when ENABLE(MEDIA_CONTROLS_SCRIPT) is false
 https://bugs.webkit.org/show_bug.cgi?id=167689
 


Modified: trunk/Source/WebCore/accessibility/AXObjectCache.h (211487 => 211488)

--- trunk/Source/WebCore/accessibility/AXObjectCache.h	2017-02-01 17:37:03 UTC (rev 211487)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.h	2017-02-01 17:46:12 UTC (rev 211488)
@@ -490,6 +490,8 @@
 inline void AXObjectCache::handleScrollbarUpdate(ScrollView*) { }
 inline void AXObjectCache::handleAttributeChanged(const QualifiedName&, Element*) { }
 inline void AXObjectCache::recomputeIsIgnored(RenderObject*) { }
+inline void AXObjectCache::recomputeDeferredIsIgnored(RenderBlock&) { }
+inline void AXObjectCache::performDeferredIsIgnoredChange() { }
 inline void AXObjectCache::handleScrolledToAnchor(const Node*) { }
 inline void AXObjectCache::postTextStateChangeNotification(Node*, const AXTextStateChangeIntent&, const VisibleSelection&) { }
 inline void AXObjectCache::postTextStateChangeNotification(Node*, AXTextEditType, const String&, const VisiblePosition&) { }
Property changes on: trunk/Source/WebCore/accessibility/AXObjectCache.h
___


Added: svn:executable
+*
\ No newline at end of property




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


[webkit-changes] [211489] trunk/LayoutTests

2017-02-01 Thread ryanhaddad
Title: [211489] trunk/LayoutTests








Revision 211489
Author ryanhad...@apple.com
Date 2017-02-01 09:54:05 -0800 (Wed, 01 Feb 2017)


Log Message
ios-simulator TestExpectations gardening.

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-simulator/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (211488 => 211489)

--- trunk/LayoutTests/ChangeLog	2017-02-01 17:46:12 UTC (rev 211488)
+++ trunk/LayoutTests/ChangeLog	2017-02-01 17:54:05 UTC (rev 211489)
@@ -1,3 +1,11 @@
+2017-02-01  Ryan Haddad  
+
+ios-simulator TestExpectations gardening.
+
+Unreviewed test gardening.
+
+* platform/ios-simulator/TestExpectations:
+
 2017-02-01  Romain Bellessort  
 
 [Readable Streams API] Implement ReadableByteStreamController pull()


Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (211488 => 211489)

--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-02-01 17:46:12 UTC (rev 211488)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-02-01 17:54:05 UTC (rev 211489)
@@ -2839,3 +2839,6 @@
 
 webkit.org/b/167376 imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html [ Pass Failure ]
 webkit.org/b/167211 imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-weird.html [ Pass Failure ]
+
+webkit.org/b/167620 compositing/geometry/fixed-in-composited.html [ Failure ]
+webkit.org/b/167619 css3/filters/backdrop/dynamic-with-clip-path.html [ ImageOnlyFailure ]






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


[webkit-changes] [211490] tags/Safari-604.1.6/

2017-02-01 Thread matthew_hanson
Title: [211490] tags/Safari-604.1.6/








Revision 211490
Author matthew_han...@apple.com
Date 2017-02-01 10:08:57 -0800 (Wed, 01 Feb 2017)


Log Message
Tag Safari-604.1.6.

Added Paths

tags/Safari-604.1.6/




Diff




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


[webkit-changes] [211491] trunk

2017-02-01 Thread n_wang
Title: [211491] trunk








Revision 211491
Author n_w...@apple.com
Date 2017-02-01 10:12:08 -0800 (Wed, 01 Feb 2017)


Log Message
AX: Incorrect range from index and length in text controls when there are newlines
https://bugs.webkit.org/show_bug.cgi?id=167677


Reviewed by Chris Fleizach.

Source/WebCore:

When there are newlines in text controls, the VisiblePosition that is created
from the index could be wrong. Because the index doesn't include the information
regarding a position's affinity. Fixed it by using CharacterOffset instead, since
it doesn't require that information.

Test: accessibility/mac/range-for-contenteditable-newline.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::traverseToOffsetInRange):
(WebCore::AXObjectCache::nextCharacterOffset):
(WebCore::AXObjectCache::characterOffsetForIndex):

LayoutTests:

* accessibility/mac/range-for-contenteditable-newline-expected.txt: Added.
* accessibility/mac/range-for-contenteditable-newline.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AXObjectCache.cpp


Added Paths

trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline-expected.txt
trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline.html




Diff

Modified: trunk/LayoutTests/ChangeLog (211490 => 211491)

--- trunk/LayoutTests/ChangeLog	2017-02-01 18:08:57 UTC (rev 211490)
+++ trunk/LayoutTests/ChangeLog	2017-02-01 18:12:08 UTC (rev 211491)
@@ -1,3 +1,14 @@
+2017-02-01  Nan Wang  
+
+AX: Incorrect range from index and length in text controls when there are newlines
+https://bugs.webkit.org/show_bug.cgi?id=167677
+
+
+Reviewed by Chris Fleizach.
+
+* accessibility/mac/range-for-contenteditable-newline-expected.txt: Added.
+* accessibility/mac/range-for-contenteditable-newline.html: Added.
+
 2017-02-01  Ryan Haddad  
 
 ios-simulator TestExpectations gardening.


Added: trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline-expected.txt (0 => 211491)

--- trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline-expected.txt	(rev 0)
+++ trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline-expected.txt	2017-02-01 18:12:08 UTC (rev 211491)
@@ -0,0 +1,25 @@
+some
+hello world
+test
+
+abc
+
+
+
+def
+This tests that when there are newline characters within text controls, we can get the correct text range from index and length.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS textSome is 'some'
+PASS textHello is 'hello'
+PASS textWorld is 'world'
+PASS textTest is 'test'
+PASS textareaTextHello is 'hello'
+PASS textareaTextWorld is 'world'
+PASS textDEF is 'def'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline.html (0 => 211491)

--- trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline.html	(rev 0)
+++ trunk/LayoutTests/accessibility/mac/range-for-contenteditable-newline.html	2017-02-01 18:12:08 UTC (rev 211491)
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
some
hello world
test
+ +
+
abc



def
+ +
+ +