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

2019-08-20 Thread drousso
Title: [248933] trunk/Source/_javascript_Core








Revision 248933
Author drou...@apple.com
Date 2019-08-20 22:25:34 -0700 (Tue, 20 Aug 2019)


Log Message
Unreviewed, speculative build fix for High Sierra after r248925

* inspector/JSInjectedScriptHost.cpp:
(Inspector::HeapHolderFinder::dump):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/JSInjectedScriptHost.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (248932 => 248933)

--- trunk/Source/_javascript_Core/ChangeLog	2019-08-21 01:41:51 UTC (rev 248932)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-08-21 05:25:34 UTC (rev 248933)
@@ -1,3 +1,10 @@
+2019-08-20  Devin Rousso  
+
+Unreviewed, speculative build fix for High Sierra after r248925
+
+* inspector/JSInjectedScriptHost.cpp:
+(Inspector::HeapHolderFinder::dump):
+
 2019-08-20  Mark Lam  
 
 Remove superfluous size argument to allocateCell() for fixed size objects.


Modified: trunk/Source/_javascript_Core/inspector/JSInjectedScriptHost.cpp (248932 => 248933)

--- trunk/Source/_javascript_Core/inspector/JSInjectedScriptHost.cpp	2019-08-21 01:41:51 UTC (rev 248932)
+++ trunk/Source/_javascript_Core/inspector/JSInjectedScriptHost.cpp	2019-08-21 05:25:34 UTC (rev 248933)
@@ -831,6 +831,7 @@
 void setWrappedObjectForCell(JSCell*, void*) { }
 void setLabelForCell(JSCell*, const String&) { }
 
+#ifndef NDEBUG
 void dump(PrintStream& out) const
 {
 Indentation<4> indent;
@@ -860,7 +861,7 @@
 out.println();
 
 if (isFirstVisit) {
-IndentationScope scope(indent);
+IndentationScope<4> scope(indent);
 for (auto* to : m_successors.get(from))
 visit(to);
 }
@@ -869,6 +870,7 @@
 for (auto* from : m_rootsToInclude)
 visit(from);
 }
+#endif
 
 private:
 Lock m_mutex;






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


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

2019-08-20 Thread rniwa
Title: [248932] trunk/Source/WebCore








Revision 248932
Author rn...@webkit.org
Date 2019-08-20 18:41:51 -0700 (Tue, 20 Aug 2019)


Log Message
nextElementWithGreaterTabIndex should use shadowAdjustedTabIndex
https://bugs.webkit.org/show_bug.cgi?id=200943

Reviewed by Wenson Hsieh.

Use shadowAdjustedTabIndex instead of tabIndexForElement in nextElementWithGreaterTabIndex.

Because nextElementWithGreaterTabIndex is only called to find an element with a tab index
set to a greater value than the argument tabIndex, which is always a positive integer,
whether we call shadowAdjustedTabIndex or tabIndexForElement has no effect on an element
with a shadow root or on a slot element. Furthermore, none of the elements with
an isKeyboardFocusable override can have a author defined shadow root attached either.

As a result, this refactoring will have no observable behavioral change.

No new tests since there should be no observable behavior change.

* page/FocusController.cpp:
(WebCore::tabIndexForElement): Merged into shadowAdjustedTabIndex.
(WebCore::shadowAdjustedTabIndex):
(WebCore::nextElementWithGreaterTabIndex):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FocusController.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (248931 => 248932)

--- trunk/Source/WebCore/ChangeLog	2019-08-21 01:39:54 UTC (rev 248931)
+++ trunk/Source/WebCore/ChangeLog	2019-08-21 01:41:51 UTC (rev 248932)
@@ -1,5 +1,29 @@
 2019-08-20  Ryosuke Niwa  
 
+nextElementWithGreaterTabIndex should use shadowAdjustedTabIndex
+https://bugs.webkit.org/show_bug.cgi?id=200943
+
+Reviewed by Wenson Hsieh.
+
+Use shadowAdjustedTabIndex instead of tabIndexForElement in nextElementWithGreaterTabIndex.
+
+Because nextElementWithGreaterTabIndex is only called to find an element with a tab index
+set to a greater value than the argument tabIndex, which is always a positive integer,
+whether we call shadowAdjustedTabIndex or tabIndexForElement has no effect on an element
+with a shadow root or on a slot element. Furthermore, none of the elements with
+an isKeyboardFocusable override can have a author defined shadow root attached either.
+
+As a result, this refactoring will have no observable behavioral change.
+
+No new tests since there should be no observable behavior change.
+
+* page/FocusController.cpp:
+(WebCore::tabIndexForElement): Merged into shadowAdjustedTabIndex.
+(WebCore::shadowAdjustedTabIndex):
+(WebCore::nextElementWithGreaterTabIndex):
+
+2019-08-20  Ryosuke Niwa  
+
 Remove MathMLElement::defaultTabIndex()
 https://bugs.webkit.org/show_bug.cgi?id=200944
 


Modified: trunk/Source/WebCore/page/FocusController.cpp (248931 => 248932)

--- trunk/Source/WebCore/page/FocusController.cpp	2019-08-21 01:39:54 UTC (rev 248931)
+++ trunk/Source/WebCore/page/FocusController.cpp	2019-08-21 01:41:51 UTC (rev 248932)
@@ -325,12 +325,6 @@
 return element.isKeyboardFocusable(event) && isFocusScopeOwner(element);
 }
 
-// FIXME: This function should be merged into shadowAdjustedTabIndex.
-static inline int tabIndexForElement(const Element& element)
-{
-return element.shouldBeIgnoredInSequentialFocusNavigation() ? -1 : element.tabIndexSetExplicitly().valueOr(0);
-}
-
 static inline int shadowAdjustedTabIndex(Element& element, KeyboardEvent* event)
 {
 if (isNonFocusableScopeOwner(element, event)) {
@@ -337,7 +331,7 @@
 if (!element.tabIndexSetExplicitly())
 return 0; // Treat a shadow host without tabindex if it has tabindex=0 even though HTMLElement::tabIndex returns -1 on such an element.
 }
-return tabIndexForElement(element);
+return element.shouldBeIgnoredInSequentialFocusNavigation() ? -1 : element.tabIndexSetExplicitly().valueOr(0);
 }
 
 FocusController::FocusController(Page& page, OptionSet activityState)
@@ -626,8 +620,7 @@
 if (!is(*node))
 continue;
 Element& candidate = downcast(*node);
-// FIXME: We should be calling shadowAdjustedTabIndex instead.
-int candidateTabIndex = tabIndexForElement(candidate);
+int candidateTabIndex = shadowAdjustedTabIndex(candidate, event);
 if (isFocusableElementOrScopeOwner(candidate, event) && candidateTabIndex > tabIndex && (!winner || candidateTabIndex < winningTabIndex)) {
 winner = 
 winningTabIndex = candidateTabIndex;






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


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

2019-08-20 Thread rniwa
Title: [248931] trunk/Source/WebCore








Revision 248931
Author rn...@webkit.org
Date 2019-08-20 18:39:54 -0700 (Tue, 20 Aug 2019)


Log Message
Remove MathMLElement::defaultTabIndex()
https://bugs.webkit.org/show_bug.cgi?id=200944

Reviewed by Frédéric Wang.

Removed MathMLElement::defaultTabIndex since it doesn't have any observable effect since
MathMLElement doesn't expose tabIndex IDL attribute, and sequential (tab key) focus navigation
checks MathMLElement::isKeyboardFocusable, which doesn't rely on defaultTabIndex, anyway.

* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::defaultTabIndex const): Deleted.
* mathml/MathMLElement.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/mathml/MathMLElement.cpp
trunk/Source/WebCore/mathml/MathMLElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (248930 => 248931)

--- trunk/Source/WebCore/ChangeLog	2019-08-21 01:36:41 UTC (rev 248930)
+++ trunk/Source/WebCore/ChangeLog	2019-08-21 01:39:54 UTC (rev 248931)
@@ -1,3 +1,18 @@
+2019-08-20  Ryosuke Niwa  
+
+Remove MathMLElement::defaultTabIndex()
+https://bugs.webkit.org/show_bug.cgi?id=200944
+
+Reviewed by Frédéric Wang.
+
+Removed MathMLElement::defaultTabIndex since it doesn't have any observable effect since
+MathMLElement doesn't expose tabIndex IDL attribute, and sequential (tab key) focus navigation
+checks MathMLElement::isKeyboardFocusable, which doesn't rely on defaultTabIndex, anyway.
+
+* mathml/MathMLElement.cpp:
+(WebCore::MathMLElement::defaultTabIndex const): Deleted.
+* mathml/MathMLElement.h:
+
 2019-08-20  Devin Rousso  
 
 Web Inspector: Implement `queryHolders` Command Line API


Modified: trunk/Source/WebCore/mathml/MathMLElement.cpp (248930 => 248931)

--- trunk/Source/WebCore/mathml/MathMLElement.cpp	2019-08-21 01:36:41 UTC (rev 248930)
+++ trunk/Source/WebCore/mathml/MathMLElement.cpp	2019-08-21 01:39:54 UTC (rev 248931)
@@ -221,12 +221,6 @@
 return isLink() || StyledElement::supportsFocus();
 }
 
