Diff
Modified: trunk/Source/WebCore/ChangeLog (238048 => 238049)
--- trunk/Source/WebCore/ChangeLog 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/ChangeLog 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1,3 +1,34 @@
+2018-11-09 Antti Koivisto <[email protected]>
+
+ Use OptionSet for layout milestones
+ https://bugs.webkit.org/show_bug.cgi?id=191470
+
+ Reviewed by Dean Jackson.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/EmptyFrameLoaderClient.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didReachLayoutMilestone):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::addPaintPendingMilestones):
+ (WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):
+ (WebCore::FrameView::firePaintRelatedMilestonesIfNeeded):
+ * page/FrameView.h:
+ * page/LayoutMilestone.h: Copied from Source/WebCore/page/LayoutMilestones.h.
+
+ Renamed to appease WK2 IPC code generation.
+
+ * page/LayoutMilestones.h: Removed.
+ * page/Page.cpp:
+ (WebCore::Page::addLayoutMilestones):
+ (WebCore::Page::removeLayoutMilestones):
+ (WebCore::Page::isCountingRelevantRepaintedObjects const):
+ * page/Page.h:
+ (WebCore::Page::requestedLayoutMilestones const):
+
2018-11-09 Daniel Bates <[email protected]>
[iOS] Draw caps lock indicator in password fields
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (238048 => 238049)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-11-09 19:47:15 UTC (rev 238049)
@@ -2573,7 +2573,7 @@
931CBD0D161A44E900E4C874 /* ScrollingStateNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 931CBD07161A44E900E4C874 /* ScrollingStateNode.h */; settings = {ATTRIBUTES = (Private, ); }; };
931CBD0F161A44E900E4C874 /* ScrollingStateScrollingNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 931CBD09161A44E900E4C874 /* ScrollingStateScrollingNode.h */; settings = {ATTRIBUTES = (Private, ); }; };
931CBD11161A44E900E4C874 /* ScrollingStateTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 931CBD0B161A44E900E4C874 /* ScrollingStateTree.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 931D72F615FE695300C4C07E /* LayoutMilestones.h in Headers */ = {isa = PBXBuildFile; fileRef = 931D72F515FE695300C4C07E /* LayoutMilestones.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 931D72F615FE695300C4C07E /* LayoutMilestone.h in Headers */ = {isa = PBXBuildFile; fileRef = 931D72F515FE695300C4C07E /* LayoutMilestone.h */; settings = {ATTRIBUTES = (Private, ); }; };
932CC0B71DFFD158004C0F9F /* MediaTrackConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 932CC0B61DFFD158004C0F9F /* MediaTrackConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
932CC0D51DFFD667004C0F9F /* JSMediaTrackConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 932CC0D11DFFD667004C0F9F /* JSMediaTrackConstraints.h */; };
93309DD7099E64920056E581 /* AppendNodeCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 93309D88099E64910056E581 /* AppendNodeCommand.h */; };
@@ -10394,7 +10394,7 @@
931CBD09161A44E900E4C874 /* ScrollingStateScrollingNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingStateScrollingNode.h; sourceTree = "<group>"; };
931CBD0A161A44E900E4C874 /* ScrollingStateTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollingStateTree.cpp; sourceTree = "<group>"; };
931CBD0B161A44E900E4C874 /* ScrollingStateTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingStateTree.h; sourceTree = "<group>"; };
- 931D72F515FE695300C4C07E /* LayoutMilestones.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutMilestones.h; sourceTree = "<group>"; };
+ 931D72F515FE695300C4C07E /* LayoutMilestone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutMilestone.h; sourceTree = "<group>"; };
9327A94109968D1A0068A546 /* HTMLOptionsCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLOptionsCollection.cpp; sourceTree = "<group>"; };
932CC0B61DFFD158004C0F9F /* MediaTrackConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTrackConstraints.h; sourceTree = "<group>"; };
932CC0D01DFFD667004C0F9F /* JSMediaTrackConstraints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaTrackConstraints.cpp; sourceTree = "<group>"; };
@@ -19897,7 +19897,7 @@
0F4710D91DB6FE22002DCEC3 /* IntersectionObserverEntry.h */,
0F4710DA1DB6FE22002DCEC3 /* IntersectionObserverEntry.idl */,
E4916FF6195DF6A0005AB349 /* LayerFlushThrottleState.h */,
- 931D72F515FE695300C4C07E /* LayoutMilestones.h */,
+ 931D72F515FE695300C4C07E /* LayoutMilestone.h */,
BCE1C41A0D982980003B02F2 /* Location.cpp */,
BCE1C4190D982980003B02F2 /* Location.h */,
BCE1C4220D9829F2003B02F2 /* Location.idl */,
@@ -30007,7 +30007,7 @@
1199FA4F208E3899002358CC /* LayoutInlineContainer.h in Headers */,
11310CF420BA4A3D0065A8D0 /* LayoutIterator.h in Headers */,
6FE7CFA42177EF10005B1573 /* LayoutLineBreakBox.h in Headers */,
- 931D72F615FE695300C4C07E /* LayoutMilestones.h in Headers */,
+ 931D72F615FE695300C4C07E /* LayoutMilestone.h in Headers */,
141DC051164834B900371E5A /* LayoutPoint.h in Headers */,
141DC053164834B900371E5A /* LayoutRect.h in Headers */,
A12538D413F9B60A00024754 /* LayoutRepainter.h in Headers */,
Modified: trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h (238048 => 238049)
--- trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -88,7 +88,7 @@
void dispatchDidFailLoad(const ResourceError&) final { }
void dispatchDidFinishDocumentLoad() final { }
void dispatchDidFinishLoad() final { }
- void dispatchDidReachLayoutMilestone(LayoutMilestones) final { }
+ void dispatchDidReachLayoutMilestone(OptionSet<LayoutMilestone>) final { }
Frame* dispatchCreatePage(const NavigationAction&) final { return nullptr; }
void dispatchShow() final { }
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (238048 => 238049)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -2563,7 +2563,7 @@
addSameSiteInfoToRequestIfNeeded(request, initiator);
}
-void FrameLoader::didReachLayoutMilestone(LayoutMilestones milestones)
+void FrameLoader::didReachLayoutMilestone(OptionSet<LayoutMilestone> milestones)
{
ASSERT(m_frame.isMainFrame());
Modified: trunk/Source/WebCore/loader/FrameLoader.h (238048 => 238049)
--- trunk/Source/WebCore/loader/FrameLoader.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/loader/FrameLoader.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -34,7 +34,7 @@
#include "CachePolicy.h"
#include "FrameLoaderStateMachine.h"
#include "FrameLoaderTypes.h"
-#include "LayoutMilestones.h"
+#include "LayoutMilestone.h"
#include "MixedContentChecker.h"
#include "ReferrerPolicy.h"
#include "ResourceLoadNotifier.h"
@@ -203,7 +203,7 @@
CachePolicy subresourceCachePolicy(const URL&) const;
- void didReachLayoutMilestone(LayoutMilestones);
+ void didReachLayoutMilestone(OptionSet<LayoutMilestone>);
void didFirstLayout();
void loadedResourceFromMemoryCache(CachedResource&, ResourceRequest& newRequest, ResourceError&);
Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (238048 => 238049)
--- trunk/Source/WebCore/loader/FrameLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -30,7 +30,7 @@
#pragma once
#include "FrameLoaderTypes.h"
-#include "LayoutMilestones.h"
+#include "LayoutMilestone.h"
#include "LinkIcon.h"
#include <functional>
#include <wtf/Forward.h>
@@ -187,7 +187,7 @@
#endif
virtual void dispatchDidLayout() { }
- virtual void dispatchDidReachLayoutMilestone(LayoutMilestones) { }
+ virtual void dispatchDidReachLayoutMilestone(OptionSet<LayoutMilestone>) { }
virtual Frame* dispatchCreatePage(const NavigationAction&) = 0;
virtual void dispatchShow() = 0;
Modified: trunk/Source/WebCore/page/FrameView.cpp (238048 => 238049)
--- trunk/Source/WebCore/page/FrameView.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/page/FrameView.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -207,7 +207,6 @@
, m_autoSizeFixedMinimumHeight(0)
, m_headerHeight(0)
, m_footerHeight(0)
- , m_milestonesPendingPaint(0)
, m_visualUpdatesAllowedByClient(true)
, m_hasFlippedBlockRenderers(false)
, m_scrollPinningBehavior(DoNotPin)
@@ -5019,15 +5018,15 @@
}
}
-void FrameView::addPaintPendingMilestones(LayoutMilestones milestones)
+void FrameView::addPaintPendingMilestones(OptionSet<LayoutMilestone> milestones)
{
- m_milestonesPendingPaint |= milestones;
+ m_milestonesPendingPaint.add(milestones);
}
void FrameView::fireLayoutRelatedMilestonesIfNeeded()
{
- LayoutMilestones requestedMilestones = 0;
- LayoutMilestones milestonesAchieved = 0;
+ OptionSet<LayoutMilestone> requestedMilestones;
+ OptionSet<LayoutMilestone> milestonesAchieved;
Page* page = frame().page();
if (page)
requestedMilestones = page->requestedLayoutMilestones();
@@ -5036,7 +5035,7 @@
m_firstLayoutCallbackPending = false;
frame().loader().didFirstLayout();
if (requestedMilestones & DidFirstLayout)
- milestonesAchieved |= DidFirstLayout;
+ milestonesAchieved.add(DidFirstLayout);
if (frame().isMainFrame())
page->startCountingRelevantRepaintedObjects();
}
@@ -5047,13 +5046,13 @@
if (m_isVisuallyNonEmpty && m_firstVisuallyNonEmptyLayoutCallbackPending) {
m_firstVisuallyNonEmptyLayoutCallbackPending = false;
if (requestedMilestones & DidFirstVisuallyNonEmptyLayout)
- milestonesAchieved |= DidFirstVisuallyNonEmptyLayout;
+ milestonesAchieved.add(DidFirstVisuallyNonEmptyLayout);
}
if (m_renderedSignificantAmountOfText && m_significantRenderedTextMilestonePending) {
m_significantRenderedTextMilestonePending = false;
if (requestedMilestones & DidRenderSignificantAmountOfText)
- milestonesAchieved |= DidRenderSignificantAmountOfText;
+ milestonesAchieved.add(DidRenderSignificantAmountOfText);
}
if (milestonesAchieved && frame().isMainFrame())
@@ -5066,20 +5065,20 @@
if (!page)
return;
- LayoutMilestones milestonesAchieved = 0;
+ OptionSet<LayoutMilestone> milestonesAchieved;
// Make sure the pending paint milestones have actually been requested before we send them.
if (m_milestonesPendingPaint & DidFirstFlushForHeaderLayer) {
if (page->requestedLayoutMilestones() & DidFirstFlushForHeaderLayer)
- milestonesAchieved |= DidFirstFlushForHeaderLayer;
+ milestonesAchieved.add(DidFirstFlushForHeaderLayer);
}
if (m_milestonesPendingPaint & DidFirstPaintAfterSuppressedIncrementalRendering) {
if (page->requestedLayoutMilestones() & DidFirstPaintAfterSuppressedIncrementalRendering)
- milestonesAchieved |= DidFirstPaintAfterSuppressedIncrementalRendering;
+ milestonesAchieved.add(DidFirstPaintAfterSuppressedIncrementalRendering);
}
- m_milestonesPendingPaint = 0;
+ m_milestonesPendingPaint = { };
if (milestonesAchieved)
page->mainFrame().loader().didReachLayoutMilestone(milestonesAchieved);
Modified: trunk/Source/WebCore/page/FrameView.h (238048 => 238049)
--- trunk/Source/WebCore/page/FrameView.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/page/FrameView.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -29,7 +29,7 @@
#include "ContainerNode.h"
#include "FrameViewLayoutContext.h"
#include "GraphicsContext.h"
-#include "LayoutMilestones.h"
+#include "LayoutMilestone.h"
#include "LayoutRect.h"
#include "Pagination.h"
#include "PaintPhase.h"
@@ -592,10 +592,10 @@
void updateTiledBackingAdaptiveSizing();
TiledBacking::Scrollability computeScrollability() const;
- void addPaintPendingMilestones(LayoutMilestones);
+ void addPaintPendingMilestones(OptionSet<LayoutMilestone>);
void firePaintRelatedMilestonesIfNeeded();
void fireLayoutRelatedMilestonesIfNeeded();
- LayoutMilestones milestonesPendingPaint() const { return m_milestonesPendingPaint; }
+ OptionSet<LayoutMilestone> milestonesPendingPaint() const { return m_milestonesPendingPaint; }
bool visualUpdatesAllowedByClient() const { return m_visualUpdatesAllowedByClient; }
WEBCORE_EXPORT void setVisualUpdatesAllowedByClient(bool);
@@ -914,7 +914,7 @@
int m_headerHeight;
int m_footerHeight;
- LayoutMilestones m_milestonesPendingPaint;
+ OptionSet<LayoutMilestone> m_milestonesPendingPaint;
static const unsigned visualCharacterThreshold = 200;
static const unsigned visualPixelThreshold = 32 * 32;
Copied: trunk/Source/WebCore/page/LayoutMilestone.h (from rev 238048, trunk/Source/WebCore/page/LayoutMilestones.h) (0 => 238049)
--- trunk/Source/WebCore/page/LayoutMilestone.h (rev 0)
+++ trunk/Source/WebCore/page/LayoutMilestone.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/OptionSet.h>
+
+namespace WebCore {
+
+// FIXME: Some of these milestones are about layout, and others are about painting.
+// We should either re-name them to something more generic, or split them into
+// two enums -- one for painting and one for layout.
+enum LayoutMilestone {
+ DidFirstLayout = 1 << 0,
+ DidFirstVisuallyNonEmptyLayout = 1 << 1,
+ DidHitRelevantRepaintedObjectsAreaThreshold = 1 << 2,
+ DidFirstFlushForHeaderLayer = 1 << 3,
+ DidFirstLayoutAfterSuppressedIncrementalRendering = 1 << 4,
+ DidFirstPaintAfterSuppressedIncrementalRendering = 1 << 5,
+ ReachedSessionRestorationRenderTreeSizeThreshold = 1 << 6, // FIXME: only implemented by WK2 currently.
+ DidRenderSignificantAmountOfText = 1 << 7,
+};
+
+} // namespace WebCore
Deleted: trunk/Source/WebCore/page/LayoutMilestones.h (238048 => 238049)
--- trunk/Source/WebCore/page/LayoutMilestones.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/page/LayoutMilestones.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-namespace WebCore {
-
-// FIXME: Some of these milestones are about layout, and others are about painting.
-// We should either re-name them to something more generic, or split them into
-// two enums -- one for painting and one for layout.
-enum LayoutMilestoneFlag {
- DidFirstLayout = 1 << 0,
- DidFirstVisuallyNonEmptyLayout = 1 << 1,
- DidHitRelevantRepaintedObjectsAreaThreshold = 1 << 2,
- DidFirstFlushForHeaderLayer = 1 << 3,
- DidFirstLayoutAfterSuppressedIncrementalRendering = 1 << 4,
- DidFirstPaintAfterSuppressedIncrementalRendering = 1 << 5,
- ReachedSessionRestorationRenderTreeSizeThreshold = 1 << 6, // FIXME: only implemented by WK2 currently.
- DidRenderSignificantAmountOfText = 1 << 7,
-};
-
-typedef unsigned LayoutMilestones;
-
-} // namespace WebCore
Modified: trunk/Source/WebCore/page/Page.cpp (238048 => 238049)
--- trunk/Source/WebCore/page/Page.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/page/Page.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1893,15 +1893,15 @@
}
#endif
-void Page::addLayoutMilestones(LayoutMilestones milestones)
+void Page::addLayoutMilestones(OptionSet<LayoutMilestone> milestones)
{
// In the future, we may want a function that replaces m_layoutMilestones instead of just adding to it.
- m_requestedLayoutMilestones |= milestones;
+ m_requestedLayoutMilestones.add(milestones);
}
-void Page::removeLayoutMilestones(LayoutMilestones milestones)
+void Page::removeLayoutMilestones(OptionSet<LayoutMilestone> milestones)
{
- m_requestedLayoutMilestones &= ~milestones;
+ m_requestedLayoutMilestones.remove(milestones);
}
Color Page::pageExtendedBackgroundColor() const
@@ -1923,7 +1923,7 @@
bool Page::isCountingRelevantRepaintedObjects() const
{
- return m_isCountingRelevantRepaintedObjects && (m_requestedLayoutMilestones & DidHitRelevantRepaintedObjectsAreaThreshold);
+ return m_isCountingRelevantRepaintedObjects && m_requestedLayoutMilestones.contains(DidHitRelevantRepaintedObjectsAreaThreshold);
}
void Page::startCountingRelevantRepaintedObjects()
Modified: trunk/Source/WebCore/page/Page.h (238048 => 238049)
--- trunk/Source/WebCore/page/Page.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebCore/page/Page.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -25,7 +25,7 @@
#include "Document.h"
#include "FindOptions.h"
#include "FrameLoaderTypes.h"
-#include "LayoutMilestones.h"
+#include "LayoutMilestone.h"
#include "LayoutRect.h"
#include "LengthBox.h"
#include "MediaProducer.h"
@@ -503,9 +503,9 @@
WEBCORE_EXPORT VisibilityState visibilityState() const;
WEBCORE_EXPORT void resumeAnimatingImages();
- WEBCORE_EXPORT void addLayoutMilestones(LayoutMilestones);
- WEBCORE_EXPORT void removeLayoutMilestones(LayoutMilestones);
- LayoutMilestones requestedLayoutMilestones() const { return m_requestedLayoutMilestones; }
+ WEBCORE_EXPORT void addLayoutMilestones(OptionSet<LayoutMilestone>);
+ WEBCORE_EXPORT void removeLayoutMilestones(OptionSet<LayoutMilestone>);
+ OptionSet<LayoutMilestone> requestedLayoutMilestones() const { return m_requestedLayoutMilestones; }
#if ENABLE(RUBBER_BANDING)
WEBCORE_EXPORT void addHeaderWithHeight(int);
@@ -831,7 +831,7 @@
bool m_isPrerender { false };
OptionSet<ActivityState::Flag> m_activityState;
- LayoutMilestones m_requestedLayoutMilestones { 0 };
+ OptionSet<LayoutMilestone> m_requestedLayoutMilestones;
int m_headerHeight { 0 };
int m_footerHeight { 0 };
Modified: trunk/Source/WebKit/ChangeLog (238048 => 238049)
--- trunk/Source/WebKit/ChangeLog 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/ChangeLog 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1,3 +1,71 @@
+2018-11-09 Antti Koivisto <[email protected]>
+
+ Use OptionSet for layout milestones
+ https://bugs.webkit.org/show_bug.cgi?id=191470
+
+ Reviewed by Dean Jackson.
+
+ * Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:
+ (renderingProgressEvents):
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toWKLayoutMilestones):
+ (WebKit::toLayoutMilestones):
+ * Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
+ (WebKit::RemoteLayerTreeTransaction::newlyReachedLayoutMilestones const):
+ (WebKit::RemoteLayerTreeTransaction::setNewlyReachedLayoutMilestones):
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode const):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/APILoaderClient.h:
+ (API::LoaderClient::didReachLayoutMilestone):
+ * UIProcess/API/APINavigationClient.h:
+ (API::NavigationClient::renderingProgressDidChange):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageLoaderClient):
+ (WKPageSetPageNavigationClient):
+ * UIProcess/API/C/WKPageRenderingProgressEventsInternal.h:
+ (pageRenderingProgressEvents):
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (layoutMilestones):
+ * UIProcess/Cocoa/NavigationState.h:
+ * UIProcess/Cocoa/NavigationState.mm:
+ (WebKit::NavigationState::NavigationClient::renderingProgressDidChange):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::listenForLayoutMilestones):
+ (WebKit::WebPageProxy::didLayoutForCustomContentProvider):
+ (WebKit::WebPageProxy::didReachLayoutMilestone):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/ios/WebPageProxyIOS.mm:
+ (WebKit::WebPageProxy::didCommitLayerTree):
+ * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+ (API::InjectedBundle::PageLoaderClient::didReachLayoutMilestone):
+ (API::InjectedBundle::PageLoaderClient::layoutMilestones const):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didReachLayoutMilestone):
+ (WebKit::InjectedBundlePageLoaderClient::layoutMilestones const):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::dispatchDidReachLayoutMilestone):
+ * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
+ * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
+ (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
+ (WebKit::RemoteLayerTreeDrawingArea::dispatchDidReachLayoutMilestone):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::m_shouldAttachDrawingAreaOnPageTransition):
+ (WebKit::WebPage::listenForLayoutMilestones):
+ (WebKit::WebPage::dispatchDidReachLayoutMilestone):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+ (WebKit::TiledCoreAnimationDrawingArea::sendPendingNewlyReachedLayoutMilestones):
+ (WebKit::TiledCoreAnimationDrawingArea::dispatchDidReachLayoutMilestone):
+
2018-11-09 Daniel Bates <[email protected]>
[iOS] Draw caps lock indicator in password fields
Modified: trunk/Source/WebKit/Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h (238048 => 238049)
--- trunk/Source/WebKit/Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -27,9 +27,9 @@
#if WK_API_ENABLED
-#import <WebCore/LayoutMilestones.h>
+#import <WebCore/LayoutMilestone.h>
-static inline _WKRenderingProgressEvents renderingProgressEvents(WebCore::LayoutMilestones milestones)
+static inline _WKRenderingProgressEvents renderingProgressEvents(OptionSet<WebCore::LayoutMilestone> milestones)
{
_WKRenderingProgressEvents events = 0;
Modified: trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h (238048 => 238049)
--- trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -54,7 +54,7 @@
#include <WebCore/FloatRect.h>
#include <WebCore/FrameLoaderTypes.h>
#include <WebCore/IntRect.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <WebCore/SecurityOrigin.h>
#include <WebCore/UserContentTypes.h>
#include <WebCore/UserScriptTypes.h>
@@ -859,7 +859,7 @@
return type;
}
-inline WKLayoutMilestones toWKLayoutMilestones(WebCore::LayoutMilestones milestones)
+inline WKLayoutMilestones toWKLayoutMilestones(OptionSet<WebCore::LayoutMilestone> milestones)
{
unsigned wkMilestones = 0;
@@ -881,24 +881,24 @@
return wkMilestones;
}
-inline WebCore::LayoutMilestones toLayoutMilestones(WKLayoutMilestones wkMilestones)
+inline OptionSet<WebCore::LayoutMilestone> toLayoutMilestones(WKLayoutMilestones wkMilestones)
{
- WebCore::LayoutMilestones milestones = 0;
+ OptionSet<WebCore::LayoutMilestone> milestones;
if (wkMilestones & kWKDidFirstLayout)
- milestones |= WebCore::DidFirstLayout;
+ milestones.add(WebCore::DidFirstLayout);
if (wkMilestones & kWKDidFirstVisuallyNonEmptyLayout)
- milestones |= WebCore::DidFirstVisuallyNonEmptyLayout;
+ milestones.add(WebCore::DidFirstVisuallyNonEmptyLayout);
if (wkMilestones & kWKDidHitRelevantRepaintedObjectsAreaThreshold)
- milestones |= WebCore::DidHitRelevantRepaintedObjectsAreaThreshold;
+ milestones.add(WebCore::DidHitRelevantRepaintedObjectsAreaThreshold);
if (wkMilestones & kWKDidFirstFlushForHeaderLayer)
- milestones |= WebCore::DidFirstFlushForHeaderLayer;
+ milestones.add(WebCore::DidFirstFlushForHeaderLayer);
if (wkMilestones & kWKDidFirstLayoutAfterSuppressedIncrementalRendering)
- milestones |= WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering;
+ milestones.add(WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering);
if (wkMilestones & kWKDidFirstPaintAfterSuppressedIncrementalRendering)
- milestones |= WebCore::DidFirstPaintAfterSuppressedIncrementalRendering;
+ milestones.add(WebCore::DidFirstPaintAfterSuppressedIncrementalRendering);
if (wkMilestones & kWKDidRenderSignificantAmountOfText)
- milestones |= WebCore::DidRenderSignificantAmountOfText;
+ milestones.add(WebCore::DidRenderSignificantAmountOfText);
return milestones;
}
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h (238048 => 238049)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -35,7 +35,7 @@
#include <WebCore/FilterOperations.h>
#include <WebCore/FloatPoint3D.h>
#include <WebCore/FloatSize.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <WebCore/PlatformCALayer.h>
#include <WebCore/TransformationMatrix.h>
#include <wtf/HashMap.h>
@@ -265,8 +265,8 @@
const Vector<TransactionCallbackID>& callbackIDs() const { return m_callbackIDs; }
void setCallbackIDs(Vector<TransactionCallbackID>&& callbackIDs) { m_callbackIDs = WTFMove(callbackIDs); }
- WebCore::LayoutMilestones newlyReachedLayoutMilestones() const { return m_newlyReachedLayoutMilestones; }
- void setNewlyReachedLayoutMilestones(WebCore::LayoutMilestones milestones) { m_newlyReachedLayoutMilestones = milestones; }
+ OptionSet<WebCore::LayoutMilestone> newlyReachedLayoutMilestones() const { return m_newlyReachedLayoutMilestones; }
+ void setNewlyReachedLayoutMilestones(OptionSet<WebCore::LayoutMilestone> milestones) { m_newlyReachedLayoutMilestones = milestones; }
bool hasEditorState() const { return !!m_editorState; }
const EditorState& editorState() const { return m_editorState.value(); }
@@ -302,7 +302,7 @@
uint64_t m_renderTreeSize { 0 };
uint64_t m_transactionID { 0 };
ActivityStateChangeID m_activityStateChangeID { ActivityStateChangeAsynchronous };
- WebCore::LayoutMilestones m_newlyReachedLayoutMilestones { 0 };
+ OptionSet<WebCore::LayoutMilestone> m_newlyReachedLayoutMilestones;
bool m_scaleWasSetByUIProcess { false };
bool m_allowsUserScaling { false };
bool m_avoidsUnsafeArea { true };
Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp (238048 => 238049)
--- trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -103,7 +103,7 @@
encoder << appleMailLinesClampEnabled;
encoder << shouldScaleViewToFitDocument;
encoder.encodeEnum(userInterfaceLayoutDirection);
- encoder.encodeEnum(observedLayoutMilestones);
+ encoder << observedLayoutMilestones;
encoder << overrideContentSecurityPolicy;
encoder << cpuLimit;
encoder << urlSchemeHandlers;
@@ -288,7 +288,7 @@
if (!decoder.decodeEnum(parameters.userInterfaceLayoutDirection))
return std::nullopt;
- if (!decoder.decodeEnum(parameters.observedLayoutMilestones))
+ if (!decoder.decode(parameters.observedLayoutMilestones))
return std::nullopt;
if (!decoder.decode(parameters.overrideContentSecurityPolicy))
Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.h (238048 => 238049)
--- trunk/Source/WebKit/Shared/WebPageCreationParameters.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -37,7 +37,7 @@
#include <WebCore/Color.h>
#include <WebCore/FloatSize.h>
#include <WebCore/IntSize.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <WebCore/MediaProducer.h>
#include <WebCore/Pagination.h>
#include <WebCore/ScrollTypes.h>
@@ -161,7 +161,7 @@
bool shouldScaleViewToFitDocument;
WebCore::UserInterfaceLayoutDirection userInterfaceLayoutDirection;
- WebCore::LayoutMilestones observedLayoutMilestones;
+ OptionSet<WebCore::LayoutMilestone> observedLayoutMilestones;
String overrideContentSecurityPolicy;
std::optional<double> cpuLimit;
Modified: trunk/Source/WebKit/UIProcess/API/APILoaderClient.h (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/API/APILoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/API/APILoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -29,7 +29,7 @@
#include "PluginModuleInfo.h"
#include "SameDocumentNavigationType.h"
#include <WebCore/FrameLoaderTypes.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <wtf/Forward.h>
namespace WebCore {
@@ -61,7 +61,7 @@
virtual void didFinishLoadForFrame(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Navigation*, API::Object*) { }
virtual void didFailLoadWithErrorForFrame(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Navigation*, const WebCore::ResourceError&, API::Object*) { }
virtual void didFirstVisuallyNonEmptyLayoutForFrame(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Object*) { }
- virtual void didReachLayoutMilestone(WebKit::WebPageProxy&, WebCore::LayoutMilestones) { }
+ virtual void didReachLayoutMilestone(WebKit::WebPageProxy&, OptionSet<WebCore::LayoutMilestone>) { }
virtual bool shouldKeepCurrentBackForwardListItemInList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem&) { return true; }
virtual bool processDidCrash(WebKit::WebPageProxy&) { return false; }
virtual void didChangeBackForwardList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem*, Vector<Ref<WebKit::WebBackForwardListItem>>&&) { }
Modified: trunk/Source/WebKit/UIProcess/API/APINavigationClient.h (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/API/APINavigationClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/API/APINavigationClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -37,7 +37,7 @@
#include "WebFramePolicyListenerProxy.h"
#include "WebsitePoliciesData.h"
#include <WebCore/FrameLoaderTypes.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <wtf/Forward.h>
namespace WebCore {
@@ -87,7 +87,7 @@
virtual void didDisplayInsecureContent(WebKit::WebPageProxy&, API::Object*) { }
virtual void didRunInsecureContent(WebKit::WebPageProxy&, API::Object*) { }
- virtual void renderingProgressDidChange(WebKit::WebPageProxy&, WebCore::LayoutMilestones) { }
+ virtual void renderingProgressDidChange(WebKit::WebPageProxy&, OptionSet<WebCore::LayoutMilestone>) { }
virtual void didReceiveAuthenticationChallenge(WebKit::WebPageProxy&, WebKit::AuthenticationChallengeProxy& challenge) { challenge.listener().completeChallenge(WebKit::AuthenticationChallengeDisposition::PerformDefaultHandling); }
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1139,7 +1139,7 @@
m_client.didFirstVisuallyNonEmptyLayoutForFrame(toAPI(&page), toAPI(&frame), toAPI(userData), m_client.base.clientInfo);
}
- void didReachLayoutMilestone(WebPageProxy& page, LayoutMilestones milestones) override
+ void didReachLayoutMilestone(WebPageProxy& page, OptionSet<WebCore::LayoutMilestone> milestones) override
{
if (!m_client.didLayout)
return;
@@ -1190,11 +1190,11 @@
// It would be nice to get rid of this code and transition all clients to using didLayout instead of
// didFirstLayoutInFrame and didFirstVisuallyNonEmptyLayoutInFrame. In the meantime, this is required
// for backwards compatibility.
- WebCore::LayoutMilestones milestones = 0;
+ OptionSet<WebCore::LayoutMilestone> milestones;
if (loaderClient->client().didFirstLayoutForFrame)
- milestones |= WebCore::DidFirstLayout;
+ milestones.add(WebCore::DidFirstLayout);
if (loaderClient->client().didFirstVisuallyNonEmptyLayoutForFrame)
- milestones |= WebCore::DidFirstVisuallyNonEmptyLayout;
+ milestones.add(WebCore::DidFirstVisuallyNonEmptyLayout);
if (milestones)
webPageProxy->process().send(Messages::WebPage::ListenForLayoutMilestones(milestones), webPageProxy->pageID());
@@ -2140,7 +2140,7 @@
m_client.didSameDocumentNavigation(toAPI(&page), toAPI(navigation), toAPI(navigationType), toAPI(userData), m_client.base.clientInfo);
}
- void renderingProgressDidChange(WebPageProxy& page, WebCore::LayoutMilestones milestones) override
+ void renderingProgressDidChange(WebPageProxy& page, OptionSet<WebCore::LayoutMilestone> milestones) override
{
if (!m_client.renderingProgressDidChange)
return;
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEventsInternal.h (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEventsInternal.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEventsInternal.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -25,9 +25,9 @@
#include "WKPageRenderingProgressEvents.h"
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
-static inline WKPageRenderingProgressEvents pageRenderingProgressEvents(WebCore::LayoutMilestones milestones)
+static inline WKPageRenderingProgressEvents pageRenderingProgressEvents(OptionSet<WebCore::LayoutMilestone> milestones)
{
WKPageRenderingProgressEvents events = 0;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -4713,30 +4713,30 @@
return _page->pageLoadState().networkRequestsInProgress();
}
-static inline WebCore::LayoutMilestones layoutMilestones(_WKRenderingProgressEvents events)
+static inline OptionSet<WebCore::LayoutMilestone> layoutMilestones(_WKRenderingProgressEvents events)
{
- WebCore::LayoutMilestones milestones = 0;
+ OptionSet<WebCore::LayoutMilestone> milestones;
if (events & _WKRenderingProgressEventFirstLayout)
- milestones |= WebCore::DidFirstLayout;
+ milestones.add(WebCore::DidFirstLayout);
if (events & _WKRenderingProgressEventFirstVisuallyNonEmptyLayout)
- milestones |= WebCore::DidFirstVisuallyNonEmptyLayout;
+ milestones.add(WebCore::DidFirstVisuallyNonEmptyLayout);
if (events & _WKRenderingProgressEventFirstPaintWithSignificantArea)
- milestones |= WebCore::DidHitRelevantRepaintedObjectsAreaThreshold;
+ milestones.add(WebCore::DidHitRelevantRepaintedObjectsAreaThreshold);
if (events & _WKRenderingProgressEventReachedSessionRestorationRenderTreeSizeThreshold)
- milestones |= WebCore::ReachedSessionRestorationRenderTreeSizeThreshold;
+ milestones.add(WebCore::ReachedSessionRestorationRenderTreeSizeThreshold);
if (events & _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering)
- milestones |= WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering;
+ milestones.add(WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering);
if (events & _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering)
- milestones |= WebCore::DidFirstPaintAfterSuppressedIncrementalRendering;
+ milestones.add(WebCore::DidFirstPaintAfterSuppressedIncrementalRendering);
if (events & _WKRenderingProgressEventDidRenderSignificantAmountOfText)
- milestones |= WebCore::DidRenderSignificantAmountOfText;
+ milestones.add(WebCore::DidRenderSignificantAmountOfText);
return milestones;
}
Modified: trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.h (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -108,7 +108,7 @@
void didFailNavigationWithError(WebPageProxy&, WebFrameProxy&, API::Navigation*, const WebCore::ResourceError&, API::Object*) override;
void didSameDocumentNavigation(WebPageProxy&, API::Navigation*, SameDocumentNavigationType, API::Object*) override;
- void renderingProgressDidChange(WebPageProxy&, WebCore::LayoutMilestones) override;
+ void renderingProgressDidChange(WebPageProxy&, OptionSet<WebCore::LayoutMilestone>) override;
void didReceiveAuthenticationChallenge(WebPageProxy&, AuthenticationChallengeProxy&) override;
bool processDidTerminate(WebPageProxy&, ProcessTerminationReason) override;
Modified: trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -854,7 +854,7 @@
[static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _webView:m_navigationState.m_webView navigation:wrapper(navigation) didSameDocumentNavigation:toWKSameDocumentNavigationType(navigationType)];
}
-void NavigationState::NavigationClient::renderingProgressDidChange(WebPageProxy&, WebCore::LayoutMilestones layoutMilestones)
+void NavigationState::NavigationClient::renderingProgressDidChange(WebPageProxy&, OptionSet<WebCore::LayoutMilestone> layoutMilestones)
{
if (!m_navigationState.m_navigationDelegateMethods.webViewRenderingProgressDidChange)
return;
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -2983,7 +2983,7 @@
m_process->send(Messages::WebPage::SetAlwaysShowsVerticalScroller(alwaysShowsVerticalScroller), m_pageID);
}
-void WebPageProxy::listenForLayoutMilestones(WebCore::LayoutMilestones milestones)
+void WebPageProxy::listenForLayoutMilestones(OptionSet<WebCore::LayoutMilestone> milestones)
{
if (!isValid())
return;
@@ -3997,16 +3997,16 @@
void WebPageProxy::didLayoutForCustomContentProvider()
{
- didReachLayoutMilestone(DidFirstLayout | DidFirstVisuallyNonEmptyLayout | DidHitRelevantRepaintedObjectsAreaThreshold);
+ didReachLayoutMilestone({ DidFirstLayout, DidFirstVisuallyNonEmptyLayout, DidHitRelevantRepaintedObjectsAreaThreshold });
}
-void WebPageProxy::didReachLayoutMilestone(uint32_t layoutMilestones)
+void WebPageProxy::didReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
{
PageClientProtector protector(pageClient());
if (m_loaderClient)
- m_loaderClient->didReachLayoutMilestone(*this, static_cast<LayoutMilestones>(layoutMilestones));
- m_navigationClient->renderingProgressDidChange(*this, static_cast<LayoutMilestones>(layoutMilestones));
+ m_loaderClient->didReachLayoutMilestone(*this, layoutMilestones);
+ m_navigationClient->renderingProgressDidChange(*this, layoutMilestones);
}
void WebPageProxy::didDisplayInsecureContentForFrame(uint64_t frameID, const UserData& userData)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -814,7 +814,7 @@
bool alwaysShowsHorizontalScroller() const { return m_alwaysShowsHorizontalScroller; }
bool alwaysShowsVerticalScroller() const { return m_alwaysShowsVerticalScroller; }
- void listenForLayoutMilestones(WebCore::LayoutMilestones);
+ void listenForLayoutMilestones(OptionSet<WebCore::LayoutMilestone>);
bool hasHorizontalScrollbar() const { return m_mainFrameHasHorizontalScrollbar; }
bool hasVerticalScrollbar() const { return m_mainFrameHasVerticalScrollbar; }
@@ -1288,7 +1288,7 @@
void clearWheelEventTestTrigger();
void callAfterNextPresentationUpdate(WTF::Function<void (CallbackBase::Error)>&&);
- void didReachLayoutMilestone(uint32_t layoutMilestones);
+ void didReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>);
void didRestoreScrollPosition();
@@ -2021,7 +2021,7 @@
bool m_alwaysShowsHorizontalScroller { false };
bool m_alwaysShowsVerticalScroller { false };
- WebCore::LayoutMilestones m_observedLayoutMilestones { 0 };
+ OptionSet<WebCore::LayoutMilestone> m_observedLayoutMilestones;
bool m_suppressScrollbarAnimations { false };
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2018-11-09 19:47:15 UTC (rev 238049)
@@ -138,7 +138,7 @@
DidFinishLoadForFrame(uint64_t frameID, uint64_t navigationID, WebKit::UserData userData)
DidFirstLayoutForFrame(uint64_t frameID, WebKit::UserData userData)
DidFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, WebKit::UserData userData)
- DidReachLayoutMilestone(uint32_t type)
+ DidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
DidReceiveTitleForFrame(uint64_t frameID, String title, WebKit::UserData userData)
DidDisplayInsecureContentForFrame(uint64_t frameID, WebKit::UserData userData)
DidRunInsecureContentForFrame(uint64_t frameID, WebKit::UserData userData)
Modified: trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (238048 => 238049)
--- trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -380,7 +380,7 @@
pageClient().didCommitLayerTree(layerTreeTransaction);
// FIXME: Remove this special mechanism and fold it into the transaction's layout milestones.
- if ((m_observedLayoutMilestones & WebCore::ReachedSessionRestorationRenderTreeSizeThreshold) && !m_hitRenderTreeSizeThreshold
+ if (m_observedLayoutMilestones.contains(WebCore::ReachedSessionRestorationRenderTreeSizeThreshold) && !m_hitRenderTreeSizeThreshold
&& exceedsRenderTreeSizeSizeThreshold(m_sessionRestorationRenderTreeSize, layerTreeTransaction.renderTreeSize())) {
m_hitRenderTreeSizeThreshold = true;
didReachLayoutMilestone(WebCore::ReachedSessionRestorationRenderTreeSizeThreshold);
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -26,7 +26,7 @@
#pragma once
#include "SameDocumentNavigationType.h"
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <wtf/Forward.h>
#include <wtf/WallTime.h>
#include <wtf/text/WTFString.h>
@@ -76,7 +76,7 @@
virtual void didFirstLayoutForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) { }
virtual void didFirstVisuallyNonEmptyLayoutForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) { }
virtual void didLayoutForFrame(WebKit::WebPage&, WebKit::WebFrame&) { }
- virtual void didReachLayoutMilestone(WebKit::WebPage&, WebCore::LayoutMilestones, RefPtr<API::Object>&) { }
+ virtual void didReachLayoutMilestone(WebKit::WebPage&, OptionSet<WebCore::LayoutMilestone>, RefPtr<API::Object>&) { }
virtual void didClearWindowObjectForFrame(WebKit::WebPage&, WebKit::WebFrame&, WebCore::DOMWrapperWorld&) { }
virtual void didCancelClientRedirectForFrame(WebKit::WebPage&, WebKit::WebFrame&) { }
@@ -97,7 +97,7 @@
virtual void willDestroyFrame(WebKit::WebPage&, WebKit::WebFrame&) { }
virtual WTF::String userAgentForURL(WebKit::WebFrame&, const WebCore::URL&) const { return WTF::String(); }
- virtual WebCore::LayoutMilestones layoutMilestones() const { return 0; }
+ virtual OptionSet<WebCore::LayoutMilestone> layoutMilestones() const { return { }; }
};
} // namespace InjectedBundle
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -247,7 +247,7 @@
m_client.didLayoutForFrame(toAPI(&page), toAPI(&frame), m_client.base.clientInfo);
}
-void InjectedBundlePageLoaderClient::didReachLayoutMilestone(WebPage& page, LayoutMilestones milestones, RefPtr<API::Object>& userData)
+void InjectedBundlePageLoaderClient::didReachLayoutMilestone(WebPage& page, OptionSet<WebCore::LayoutMilestone> milestones, RefPtr<API::Object>& userData)
{
if (!m_client.didLayout)
return;
@@ -363,13 +363,13 @@
return toImpl(userAgent)->string();
}
-LayoutMilestones InjectedBundlePageLoaderClient::layoutMilestones() const
+OptionSet<WebCore::LayoutMilestone> InjectedBundlePageLoaderClient::layoutMilestones() const
{
- LayoutMilestones milestones = 0;
+ OptionSet<WebCore::LayoutMilestone> milestones;
if (m_client.didFirstLayoutForFrame)
- milestones |= WebCore::DidFirstLayout;
+ milestones.add(WebCore::DidFirstLayout);
if (m_client.didFirstVisuallyNonEmptyLayoutForFrame)
- milestones |= WebCore::DidFirstVisuallyNonEmptyLayout;
+ milestones.add(WebCore::DidFirstVisuallyNonEmptyLayout);
return milestones;
}
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -68,7 +68,7 @@
void didFirstLayoutForFrame(WebPage&, WebFrame&, RefPtr<API::Object>&) override;
void didFirstVisuallyNonEmptyLayoutForFrame(WebPage&, WebFrame&, RefPtr<API::Object>&) override;
void didLayoutForFrame(WebPage&, WebFrame&) override;
- void didReachLayoutMilestone(WebPage&, WebCore::LayoutMilestones, RefPtr<API::Object>&) override;
+ void didReachLayoutMilestone(WebPage&, OptionSet<WebCore::LayoutMilestone>, RefPtr<API::Object>&) override;
void didClearWindowObjectForFrame(WebPage&, WebFrame&, WebCore::DOMWrapperWorld&) override;
void didCancelClientRedirectForFrame(WebPage&, WebFrame&) override;
@@ -88,7 +88,7 @@
WTF::String userAgentForURL(WebFrame&, const WebCore::URL&) const override;
- WebCore::LayoutMilestones layoutMilestones() const override;
+ OptionSet<WebCore::LayoutMilestone> layoutMilestones() const override;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -632,7 +632,7 @@
m_didCompletePageTransition = true;
}
-void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(LayoutMilestones milestones)
+void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> milestones)
{
WebPage* webPage = m_frame->page();
if (!webPage)
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -117,7 +117,7 @@
void dispatchDidFinishDocumentLoad() final;
void dispatchDidFinishLoad() final;
- void dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) final;
+ void dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) final;
void dispatchDidLayout() final;
WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&) final;
Modified: trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -33,7 +33,7 @@
#include <WebCore/FloatRect.h>
#include <WebCore/IntRect.h>
#include <WebCore/LayerFlushThrottleState.h>
-#include <WebCore/LayoutMilestones.h>
+#include <WebCore/LayoutMilestone.h>
#include <WebCore/PlatformScreen.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
@@ -130,7 +130,7 @@
virtual void setShouldScaleViewToFitDocument(bool) { }
- virtual bool dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) { return false; }
+ virtual bool dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) { return false; }
#if PLATFORM(COCOA)
// Used by TiledCoreAnimationDrawingArea.
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -106,7 +106,7 @@
bool adjustLayerFlushThrottling(WebCore::LayerFlushThrottleState::Flags) override;
- bool dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) override;
+ bool dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) override;
void updateScrolledExposedRect();
void updateRootLayers();
@@ -165,7 +165,7 @@
Vector<RemoteLayerTreeTransaction::TransactionCallbackID> m_pendingCallbackIDs;
ActivityStateChangeID m_activityStateChangeID { ActivityStateChangeAsynchronous };
- WebCore::LayoutMilestones m_pendingNewlyReachedLayoutMilestones { 0 };
+ OptionSet<WebCore::LayoutMilestone> m_pendingNewlyReachedLayoutMilestones;
WebCore::GraphicsLayer* m_contentLayer { nullptr };
WebCore::GraphicsLayer* m_viewOverlayRootLayer { nullptr };
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -370,7 +370,7 @@
m_webPage.willCommitLayerTree(layerTransaction);
layerTransaction.setNewlyReachedLayoutMilestones(m_pendingNewlyReachedLayoutMilestones);
- m_pendingNewlyReachedLayoutMilestones = 0;
+ m_pendingNewlyReachedLayoutMilestones = { };
layerTransaction.setActivityStateChangeID(m_activityStateChangeID);
m_activityStateChangeID = ActivityStateChangeAsynchronous;
@@ -506,9 +506,9 @@
scheduleCompositingLayerFlush();
}
-bool RemoteLayerTreeDrawingArea::dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones layoutMilestones)
+bool RemoteLayerTreeDrawingArea::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
{
- m_pendingNewlyReachedLayoutMilestones |= layoutMilestones;
+ m_pendingNewlyReachedLayoutMilestones.add(layoutMilestones);
return true;
}
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -556,7 +556,7 @@
setMuted(parameters.muted);
// We use the DidFirstVisuallyNonEmptyLayout milestone to determine when to unfreeze the layer tree.
- m_page->addLayoutMilestones(DidFirstLayout | DidFirstVisuallyNonEmptyLayout);
+ m_page->addLayoutMilestones({ DidFirstLayout, DidFirstVisuallyNonEmptyLayout });
auto& webProcess = WebProcess::singleton();
webProcess.addMessageReceiver(Messages::WebPage::messageReceiverName(), m_pageID, *this);
@@ -1931,11 +1931,11 @@
#endif
}
-void WebPage::listenForLayoutMilestones(uint32_t milestones)
+void WebPage::listenForLayoutMilestones(OptionSet<WebCore::LayoutMilestone> milestones)
{
if (!m_page)
return;
- m_page->addLayoutMilestones(static_cast<LayoutMilestones>(milestones));
+ m_page->addLayoutMilestones(milestones);
}
void WebPage::setSuppressScrollbarAnimations(bool suppressAnimations)
@@ -6030,7 +6030,7 @@
m_userContentController->removeAllUserContent();
}
-void WebPage::dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones milestones)
+void WebPage::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> milestones)
{
RefPtr<API::Object> userData;
injectedBundleLoaderClient().didReachLayoutMilestone(*this, milestones, userData);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -469,7 +469,7 @@
bool setFixedLayoutSize(const WebCore::IntSize&);
WebCore::IntSize fixedLayoutSize() const;
- void listenForLayoutMilestones(uint32_t /* LayoutMilestones */);
+ void listenForLayoutMilestones(OptionSet<WebCore::LayoutMilestone>);
void setSuppressScrollbarAnimations(bool);
@@ -1034,7 +1034,7 @@
void addUserStyleSheet(const String& source, WebCore::UserContentInjectedFrames);
void removeAllUserContent();
- void dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones);
+ void dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>);
void didRestoreScrollPosition();
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2018-11-09 19:47:15 UTC (rev 238049)
@@ -236,7 +236,7 @@
SetUseFixedLayout(bool fixed)
SetFixedLayoutSize(WebCore::IntSize size)
- ListenForLayoutMilestones(uint32_t milestones)
+ ListenForLayoutMilestones(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
SetSuppressScrollbarAnimations(bool suppressAnimations)
SetEnableVerticalRubberBanding(bool enableVerticalRubberBanding)
Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -85,7 +85,7 @@
void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) override;
- bool dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) override;
+ bool dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) override;
bool flushLayers();
@@ -163,7 +163,7 @@
WebCore::IntSize m_lastViewSizeForScaleToFit;
WebCore::IntSize m_lastDocumentSizeForScaleToFit;
- WebCore::LayoutMilestones m_pendingNewlyReachedLayoutMilestones { 0 };
+ OptionSet<WebCore::LayoutMilestone> m_pendingNewlyReachedLayoutMilestones;
Vector<CallbackID> m_pendingCallbackIDs;
std::unique_ptr<WebCore::RunLoopObserver> m_layerFlushRunLoopObserver;
Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (238048 => 238049)
--- trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -411,7 +411,7 @@
return;
m_webPage.send(Messages::WebPageProxy::DidReachLayoutMilestone(m_pendingNewlyReachedLayoutMilestones));
- m_pendingNewlyReachedLayoutMilestones = 0;
+ m_pendingNewlyReachedLayoutMilestones = { };
}
void TiledCoreAnimationDrawingArea::addTransactionCallbackID(CallbackID callbackID)
@@ -890,9 +890,9 @@
m_layerHostingContext->setFencePort(fencePort.sendRight());
}
-bool TiledCoreAnimationDrawingArea::dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones layoutMilestones)
+bool TiledCoreAnimationDrawingArea::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
{
- m_pendingNewlyReachedLayoutMilestones |= layoutMilestones;
+ m_pendingNewlyReachedLayoutMilestones.add(layoutMilestones);
return true;
}
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (238048 => 238049)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1,3 +1,19 @@
+2018-11-09 Antti Koivisto <[email protected]>
+
+ Use OptionSet for layout milestones
+ https://bugs.webkit.org/show_bug.cgi?id=191470
+
+ Reviewed by Dean Jackson.
+
+ * WebCoreSupport/WebFrameLoaderClient.h:
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
+ * WebView/WebView.mm:
+ (coreLayoutMilestones):
+ (kitLayoutMilestones):
+ (-[WebView _cacheFrameLoadDelegateImplementations]):
+ * WebView/WebViewInternal.h:
+
2018-11-09 Daniel Bates <[email protected]>
[iOS] Draw caps lock indicator in password fields
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h (238048 => 238049)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -121,7 +121,7 @@
void dispatchDidFailLoad(const WebCore::ResourceError&) final;
void dispatchDidFinishDocumentLoad() final;
void dispatchDidFinishLoad() final;
- void dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) final;
+ void dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) final;
WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&) final;
void dispatchShow() final;
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (238048 => 238049)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -793,7 +793,7 @@
[m_webFrame->_private->internalLoadDelegate webFrame:m_webFrame.get() didFinishLoadWithError:nil];
}
-void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(LayoutMilestones milestones)
+void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> milestones)
{
WebView *webView = getWebView(m_webFrame.get());
WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (238048 => 238049)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-11-09 19:47:15 UTC (rev 238049)
@@ -600,14 +600,19 @@
return findOptions;
}
-LayoutMilestones coreLayoutMilestones(WebLayoutMilestones milestones)
+OptionSet<WebCore::LayoutMilestone> coreLayoutMilestones(WebLayoutMilestones milestones)
{
- return (milestones & WebDidFirstLayout ? DidFirstLayout : 0)
- | (milestones & WebDidFirstVisuallyNonEmptyLayout ? DidFirstVisuallyNonEmptyLayout : 0)
- | (milestones & WebDidHitRelevantRepaintedObjectsAreaThreshold ? DidHitRelevantRepaintedObjectsAreaThreshold : 0);
+ OptionSet<WebCore::LayoutMilestone> layoutMilestone;
+ if (milestones & WebDidFirstLayout)
+ layoutMilestone.add(DidFirstLayout);
+ if (milestones & WebDidFirstVisuallyNonEmptyLayout)
+ layoutMilestone.add(DidFirstVisuallyNonEmptyLayout);
+ if (milestones & WebDidHitRelevantRepaintedObjectsAreaThreshold)
+ layoutMilestone.add(DidHitRelevantRepaintedObjectsAreaThreshold);
+ return layoutMilestone;
}
-WebLayoutMilestones kitLayoutMilestones(LayoutMilestones milestones)
+WebLayoutMilestones kitLayoutMilestones(OptionSet<WebCore::LayoutMilestone> milestones)
{
return (milestones & DidFirstLayout ? WebDidFirstLayout : 0)
| (milestones & DidFirstVisuallyNonEmptyLayout ? WebDidFirstVisuallyNonEmptyLayout : 0)
@@ -3299,14 +3304,14 @@
// for backwards compatibility.
Page* page = core(self);
if (page) {
- unsigned milestones = DidFirstLayout;
+ OptionSet<WebCore::LayoutMilestone> milestones { DidFirstLayout };
#if PLATFORM(IOS_FAMILY)
- milestones |= DidFirstVisuallyNonEmptyLayout;
+ milestones.add(DidFirstVisuallyNonEmptyLayout);
#else
if (cache->didFirstVisuallyNonEmptyLayoutInFrameFunc)
- milestones |= DidFirstVisuallyNonEmptyLayout;
+ milestones.add(DidFirstVisuallyNonEmptyLayout);
#endif
- page->addLayoutMilestones(static_cast<LayoutMilestones>(milestones));
+ page->addLayoutMilestones(milestones);
}
}
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h (238048 => 238049)
--- trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -38,7 +38,7 @@
#import <WebCore/FindOptions.h>
#import <WebCore/FloatRect.h>
#import <WebCore/HTMLMediaElementEnums.h>
-#import <WebCore/LayoutMilestones.h>
+#import <WebCore/LayoutMilestone.h>
#import <WebCore/TextAlternativeWithRange.h>
#import <WebCore/TextIndicator.h>
#import <WebCore/TextIndicatorWindow.h>
@@ -88,8 +88,8 @@
WebCore::FindOptions coreOptions(WebFindOptions options);
-WebCore::LayoutMilestones coreLayoutMilestones(WebLayoutMilestones);
-WebLayoutMilestones kitLayoutMilestones(WebCore::LayoutMilestones);
+OptionSet<WebCore::LayoutMilestone> coreLayoutMilestones(WebLayoutMilestones);
+WebLayoutMilestones kitLayoutMilestones(OptionSet<WebCore::LayoutMilestone>);
#if USE(DICTATION_ALTERNATIVES)
OBJC_CLASS NSTextAlternatives;
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (238048 => 238049)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2018-11-09 19:47:15 UTC (rev 238049)
@@ -1,3 +1,14 @@
+2018-11-09 Antti Koivisto <[email protected]>
+
+ Use OptionSet for layout milestones
+ https://bugs.webkit.org/show_bug.cgi?id=191470
+
+ Reviewed by Dean Jackson.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
+ * WebCoreSupport/WebFrameLoaderClient.h:
+
2018-11-09 Fujii Hironori <[email protected]>
WebHistory.h: warning: 'QueryInterface' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (238048 => 238049)
--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2018-11-09 19:47:15 UTC (rev 238049)
@@ -482,7 +482,7 @@
frameLoadDelegate->didFinishLoadForFrame(webView, m_webFrame);
}
-void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(LayoutMilestones milestones)
+void WebFrameLoaderClient::dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> milestones)
{
WebView* webView = m_webFrame->webView();
Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h (238048 => 238049)
--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:23:42 UTC (rev 238048)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h 2018-11-09 19:47:15 UTC (rev 238049)
@@ -98,7 +98,7 @@
void dispatchDidFailLoad(const WebCore::ResourceError&) override;
void dispatchDidFinishDocumentLoad() override;
void dispatchDidFinishLoad() override;
- void dispatchDidReachLayoutMilestone(WebCore::LayoutMilestones) override;
+ void dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) override;
void dispatchDecidePolicyForResponse(const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, WebCore::FramePolicyFunction&&) override;
void dispatchDecidePolicyForNewWindowAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WebCore::FormState*, const WTF::String& frameName, WebCore::FramePolicyFunction&&) override;