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

2016-12-23 Thread rniwa
Title: [210131] trunk/Source/WebCore








Revision 210131
Author rn...@webkit.org
Date 2016-12-23 01:11:32 -0800 (Fri, 23 Dec 2016)


Log Message
Eliminate the use of lastChild in TextIterator
https://bugs.webkit.org/show_bug.cgi?id=166456

Reviewed by Antti Koivisto.

Just use the node we just existed in TextIterator::exitNode and in emitting additional new line
to eliminate the use of Node::lastChild.

Also initialize member variables in the declaration instead of the constructor to modernize the code.

* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::advance):
(WebCore::TextIterator::exitNode):
* editing/TextIterator.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/TextIterator.cpp
trunk/Source/WebCore/editing/TextIterator.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210130 => 210131)

--- trunk/Source/WebCore/ChangeLog	2016-12-23 04:41:52 UTC (rev 210130)
+++ trunk/Source/WebCore/ChangeLog	2016-12-23 09:11:32 UTC (rev 210131)
@@ -1,3 +1,21 @@
+2016-12-23  Ryosuke Niwa  
+
+Eliminate the use of lastChild in TextIterator
+https://bugs.webkit.org/show_bug.cgi?id=166456
+
+Reviewed by Antti Koivisto.
+
+Just use the node we just existed in TextIterator::exitNode and in emitting additional new line
+to eliminate the use of Node::lastChild.
+
+Also initialize member variables in the declaration instead of the constructor to modernize the code.
+
+* editing/TextIterator.cpp:
+(WebCore::TextIterator::TextIterator):
+(WebCore::TextIterator::advance):
+(WebCore::TextIterator::exitNode):
+* editing/TextIterator.h:
+
 2016-12-22  Andy Estes  
 
 Reduce QuickLook.h include overhead


Modified: trunk/Source/WebCore/editing/TextIterator.cpp (210130 => 210131)

--- trunk/Source/WebCore/editing/TextIterator.cpp	2016-12-23 04:41:52 UTC (rev 210130)
+++ trunk/Source/WebCore/editing/TextIterator.cpp	2016-12-23 09:11:32 UTC (rev 210131)
@@ -39,6 +39,7 @@
 #include "HTMLNames.h"
 #include "HTMLParagraphElement.h"
 #include "HTMLProgressElement.h"
+#include "HTMLSlotElement.h"
 #include "HTMLTextAreaElement.h"
 #include "HTMLTextFormControlElement.h"
 #include "InlineTextBox.h"
@@ -340,23 +341,6 @@
 
 TextIterator::TextIterator(const Range* range, TextIteratorBehavior behavior)
 : m_behavior(behavior)
-, m_handledNode(false)
-, m_handledChildren(false)
-, m_startContainer(nullptr)
-, m_startOffset(0)
-, m_endContainer(nullptr)
-, m_endOffset(0)
-, m_positionNode(nullptr)
-, m_needsAnotherNewline(false)
-, m_textBox(nullptr)
-, m_remainingTextBox(nullptr)
-, m_firstLetterText(nullptr)
-, m_lastTextNode(nullptr)
-, m_lastTextNodeEndedWithCollapsedSpace(false)
-, m_lastCharacter(0)
-, m_sortedTextBoxesPosition(0)
-, m_hasEmitted(false)
-, m_handledFirstLetter(false)
 {
 // FIXME: Only m_positionNode above needs to be initialized if range is null.
 if (!range)
@@ -407,7 +391,7 @@
 m_text = StringView();
 
 // handle remembered node that needed a newline after the text node's newline
-if (m_needsAnotherNewline) {
+if (m_nodeForAdditionalNewline) {
 // Emit the extra newline, and position it *inside* m_node, after m_node's 
 // contents, in case it's a block, in the same way that we position the first 
 // newline. The range for the emitted newline should start where the line
@@ -414,9 +398,8 @@
 // break begins.
 // FIXME: It would be cleaner if we emitted two newlines during the last 
 // iteration, instead of using m_needsAnotherNewline.
-Node& baseNode = m_node->lastChild() ? *m_node->lastChild() : *m_node;
-emitCharacter('\n', *baseNode.parentNode(), &baseNode, 1, 1);
-m_needsAnotherNewline = false;
+emitCharacter('\n', *m_nodeForAdditionalNewline->parentNode(), m_nodeForAdditionalNewline, 1, 1);
+m_nodeForAdditionalNewline = nullptr;
 return;
 }
 
@@ -475,11 +458,12 @@
 if ((pastEnd && parentNode == m_endContainer) || m_endContainer->isDescendantOf(*parentNode))
 return;
 bool haveRenderer = m_node->renderer();
+Node* exitedNode = m_node;
 m_node = parentNode;
 m_fullyClippedStack.pop();
 parentNode = m_node->parentOrShadowHostNode();
 if (haveRenderer)
-exitNode();
+exitNode(exitedNode);
 if (m_positionNode) {
 m_handledNode = true;
 m_handledChildren = true;
@@ -1096,7 +1080,7 @@
 return true;
 }
 
-void TextIterator::exitNode()
+void TextIterator::exitNode(Node* exitedNode)
 {
 // prevent emitting a newline when exiting a collapsed block at beginning of the range
 /

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

2016-12-23 Thread zandobersek
Title: [210132] trunk/Source/WebCore








Revision 210132
Author zandober...@gmail.com
Date 2016-12-23 01:15:07 -0800 (Fri, 23 Dec 2016)


Log Message
[EME][GStreamer] Enable various code paths for ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=166054

Reviewed by Xabier Rodriguez-Calvar.

Add ENABLE_ENCRYPTED_MEDIA build guards in various places in GStreamer
code to enable decryption-related GStreamer elements and the proper
decryptor handling in AppendPipeline.

* platform/GStreamer.cmake:
* platform/graphics/gstreamer/GStreamerUtilities.cpp:
* platform/graphics/gstreamer/GStreamerUtilities.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::registerWebKitGStreamerElements):
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
Only call needKey() if LEGACY_ENCRYPTED_MEDIA is enabled, since this is
the way the legacy EME system expects to be notified of key necessity.
It's very likely ENCRYPTED_MEDIA will do this differently.
* platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
* platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.h:
* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromAnyThread):
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
* platform/graphics/gstreamer/mse/AppendPipeline.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/GStreamer.cmake
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerUtilities.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerUtilities.h
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.h
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h
trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210131 => 210132)

