[webkit-changes] [WebKit/WebKit] 37f282: Unnecessarily using std::variant and std::monostat...
Darin Adler
noreply at github.com
Mon Jan 30 11:01:11 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 37f282e65d2edf8c3c72614ad822ac26cfa8a062
https://github.com/WebKit/WebKit/commit/37f282e65d2edf8c3c72614ad822ac26cfa8a062
Author: Darin Adler <darin at apple.com>
Date: 2023-01-30 (Mon, 30 Jan 2023)
Changed paths:
M Source/WebCore/inspector/InspectorCanvas.cpp
M Source/WebCore/inspector/InspectorCanvas.h
M Source/WebCore/inspector/InspectorShaderProgram.cpp
M Source/WebCore/inspector/InspectorShaderProgram.h
M Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp
M Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
Log Message:
-----------
Unnecessarily using std::variant and std::monostate when we could just use nullptr instead
https://bugs.webkit.org/show_bug.cgi?id=251346
rdar://problem/104809022
Reviewed by Patrick Angle.
Using std::variant, std::reference_wrapper, and std::monostate is like a pointer, but less
efficient. Using std::optional and std::reference_wrapper is the same. Found places in our
code where we did that and removed them. Also updated one place that used std::reference_wrapper
where a reference would work just as well.
* Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::canvasContext const): Moved to the header since it's now trivial.
(WebCore::InspectorCanvas::canvasElement const): Removed the switchOn since m_context is now
a reference rather than a variant.
(WebCore::InspectorCanvas::scriptExecutionContext const): Ditto.
(WebCore::InspectorCanvas::resolveContext const): Ditto.
(WebCore::InspectorCanvas::clientNodes const): Ditto.
(WebCore::InspectorCanvas::canvasChanged): Ditto.
(WebCore::InspectorCanvas::resetRecordingData): Ditto.
(WebCore::InspectorCanvas::recordAction): Ditto.
(WebCore::InspectorCanvas::buildObjectForCanvas): Ditto.
(WebCore::InspectorCanvas::releaseObjectForRecording): Ditto.
(WebCore::InspectorCanvas::buildInitialState): Ditto.
* Source/WebCore/inspector/InspectorCanvas.h: Removed some unneded includes. Use
CanvasRenderingContext& for m_context.
* Source/WebCore/inspector/InspectorShaderProgram.cpp: Removed redundant checks of
(WebCore::InspectorShaderProgram::program const): Moved to the header since it's now
trivial.
(WebCore::InspectorShaderProgram::requestShaderSource): Removed the switchOn since m_program
is now a reference rather than a variant. Also changed to use early return, WebKit style.
(WebCore::InspectorShaderProgram::updateShader): Ditto.
(WebCore::InspectorShaderProgram::buildObjectForShaderProgram): Removed the code that looked
at m_program entirely, since it did't do anything.
* Source/WebCore/inspector/InspectorShaderProgram.h: Removed redundant checks of
m_program.
* Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::startRecording): Updated since InspectorCanvas::canvasContext
now returns a reference.
(WebCore::InspectorCanvasAgent::stopRecording): Ditto.
(WebCore::InspectorCanvasAgent::recordAction): Ditto.
(WebCore::InspectorCanvasAgent::reset): Ditto.
(WebCore::InspectorCanvasAgent::unbindCanvas): Ditto.
(WebCore::InspectorCanvasAgent::findInspectorCanvas): Ditto.
(WebCore::InspectorCanvasAgent::findInspectorProgram): Updated since
InspectorShaderProgram::program now returns a reference.
* Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::managedDomainsIfInitialized): Return a pointer.
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::forwardManagedDomainsToITPIfInitialized): Updated since
managedDomainsIfInitialized now returns a pointer.
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: Updated.
Canonical link: https://commits.webkit.org/259572@main
More information about the webkit-changes
mailing list