-int MathMLElement::defaultTabIndex() const
-{
-// FIXME: This seems wrong.
-return 0;
 }
 
-}
-
 #endif // ENABLE(MATHML)


Modified: trunk/Source/WebCore/mathml/MathMLElement.h (248930 => 248931)

--- trunk/Source/WebCore/mathml/MathMLElement.h	2019-08-21 01:36:41 UTC (rev 248930)
+++ trunk/Source/WebCore/mathml/MathMLElement.h	2019-08-21 01:39:54 UTC (rev 248931)
@@ -108,7 +108,6 @@
 bool isMouseFocusable() const final;
 bool isURLAttribute(const Attribute&) const final;
 bool supportsFocus() const final;
-int defaultTabIndex() const final;
 };
 
 inline bool Node::hasTagName(const MathMLQualifiedName& name) const






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


[webkit-changes] [248930] trunk/Source/WTF

2019-08-20 Thread mark . lam
Title: [248930] trunk/Source/WTF








Revision 248930
Author mark@apple.com
Date 2019-08-20 18:36:41 -0700 (Tue, 20 Aug 2019)


Log Message
Make it easier to pass pointers to WTFCrashWithInfo.
https://bugs.webkit.org/show_bug.cgi?id=200960

Reviewed by Saam Barati and Yusuke Suzuki.

Now, we don't have to explicitly cast them to uint64_ts first.  The template
wrappers will take care of it for us.

* wtf/Assertions.h:
(wtfCrashArg):
(WTFCrashWithInfo):
(WTF::isIntegralOrPointerType):
(WTF::isIntegralType): Deleted.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Assertions.h




Diff

Modified: trunk/Source/WTF/ChangeLog (248929 => 248930)

--- trunk/Source/WTF/ChangeLog	2019-08-21 01:13:02 UTC (rev 248929)
+++ trunk/Source/WTF/ChangeLog	2019-08-21 01:36:41 UTC (rev 248930)
@@ -1,3 +1,19 @@
+2019-08-20  Mark Lam  
+
+Make it easier to pass pointers to WTFCrashWithInfo.
+https://bugs.webkit.org/show_bug.cgi?id=200960
+
+Reviewed by Saam Barati and Yusuke Suzuki.
+
+Now, we don't have to explicitly cast them to uint64_ts first.  The template
+wrappers will take care of it for us.
+
+* wtf/Assertions.h:
+(wtfCrashArg):
+(WTFCrashWithInfo):
+(WTF::isIntegralOrPointerType):
+(WTF::isIntegralType): Deleted.
+
 2019-08-20  Saam Barati  
 
 Unreviewed. Followup to r248903. It's not valid to remove


Modified: trunk/Source/WTF/wtf/Assertions.h (248929 => 248930)

--- trunk/Source/WTF/wtf/Assertions.h	2019-08-21 01:13:02 UTC (rev 248929)
+++ trunk/Source/WTF/wtf/Assertions.h	2019-08-21 01:36:41 UTC (rev 248930)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2017 Apple Inc.  All rights reserved.
+ * Copyright (C) 2003-2019 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -549,6 +549,54 @@
 
 #ifdef __cplusplus
 
+template
+ALWAYS_INLINE uint64_t wtfCrashArg(T* arg) { return reinterpret_cast(arg); }
+
+template
+ALWAYS_INLINE uint64_t wtfCrashArg(T arg) { return arg; }
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1, V misc2)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1), wtfCrashArg(misc2));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1, V misc2, W misc3)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1), wtfCrashArg(misc2), wtfCrashArg(misc3));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1, V misc2, W misc3, X misc4)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1), wtfCrashArg(misc2), wtfCrashArg(misc3), wtfCrashArg(misc4));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1, V misc2, W misc3, X misc4, Y misc5)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1), wtfCrashArg(misc2), wtfCrashArg(misc3), wtfCrashArg(misc4), wtfCrashArg(misc5));
+}
+
+template
+NO_RETURN_DUE_TO_CRASH ALWAYS_INLINE void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, T reason, U misc1, V misc2, W misc3, X misc4, Y misc5, Z misc6)
+{
+WTFCrashWithInfo(line, file, function, counter, wtfCrashArg(reason), wtfCrashArg(misc1), wtfCrashArg(misc2), wtfCrashArg(misc3), wtfCrashArg(misc4), wtfCrashArg(misc5), wtfCrashArg(misc6));
+}
+
 // The combination of line, file, function, and counter should be a unique number per call to this crash. This tricks the compiler into not coalescing calls to WTFCrashWithInfo.
 // The easiest way to fill these values per translation unit is to pass __LINE__, __FILE__, WTF_PRETTY_FUNCTION, and __COUNTER__.
 WTF_EXPORT_PRIVATE NO_RETURN_DUE_TO_CRASH NOT_TAIL_CALLED void WTFCrashWithInfo(int line, const char* file, const char* function, int counter, uint64_t reason, uint64_t misc1, uint64_t misc2, uint64_t misc3, uint64_t misc4, uint64_t misc5, uint64_t misc6);