--- trunk/Source/WebCore/ChangeLog	2016-12-23 09:11:32 UTC (rev 210131)
+++ trunk/Source/WebCore/ChangeLog	2016-12-23 09:15:07 UTC (rev 210132)
@@ -1,3 +1,33 @@
+2016-12-23  Zan Dobersek  
+
+[EME][GStreamer] Enable various code paths for ENCRYPTED_MEDIA
+https://bugs.webkit.org/show_bug.cgi?id=166054
+
+Reviewed by Xabier Rodriguez-Calvar.
+
+Add ENABLE_ENCRYPTED_MEDIA build guards in various places in GStreamer
+code to enable decryption-related GStreamer elements and the proper
+decryptor handling in AppendPipeline.
+
+* platform/GStreamer.cmake:
+* platform/graphics/gstreamer/GStreamerUtilities.cpp:
+* platform/graphics/gstreamer/GStreamerUtilities.h:
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::registerWebKitGStreamerElements):
+(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
+Only call needKey() if LEGACY_ENCRYPTED_MEDIA is enabled, since this is
+the way the legacy EME system expects to be notified of key necessity.
+It's very likely ENCRYPTED_MEDIA will do this differently.
+* platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
+* platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.h:
+* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
+* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
+* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
+(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
+(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromAnyThread):
+(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
+* platform/graphics/gstreamer/mse/AppendPipeline.h:
+
 2016-12-23  Ryosuke Niwa  
 
 Eliminate the use of lastChild in TextIterator


Modified: trunk/Source/WebCore/platform/GStreamer.cmake (210131 => 210132)

--- trunk/Source/WebCore/platform/GStreamer.cmake	2016-12-23 09:11:32 UTC (rev 210131)
+++ trunk/Source/WebCore/platform/GStreamer.cmake	2016-12-23 09:15:07 UTC (rev 210132)
@@ -130,7 +130,7 @@
 )
 endif ()
 
-if (ENABLE_LEGACY_ENCRYPTED_MEDIA)
+if (ENABLE_LEGACY_ENCRYPTED_MEDIA OR ENABLE_ENCRYPTED_MEDIA)
 list(APPEND WebCore_INCLUDE_DIRECTORIES
 ${LIBGCRYPT_INCLUDE_DIRS}
 )


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerUtilities.cpp

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

2016-12-23 Thread mcatanzaro
Title: [210133] trunk/Source/WebCore








Revision 210133
Author mcatanz...@igalia.com
Date 2016-12-23 06:36:50 -0800 (Fri, 23 Dec 2016)


Log Message
[GTK] GLES build broken since r208997
https://bugs.webkit.org/show_bug.cgi?id=166455

Unreviewed. Fix the preprocessor guards here; this code is incompatible with GLES2.

Looks like it's been broken for a month. Typical!

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (210132 => 210133)

--- trunk/Source/WebCore/ChangeLog	2016-12-23 09:15:07 UTC (rev 210132)
+++ trunk/Source/WebCore/ChangeLog	2016-12-23 14:36:50 UTC (rev 210133)
@@ -1,3 +1,15 @@
+2016-12-22  Michael Catanzaro  
+
+[GTK] GLES build broken since r208997
+https://bugs.webkit.org/show_bug.cgi?id=166455
+
+Unreviewed. Fix the preprocessor guards here; this code is incompatible with GLES2.
+
+Looks like it's been broken for a month. Typical!
+
+* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
+
 2016-12-23  Zan Dobersek  
 
 [EME][GStreamer] Enable various code paths for ENCRYPTED_MEDIA


Modified: trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp (210132 => 210133)

--- trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp	2016-12-23 09:15:07 UTC (rev 210132)
+++ trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp	2016-12-23 14:36:50 UTC (rev 210133)
@@ -209,7 +209,7 @@
 
 void Extensions3DOpenGLCommon::initializeAvailableExtensions()
 {
-#if PLATFORM(MAC) || PLATFORM(GTK)
+#if PLATFORM(MAC) || (PLATFORM(GTK) && !USE(OPENGL_ES_2))
 if (m_useIndexedGetString) {
 GLint numExtensions = 0;
 ::glGetIntegerv(GL_NUM_EXTENSIONS, &numExtensions);






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


[webkit-changes] [210134] trunk

2016-12-23 Thread weinig
Title: [210134] trunk








Revision 210134
Author wei...@apple.com
Date 2016-12-23 09:09:04 -0800 (Fri, 23 Dec 2016)


Log Message
[WebIDL] Remove custom bindings for WebSQL code
https://bugs.webkit.org/show_bug.cgi?id=166441

Reviewed by Darin Adler.

Source/WebCore:

- Replace custom variant type SQLValue with a type alias of a Variant.
- Use the newly representable SQLValue to remove custom bindings for 
  SQLResultSetRowList::item and SQLTransaction::executeSql.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSSQLResultSetRowListCustom.cpp: Removed.
* bindings/js/JSSQLTransactionCustom.cpp: Removed.
* platform/sql/SQLValue.cpp: Removed.
Remove files.

* Modules/webdatabase/SQLResultSetRowList.cpp:
(WebCore::SQLResultSetRowList::length):
(WebCore::SQLResultSetRowList::item):
* Modules/webdatabase/SQLResultSetRowList.h:
* Modules/webdatabase/SQLResultSetRowList.idl:
Sink the implementation of item() into the implementation. Use a
record type to bridge to _javascript_.

* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement):
* Modules/webdatabase/SQLStatement.h:
Update to take arguments by rvalue reference.

* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSql):
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransaction.idl:
Remove custom annotation, and update signature to match the IDL.

* Modules/webdatabase/SQLTransactionBackend.cpp:
* Modules/webdatabase/SQLTransactionBackend.h:
Remove unneeded #includes of SQLValue.h

* bindings/js/JSDOMConvert.h:
(WebCore::Converter::convert):
(WebCore::JSConverter::convert):
Implement conversion for the null type so it can be used in the SQLValue union.

* inspector/InspectorDatabaseAgent.cpp:
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::bindValue):
(WebCore::SQLiteStatement::getColumnValue):
* platform/sql/SQLiteStatement.h:
Replace old switch with a WTF::switchOn that operates on the new variant.

* platform/sql/SQLValue.h:
(WebCore::SQLValue::SQLValue): Deleted.
(WebCore::SQLValue::type): Deleted.
Replace implementation with a Variant.

LayoutTests:

* storage/websql/execute-sql-args-expected.txt:
* storage/websql/execute-sql-args.js:
Update test and result to be slightly more strict about functions taking sequences.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/storage/websql/execute-sql-args-expected.txt
trunk/LayoutTests/storage/websql/execute-sql-args.js
trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.cpp
trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.h
trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.idl
trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp
trunk/Source/WebCore/Modules/webdatabase/SQLStatement.h
trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp
trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h
trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.idl
trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp
trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
trunk/Source/WebCore/bindings/js/JSDOMConvert.h
trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
trunk/Source/WebCore/platform/sql/SQLValue.h
trunk/Source/WebCore/platform/sql/SQLiteStatement.cpp
trunk/Source/WebCore/platform/sql/SQLiteStatement.h


Removed Paths

trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
trunk/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp
trunk/Source/WebCore/platform/sql/SQLValue.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (210133 => 210134)

--- trunk/LayoutTests/ChangeLog	2016-12-23 14:36:50 UTC (rev 210133)
+++ trunk/LayoutTests/ChangeLog	2016-12-23 17:09:04 UTC (rev 210134)
@@ -1,3 +1,14 @@
+2016-12-22  Sam Weinig  
+
+[WebIDL] Remove custom bindings for WebSQL code
+https://bugs.webkit.org/show_bug.cgi?id=166441
+
+Reviewed by Darin Adler.
+
+* storage/websql/execute-sql-args-expected.txt:
+* storage/websql/execute-sql-args.js:
+Update test and result to be slightly more strict about functions taking sequences.
+
 2016-12-22  Brent Fulgham  
 
 Nested calls to setDocument can omit firing 'unload' events


Modified: trunk/LayoutTests/storage/websql/execute-sql-args-expected.txt (210133 => 210134)

--- trunk/LayoutTests/storage/websql/execute-sql-args-expected.txt	2016-12-23 14:36:50 UTC (rev 210133)
+++ trunk/LayoutTests/storage/websql/execute-sql-args-expected.txt	2016-12-23 17:09:04 UTC (rev 210134)
@@ -6,15 +6,10 @@
 PASS. executeSql("", undefined) did not throw an exception
 PASS. executeSql("", []) did not throw an exception
 PASS. executeSql("", [ "arg0" ]) did not throw an exception
-PASS. executeSql("", { }) did not throw an excepti

[webkit-changes] [210135] trunk/Source/WebCore/platform/network/mac/ WebCoreResourceHandleAsDelegate.mm

2016-12-23 Thread aestes
Title: [210135] trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm








Revision 210135
Author aes...@apple.com
Date 2016-12-23 10:16:42 -0800 (Fri, 23 Dec 2016)


Log Message
Try to fix the Mac CMake build after r210130.

* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

Modified Paths

trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm




Diff

Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm (210134 => 210135)

--- trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm	2016-12-23 17:09:04 UTC (rev 210134)
+++ trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm	2016-12-23 18:16:42 UTC (rev 210135)
@@ -32,7 +32,6 @@
 #import "AuthenticationMac.h"
 #import "Logging.h"
 #import "NSURLRequestSPI.h"
-#import "QuickLook.h"
 #import "ResourceHandle.h"
 #import "ResourceHandleClient.h"
 #import "ResourceRequest.h"
@@ -40,6 +39,10 @@
 #import "SharedBuffer.h"
 #import "WebCoreURLResponse.h"
 
+#if USE(QUICK_LOOK)
+#import "QuickLook.h"
+#endif
+
 using namespace WebCore;
 
 @implementation WebCoreResourceHandleAsDelegate






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


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

2016-12-23 Thread mark . lam
Title: [210136] trunk/Source/_javascript_Core








Revision 210136
Author mark@apple.com
Date 2016-12-23 11:01:32 -0800 (Fri, 23 Dec 2016)


Log Message
Fix broken LLINT_SLOW_PATH_TRACING build.
https://bugs.webkit.org/show_bug.cgi?id=166463

Reviewed by Keith Miller.

* llint/LLIntExceptions.cpp:
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp
trunk/Source/_javascript_Core/runtime/CommonSlowPathsExceptions.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210135 => 210136)

