ladybird/Userland/Libraries/LibWeb
Daniel Bertalan c6fafd3e90 AK+Userland: Add generic AK::abs() function and use it
Previously, in LibGFX's `Point` class, calculated distances were passed
to the integer `abs` function, even if the stored type was a float. This
caused the value to unexpectedly be truncated. Luckily, this API was not
used with floating point types, but that can change in the future, so
why not fix it now :^)

Since we are in C++, we can use function overloading to make things
easy, and to automatically use the right version.

This is even better than the LibC/LibM functions, as using a bit of
hackery, they are able to be constant-evaluated. They use compiler
intrinsics, so they do not depend on external code and the compiler can
emit the most optimized code by default.

Since we aren't using the C++ standard library's trick of importing
everything into the `AK` namespace, this `abs` function cannot be
exported to the global namespace, as the names would clash.
2021-07-08 10:11:00 +02:00
..
Bindings LibJS: Remove the default length & attributes from define_native_* 2021-07-06 14:20:30 +01:00
CodeGenerators LibJS: Add define_direct_property and remove the define_property helper 2021-07-06 14:20:30 +01:00
Cookie Everywhere: Remove unused local variables and lambda captures 2021-07-08 10:11:00 +02:00
CSS LibJS: Rewrite most of Object for spec compliance :^) 2021-07-04 22:07:36 +01:00
DOM LibJS: Remove the NativeProperty mechanism from LibJS 2021-07-07 21:47:22 +01:00
DumpLayoutTree Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HighResolutionTime Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HTML LibWeb: Make WrapperGenerator generate nullable wrapper types 2021-07-05 12:39:46 +02:00
Layout AK+Userland: Add generic AK::abs() function and use it 2021-07-08 10:11:00 +02:00
Loader LibWeb: Show "x86_64" in the user agent string on x86_64 :^) 2021-07-01 12:15:52 +02:00
NavigationTiming Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Page LibWeb: Support :active pseudo-class for hyperlinks, :focus possibly 2021-06-25 01:02:29 +02:00
Painting AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
Scripts Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
SVG Everywhere: Mark debug-only functions [[maybe_unused]] 2021-07-08 10:11:00 +02:00
Tests LibWeb: Implement test-web in terms of LibTest/JavaScriptTestRunner 2021-05-18 18:48:15 +01:00
UIEvents AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
WebAssembly LibJS: Remove the non-standard put helper and replace it's usages 2021-07-06 14:20:30 +01:00
XHR LibJS: Rename Function => FunctionObject 2021-06-27 22:36:04 +02:00
CMakeLists.txt LibWeb: Add DOMParser 2021-07-05 12:39:46 +02:00
DOMTreeJSONModel.cpp LibWeb: Maintain a map of child-to-parent nodes in OOPWV DOM Inspector 2021-07-01 19:19:46 +02:00
DOMTreeJSONModel.h LibWeb: Maintain a map of child-to-parent nodes in OOPWV DOM Inspector 2021-07-01 19:19:46 +02:00
DOMTreeModel.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
DOMTreeModel.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
Dump.cpp LibWeb: Support :active pseudo-class for hyperlinks, :focus possibly 2021-06-25 01:02:29 +02:00
Dump.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FontCache.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FontCache.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h LibWeb: Add DOMParser 2021-07-05 12:39:46 +02:00
InProcessWebView.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
InProcessWebView.h LibWeb: Rename Web::Frame to Web::BrowsingContext 2021-05-30 12:39:53 +02:00
LayoutTreeModel.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
LayoutTreeModel.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
Namespace.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Namespace.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Origin.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OutOfProcessWebView.cpp LibWeb+WebContent: Add IPC flow for Inspect DOM Tree 2021-06-29 23:06:48 +02:00
OutOfProcessWebView.h LibWeb+WebContent: Add IPC flow for Inspect DOM Tree 2021-06-29 23:06:48 +02:00
QualifiedName.h LibWeb: Use HTML-uppercased qualified name for the Element node name 2021-05-04 23:24:03 +01:00
StylePropertiesModel.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StylePropertiesModel.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
TreeNode.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
URLEncoder.cpp LibWeb: Use correct percent encode set for form submissions 2021-06-01 23:26:03 +04:30
URLEncoder.h LibWeb: Use correct percent encode set for form submissions 2021-06-01 23:26:03 +04:30
WebContentClient.cpp LibWeb+WebContent: Add IPC flow for Inspect DOM Tree 2021-06-29 23:06:48 +02:00
WebContentClient.h LibWeb+WebContent: Add IPC flow for Inspect DOM Tree 2021-06-29 23:06:48 +02:00
WebViewHooks.h LibWeb+WebContent: Add IPC flow for Inspect DOM Tree 2021-06-29 23:06:48 +02:00