@@ -569,13 +617,13 @@
 }
 
 namespace WTF {
-inline void isIntegralType() { }
+inline void 

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

2019-08-20 Thread mark . lam
Title: [248929] trunk/Source/_javascript_Core








Revision 248929
Author mark@apple.com
Date 2019-08-20 18:13:02 -0700 (Tue, 20 Aug 2019)


Log Message
Remove superfluous size argument to allocateCell() for fixed size objects.
https://bugs.webkit.org/show_bug.cgi?id=200958

Reviewed by Yusuke Suzuki.

The size is already automatically computed by the allocateCell() template's default
arguments.  Removing these superfluous arguments will make it easier for us to
grep for cases where we do allocate variable size cells (for later analysis work).

* jsc.cpp:
(JSC::Masquerader::create):
(JSCMemoryFootprint::create):
* tools/JSDollarVM.cpp:
(JSC::JSDollarVMCallFrame::create):
(JSC::Element::create):
(JSC::Root::create):
(JSC::SimpleObject::create):
(JSC::ImpureGetter::create):
(JSC::CustomGetter::create):
(JSC::DOMJITNode::create):
(JSC::DOMJITGetter::create):
(JSC::DOMJITGetterComplex::create):
(JSC::DOMJITFunctionObject::create):
(JSC::DOMJITCheckSubClassObject::create):
(JSC::DOMJITGetterBaseJSObject::create):
(JSC::JSTestCustomGetterSetter::create):
(JSC::WasmStreamingParser::create):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/jsc.cpp
trunk/Source/_javascript_Core/tools/JSDollarVM.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (248928 => 248929)

--- trunk/Source/_javascript_Core/ChangeLog	2019-08-21 00:54:48 UTC (rev 248928)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-08-21 01:13:02 UTC (rev 248929)
@@ -1,5 +1,35 @@
 2019-08-20  Mark Lam  
 
+Remove superfluous size argument to allocateCell() for fixed size objects.
+https://bugs.webkit.org/show_bug.cgi?id=200958
+
+Reviewed by Yusuke Suzuki.
+
+The size is already automatically computed by the allocateCell() template's default
+arguments.  Removing these superfluous arguments will make it easier for us to
+grep for cases where we do allocate variable size cells (for later analysis work).
+
+* jsc.cpp:
+(JSC::Masquerader::create):
+(JSCMemoryFootprint::create):
+* tools/JSDollarVM.cpp:
+(JSC::JSDollarVMCallFrame::create):
+(JSC::Element::create):
+(JSC::Root::create):
+(JSC::SimpleObject::create):
+(JSC::ImpureGetter::create):
+(JSC::CustomGetter::create):
+(JSC::DOMJITNode::create):
+(JSC::DOMJITGetter::create):
+(JSC::DOMJITGetterComplex::create):
+(JSC::DOMJITFunctionObject::create):
+(JSC::DOMJITCheckSubClassObject::create):
+(JSC::DOMJITGetterBaseJSObject::create):
+(JSC::JSTestCustomGetterSetter::create):
+(JSC::WasmStreamingParser::create):
+
+2019-08-20  Mark Lam  
+
 JSBigInt::m_length should be immutable.
 https://bugs.webkit.org/show_bug.cgi?id=200956
 


Modified: trunk/Source/_javascript_Core/jsc.cpp (248928 => 248929)

--- trunk/Source/_javascript_Core/jsc.cpp	2019-08-21 00:54:48 UTC (rev 248928)
+++ trunk/Source/_javascript_Core/jsc.cpp	2019-08-21 01:13:02 UTC (rev 248929)
@@ -1,6 +1,6 @@
 /*
  *  Copyright (C) 1999-2000 Harri Porten (por...@kde.org)
- *  Copyright (C) 2004-2018 Apple Inc. All rights reserved.
+ *  Copyright (C) 2004-2019 Apple Inc. All rights reserved.
  *  Copyright (C) 2006 Bjoern Graf (bjoern.g...@gmail.com)
  *
  *  This library is free software; you can redistribute it and/or
@@ -201,7 +201,7 @@
 {
 globalObject->masqueradesAsUndefinedWatchpoint()->fireAll(vm, "Masquerading object allocated");
 Structure* structure = createStructure(vm, globalObject, jsNull());
-Masquerader* result = new (NotNull, allocateCell(vm.heap, sizeof(Masquerader))) Masquerader(vm, structure);
+Masquerader* result = new (NotNull, allocateCell(vm.heap)) Masquerader(vm, structure);
 result->finishCreation(vm);
 return result;
 }
@@ -1392,7 +1392,7 @@
 static JSCMemoryFootprint* create(VM& vm, JSGlobalObject* globalObject)
 {
 Structure* structure = createStructure(vm, globalObject, jsNull());
-JSCMemoryFootprint* footprint = new (NotNull, allocateCell(vm.heap, sizeof(JSCMemoryFootprint))) JSCMemoryFootprint(vm, structure);
+JSCMemoryFootprint* footprint = new (NotNull, allocateCell(vm.heap)) JSCMemoryFootprint(vm, structure);
 footprint->finishCreation(vm);
 return footprint;
 }


Modified: trunk/Source/_javascript_Core/tools/JSDollarVM.cpp (248928 => 248929)

--- trunk/Source/_javascript_Core/tools/JSDollarVM.cpp	2019-08-21 00:54:48 UTC (rev 248928)
+++ trunk/Source/_javascript_Core/tools/JSDollarVM.cpp	2019-08-21 01:13:02 UTC (rev 248929)
@@ -79,7 +79,7 @@
 VM& vm = exec->vm();
 JSGlobalObject* globalObject = exec->lexicalGlobalObject();
 Structure* structure = createStructure(vm, globalObject, jsNull());
-JSDollarVMCallFrame* frame = new (NotNull, allocateCell(vm.heap, sizeof(JSDollarVMCallFrame))) JSDollarVMCallFrame(vm, 

[webkit-changes] [248928] trunk/Source/WebKit

2019-08-20 Thread commit-queue
Title: [248928] trunk/Source/WebKit








Revision 248928
Author commit-qu...@webkit.org
Date 2019-08-20 17:54:48 -0700 (Tue, 20 Aug 2019)


Log Message
[iOS] REGRESSION (248501): gmail.com images are still not shown on some versions of iPhone iOS13
https://bugs.webkit.org/show_bug.cgi?id=200948

Patch by Said Abou-Hallawa  on 2019-08-20
Reviewed by Tim Horton.

Apply the gmail.com quirk for all iPhone iOS versions till the gmail.com
bug is fixed.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformUserAgent const):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (248927 => 248928)

--- trunk/Source/WebKit/ChangeLog	2019-08-21 00:39:02 UTC (rev 248927)
+++ trunk/Source/WebKit/ChangeLog	2019-08-21 00:54:48 UTC (rev 248928)
@@ -1,3 +1,16 @@
+2019-08-20  Said Abou-Hallawa  
+
+[iOS] REGRESSION (248501): gmail.com images are still not shown on some versions of iPhone iOS13
+https://bugs.webkit.org/show_bug.cgi?id=200948
+
+Reviewed by Tim Horton.
+
+Apply the gmail.com quirk for all iPhone iOS versions till the gmail.com
+bug is fixed.
+
+* WebProcess/WebPage/ios/WebPageIOS.mm:
+(WebKit::WebPage::platformUserAgent const):
+
 2019-08-20  Chris Dumez  
 
 WebSQLiteDatabaseTracker does not ensure it is still alive after dispatching to the main thread


Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (248927 => 248928)

--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-08-21 00:39:02 UTC (rev 248927)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-08-21 00:54:48 UTC (rev 248928)
@@ -3755,7 +3755,7 @@
 if (!document)
 return String();
 
-if (document->quirks().shouldAvoidUsingIOS13ForGmail() && osNameForUserAgent() == "iPhone OS" && systemMarketingVersionForUserAgentString() == "13_1")
+if (document->quirks().shouldAvoidUsingIOS13ForGmail() && osNameForUserAgent() == "iPhone OS")
 return standardUserAgentWithApplicationName({ }, "12_1_3");
 
 return String();






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


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

2019-08-20 Thread mark . lam
Title: [248927] trunk/Source/_javascript_Core








Revision 248927
Author mark@apple.com
Date 2019-08-20 17:39:02 -0700 (Tue, 20 Aug 2019)


Log Message
JSBigInt::m_length should be immutable.
https://bugs.webkit.org/show_bug.cgi?id=200956

Reviewed by Yusuke Suzuki.

This is because the JSBigInt cell size is allocated with that length.  Changing
the length after construction does not change the size of the cell, and hence,
makes no sense.

This patch removes the setLength() method, and decorates the m_length field with
const to enforce that it is immutable after construction.

* runtime/JSBigInt.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSBigInt.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (248926 => 248927)

--- trunk/Source/_javascript_Core/ChangeLog	2019-08-21 00:26:52 UTC (rev 248926)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-08-21 00:39:02 UTC (rev 248927)
@@ -1,3 +1,19 @@
+2019-08-20  Mark Lam  
+
+JSBigInt::m_length should be immutable.
+https://bugs.webkit.org/show_bug.cgi?id=200956
+
+Reviewed by Yusuke Suzuki.
+
+This is because the JSBigInt cell size is allocated with that length.  Changing
+the length after construction does not change the size of the cell, and hence,
+makes no sense.
+
+This patch removes the setLength() method, and decorates the m_length field with
+const to enforce that it is immutable after construction.
+
+* runtime/JSBigInt.h:
+
 2019-08-20  Devin Rousso  
 
 Web Inspector: Implement `queryHolders` Command Line API


Modified: trunk/Source/_javascript_Core/runtime/JSBigInt.h (248926 => 248927)

--- trunk/Source/_javascript_Core/runtime/JSBigInt.h	2019-08-21 00:26:52 UTC (rev 248926)
+++ trunk/Source/_javascript_Core/runtime/JSBigInt.h	2019-08-21 00:39:02 UTC (rev 248927)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2017 Caio Lima 
+ * Copyright (C) 2019 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -71,7 +72,6 @@
 void setSign(bool sign) { m_sign = sign; }
 bool sign() const { return m_sign; }
 
-void setLength(unsigned length) { m_length = length; }
 unsigned length() const { return m_length; }
 
 enum class ErrorParseMode {
@@ -246,8 +246,8 @@
 
 Digit digit(unsigned);
 void setDigit(unsigned, Digit);
-
-unsigned m_length;
+
+const unsigned m_length;
 bool m_sign { false };
 };
 






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


[webkit-changes] [248926] trunk/Tools

2019-08-20 Thread zhifei_fang
Title: [248926] trunk/Tools








Revision 248926
Author zhifei_f...@apple.com
Date 2019-08-20 17:26:52 -0700 (Tue, 20 Aug 2019)


Log Message
[results.webkit.org Webkit.css] Add right sidebar
https://bugs.webkit.org/show_bug.cgi?id=200946

Reviewed by Jonathan Bedard.

* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(@media screen and (min-width: 600px) and (orientation: landscape)):
(.main.left):
(@media screen and (min-width: 768px) and (orientation: landscape)):
(.sidebar.right):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css




Diff

Modified: trunk/Tools/ChangeLog (248925 => 248926)

--- trunk/Tools/ChangeLog	2019-08-21 00:24:27 UTC (rev 248925)
+++ trunk/Tools/ChangeLog	2019-08-21 00:26:52 UTC (rev 248926)
@@ -1,3 +1,16 @@
+2019-08-20  Zhifei Fang  
+
+[results.webkit.org Webkit.css] Add right sidebar
+https://bugs.webkit.org/show_bug.cgi?id=200946
+
+Reviewed by Jonathan Bedard.
+
+* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
+(@media screen and (min-width: 600px) and (orientation: landscape)):
+(.main.left):
+(@media screen and (min-width: 768px) and (orientation: landscape)):
+(.sidebar.right):
+
 2019-08-20  Jonathan Bedard  
 
 results.webkit.org: Add ToolTips


Modified: trunk/Tools/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css (248925 => 248926)

--- trunk/Tools/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css	2019-08-21 00:24:27 UTC (rev 248925)
+++ trunk/Tools/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css	2019-08-21 00:26:52 UTC (rev 248926)
@@ -962,6 +962,12 @@
 margin-left: 299px;
 width: calc(100% - 299px);
   }
+
+  .main.left {
+margin-left: 0px;
+margin-right: 299px;
+  }
+
   .main.under-topbar-with-actions {
 margin-top: calc(12px * 2  + var(--largeSize) * 1.3);
   }
@@ -981,6 +987,12 @@
 margin-left: 310px;
 width: calc(100% - 310px);
   }
+
+  .main.left {
+margin-left: 0px;
+margin-right: 310px;
+  }
+
   .main.under-topbar-with-actions {
 margin-top: calc(12px * 2  + var(--largeSize) * 1.3);
   }
@@ -989,6 +1001,7 @@
 .sidebar.right {
   border-right: 0px;
   border-left: 1px;
+  right: 0;
 }
 
 .sidebar>.list {






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


[webkit-changes] [248924] trunk/LayoutTests/imported/w3c

2019-08-20 Thread rniwa
Title: [248924] trunk/LayoutTests/imported/w3c








Revision 248924
Author rn...@webkit.org
Date 2019-08-20 17:10:02 -0700 (Tue, 20 Aug 2019)


Log Message
Revert the unintended test change in r248914.

* web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (248923 => 248924)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-08-20 23:47:03 UTC (rev 248923)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-08-21 00:10:02 UTC (rev 248924)
@@ -1,3 +1,9 @@
+2019-08-20  Ryosuke Niwa  
+
+Revert the unintended test change in r248914.
+
+* web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html:
+
 2019-08-14  Alexey Shvayka  
 
 Error thrown during "acceptNode" lookup is overridden


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html (248923 => 248924)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html	2019-08-20 23:47:03 UTC (rev 248923)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html	2019-08-21 00:10:02 UTC (rev 248924)
@@ -7,8 +7,8 @@
 

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

2019-08-20 Thread pecoraro
Title: [248923] trunk/Source/WebInspectorUI








Revision 248923
Author pecor...@apple.com
Date 2019-08-20 16:47:03 -0700 (Tue, 20 Aug 2019)


Log Message
Web Inspector: Address a few Esprima issues preventing pretty printing of resources
https://bugs.webkit.org/show_bug.cgi?id=200935

Reviewed by Timothy Hatcher.

Address a few Esprima issues:

Issue #1991 - Failure to parse template literal with destructuring assignment _expression_
https://github.com/jquery/esprima/issues/1991

Issue #1920 - Invalid Left Hand Side in for-in
https://github.com/jquery/esprima/issues/1920

* UserInterface/External/Esprima/esprima.js:

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/External/Esprima/esprima.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (248922 => 248923)

--- trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 23:44:39 UTC (rev 248922)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 23:47:03 UTC (rev 248923)
@@ -1,5 +1,22 @@
 2019-08-20  Joseph Pecoraro  
 
+Web Inspector: Address a few Esprima issues preventing pretty printing of resources
+https://bugs.webkit.org/show_bug.cgi?id=200935
+
+Reviewed by Timothy Hatcher.
+
+Address a few Esprima issues:
+
+Issue #1991 - Failure to parse template literal with destructuring assignment _expression_
+https://github.com/jquery/esprima/issues/1991
+
+Issue #1920 - Invalid Left Hand Side in for-in
+https://github.com/jquery/esprima/issues/1920
+
+* UserInterface/External/Esprima/esprima.js:
+
+2019-08-20  Joseph Pecoraro  
+
 Web Inspector: Update CodeMirror to support numeric separators in _javascript_ numbers
 https://bugs.webkit.org/show_bug.cgi?id=200942
 


Modified: trunk/Source/WebInspectorUI/UserInterface/External/Esprima/esprima.js (248922 => 248923)

--- trunk/Source/WebInspectorUI/UserInterface/External/Esprima/esprima.js	2019-08-20 23:44:39 UTC (rev 248922)
+++ trunk/Source/WebInspectorUI/UserInterface/External/Esprima/esprima.js	2019-08-20 23:47:03 UTC (rev 248923)
@@ -3784,6 +3784,9 @@
 }
 else {
 const initStartToken = this.lookahead;
+const previousIsBindingElement = this.context.isBindingElement;
+const previousIsAssignmentTarget = this.context.isAssignmentTarget;
+const previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;
 const previousAllowIn = this.context.allowIn;
 this.context.allowIn = false;
 init = this.inheritCoverGrammar(this.parseAssignmentExpression);
@@ -3813,6 +3816,10 @@
 forIn = false;
 }
 else {
+// The `init` node was not parsed isolated, but we would have wanted it to.
+this.context.isBindingElement = previousIsBindingElement;
+this.context.isAssignmentTarget = previousIsAssignmentTarget;
+this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;
 if (this.match(',')) {
 const initSeq = [init];
 while (this.match(',')) {
@@ -3827,11 +3834,11 @@
 }
 if (typeof left === 'undefined') {
 if (!this.match(';')) {
-test = this.parseExpression();
+test = this.isolateCoverGrammar(this.parseExpression);
 }
 this.expect(';');
 if (!this.match(')')) {
-update = this.parseExpression();
+update = this.isolateCoverGrammar(this.parseExpression);
 }
 }
 let body;
@@ -5148,7 +5155,8 @@
 return {
 index: this.index,
 lineNumber: this.lineNumber,
-lineStart: this.lineStart
+lineStart: this.lineStart,
+curlyStack: this.curlyStack.slice()
 };
 }
 restoreState(state) {
@@ -5155,6 +5163,7 @@
 this.index = state.index;
 this.lineNumber = state.lineNumber;
 this.lineStart = state.lineStart;
+this.curlyStack = state.curlyStack;
 }
 eof() {
 return this.index >= this.length;






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


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

2019-08-20 Thread pecoraro
Title: [248922] trunk/Source/WebInspectorUI








Revision 248922
Author pecor...@apple.com
Date 2019-08-20 16:44:39 -0700 (Tue, 20 Aug 2019)


Log Message
Web Inspector: Update CodeMirror to support numeric separators in _javascript_ numbers
https://bugs.webkit.org/show_bug.cgi?id=200942

Cherry-pick a few CodeMirror changes:

[_javascript_ mode] Support numeric separators
https://github.com/codemirror/CodeMirror/commit/beab8ed123683416bfec934df73d13401ec086b5#diff-9812850bb71d31e8dd60b476abb2bae8

[_javascript_ mode] fix tokenizing of underscore properties
https://github.com/codemirror/CodeMirror/commit/463ea2c34ab442c0cae1d9732305219ca9b04dfe#diff-9812850bb71d31e8dd60b476abb2bae8

Reviewed by Timothy Hatcher.

* UserInterface/External/CodeMirror/_javascript_.js:

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/_javascript_.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (248921 => 248922)

--- trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 23:13:17 UTC (rev 248921)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 23:44:39 UTC (rev 248922)
@@ -1,3 +1,20 @@
+2019-08-20  Joseph Pecoraro  
+
+Web Inspector: Update CodeMirror to support numeric separators in _javascript_ numbers
+https://bugs.webkit.org/show_bug.cgi?id=200942
+
+Cherry-pick a few CodeMirror changes:
+
+[_javascript_ mode] Support numeric separators
+https://github.com/codemirror/CodeMirror/commit/beab8ed123683416bfec934df73d13401ec086b5#diff-9812850bb71d31e8dd60b476abb2bae8
+
+[_javascript_ mode] fix tokenizing of underscore properties
+https://github.com/codemirror/CodeMirror/commit/463ea2c34ab442c0cae1d9732305219ca9b04dfe#diff-9812850bb71d31e8dd60b476abb2bae8
+
+Reviewed by Timothy Hatcher.
+
+* UserInterface/External/CodeMirror/_javascript_.js:
+
 2019-08-20  Devin Rousso  
 
 Web Inspector: Sources: move the resource type scope bar to be next to the filter


Modified: trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/_javascript_.js (248921 => 248922)

--- trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/_javascript_.js	2019-08-20 23:13:17 UTC (rev 248921)
+++ trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/_javascript_.js	2019-08-20 23:44:39 UTC (rev 248922)
@@ -104,7 +104,7 @@
 if (ch == '"' || ch == "'") {
   state.tokenize = tokenString(ch);
   return state.tokenize(stream, state);
-} else if (ch == "." && stream.match(/^\d+(?:[eE][+\-]?\d+)?/)) {
+} else if (ch == "." && stream.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/)) {
   return ret("number", "number");
 } else if (ch == "." && stream.match("..")) {
   return ret("spread", "meta");
@@ -112,10 +112,10 @@
   return ret(ch);
 } else if (ch == "=" && stream.eat(">")) {
   return ret("=>", "operator");
-} else if (ch == "0" && stream.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i)) {
+} else if (ch == "0" && stream.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {
   return ret("number", "number");
 } else if (/\d/.test(ch)) {
-  stream.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/);
+  stream.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/);
   return ret("number", "number");
 } else if (ch == "/") {
   if (stream.eat("*")) {






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


[webkit-changes] [248921] releases/WebKitGTK/webkit-2.24

2019-08-20 Thread aperez
Title: [248921] releases/WebKitGTK/webkit-2.24








Revision 248921
Author ape...@igalia.com
Date 2019-08-20 16:13:17 -0700 (Tue, 20 Aug 2019)


Log Message
Merged r248410 - Do not allow navigations of frames about to get replaced by the result of evaluating _javascript_: URLs
 and https://bugs.webkit.org/show_bug.cgi?id=198786

Reviewed by Geoff Garen.

Source/WebCore:

Covered by API Test

Add a "willReplaceWithResultOfExecutingJavascriptURL" flag which is respected inside FrameLoader::isNavigationAllowed

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/js/ScriptController.h:
(WebCore::ScriptController::willReplaceWithResultOfExecutingJavascriptURL const):

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::isNavigationAllowed const):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/_javascript_URLNavigation.mm: Added.

Modified Paths

releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.cpp
releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.h
releases/WebKitGTK/webkit-2.24/Source/WebCore/loader/FrameLoader.cpp
releases/WebKitGTK/webkit-2.24/Tools/ChangeLog
releases/WebKitGTK/webkit-2.24/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj


Added Paths

releases/WebKitGTK/webkit-2.24/Tools/TestWebKitAPI/Tests/mac/_javascript_URLNavigation.mm




Diff

Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog (248920 => 248921)

--- releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog	2019-08-20 23:11:41 UTC (rev 248920)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog	2019-08-20 23:13:17 UTC (rev 248921)
@@ -1,3 +1,22 @@
+2019-08-08  Brady Eidson  
+
+Do not allow navigations of frames about to get replaced by the result of evaluating _javascript_: URLs
+ and https://bugs.webkit.org/show_bug.cgi?id=198786
+
+Reviewed by Geoff Garen.
+
+Covered by API Test
+
+Add a "willReplaceWithResultOfExecutingJavascriptURL" flag which is respected inside FrameLoader::isNavigationAllowed
+
+* bindings/js/ScriptController.cpp:
+(WebCore::ScriptController::executeIfJavaScriptURL):
+* bindings/js/ScriptController.h:
+(WebCore::ScriptController::willReplaceWithResultOfExecutingJavascriptURL const):
+
+* loader/FrameLoader.cpp:
+(WebCore::FrameLoader::isNavigationAllowed const):
+
 2019-08-08  Charlie Turner  
 
 [GTK] WebKitWebProcess crashes when viewing an HTML with a  element referencing unknown file


Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.cpp (248920 => 248921)

--- releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.cpp	2019-08-20 23:11:41 UTC (rev 248920)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.cpp	2019-08-20 23:13:17 UTC (rev 248921)
@@ -622,8 +622,14 @@
 if (shouldReplaceDocumentIfJavaScriptURL == ReplaceDocumentIfJavaScriptURL) {
 // We're still in a frame, so there should be a DocumentLoader.
 ASSERT(m_frame.document()->loader());
-
-// DocumentWriter::replaceDocument can cause the DocumentLoader to get deref'ed and possible destroyed,
+
+// Signal to FrameLoader to disable navigations within this frame while replacing it with the result of executing _javascript_
+// FIXME: https://bugs.webkit.org/show_bug.cgi?id=200523
+// The only reason we do a nestable save/restore of this flag here is because we sometimes nest _javascript_: url loads as
+// some will load synchronously. We'd like to remove those synchronous loads and then change this.
+SetForScope willBeReplaced(m_willReplaceWithResultOfExecutingJavascriptURL, true);
+
+// DocumentWriter::replaceDocumentWithResultOfExecutingJavascriptURL can cause the DocumentLoader to get deref'ed and possible destroyed,
 // so protect it with a RefPtr.
 if (RefPtr loader = m_frame.document()->loader())
 loader->writer().replaceDocumentWithResultOfExecutingJavascriptURL(scriptResult, ownerDocument.get());


Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.h (248920 => 248921)

--- releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.h	2019-08-20 23:11:41 UTC (rev 248920)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/bindings/js/ScriptController.h	2019-08-20 23:13:17 UTC (rev 248921)
@@ -159,6 +159,8 @@
 
 void initScriptForWindowProxy(JSWindowProxy&);
 
+bool willReplaceWithResultOfExecutingJavascriptURL() const { return m_willReplaceWithResultOfExecutingJavascriptURL; }
+
 private:
 void setupModuleScriptHandlers(LoadableModuleScript&, JSC::JSInternalPromise&, DOMWrapperWorld&);
 
@@ -171,6 +173,7 @@
 const String* m_sourceURL;
 
 bool m_paused;
+bool 

[webkit-changes] [248920] trunk

2019-08-20 Thread sbarati
Title: [248920] trunk








Revision 248920
Author sbar...@apple.com
Date 2019-08-20 16:11:41 -0700 (Tue, 20 Aug 2019)


Log Message
[WHLSL] We need to null check when emitting native code for operator&.
https://bugs.webkit.org/show_bug.cgi?id=200846

Reviewed by Myles C. Maxfield.

Source/WebCore:

Test: webgpu/whlsl/structure-field-access-on-null.html

* Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
(WebCore::WHLSL::Metal::inlineNativeFunction):

LayoutTests:

* webgpu/whlsl/structure-field-access-on-null-expected.txt: Added.
* webgpu/whlsl/structure-field-access-on-null.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp


Added Paths

trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null-expected.txt
trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null.html




Diff

Modified: trunk/LayoutTests/ChangeLog (248919 => 248920)

--- trunk/LayoutTests/ChangeLog	2019-08-20 22:35:28 UTC (rev 248919)
+++ trunk/LayoutTests/ChangeLog	2019-08-20 23:11:41 UTC (rev 248920)
@@ -1,3 +1,13 @@
+2019-08-20  Saam Barati  
+
+[WHLSL] We need to null check when emitting native code for operator&.
+https://bugs.webkit.org/show_bug.cgi?id=200846
+
+Reviewed by Myles C. Maxfield.
+
+* webgpu/whlsl/structure-field-access-on-null-expected.txt: Added.
+* webgpu/whlsl/structure-field-access-on-null.html: Added.
+
 2019-08-20  Russell Epstein  
 
 Updating Expectations for Multiple Newly Passing Tests.


Added: trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null-expected.txt (0 => 248920)

--- trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null-expected.txt	(rev 0)
+++ trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null-expected.txt	2019-08-20 23:11:41 UTC (rev 248920)
@@ -0,0 +1,3 @@
+
+PASS fieldShouldBeNull 
+


Added: trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null.html (0 => 248920)

--- trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null.html	(rev 0)
+++ trunk/LayoutTests/webgpu/whlsl/structure-field-access-on-null.html	2019-08-20 23:11:41 UTC (rev 248920)
@@ -0,0 +1,37 @@
+
+
+
+
+field ander on nullptr should return null.
+
+const whlslTests = {};
+
+whlslTests.fieldShouldBeNull = async () => {
+const program = `
+struct Foo {
+int x;
+int y;
+int z;
+}
+bool foo(uint i) {
+Foo[10] foos;
+thread Foo* foo = &foos[i];
+thread int* ptr = &(foo->z);
+return ptr == null && foo == null;
+}
+`;
+
+for (let i = 0; i < 10; ++i)
+assert_equals(await callBoolFunction(program,  "foo", [makeUint(i)]), false);
+assert_equals(await callBoolFunction(program,  "foo", [makeUint(10)]), true);
+assert_equals(await callBoolFunction(program,  "foo", [makeUint(100)]), true);
+assert_equals(await callBoolFunction(program,  "foo", [makeUint(0x)]), true);
+};
+
+runTests(whlslTests);
+
+


Modified: trunk/Source/WebCore/ChangeLog (248919 => 248920)

--- trunk/Source/WebCore/ChangeLog	2019-08-20 22:35:28 UTC (rev 248919)
+++ trunk/Source/WebCore/ChangeLog	2019-08-20 23:11:41 UTC (rev 248920)
@@ -1,3 +1,15 @@
+2019-08-20  Saam Barati  
+
+[WHLSL] We need to null check when emitting native code for operator&.
+https://bugs.webkit.org/show_bug.cgi?id=200846
+
+Reviewed by Myles C. Maxfield.
+
+Test: webgpu/whlsl/structure-field-access-on-null.html
+
+* Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
+(WebCore::WHLSL::Metal::inlineNativeFunction):
+
 2019-08-20  Justin Fan  
 
 Unreviewed comment follow-up for https://bugs.webkit.org/show_bug.cgi?id=200752.


Modified: trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp (248919 => 248920)

--- trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp	2019-08-20 22:35:28 UTC (rev 248919)
+++ trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp	2019-08-20 23:11:41 UTC (rev 248920)
@@ -282,7 +282,7 @@
 auto fieldName = nativeFunctionDeclaration.name().substring("operator&."_str.length());
 
 stringBuilder.append(
-indent, returnName, " = &(", args[0], "->");
+indent, returnName, " = ", args[0], " ? &(", args[0], "->");
 
 auto& unnamedType = *nativeFunctionDeclaration.parameters()[0]->type();
 auto& unifyNode = downcast(unnamedType).elementType().unifyNode();
@@ -295,7 +295,7 @@
 } else
 stringBuilder.append(fieldName);
 
-stringBuilder.append(");\n");
+stringBuilder.append(") : nullptr;\n");
 
 return;
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org

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

2019-08-20 Thread justin_michaud
Title: [248919] trunk/Source/_javascript_Core








Revision 248919
Author justin_mich...@apple.com
Date 2019-08-20 15:35:28 -0700 (Tue, 20 Aug 2019)


Log Message
[WASM-References] Enable by default
https://bugs.webkit.org/show_bug.cgi?id=200931

Reviewed by Saam Barati.

* runtime/Options.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/Options.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (248918 => 248919)

--- trunk/Source/_javascript_Core/ChangeLog	2019-08-20 22:18:23 UTC (rev 248918)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-08-20 22:35:28 UTC (rev 248919)
@@ -1,3 +1,12 @@
+2019-08-20  Justin Michaud  
+
+[WASM-References] Enable by default
+https://bugs.webkit.org/show_bug.cgi?id=200931
+
+Reviewed by Saam Barati.
+
+* runtime/Options.h:
+
 2019-08-20  Yusuke Suzuki  
 
 [JSC] Array.prototype.toString should not get "join" function each time


Modified: trunk/Source/_javascript_Core/runtime/Options.h (248918 => 248919)

--- trunk/Source/_javascript_Core/runtime/Options.h	2019-08-20 22:18:23 UTC (rev 248918)
+++ trunk/Source/_javascript_Core/runtime/Options.h	2019-08-20 22:35:28 UTC (rev 248919)
@@ -498,7 +498,7 @@
 v(bool, useWebAssemblyStreamingApi, enableWebAssemblyStreamingApi, Normal, "Allow to run WebAssembly's Streaming API") \
 v(bool, useCallICsForWebAssemblyToJSCalls, true, Normal, "If true, we will use CallLinkInfo to inline cache Wasm to JS calls.") \
 v(bool, useEagerWebAssemblyModuleHashing, false, Normal, "Unnamed WebAssembly modules are identified in backtraces through their hash, if available.") \
-v(bool, useWebAssemblyReferences, false, Normal, "Allow types from the wasm references spec.") \
+v(bool, useWebAssemblyReferences, true, Normal, "Allow types from the wasm references spec.") \
 v(bool, useWeakRefs, false, Normal, "Expose the WeakRef constructor.") \
 v(bool, useBigInt, false, Normal, "If true, we will enable BigInt support.") \
 v(bool, useNullishAwareOperators, false, Normal, "Enable support for ?. and ?? operators.") \






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


[webkit-changes] [248918] trunk/Source

2019-08-20 Thread cdumez
Title: [248918] trunk/Source








Revision 248918
Author cdu...@apple.com
Date 2019-08-20 15:18:23 -0700 (Tue, 20 Aug 2019)


Log Message
WebSQLiteDatabaseTracker does not ensure it is still alive after dispatching to the main thread
https://bugs.webkit.org/show_bug.cgi?id=200925

Reviewed by Geoffrey Garen.

WebSQLiteDatabaseTracker does not ensure it is still alive after dispatching to the main thread,
which is not safe. Use WeakPtr to address the issue.

* Shared/WebSQLiteDatabaseTracker.cpp:
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction):
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):
* Shared/WebSQLiteDatabaseTracker.h:

Modified Paths

trunk/Source/WTF/wtf/WeakPtr.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp
trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.h




Diff

Modified: trunk/Source/WTF/wtf/WeakPtr.h (248917 => 248918)

--- trunk/Source/WTF/wtf/WeakPtr.h	2019-08-20 21:33:06 UTC (rev 248917)
+++ trunk/Source/WTF/wtf/WeakPtr.h	2019-08-20 22:18:23 UTC (rev 248918)
@@ -154,12 +154,19 @@
 m_impl->clear();
 }
 
-WeakPtr createWeakPtr(T& object) const
+void initializeIfNeeded(const T& object) const
 {
+if (m_impl)
+return;
+
 ASSERT(m_wasConstructedOnMainThread == isMainThread());
-if (!m_impl)
-m_impl = WeakPtrImpl::create();
+m_impl = WeakPtrImpl::create(const_cast());
+}
 
+WeakPtr createWeakPtr(T& object) const
+{
+initializeIfNeeded(object);
+
 ASSERT( == m_impl->get());
 return WeakPtr(makeRef(*m_impl));
 }
@@ -166,9 +173,7 @@
 
 WeakPtr createWeakPtr(const T& object) const
 {
-ASSERT(m_wasConstructedOnMainThread == isMainThread());
-if (!m_impl)
-m_impl = WeakPtrImpl::create(const_cast());
+initializeIfNeeded(object);
 
 ASSERT( == m_impl->get());
 return WeakPtr(makeRef(*m_impl));
@@ -192,13 +197,24 @@
 #endif
 };
 
-template class CanMakeWeakPtr {
+// We use lazy initialization of the WeakPtrFactory by default to avoid unnecessary initialization. Eager
+// initialization is however useful if you plan to call makeWeakPtr() from other threads.
+enum class WeakPtrFactoryInitialization { Lazy, Eager };
+
+template class CanMakeWeakPtr {
 public:
-typedef T WeakValueType;
+using WeakValueType = T;
 
 const WeakPtrFactory& weakPtrFactory() const { return m_weakPtrFactory; }
 WeakPtrFactory& weakPtrFactory() { return m_weakPtrFactory; }
 
+protected:
+CanMakeWeakPtr()
+{
+if (initializationMode == WeakPtrFactoryInitialization::Eager)
+m_weakPtrFactory.initializeIfNeeded(static_cast(*this));
+}
+
 private:
 WeakPtrFactory m_weakPtrFactory;
 };
@@ -278,4 +294,5 @@
 using WTF::CanMakeWeakPtr;
 using WTF::WeakPtr;
 using WTF::WeakPtrFactory;
+using WTF::WeakPtrFactoryInitialization;
 using WTF::makeWeakPtr;


Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h (248917 => 248918)

--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h	2019-08-20 21:33:06 UTC (rev 248917)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h	2019-08-20 22:18:23 UTC (rev 248918)
@@ -40,7 +40,7 @@
 
 class CDMPrivateMediaSourceAVFObjC;
 
-class CDMSessionAVStreamSession : public CDMSessionMediaSourceAVFObjC, public CanMakeWeakPtr {
+class CDMSessionAVStreamSession : public CDMSessionMediaSourceAVFObjC {
 WTF_MAKE_FAST_ALLOCATED;
 public:
 CDMSessionAVStreamSession(Vector&& protocolVersions, CDMPrivateMediaSourceAVFObjC&, LegacyCDMSessionClient*);


Modified: trunk/Source/WebKit/ChangeLog (248917 => 248918)

--- trunk/Source/WebKit/ChangeLog	2019-08-20 21:33:06 UTC (rev 248917)
+++ trunk/Source/WebKit/ChangeLog	2019-08-20 22:18:23 UTC (rev 248918)
@@ -1,3 +1,19 @@
+2019-08-20  Chris Dumez  
+
+WebSQLiteDatabaseTracker does not ensure it is still alive after dispatching to the main thread
+https://bugs.webkit.org/show_bug.cgi?id=200925
+
+Reviewed by Geoffrey Garen.
+
+WebSQLiteDatabaseTracker does not ensure it is still alive after dispatching to the main thread,
+which is not safe. Use WeakPtr to address the issue.
+
+* Shared/WebSQLiteDatabaseTracker.cpp:
+(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
+(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction):
+(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):
+* Shared/WebSQLiteDatabaseTracker.h:
+
 2019-08-20  Brent Fulgham  
 
 [FTW] Fix scrolling in modern WebKit views


Modified: trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp (248917 => 248918)

--- 

[webkit-changes] [248917] trunk/LayoutTests

2019-08-20 Thread russell_e
Title: [248917] trunk/LayoutTests








Revision 248917
Author russel...@apple.com
Date 2019-08-20 14:33:06 -0700 (Tue, 20 Aug 2019)


Log Message
Updating Expectations for Multiple Newly Passing Tests.

Unreviewed Test Gardening.

* platform/ios-12/TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/ios/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/TestExpectations
trunk/LayoutTests/platform/ios-12/TestExpectations
trunk/LayoutTests/platform/ios-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (248916 => 248917)

--- trunk/LayoutTests/ChangeLog	2019-08-20 21:11:11 UTC (rev 248916)
+++ trunk/LayoutTests/ChangeLog	2019-08-20 21:33:06 UTC (rev 248917)
@@ -1,3 +1,13 @@
+2019-08-20  Russell Epstein  
+
+Updating Expectations for Multiple Newly Passing Tests.
+
+Unreviewed Test Gardening.
+
+* platform/ios-12/TestExpectations:
+* platform/ios-wk1/TestExpectations:
+* platform/ios/TestExpectations:
+
 2019-08-16  Ryosuke Niwa  
 
 The default tab index of output and fieldset should be -1


Modified: trunk/LayoutTests/platform/ios/TestExpectations (248916 => 248917)

--- trunk/LayoutTests/platform/ios/TestExpectations	2019-08-20 21:11:11 UTC (rev 248916)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2019-08-20 21:33:06 UTC (rev 248917)
@@ -3358,9 +3358,6 @@
 http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html [ Pass Timeout ]
 http/tests/misc/iframe-beforeunload-dialog-block-modals.html [ Pass Timeout ]
 
-# rdar://54049321 (REGRESSION: editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html Failing)
-editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html [ Failure ]
-
 # Skip until we have the fixes for  and .
 fast/events/ios/multiple-key-press-and-release-ordering.html [ Skip ]
 


Modified: trunk/LayoutTests/platform/ios-12/TestExpectations (248916 => 248917)

--- trunk/LayoutTests/platform/ios-12/TestExpectations	2019-08-20 21:11:11 UTC (rev 248916)
+++ trunk/LayoutTests/platform/ios-12/TestExpectations	2019-08-20 21:33:06 UTC (rev 248917)
@@ -25,6 +25,3 @@
 http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html [ Pass ]
 http/tests/misc/iframe-beforeunload-dialog-block-modals.html [ Pass ]
 
-# rdar://54049321 (REGRESSION: editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html Failing)
-editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html [ Pass ]
-


Modified: trunk/LayoutTests/platform/ios-wk1/TestExpectations (248916 => 248917)

--- trunk/LayoutTests/platform/ios-wk1/TestExpectations	2019-08-20 21:11:11 UTC (rev 248916)
+++ trunk/LayoutTests/platform/ios-wk1/TestExpectations	2019-08-20 21:33:06 UTC (rev 248917)
@@ -1609,7 +1609,6 @@
 fast/forms/input-text-option-delete.html [ Failure Pass ]
 fast/forms/number/number-input-changeevent.html [ Failure Pass ]
 fast/forms/onchange-enter-submit.html [ Failure Pass ]
-fast/forms/plaintext-mode-2.html [ Failure Pass ]
 fast/forms/textinput-not-fired-on-enter-in-input.html [ Failure Pass ]
 fast/history/history-length.html [ Crash Pass ]
 fast/history/page-cache-geolocation-active-oneshot.html [ Failure Pass ]






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


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

2019-08-20 Thread drousso
Title: [248916] trunk/Source/WebInspectorUI








Revision 248916
Author drou...@apple.com
Date 2019-08-20 14:11:11 -0700 (Tue, 20 Aug 2019)


Log Message
Web Inspector: Sources: move the resource type scope bar to be next to the filter
https://bugs.webkit.org/show_bug.cgi?id=200891

Reviewed by Joseph Pecoraro.

It's odd to have UI for controlling the active filters in two different places. Move the
resource type `WI.ScopeBar` to the filter bar area, and "promote" the resource grouping mode
items from a context menu to an always visible `WI.ScopeBar` in the space left by the
resource type `WI.ScopeBar` (switching between grouping modes quickly is a useful workflow).

* UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype.hasCustomFilters):
(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeScopeBarSelectionChanged): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
(WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu.addOption): Deleted.
(WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu): Deleted.
* UserInterface/Views/SourcesNavigationSidebarPanel.css:
(.sidebar > .panel.navigation.sources > .filter-bar .sources-resource-type-scope-bar.default-item-selected:not(:hover)): Added.
(.sidebar > .panel.navigation.sources > .filter-bar .sources-resource-type-scope-bar.default-item-selected:hover): Added.

* UserInterface/Views/FilterBar.js:
(WI.FilterBar.prototype.addFilterNavigationItem): Added.
(WI.FilterBar.prototype.addFilterBarButton):
* UserInterface/Views/FilterBar.css:
(.filter-bar > .navigation-bar > .item):
(.filter-bar > .navigation-bar > .item.button): Added.
(.filter-bar > .navigation-bar > .item.scope-bar): Added.
(.filter-bar > input[type="search"] + .navigation-bar > .item.scope-bar:last-child): Added.
Provide a way to add arbitrary `WI.NavigationItem` to the contained `WI.NavigationBar`.
Slightly adjust the spacing of the items (depending on their type) in the `WI.NavigationBar`
so they are all centered.

* UserInterface/Views/ScopeBar.css:
(.scope-bar):
(.scope-bar > li):
(.scope-bar > li::after):
(.scope-bar > li:not(.selected):hover): Added.
(body[dir=ltr] .scope-bar > li.multiple > select):
(body[dir=rtl] .scope-bar > li.multiple > select):
(.scope-bar > li:not(.selected):hover::after): Added.
Introduce CSS variables for `margin`, `padding`, and `opacity` that callers can override to
customize the appearance of the `WI.ScopeBar`.

* Localizations/en.lproj/localizedStrings.js:

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
trunk/Source/WebInspectorUI/UserInterface/Views/FilterBar.css
trunk/Source/WebInspectorUI/UserInterface/Views/FilterBar.js
trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBar.css
trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.css
trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (248915 => 248916)

--- trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 20:40:32 UTC (rev 248915)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 21:11:11 UTC (rev 248916)
@@ -1,3 +1,51 @@
+2019-08-20  Devin Rousso  
+
+Web Inspector: Sources: move the resource type scope bar to be next to the filter
+https://bugs.webkit.org/show_bug.cgi?id=200891
+
+Reviewed by Joseph Pecoraro.
+
+It's odd to have UI for controlling the active filters in two different places. Move the
+resource type `WI.ScopeBar` to the filter bar area, and "promote" the resource grouping mode
+items from a context menu to an always visible `WI.ScopeBar` in the space left by the
+resource type `WI.ScopeBar` (switching between grouping modes quickly is a useful workflow).
+
+* UserInterface/Views/SourcesNavigationSidebarPanel.js:
+(WI.SourcesNavigationSidebarPanel):
+(WI.SourcesNavigationSidebarPanel.prototype.hasCustomFilters):
+(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeScopeBarSelectionChanged): Added.
+(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
+(WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu.addOption): Deleted.
+(WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu): Deleted.
+* UserInterface/Views/SourcesNavigationSidebarPanel.css:
+(.sidebar > .panel.navigation.sources > .filter-bar .sources-resource-type-scope-bar.default-item-selected:not(:hover)): Added.
+(.sidebar > .panel.navigation.sources > .filter-bar .sources-resource-type-scope-bar.default-item-selected:hover): Added.
+
+* UserInterface/Views/FilterBar.js:
+

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

2019-08-20 Thread justin_fan
Title: [248915] trunk/Source/WebCore








Revision 248915
Author justin_...@apple.com
Date 2019-08-20 13:40:32 -0700 (Tue, 20 Aug 2019)


Log Message
Unreviewed comment follow-up for https://bugs.webkit.org/show_bug.cgi?id=200752.

* html/canvas/GPUBasedCanvasRenderingContext.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (248914 => 248915)

--- trunk/Source/WebCore/ChangeLog	2019-08-20 19:59:00 UTC (rev 248914)
+++ trunk/Source/WebCore/ChangeLog	2019-08-20 20:40:32 UTC (rev 248915)
@@ -1,3 +1,9 @@
+2019-08-20  Justin Fan  
+
+Unreviewed comment follow-up for https://bugs.webkit.org/show_bug.cgi?id=200752.
+
+* html/canvas/GPUBasedCanvasRenderingContext.h:
+
 2019-08-16  Ryosuke Niwa  
 
 The default tab index of output and fieldset should be -1


Modified: trunk/Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h (248914 => 248915)

--- trunk/Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h	2019-08-20 19:59:00 UTC (rev 248914)
+++ trunk/Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h	2019-08-20 20:40:32 UTC (rev 248915)
@@ -53,7 +53,7 @@
 virtual void markLayerComposited() = 0;
 
 protected:
-GPUBasedCanvasRenderingContext(CanvasBase&);
+explicit GPUBasedCanvasRenderingContext(CanvasBase&);
 
 HTMLCanvasElement* htmlCanvas() const;
 void notifyCanvasContentChanged();






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


[webkit-changes] [248914] trunk

2019-08-20 Thread rniwa
Title: [248914] trunk








Revision 248914
Author rn...@webkit.org
Date 2019-08-20 12:59:00 -0700 (Tue, 20 Aug 2019)


Log Message
The default tab index of output and fieldset should be -1
https://bugs.webkit.org/show_bug.cgi?id=200834

Reviewed by Alex Christensen.

Source/WebCore:

This patch updates the default tab index of output and fieldset to -1 to match the behavior of
Chrome and Firefox as well as the latest HTML specification:
https://html.spec.whatwg.org/multipage/interaction.html#the-tabindex-attribute

To do that, this patch replaces HTMLFormControlElement::defaultTabIndex with defaultTabIndex
implementation in each one of its concrete subclass such as HTMLButtonElement to mirror
the language of the specification as follows:

HTMLFormControlElement
HTMLButtonElement -> 0
HTMLFieldSetElement -> -1
HTMLFormControlElementWithState
HTMLKeygenElement -> 0 - Not specified anywhere but preserving the existing behavior.
HTMLSelectElement -> 0
HTMLTextFormControlElement
HTMLInputElement -> 0
HTMLTextAreaElement -> 0
HTMLOutputElement -> -1 

Even though Element::shouldBeIgnoredInSequentialFocusNavigation() checks the value of
defaultTabIndex, this patch does not affect the actual sequential (tab) focus navigation:
Beacuse HTMLOutputElement and HTMLFieldSetElement have supportsFocus overrides to call
HTMLElement::supportsFocus instead of HTMLFormControlElement::supportsFocus, these two
elements are focusable only when tabindex is set or it's a root content editable element.
But all root editable elements are focusable anyway and the default tab index does not
matter when tabindex is set.

Test: fast/dom/tabindex-defaults.html

* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultTabIndex const): Added.
* html/HTMLButtonElement.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::defaultTabIndex const): Deleted.
* html/HTMLFormControlElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultTabIndex const): Added.
* html/HTMLKeygenElement.h:
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::defaultTabIndex const): Added.
* html/HTMLKeygenElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::defaultTabIndex const): Added.
* html/HTMLSelectElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultTabIndex const): Added.
* html/HTMLTextAreaElement.h:

LayoutTests:

Added test cases for output, fieldset, and keygen.

* fast/dom/tabindex-defaults-expected.txt:
* fast/dom/tabindex-defaults.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/tabindex-defaults-expected.txt
trunk/LayoutTests/fast/dom/tabindex-defaults.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLButtonElement.cpp
trunk/Source/WebCore/html/HTMLButtonElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.cpp
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/html/HTMLInputElement.cpp
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/html/HTMLKeygenElement.cpp
trunk/Source/WebCore/html/HTMLKeygenElement.h
trunk/Source/WebCore/html/HTMLSelectElement.cpp
trunk/Source/WebCore/html/HTMLSelectElement.h
trunk/Source/WebCore/html/HTMLTextAreaElement.cpp
trunk/Source/WebCore/html/HTMLTextAreaElement.h




Diff

Modified: trunk/LayoutTests/ChangeLog (248913 => 248914)

--- trunk/LayoutTests/ChangeLog	2019-08-20 19:45:43 UTC (rev 248913)
+++ trunk/LayoutTests/ChangeLog	2019-08-20 19:59:00 UTC (rev 248914)
@@ -1,3 +1,15 @@
+2019-08-16  Ryosuke Niwa  
+
+The default tab index of output and fieldset should be -1
+https://bugs.webkit.org/show_bug.cgi?id=200834
+
+Reviewed by Alex Christensen.
+
+Added test cases for output, fieldset, and keygen.
+
+* fast/dom/tabindex-defaults-expected.txt:
+* fast/dom/tabindex-defaults.html:
+
 2019-08-20  Zalan Bujtas  
 
 [ContentChangeObserver] isConsideredClickable should be able to process elements with no renderers


Modified: trunk/LayoutTests/fast/dom/tabindex-defaults-expected.txt (248913 => 248914)

--- trunk/LayoutTests/fast/dom/tabindex-defaults-expected.txt	2019-08-20 19:45:43 UTC (rev 248913)
+++ trunk/LayoutTests/fast/dom/tabindex-defaults-expected.txt	2019-08-20 19:59:00 UTC (rev 248914)
@@ -8,22 +8,31 @@
 PASS input.tabIndex is 0
 PASS select.tabIndex is 0
 PASS textarea.tabIndex is 0
+PASS keygen.tabIndex is 0
 PASS editableDiv.tabIndex is 0
 PASS normalDiv.tabIndex is -1
+PASS output.tabIndex is -1
+PASS fieldset.tabIndex is -1
 PASS anchor.setAttribute("tabindex", "invalid"); anchor.tabIndex is 0
 PASS button.setAttribute("tabindex", "invalid"); button.tabIndex is 0
 PASS input.setAttribute("tabindex", "invalid"); input.tabIndex is 0
 PASS select.setAttribute("tabindex", 

[webkit-changes] [248913] trunk/Source/WTF

2019-08-20 Thread sbarati
Title: [248913] trunk/Source/WTF








Revision 248913
Author sbar...@apple.com
Date 2019-08-20 12:45:43 -0700 (Tue, 20 Aug 2019)


Log Message
Unreviewed. Followup to r248903. It's not valid to remove
hasOverflowed() checks from appendCharacters.

* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::appendCharacters):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/text/StringBuilder.cpp




Diff

Modified: trunk/Source/WTF/ChangeLog (248912 => 248913)

--- trunk/Source/WTF/ChangeLog	2019-08-20 19:17:59 UTC (rev 248912)
+++ trunk/Source/WTF/ChangeLog	2019-08-20 19:45:43 UTC (rev 248913)
@@ -1,3 +1,11 @@
+2019-08-20  Saam Barati  
+
+Unreviewed. Followup to r248903. It's not valid to remove
+hasOverflowed() checks from appendCharacters.
+
+* wtf/text/StringBuilder.cpp:
+(WTF::StringBuilder::appendCharacters):
+
 2019-08-20  Darin Adler  
 
 Variadic StringBuilder::append does not handle upconverting from 8-bit to 16-bit correctly


Modified: trunk/Source/WTF/wtf/text/StringBuilder.cpp (248912 => 248913)

--- trunk/Source/WTF/wtf/text/StringBuilder.cpp	2019-08-20 19:17:59 UTC (rev 248912)
+++ trunk/Source/WTF/wtf/text/StringBuilder.cpp	2019-08-20 19:45:43 UTC (rev 248913)
@@ -325,7 +325,7 @@
 
 void StringBuilder::appendCharacters(const UChar* characters, unsigned length)
 {
-if (!length)
+if (!length || hasOverflowed())
 return;
 
 ASSERT(characters);
@@ -347,7 +347,7 @@
 
 void StringBuilder::appendCharacters(const LChar* characters, unsigned length)
 {
-if (!length)
+if (!length || hasOverflowed())
 return;
 
 ASSERT(characters);






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


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

2019-08-20 Thread pecoraro
Title: [248912] trunk/Source/WebInspectorUI








Revision 248912
Author pecor...@apple.com
Date 2019-08-20 12:17:59 -0700 (Tue, 20 Aug 2019)


Log Message
Web Inspector: Sources: Give Origins their own icon in the Sources sidebar
https://bugs.webkit.org/show_bug.cgi?id=200683


Reviewed by Devin Rousso.

* UserInterface/Images/Origin.svg: Added.
* UserInterface/Main.html:
New resources.

* UserInterface/Views/FolderIcon.css:
(.origin-icon .icon):
Light and Dark appearances for Origin icons.

(@media (prefers-color-scheme: dark)):
* UserInterface/Views/OriginTreeElement.js:
(WI.OriginTreeElement):
Very much like a folder with different classes.

* UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
Use OriginTreeElement in a few places.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Main.html
trunk/Source/WebInspectorUI/UserInterface/Views/FolderIcon.css
trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js


Added Paths

trunk/Source/WebInspectorUI/UserInterface/Images/Origin.svg
trunk/Source/WebInspectorUI/UserInterface/Views/OriginTreeElement.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (248911 => 248912)

--- trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 18:58:12 UTC (rev 248911)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-08-20 19:17:59 UTC (rev 248912)
@@ -1,5 +1,33 @@
 2019-08-20  Joseph Pecoraro  
 
+Web Inspector: Sources: Give Origins their own icon in the Sources sidebar
+https://bugs.webkit.org/show_bug.cgi?id=200683
+
+
+Reviewed by Devin Rousso.
+
+* UserInterface/Images/Origin.svg: Added.
+* UserInterface/Main.html:
+New resources.
+
+* UserInterface/Views/FolderIcon.css:
+(.origin-icon .icon):
+Light and Dark appearances for Origin icons.
+
+(@media (prefers-color-scheme: dark)):
+* UserInterface/Views/OriginTreeElement.js:
+(WI.OriginTreeElement):
+Very much like a folder with different classes.
+
+* UserInterface/Views/SourcesNavigationSidebarPanel.js:
+(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
+(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
+(WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
+(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
+Use OriginTreeElement in a few places.
+
+2019-08-20  Joseph Pecoraro  
+
 Web Inspector: Support for _javascript_ BigInt
 https://bugs.webkit.org/show_bug.cgi?id=180731
 


Added: trunk/Source/WebInspectorUI/UserInterface/Images/Origin.svg (0 => 248912)

--- trunk/Source/WebInspectorUI/UserInterface/Images/Origin.svg	(rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Images/Origin.svg	2019-08-20 19:17:59 UTC (rev 248912)
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+


Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (248911 => 248912)

--- trunk/Source/WebInspectorUI/UserInterface/Main.html	2019-08-20 18:58:12 UTC (rev 248911)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html	2019-08-20 19:17:59 UTC (rev 248912)
@@ -737,6 +737,7 @@
 

[webkit-changes] [248911] trunk

2019-08-20 Thread zalan
Title: [248911] trunk








Revision 248911
Author za...@apple.com
Date 2019-08-20 11:58:12 -0700 (Tue, 20 Aug 2019)


Log Message
[ContentChangeObserver] isConsideredClickable should be able to process elements with no renderers
https://bugs.webkit.org/show_bug.cgi?id=200926


Reviewed by Simon Fraser.

Source/WebCore:

This patch fixes the crash when the visible->hidden change triggers an isConsideredClickable() call with a 'display: none' element.

Test: fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html

* page/ios/ContentChangeObserver.cpp:
(WebCore::isConsideredClickable):

LayoutTests:

* fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt: Added.
* fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/ios/ContentChangeObserver.cpp


Added Paths

trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt
trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (248910 => 248911)

--- trunk/LayoutTests/ChangeLog	2019-08-20 18:55:34 UTC (rev 248910)
+++ trunk/LayoutTests/ChangeLog	2019-08-20 18:58:12 UTC (rev 248911)
@@ -1,3 +1,14 @@
+2019-08-20  Zalan Bujtas  
+
+[ContentChangeObserver] isConsideredClickable should be able to process elements with no renderers
+https://bugs.webkit.org/show_bug.cgi?id=200926
+
+
+Reviewed by Simon Fraser.
+
+* fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt: Added.
+* fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html: Added.
+
 2019-08-20  Wenson Hsieh  
 
 Clicking the search icon on ae.com hangs the web content process


Added: trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt (0 => 248911)

--- trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash-expected.txt	2019-08-20 18:58:12 UTC (rev 248911)
@@ -0,0 +1,2 @@
+PASS if no crash and 'clicked' text is shown below.
+clicked


Added: trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html (0 => 248911)

--- trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/content-observation/going-from-hidden-to-visible-and-to-hidden-crash.html	2019-08-20 18:58:12 UTC (rev 248911)
@@ -0,0 +1,50 @@
+
+
+
+This tests the case when visible and non-clickable content gets removed.
+
+#tapThis {
+width: 400px;
+height: 400px;
+border: 1px solid green;
+}
+
+#alreadyVisible {
+display: block;
+width: 100px;
+height: 100px;
+background-color: green;
+}
+
+