--- trunk/Source/_javascript_Core/ChangeLog	2016-12-23 18:16:42 UTC (rev 210135)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-12-23 19:01:32 UTC (rev 210136)
@@ -1,3 +1,16 @@
+2016-12-23  Mark Lam  
+
+Fix broken LLINT_SLOW_PATH_TRACING build.
+https://bugs.webkit.org/show_bug.cgi?id=166463
+
+Reviewed by Keith Miller.
+
+* llint/LLIntExceptions.cpp:
+(JSC::LLInt::returnToThrow):
+(JSC::LLInt::callToThrow):
+* runtime/CommonSlowPathsExceptions.cpp:
+(JSC::CommonSlowPaths::interpreterThrowInCaller):
+
 2016-12-22  Keith Miller  
 
 WebAssembly: Make spec-tests/f32.wast.js and spec-tests/f64.wast.js pass


Modified: trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp (210135 => 210136)

--- trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp	2016-12-23 18:16:42 UTC (rev 210135)
+++ trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp	2016-12-23 19:01:32 UTC (rev 210136)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -33,6 +33,10 @@
 #include "LowLevelInterpreter.h"
 #include "JSCInlines.h"
 
+#if LLINT_SLOW_PATH_TRACING
+#include "Exception.h"
+#endif
+
 namespace JSC { namespace LLInt {
 
 Instruction* returnToThrowForThrownException(ExecState* exec)
@@ -47,7 +51,7 @@
 #if LLINT_SLOW_PATH_TRACING
 VM* vm = &exec->vm();
 auto scope = DECLARE_THROW_SCOPE(*vm);
-dataLog("Throwing exception ", scope.exception(), " (returnToThrow).\n");
+dataLog("Throwing exception ", JSValue(scope.exception()), " (returnToThrow).\n");
 #endif
 return LLInt::exceptionInstructions();
 }
@@ -58,7 +62,7 @@
 #if LLINT_SLOW_PATH_TRACING
 VM* vm = &exec->vm();
 auto scope = DECLARE_THROW_SCOPE(*vm);
-dataLog("Throwing exception ", scope.exception(), " (callToThrow).\n");
+dataLog("Throwing exception ", JSValue(scope.exception()), " (callToThrow).\n");
 #endif
 return LLInt::getCodePtr(llint_throw_during_call_trampoline);
 }


Modified: trunk/Source/_javascript_Core/runtime/CommonSlowPathsExceptions.cpp (210135 => 210136)

--- trunk/Source/_javascript_Core/runtime/CommonSlowPathsExceptions.cpp	2016-12-23 18:16:42 UTC (rev 210135)
+++ trunk/Source/_javascript_Core/runtime/CommonSlowPathsExceptions.cpp	2016-12-23 19:01:32 UTC (rev 210136)
@@ -33,6 +33,10 @@
 #include "LLIntCommon.h"
 #include "JSCInlines.h"
 
+#if LLINT_SLOW_PATH_TRACING
+#include "Exception.h"
+#endif
+
 namespace JSC { namespace CommonSlowPaths {
 
 void interpreterThrowInCaller(ExecState* exec, JSObject* error)
@@ -43,7 +47,7 @@
 
 throwException(exec, scope, error);
 #if LLINT_SLOW_PATH_TRACING
-dataLog("Throwing exception ", scope.exception(), ".\n");
+dataLog("Throwing exception ", JSValue(scope.exception()), ".\n");
 #endif
 }
 






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


[webkit-changes] [210137] trunk

2016-12-23 Thread keith_miller
Title: [210137] trunk








Revision 210137
Author keith_mil...@apple.com
Date 2016-12-23 11:08:43 -0800 (Fri, 23 Dec 2016)


Log Message
WebAssembly: trap on bad division.
https://bugs.webkit.org/show_bug.cgi?id=164786

Reviewed by Mark Lam.

JSTests:

Also, mark conversions as passing.

* wasm.yaml:
* wasm/wasm.json:

Source/_javascript_Core:

This patch adds traps for division / modulo by zero and for
division by int_min / -1.

* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitChecksForModOrDiv):
* wasm/WasmExceptionType.h:
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::run):
* wasm/wasm.json:

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/wasm/wasm.json
trunk/JSTests/wasm.yaml
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp
trunk/Source/_javascript_Core/wasm/WasmExceptionType.h
trunk/Source/_javascript_Core/wasm/WasmPlan.cpp
trunk/Source/_javascript_Core/wasm/wasm.json




Diff

Modified: trunk/JSTests/ChangeLog (210136 => 210137)

--- trunk/JSTests/ChangeLog	2016-12-23 19:01:32 UTC (rev 210136)
+++ trunk/JSTests/ChangeLog	2016-12-23 19:08:43 UTC (rev 210137)
@@ -1,3 +1,15 @@
+2016-12-23  Keith Miller  
+
+WebAssembly: trap on bad division.
+https://bugs.webkit.org/show_bug.cgi?id=164786
+
+Reviewed by Mark Lam.
+
+Also, mark conversions as passing.
+
+* wasm.yaml:
+* wasm/wasm.json:
+
 2016-12-22  Keith Miller  
 
 WebAssembly: Make spec-tests/f32.wast.js and spec-tests/f64.wast.js pass


Modified: trunk/JSTests/wasm/wasm.json (210136 => 210137)

--- trunk/JSTests/wasm/wasm.json	2016-12-23 19:01:32 UTC (rev 210136)
+++ trunk/JSTests/wasm/wasm.json	2016-12-23 19:08:43 UTC (rev 210137)
@@ -93,10 +93,10 @@
 "i32.add": { "category": "arithmetic", "value": 106, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "Add"  },
 "i32.sub": { "category": "arithmetic", "value": 107, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "Sub"  },
 "i32.mul": { "category": "arithmetic", "value": 108, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "Mul"  },
-"i32.div_s":   { "category": "arithmetic", "value": 109, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "Div"  },
-"i32.div_u":   { "category": "arithmetic", "value": 110, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "UDiv" },
-"i32.rem_s":   { "category": "arithmetic", "value": 111, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "Mod"  },
-"i32.rem_u":   { "category": "arithmetic", "value": 112, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "UMod" },
+"i32.div_s":   { "category": "arithmetic", "value": 109, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [] },
+"i32.div_u":   { "category": "arithmetic", "value": 110, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [] },
+"i32.rem_s":   { "category": "arithmetic", "value": 111, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [] },
+"i32.rem_u":   { "category": "arithmetic", "value": 112, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [] },
 "i32.and": { "category": "arithmetic", "value": 113, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "BitAnd"   },
 "i32.or":  { "category": "arithmetic", "value": 114, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "BitOr"},
 "i32.xor": { "category": "arithmetic", "value": 115, "return": ["i32"],  "parameter": ["i32", "i32"],   "immediate": [], "b3op": "BitXor"   },
@@ -122,10 +122,10 @@
 "i64.add": { "category": "arithmetic", "value": 124, "return": ["i64"],  "parameter": ["i64", "i64"],   "immediate": [], "b3op": "Add"  },
 "i64.sub": { "category": "arithmetic", "value": 125, "return": ["i64"],  "parameter": ["i64", "i64"],   "immediate": [], "b3op": "Sub"  },
 "i64.mul": { "category": "arithmetic", "value": 126, "return": ["i64"],  "parameter": ["i64", "i64"],   "immediate": [], "b3op": "Mul"  },
-"i64.div_s":   { "category": "arithmetic", "value": 127, "return": ["i64"],  "parameter": ["i64", "i64"],   "immediate": [], "b3op": "

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

2016-12-23 Thread mark . lam
Title: [210138] trunk/Source/_javascript_Core








Revision 210138
Author mark@apple.com
Date 2016-12-23 11:26:21 -0800 (Fri, 23 Dec 2016)


Log Message
Enhance LLInt tracing to dump the codeBlock signature instead of just a pointer where appropriate.
https://bugs.webkit.org/show_bug.cgi?id=166465

Reviewed by Keith Miller.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210137 => 210138)

--- trunk/Source/_javascript_Core/ChangeLog	2016-12-23 19:08:43 UTC (rev 210137)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-12-23 19:26:21 UTC (rev 210138)
@@ -1,3 +1,14 @@
+2016-12-23  Mark Lam  
+
+Enhance LLInt tracing to dump the codeBlock signature instead of just a pointer where appropriate.
+https://bugs.webkit.org/show_bug.cgi?id=166465
+
+Reviewed by Keith Miller.
+
+* llint/LLIntSlowPaths.cpp:
+(JSC::LLInt::LLINT_SLOW_PATH_DECL):
+(JSC::LLInt::traceFunctionPrologue):
+
 2016-12-23  Keith Miller  
 
 WebAssembly: trap on bad division.


Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (210137 => 210138)

--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2016-12-23 19:08:43 UTC (rev 210137)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2016-12-23 19:26:21 UTC (rev 210138)
@@ -228,7 +228,8 @@
 
 LLINT_SLOW_PATH_DECL(trace_prologue)
 {
-dataLogF("%p / %p: in prologue.\n", exec->codeBlock(), exec);
+dataLogF("%p / %p: in prologue of ", exec->codeBlock(), exec);
+dataLog(*exec->codeBlock(), "\n");
 LLINT_END_IMPL();
 }
 
@@ -237,10 +238,10 @@
 JSFunction* callee = jsCast(exec->jsCallee());
 FunctionExecutable* executable = callee->jsExecutable();
 CodeBlock* codeBlock = executable->codeBlockFor(kind);
-dataLogF("%p / %p: in %s of function %p, executable %p; numVars = %u, numParameters = %u, numCalleeLocals = %u, caller = %p.\n",
-codeBlock, exec, comment, callee, executable,
-codeBlock->m_numVars, codeBlock->numParameters(), codeBlock->m_numCalleeLocals,
-exec->callerFrame());
+dataLogF("%p / %p: in %s of ", codeBlock, exec, comment);
+dataLog(*codeBlock);
+dataLogF(" function %p, executable %p; numVars = %u, numParameters = %u, numCalleeLocals = %u, caller = %p.\n",
+callee, executable, codeBlock->m_numVars, codeBlock->numParameters(), codeBlock->m_numCalleeLocals, exec->callerFrame());
 }
 
 LLINT_SLOW_PATH_DECL(trace_prologue_function_for_call)
@@ -489,7 +490,7 @@
 
 #if LLINT_SLOW_PATH_TRACING
 dataLogF("Checking stack height with exec = %p.\n", exec);
-dataLogF("CodeBlock = %p.\n", exec->codeBlock());
+dataLog("CodeBlock = ", *exec->codeBlock(), "\n");
 dataLogF("Num callee registers = %u.\n", exec->codeBlock()->m_numCalleeLocals);
 dataLogF("Num vars = %u.\n", exec->codeBlock()->m_numVars);
 






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


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

2016-12-23 Thread mark . lam
Title: [210139] trunk/Source/_javascript_Core








Revision 210139
Author mark@apple.com
Date 2016-12-23 11:45:46 -0800 (Fri, 23 Dec 2016)


Log Message
Using Option::breakOnThrow() shouldn't crash while printing a null CodeBlock.
https://bugs.webkit.org/show_bug.cgi?id=166466

Reviewed by Keith Miller.

* runtime/VM.cpp:
(JSC::VM::throwException):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/VM.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210138 => 210139)

--- trunk/Source/_javascript_Core/ChangeLog	2016-12-23 19:26:21 UTC (rev 210138)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-12-23 19:45:46 UTC (rev 210139)
@@ -1,5 +1,15 @@
 2016-12-23  Mark Lam  
 
+Using Option::breakOnThrow() shouldn't crash while printing a null CodeBlock.
+https://bugs.webkit.org/show_bug.cgi?id=166466
+
+Reviewed by Keith Miller.
+
+* runtime/VM.cpp:
+(JSC::VM::throwException):
+
+2016-12-23  Mark Lam  
+
 Enhance LLInt tracing to dump the codeBlock signature instead of just a pointer where appropriate.
 https://bugs.webkit.org/show_bug.cgi?id=166465
 


Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (210138 => 210139)

--- trunk/Source/_javascript_Core/runtime/VM.cpp	2016-12-23 19:26:21 UTC (rev 210138)
+++ trunk/Source/_javascript_Core/runtime/VM.cpp	2016-12-23 19:45:46 UTC (rev 210139)
@@ -595,7 +595,12 @@
 void VM::throwException(ExecState* exec, Exception* exception)
 {
 if (Options::breakOnThrow()) {
-dataLog("In call frame ", RawPointer(exec), " for code block ", *exec->codeBlock(), "\n");
+CodeBlock* codeBlock = exec->codeBlock();
+dataLog("Throwing exception in call frame ", RawPointer(exec), " for code block ");
+if (codeBlock)
+dataLog(*codeBlock, "\n");
+else
+dataLog("\n");
 CRASH();
 }
 






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


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

2016-12-23 Thread commit-queue
Title: [210140] trunk/Source/WebCore








Revision 210140
Author commit-qu...@webkit.org
Date 2016-12-23 14:01:12 -0800 (Fri, 23 Dec 2016)


Log Message
Add missing std::optional to ApplePayPaymentRequest.lineItems
https://bugs.webkit.org/show_bug.cgi?id=166468

Patch by Sam Weinig  on 2016-12-23
Reviewed by Alexey Proskuryakov.

No functional change, but is more consistent.

* Modules/applepay/ApplePayPaymentRequest.h:
Remove unnecessary #include of , add std::optional to lineItems.

* Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
Update to deal with optional line items, remove unnecessary comment.

* Modules/applepay/ApplePaySession.h:
Remove unneeded forward declarations.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h
trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp
trunk/Source/WebCore/Modules/applepay/ApplePaySession.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210139 => 210140)

--- trunk/Source/WebCore/ChangeLog	2016-12-23 19:45:46 UTC (rev 210139)
+++ trunk/Source/WebCore/ChangeLog	2016-12-23 22:01:12 UTC (rev 210140)
@@ -1,3 +1,22 @@
+2016-12-23  Sam Weinig  
+
+Add missing std::optional to ApplePayPaymentRequest.lineItems
+https://bugs.webkit.org/show_bug.cgi?id=166468
+
+Reviewed by Alexey Proskuryakov.
+
+No functional change, but is more consistent.
+
+* Modules/applepay/ApplePayPaymentRequest.h:
+Remove unnecessary #include of , add std::optional to lineItems.
+
+* Modules/applepay/ApplePaySession.cpp:
+(WebCore::convertAndValidate):
+Update to deal with optional line items, remove unnecessary comment.
+
+* Modules/applepay/ApplePaySession.h:
+Remove unneeded forward declarations.
+
 2016-12-22  Sam Weinig  
 
 [WebIDL] Remove custom bindings for WebSQL code


Modified: trunk/Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h (210139 => 210140)

--- trunk/Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h	2016-12-23 19:45:46 UTC (rev 210139)
+++ trunk/Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h	2016-12-23 22:01:12 UTC (rev 210140)
@@ -31,7 +31,6 @@
 #include "ApplePayPaymentContact.h"
 #include "ApplePayShippingMethod.h"
 #include "PaymentRequest.h"
-#include 
 
 namespace WebCore {
 
@@ -56,7 +55,7 @@
 std::optional> shippingMethods;
 
 ApplePayLineItem total;
-Vector lineItems;
+std::optional> lineItems;
 
 String applicationData;
 };


Modified: trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp (210139 => 210140)

--- trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp	2016-12-23 19:45:46 UTC (rev 210139)
+++ trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp	2016-12-23 22:01:12 UTC (rev 210140)
@@ -176,12 +176,15 @@
 return WTFMove(result);
 }
 
-static ExceptionOr> convertAndValidate(Vector&& lineItems)
+static ExceptionOr> convertAndValidate(std::optional>&& lineItems)
 {
 Vector result;
-result.reserveInitialCapacity(lineItems.size());
+if (!lineItems)
+return WTFMove(result);
+
+result.reserveInitialCapacity(lineItems->size());
 
-for (auto lineItem : lineItems) {
+for (auto lineItem : lineItems.value()) {
 auto convertedLineItem = convertAndValidate(WTFMove(lineItem));
 if (convertedLineItem.hasException())
 return convertedLineItem.releaseException();
@@ -300,7 +303,6 @@
 return total.releaseException();
 result.setTotal(total.releaseReturnValue());
 
-// FIXME: Should this swallow exceptions like the old code seemed to do?
 auto lineItems = convertAndValidate(WTFMove(paymentRequest.lineItems));
 if (lineItems.hasException())
 return lineItems.releaseException();


Modified: trunk/Source/WebCore/Modules/applepay/ApplePaySession.h (210139 => 210140)

--- trunk/Source/WebCore/Modules/applepay/ApplePaySession.h	2016-12-23 19:45:46 UTC (rev 210139)
+++ trunk/Source/WebCore/Modules/applepay/ApplePaySession.h	2016-12-23 22:01:12 UTC (rev 210140)
@@ -34,6 +34,11 @@
 #include 
 #include 
 
+namespace JSC {
+class ExecState;
+class JSValue;
+}
+
 namespace WebCore {
 
 class DeferredPromise;






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


[webkit-changes] [210141] trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/ WebPaymentCoordinatorProxyCocoa.mm

2016-12-23 Thread aestes
Title: [210141] trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm








Revision 210141
Author aes...@apple.com
Date 2016-12-23 14:13:29 -0800 (Fri, 23 Dec 2016)


Log Message
Fix iOS engineering builds.

Modified Paths

trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm




Diff

Modified: trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm (210140 => 210141)

--- trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm	2016-12-23 22:01:12 UTC (rev 210140)
+++ trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm	2016-12-23 22:13:29 UTC (rev 210141)
@@ -245,6 +245,8 @@
 {
 PKAddressField result = 0;
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 if (contactFields.postalAddress)
 result |= PKAddressFieldPostalAddress;
 if (contactFields.phone)
@@ -253,6 +255,7 @@
 result |= PKAddressFieldEmail;
 if (contactFields.name)
 result |= PKAddressFieldName;
+#pragma clang diagnostic pop
 
 return result;
 }
@@ -377,10 +380,13 @@
 
 [result setCountryCode:paymentRequest.countryCode()];
 [result setCurrencyCode:paymentRequest.currencyCode()];
+[result setBillingContact:paymentRequest.billingContact().pkContact()];
+[result setShippingContact:paymentRequest.shippingContact().pkContact()];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 [result setRequiredBillingAddressFields:toPKAddressField(paymentRequest.requiredBillingContactFields())];
-[result setBillingContact:paymentRequest.billingContact().pkContact()];
 [result setRequiredShippingAddressFields:toPKAddressField(paymentRequest.requiredShippingContactFields())];
-[result setShippingContact:paymentRequest.shippingContact().pkContact()];
+#pragma clang diagnostic pop
 
 [result setSupportedNetworks:toSupportedNetworks(paymentRequest.supportedNetworks()).get()];
 [result setMerchantCapabilities:toPKMerchantCapabilities(paymentRequest.merchantCapabilities())];






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


[webkit-changes] [210142] trunk

2016-12-23 Thread akling
Title: [210142] trunk








Revision 210142
Author akl...@apple.com
Date 2016-12-23 16:23:37 -0800 (Fri, 23 Dec 2016)


Log Message
REGRESSION(r209865): Crash when navigating back to some pages with compositing layers.



Reviewed by Darin Adler.

Source/WebCore:

Remove the old WK1-era clear/restoreBackingStores optimization from the page cache.
When enabling it on non-iOS platforms, we started hitting lots of assertions,
and none of our memory tests showed any significant improvement anyway.

Test: compositing/page-cache-back-crash.html

* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
* history/CachedFrame.h:
* page/FrameView.cpp:
(WebCore::FrameView::restoreBackingStores): Deleted.
* page/FrameView.h:

LayoutTests:

Add a smoke test for the crashes we were seeing. Thanks to Zalán for the reduction.

* compositing/page-cache-back-crash-expected.txt: Added.
* compositing/page-cache-back-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/history/CachedFrame.cpp
trunk/Source/WebCore/history/CachedFrame.h
trunk/Source/WebCore/page/FrameView.cpp
trunk/Source/WebCore/page/FrameView.h


Added Paths

trunk/LayoutTests/compositing/page-cache-back-crash-expected.txt
trunk/LayoutTests/compositing/page-cache-back-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (210141 => 210142)

--- trunk/LayoutTests/ChangeLog	2016-12-23 22:13:29 UTC (rev 210141)
+++ trunk/LayoutTests/ChangeLog	2016-12-24 00:23:37 UTC (rev 210142)
@@ -1,3 +1,16 @@
+2016-12-23  Andreas Kling  
+
+REGRESSION(r209865): Crash when navigating back to some pages with compositing layers.
+
+
+
+Reviewed by Darin Adler.
+
+Add a smoke test for the crashes we were seeing. Thanks to Zalán for the reduction.
+
+* compositing/page-cache-back-crash-expected.txt: Added.
+* compositing/page-cache-back-crash.html: Added.
+
 2016-12-22  Sam Weinig  
 
 [WebIDL] Remove custom bindings for WebSQL code


Added: trunk/LayoutTests/compositing/page-cache-back-crash-expected.txt (0 => 210142)

--- trunk/LayoutTests/compositing/page-cache-back-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/compositing/page-cache-back-crash-expected.txt	2016-12-24 00:23:37 UTC (rev 210142)
@@ -0,0 +1 @@
+- Test passes if it doesn't crash.


Added: trunk/LayoutTests/compositing/page-cache-back-crash.html (0 => 210142)

--- trunk/LayoutTests/compositing/page-cache-back-crash.html	(rev 0)
+++ trunk/LayoutTests/compositing/page-cache-back-crash.html	2016-12-24 00:23:37 UTC (rev 210142)
@@ -0,0 +1,25 @@
+
+.outer { position: fixed; }
+.inner { position: absolute; }
+
+-
+Test passes if it doesn't crash.
+
+if (window.testRunner) {
+window.testRunner.dumpAsText();
+window.testRunner.waitUntilDone();
+window.testRunner.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
+}
+
+window.addEventListener("pageshow", function(event) {
+if (event.persisted)
+testRunner.notifyDone();
+}, false);
+
+window.addEventListener("load", function() {
+setTimeout(function() {
+// Navigate to a helper page that will immediately navigate back here after loading.
+window.location.href = ""
+}, 0);
+});
+


Modified: trunk/Source/WebCore/ChangeLog (210141 => 210142)

--- trunk/Source/WebCore/ChangeLog	2016-12-23 22:13:29 UTC (rev 210141)
+++ trunk/Source/WebCore/ChangeLog	2016-12-24 00:23:37 UTC (rev 210142)
@@ -1,3 +1,26 @@
+2016-12-23  Andreas Kling  
+
+REGRESSION(r209865): Crash when navigating back to some pages with compositing layers.
+
+
+
+Reviewed by Darin Adler.
+
+Remove the old WK1-era clear/restoreBackingStores optimization from the page cache.
+When enabling it on non-iOS platforms, we started hitting lots of assertions,
+and none of our memory tests showed any significant improvement anyway.
+
+Test: compositing/page-cache-back-crash.html
+
+* history/CachedFrame.cpp:
+(WebCore::CachedFrameBase::CachedFrameBase):
+(WebCore::CachedFrameBase::restore):
+(WebCore::CachedFrame::CachedFrame):
+* history/CachedFrame.h:
+* page/FrameView.cpp:
+(WebCore::FrameView::restoreBackingStores): Deleted.
+* page/FrameView.h:
+
 2016-12-23  Sam Weinig  
 
 Add missing std::optional to ApplePayPaymentRequest.lineItems


Modified: trunk/Source/WebCore/history/CachedFrame.cpp (210141 => 210142)

--- trunk/Source/WebCore/history/CachedFrame.cpp	2016-12-23 22:13:29 UTC (rev 210141)
+++ trunk/Source/WebCore/history/CachedFrame.cpp	2016-12-24 00:23:37 UTC (rev 210142)
@@ -63,7 +63,6 @@
 , m_view(frame.view())
 , m_url(frame.document()->url())
 , m_isMainFrame(!frame.tree().parent())
-, m_isComposited(frame.view()->hasCompositedContent())

[webkit-changes] [210143] trunk

2016-12-23 Thread aestes
Title: [210143] trunk








Revision 210143
Author aes...@apple.com
Date 2016-12-23 17:14:59 -0800 (Fri, 23 Dec 2016)


Log Message
[iOS] Fix some crashing webarchive tests
https://bugs.webkit.org/show_bug.cgi?id=166470

Reviewed by Andreas Kling.

Tools:

Tests that use TestRunner.dumpDOMAsWebArchive() crashed on iOS due to a stub implementation
of WebArchiveDumpSupport in WebKitTestRunner. The Mac implementation works fine on iOS too,
so this change uses that on both platforms.

* WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Removed
WebArchiveDumpSupportMac.mm from EXCLUDED_SOURCE_FILE_NAMES.
* WebKitTestRunner/InjectedBundle/cocoa/WebArchiveDumpSupportCocoa.mm: Renamed from
Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm.
* WebKitTestRunner/PlatformMac.cmake:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm: Removed.

LayoutTests:

Removed entries for previously crashing/failing tests.

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-simulator/TestExpectations
trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations
trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig
trunk/Tools/WebKitTestRunner/PlatformMac.cmake
trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj


Added Paths

trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/WebArchiveDumpSupportCocoa.mm


Removed Paths

trunk/Tools/WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm
trunk/Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (210142 => 210143)

--- trunk/LayoutTests/ChangeLog	2016-12-24 00:23:37 UTC (rev 210142)
+++ trunk/LayoutTests/ChangeLog	2016-12-24 01:14:59 UTC (rev 210143)
@@ -1,3 +1,15 @@
+2016-12-23  Andy Estes  
+
+[iOS] Fix some crashing webarchive tests
+https://bugs.webkit.org/show_bug.cgi?id=166470
+
+Reviewed by Andreas Kling.
+
+Removed entries for previously crashing/failing tests.
+
+* platform/ios-simulator-wk2/TestExpectations:
+* platform/ios-simulator/TestExpectations:
+
 2016-12-23  Andreas Kling  
 
 REGRESSION(r209865): Crash when navigating back to some pages with compositing layers.


Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (210142 => 210143)

--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-12-24 00:23:37 UTC (rev 210142)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-12-24 01:14:59 UTC (rev 210143)
@@ -1003,7 +1003,6 @@
 userscripts/user-script-plugin-document.html [ Failure ]
 
 # Webarchive tests that fail:
-webarchive/loading/video-in-webarchive.html [ Failure ]
 webarchive/test-css-url-resources-in-stylesheets.html [ Failure ]
 webarchive/test-css-url-resources-inline-styles.html [ Failure ]
 webarchive/test-link-rel-icon.html [ Failure ]


Modified: trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations (210142 => 210143)

--- trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2016-12-24 00:23:37 UTC (rev 210142)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2016-12-24 01:14:59 UTC (rev 210143)
@@ -323,29 +323,9 @@
 #  ASSERT(animatedTypes[0].properties.size() == 1) failed in SVGAnimatedTypeAnimator::constructFromBaseValue()
 svg/animations/unsupported-animate-element-attributes.svg
 
-# Webarchive tests that fail with stderr:
-webarchive/adopt-attribute-styled-body-webarchive.html
-webarchive/adopt-attribute-styled-node-webarchive.html
-webarchive/adopt-inline-styled-node-webarchive.html
-webarchive/archive-with-unencoded-url.html
-webarchive/test-body-background.html
-webarchive/test-css-url-resources-in-stylesheets.html
-webarchive/test-css-url-resources-inline-styles.html
-webarchive/test-duplicate-resources.html
-webarchive/test-frameset.html
-webarchive/test-img-src.html
-webarchive/test-input-src.html
-webarchive/test-object-data.html
-webarchive/test-table-background.html
-webarchive/test-td-background.html
-webarchive/test-xml-stylesheet.xml
-
 # Webarchive tests that fail:
 webarchive/archive-empty-frame-source.html [ Failure ]
 webarchive/doctype.html [ Failure ]
-webarchive/test-css-import.html [ Failure ]
-webarchive/test-link-href.html [ Failure ]
-webarchive/test-script-src.html [ Failure ]
 
 # HTTP tests that fail:
 http/tests/appcache/load-from-appcache-defer-resume-crash.html [ Failure ]


Modified: trunk/Tools/ChangeLog (210142 => 210143)

--- trunk/Tools/ChangeLog	2016-12-24 00:23:37 UTC (rev 210142)
+++ trunk/Tools/ChangeLog	2016-12-24 01:14:59 UTC (rev 210143)
@@ -1,3 +1,22 @@
+2016-12-23  Andy Estes  
+
+[iOS] Fix some crashing webarchive tests
+https://bugs.webkit.org/show_bug.cgi?id=166470
+
+Reviewed by Andreas Kling.
+
+Tests that use TestRunner.dumpDOMAsWebArchive() crashed o

[webkit-changes] [210144] trunk/Source/WebKit/mac

2016-12-23 Thread aestes
Title: [210144] trunk/Source/WebKit/mac








Revision 210144
Author aes...@apple.com
Date 2016-12-23 20:39:52 -0800 (Fri, 23 Dec 2016)


Log Message
[iOS] DumpRenderTree triggers an assertion failure when calling +[WebPreferences _switchNetworkLoaderToNewTestingSession]
https://bugs.webkit.org/show_bug.cgi?id=166471

Reviewed by Andreas Kling.

When DumpRenderTree starts up, it calls
+[WebPreferences _switchNetworkLoaderToNewTestingSession] from the main thread. In Debug
builds, this triggers the ASSERT(isMainThread()) in
NetworkStorageSession::defaultNetworkStorageSession() because the Web thread has already
started, we are on the main thread, and we are not holding the Web thread lock. This is
causing all layout tests to crash in the iOS WK1 Debug configuration.

* WebView/WebPreferences.mm: (+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
Take the Web thread lock before calling NetworkStorageSession::switchToNewTestingSession().

Modified Paths

trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/WebView/WebPreferences.mm




Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (210143 => 210144)

--- trunk/Source/WebKit/mac/ChangeLog	2016-12-24 01:14:59 UTC (rev 210143)
+++ trunk/Source/WebKit/mac/ChangeLog	2016-12-24 04:39:52 UTC (rev 210144)
@@ -1,3 +1,20 @@
+2016-12-23  Andy Estes  
+
+[iOS] DumpRenderTree triggers an assertion failure when calling +[WebPreferences _switchNetworkLoaderToNewTestingSession]
+https://bugs.webkit.org/show_bug.cgi?id=166471
+
+Reviewed by Andreas Kling.
+
+When DumpRenderTree starts up, it calls
++[WebPreferences _switchNetworkLoaderToNewTestingSession] from the main thread. In Debug
+builds, this triggers the ASSERT(isMainThread()) in
+NetworkStorageSession::defaultNetworkStorageSession() because the Web thread has already
+started, we are on the main thread, and we are not holding the Web thread lock. This is
+causing all layout tests to crash in the iOS WK1 Debug configuration.
+
+* WebView/WebPreferences.mm: (+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
+Take the Web thread lock before calling NetworkStorageSession::switchToNewTestingSession().
+
 2016-12-22  Andy Estes  
 
 Make WebCore::EditorInsertAction an enum class


Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (210143 => 210144)

--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2016-12-24 01:14:59 UTC (rev 210143)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2016-12-24 04:39:52 UTC (rev 210144)
@@ -1820,6 +1820,9 @@
 
 + (void)_switchNetworkLoaderToNewTestingSession
 {
+#if PLATFORM(IOS)
+WebThreadLock();
+#endif
 NetworkStorageSession::switchToNewTestingSession();
 }
 






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