Unreviewed, rolling out r221494 and r221500.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Sep 2017 17:54:25 +0000 (17:54 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Sep 2017 17:54:25 +0000 (17:54 +0000)
https://bugs.webkit.org/show_bug.cgi?id=176258

This caused the windows build to fail. (Requested by mlewis13
on #webkit).

Reverted changesets:

"Switch HTMLMediaElement to release logging"
https://bugs.webkit.org/show_bug.cgi?id=176065
http://trac.webkit.org/changeset/221494

"Switch HTMLMediaElement to release logging"
https://bugs.webkit.org/show_bug.cgi?id=176065
http://trac.webkit.org/changeset/221500

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
Source/WTF/ChangeLog
Source/WTF/wtf/MediaTime.cpp
Source/WTF/wtf/MediaTime.h
Source/WebCore/ChangeLog
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
Source/WebCore/PAL/pal/Logger.h
Source/WebCore/PAL/pal/LoggerHelper.h [deleted file]
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Document.h
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/html/HTMLMediaElement.h
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WebCore/Logging.cpp

index 1c15508..fee2a2a 100644 (file)
@@ -1,3 +1,21 @@
+2017-09-04  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r221494 and r221500.
+        https://bugs.webkit.org/show_bug.cgi?id=176258
+
+        This caused the windows build to fail. (Requested by mlewis13
+        on #webkit).
+
+        Reverted changesets:
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221494
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221500
+
 2017-09-03  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         Remove "malloc" and "free" use
index 5f9691c..8a14a73 100644 (file)
@@ -34,7 +34,6 @@
 #include <wtf/CheckedArithmetic.h>
 #include <wtf/MathExtras.h>
 #include <wtf/PrintStream.h>
-#include <wtf/text/StringBuilder.h>
 
 namespace WTF {
 
@@ -552,22 +551,6 @@ void MediaTime::dump(PrintStream& out) const
     out.print(toDouble(), "}");
 }
 
-String MediaTime::toString() const
-{
-    StringBuilder builder;
-
-    builder.append("{");
-    if (!hasDoubleValue()) {
-        builder.append(String::number(m_timeValue));
-        builder.append("/");
-        builder.append(String::number(m_timeScale));
-        builder.append(" = ");
-    }
-    builder.append(String::number(toDouble()));
-    builder.append("}");
-    return builder.toString();
-}
-
 MediaTime abs(const MediaTime& rhs)
 {
     if (rhs.isInvalid())
index a24c72c..a7b7457 100644 (file)
@@ -30,7 +30,6 @@
 #define WTF_MediaTime_h
 
 #include <wtf/FastMalloc.h>
-#include <wtf/text/WTFString.h>
 
 #include <cmath>
 #include <limits>
@@ -109,7 +108,6 @@ public:
     const uint32_t& timeScale() const { return m_timeScale; }
 
     void dump(PrintStream& out) const;
-    String toString() const;
 
     // Make the following casts errors:
     operator double() const = delete;
@@ -169,18 +167,4 @@ bool MediaTime::decode(Decoder& decoder, MediaTime& time)
 using WTF::MediaTime;
 using WTF::abs;
 
-namespace PAL {
-
-template<typename Type>
-struct LogArgument;
-
-template <>
-struct LogArgument<WTF::MediaTime> {
-    static String toString(const WTF::MediaTime& time)
-    {
-        return time.toString();
-    }
-};
-}
-
 #endif
index 09e3c16..e85b34f 100644 (file)
@@ -1,3 +1,21 @@
+2017-09-04  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r221494 and r221500.
+        https://bugs.webkit.org/show_bug.cgi?id=176258
+
+        This caused the windows build to fail. (Requested by mlewis13
+        on #webkit).
+
+        Reverted changesets:
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221494
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221500
+
 2017-09-04  Sam Weinig  <sam@webkit.org>
 
         [WebIDL] Simplify EnabledBySettings generation
index a00eee0..ee40e46 100644 (file)
@@ -1,3 +1,21 @@
+2017-09-04  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r221494 and r221500.
+        https://bugs.webkit.org/show_bug.cgi?id=176258
+
+        This caused the windows build to fail. (Requested by mlewis13
+        on #webkit).
+
+        Reverted changesets:
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221494
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221500
+
 2017-09-03  Zan Dobersek  <zdobersek@igalia.com>
 
         [GTK] Libgcrypt warning: missing initialization - please fix the application
index b5d9071..3a040aa 100644 (file)
@@ -22,7 +22,6 @@
 
 /* Begin PBXBuildFile section */
                0708AC331F4C874B001F788F /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0708AC321F4C874A001F788F /* Logger.h */; };
-               07377ADC1F5777D90027F16D /* LoggerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 07377ADB1F5777D70027F16D /* LoggerHelper.h */; };
                0C2D9E731EEF5AF600DBC317 /* ExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C2D9E721EEF5AF600DBC317 /* ExportMacros.h */; };
                0C2DA06D1F33CA8400DBC317 /* CFLocaleSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C2DA0671F33CA8400DBC317 /* CFLocaleSPI.h */; };
                0C2DA06E1F33CA8400DBC317 /* CFNetworkConnectionCacheSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C2DA0681F33CA8400DBC317 /* CFNetworkConnectionCacheSPI.h */; };
 
 /* Begin PBXFileReference section */
                0708AC321F4C874A001F788F /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
-               07377ADB1F5777D70027F16D /* LoggerHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoggerHelper.h; sourceTree = "<group>"; };
                0C2D9E721EEF5AF600DBC317 /* ExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExportMacros.h; sourceTree = "<group>"; };
                0C2DA0671F33CA8400DBC317 /* CFLocaleSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFLocaleSPI.h; sourceTree = "<group>"; };
                0C2DA0681F33CA8400DBC317 /* CFNetworkConnectionCacheSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFNetworkConnectionCacheSPI.h; sourceTree = "<group>"; };
                                A30D411D1F0DD0AC00B71954 /* text */,
                                0C2D9E721EEF5AF600DBC317 /* ExportMacros.h */,
                                0708AC321F4C874A001F788F /* Logger.h */,
-                               07377ADB1F5777D70027F16D /* LoggerHelper.h */,
                                A3C66CDA1F462D6A009E6EE9 /* SessionID.cpp */,
                                A3C66CDB1F462D6A009E6EE9 /* SessionID.h */,
                        );
                                0C2DA1431F3BEB4900DBC317 /* IOPSLibSPI.h in Headers */,
                                0C2DA1441F3BEB4900DBC317 /* IOReturnSPI.h in Headers */,
                                0C2DA1451F3BEB4900DBC317 /* IOSurfaceSPI.h in Headers */,
-                               07377ADC1F5777D90027F16D /* LoggerHelper.h in Headers */,
                                0C2DA1461F3BEB4900DBC317 /* IOTypesSPI.h in Headers */,
                                A30D41211F0DD0EA00B71954 /* KillRing.h in Headers */,
                                0C5AF91C1F43A4C7002EAC02 /* LaunchServicesSPI.h in Headers */,
index bd00917..47b91c7 100644 (file)
@@ -54,7 +54,7 @@ public:
     class Observer {
     public:
         virtual ~Observer() { }
-        virtual void didLogMessage(const WTFLogChannel&, WTFLogLevel, const String&) = 0;
+        virtual void didLogMessage(const WTFLogChannel&, const String&) = 0;
     };
 
     static Ref<Logger> create(const void* owner)
@@ -63,7 +63,7 @@ public:
     }
 
     template<typename... Arguments>
-    inline void logAlways(WTFLogChannel& channel, UNUSED_FUNCTION const Arguments&... arguments) const
+    inline void logAlways(WTFLogChannel& channel, const Arguments&... arguments) const
     {
 #if RELEASE_LOG_DISABLED
         // "Standard" WebCore logging goes to stderr, which is captured in layout test output and can generally be a problem
@@ -73,7 +73,7 @@ public:
         if (!willLog(channel, WTFLogLevelAlways))
             return;
 
-        log(channel, WTFLogLevelAlways, arguments...);
+        log(channel, arguments...);
 #endif
     }
 
@@ -83,7 +83,7 @@ public:
         if (!willLog(channel, WTFLogLevelError))
             return;
 
-        log(channel, WTFLogLevelError, arguments...);
+        log(channel, arguments...);
     }
 
     template<typename... Arguments>
@@ -92,7 +92,7 @@ public:
         if (!willLog(channel, WTFLogLevelWarning))
             return;
 
-        log(channel, WTFLogLevelWarning, arguments...);
+        log(channel, arguments...);
     }
 
     template<typename... Arguments>
@@ -101,7 +101,7 @@ public:
         if (!willLog(channel, WTFLogLevelNotice))
             return;
 
-        log(channel, WTFLogLevelNotice, arguments...);
+        log(channel, arguments...);
     }
 
     template<typename... Arguments>
@@ -110,7 +110,7 @@ public:
         if (!willLog(channel, WTFLogLevelInfo))
             return;
 
-        log(channel, WTFLogLevelInfo, arguments...);
+        log(channel, arguments...);
     }
 
     template<typename... Arguments>
@@ -119,7 +119,7 @@ public:
         if (!willLog(channel, WTFLogLevelDebug))
             return;
 
-        log(channel, WTFLogLevelDebug, arguments...);
+        log(channel, arguments...);
     }
 
     inline bool willLog(const WTFLogChannel& channel, WTFLogLevel level) const
@@ -178,7 +178,7 @@ private:
     }
 
     template<typename... Argument>
-    static inline void log(WTFLogChannel& channel, WTFLogLevel level, const Argument&... arguments)
+    static inline void log(WTFLogChannel& channel, const Argument&... arguments)
     {
         String logMessage = makeString(LogArgument<Argument>::toString(arguments)...);
 
@@ -189,7 +189,7 @@ private:
 #endif
 
         for (Observer& observer : observers())
-            observer.didLogMessage(channel, level, logMessage);
+            observer.didLogMessage(channel, logMessage);
     }
 
     static Vector<std::reference_wrapper<Observer>>& observers()
@@ -202,6 +202,25 @@ private:
     bool m_enabled { true };
 };
 
+class LogHelper {
+public:
+    virtual ~LogHelper() = default;
+
+    virtual const Logger& logger() const = 0;
+    virtual const char* className() const = 0;
+    virtual WTFLogChannel& logChannel() const = 0;
+
+    inline bool willLog(WTFLogLevel level) const { return logger().willLog(logChannel(), level); }
+
+#define ALWAYS_LOG(...)     logger().logAlways(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+#define ERROR_LOG(...)      logger().error(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+#define WARNING_LOG(...)    logger().warning(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+#define NOTICE_LOG(...)     logger().notice(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+#define INFO_LOG(...)       logger().info(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+#define DEBUG_LOG(...)      logger().debug(logChannel(), Logger::MethodAndPointer(className(), __func__, this), ##__VA_ARGS__)
+
+};
+
 template <>
 struct LogArgument<Logger::MethodAndPointer> {
     static String toString(const Logger::MethodAndPointer& value)
diff --git a/Source/WebCore/PAL/pal/LoggerHelper.h b/Source/WebCore/PAL/pal/LoggerHelper.h
deleted file mode 100644 (file)
index 83b6eb1..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2017 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. ``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
- * 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 PAL {
-
-class LoggerHelper {
-public:
-    virtual ~LoggerHelper() = default;
-
-    virtual const Logger& logger() const = 0;
-    virtual const char* className() const = 0;
-    virtual WTFLogChannel& logChannel() const = 0;
-
-
-#if !RELEASE_LOG_DISABLED
-
-#define THIS Logger::MethodAndPointer(className(), __func__, this)
-
-#define ALWAYS_LOG(...)     logger().logAlways(logChannel(), __VA_ARGS__)
-#define ERROR_LOG(...)      logger().error(logChannel(), __VA_ARGS__)
-#define WARNING_LOG(...)    logger().warning(logChannel(), __VA_ARGS__)
-#define NOTICE_LOG(...)     logger().notice(logChannel(), __VA_ARGS__)
-#define INFO_LOG(...)       logger().info(logChannel(), __VA_ARGS__)
-#define DEBUG_LOG(...)      logger().debug(logChannel(), __VA_ARGS__)
-
-#else
-
-#define THIS ((void)0)
-
-#define ALWAYS_LOG(...)     ((void)0)
-#define ERROR_LOG(...)      ((void)0)
-#define ERROR_LOG(...)      ((void)0)
-#define WARNING_LOG(...)    ((void)0)
-#define NOTICE_LOG(...)     ((void)0)
-#define INFO_LOG(...)       ((void)0)
-#define DEBUG_LOG(...)      ((void)0)
-
-#endif
-    
-};
-
-} // namespace PAL
index dad5a69..ef34b44 100644 (file)
 #include <ctime>
 #include <inspector/ConsoleMessage.h>
 #include <inspector/ScriptCallStack.h>
-#include <pal/Logger.h>
 #include <wtf/CurrentTime.h>
 #include <wtf/NeverDestroyed.h>
 #include <wtf/SetForScope.h>
 #include "WebGPURenderingContext.h"
 #endif
 
-using namespace PAL;
+
 using namespace WTF;
 using namespace Unicode;
 
@@ -4870,10 +4869,6 @@ void Document::storageBlockingStateDidChange()
 
 void Document::privateBrowsingStateDidChange() 
 {
-    m_sessionID = SessionID::emptySessionID();
-    if (m_logger)
-        m_logger->setEnabled(this, sessionID().isAlwaysOnLoggingAllowed());
-
     for (auto* element : m_privateBrowsingStateChangedElements)
         element->privateBrowsingStateDidChange();
 }
@@ -7242,14 +7237,4 @@ void Document::setVlinkColor(const String& value)
         bodyElement->setAttributeWithoutSynchronization(vlinkAttr, value);
 }
 
-Logger& Document::logger() const
-{
-    if (!m_logger) {
-        m_logger = Logger::create(this);
-        m_logger->setEnabled(this, sessionID().isAlwaysOnLoggingAllowed());
-    }
-
-    return *m_logger;
-}
-
 } // namespace WebCore
index 77412a4..9d0ed20 100644 (file)
@@ -75,10 +75,6 @@ class ExecState;
 class InputCursor;
 }
 
-namespace PAL {
-class Logger;
-}
-
 namespace WebCore {
 
 class AXObjectCache;
@@ -1359,8 +1355,6 @@ public:
     TextAutoSizing& textAutoSizing();
 #endif
 
-    PAL::Logger& logger() const;
-
 protected:
     enum ConstructionFlags { Synthesized = 1, NonRenderedPlaceholder = 1 << 1 };
     Document(Frame*, const URL&, unsigned = DefaultDocumentClass, unsigned constructionFlags = 0);
@@ -1811,7 +1805,6 @@ private:
 
     OrientationNotifier m_orientationNotifier;
     mutable PAL::SessionID m_sessionID;
-    mutable RefPtr<PAL::Logger> m_logger;
 
     static bool hasEverCreatedAnAXObjectCache;
 };
index 81a908c..cd20d32 100644 (file)
@@ -88,7 +88,6 @@
 #include "UserContentController.h"
 #include "UserGestureIndicator.h"
 #include <limits>
-#include <pal/Logger.h>
 #include <pal/SessionID.h>
 #include <pal/system/SleepDisabler.h>
 #include <runtime/Uint8Array.h>
 #include "VideoFullscreenModel.h"
 #endif
 
-namespace PAL {
-template <>
-struct LogArgument<WebCore::URL> {
-    static String toString(const WebCore::URL& url)
-    {
-#if !LOG_DISABLED
-        static const unsigned maximumURLLengthForLogging = 512;
-
-        if (url.string().length() < maximumURLLengthForLogging)
-            return url.string();
-        return url.string().substring(0, maximumURLLengthForLogging) + "...";
-#else
-        UNUSED_PARAM(url);
-        return "[url]";
-#endif
-    }
-};
-}
-
-using namespace PAL;
+#define RELEASE_LOG_IF_ALLOWED(fmt, ...) RELEASE_LOG_IF(document().page() && document().page()->isAlwaysOnLoggingAllowed(), Media, "%p - HTMLMediaElement::" fmt, this, ##__VA_ARGS__)
 
 namespace WebCore {
 
@@ -206,7 +186,21 @@ static void clearFlags(unsigned& value, unsigned flags)
     value &= ~flags;
 }
 
-#if !RELEASE_LOG_DISABLED
+#if !LOG_DISABLED
+static String urlForLoggingMedia(const URL& url)
+{
+    static const unsigned maximumURLLengthForLogging = 128;
+
+    if (url.string().length() < maximumURLLengthForLogging)
+        return url.string();
+    return url.string().substring(0, maximumURLLengthForLogging) + "...";
+}
+
+static const char* boolString(bool val)
+{
+    return val ? "true" : "false";
+}
+
 static String actionName(HTMLMediaElementEnums::DelayedActionType action)
 {
     StringBuilder actionBuilder;
@@ -218,21 +212,24 @@ static String actionName(HTMLMediaElementEnums::DelayedActionType action)
         actionBuilder.append(#_actionType); \
     } \
 
-    ACTION(LoadMediaResource);
     ACTION(ConfigureTextTracks);
     ACTION(TextTrackChangesNotification);
     ACTION(ConfigureTextTrackDisplay);
     ACTION(CheckPlaybackTargetCompatablity);
     ACTION(CheckMediaState);
     ACTION(MediaEngineUpdated);
-    ACTION(UpdatePlayState);
 
-#undef ACTION
+    return actionBuilder.toString();
 
-    String name = actionBuilder.toString();
-    ASSERT(!name.isEmpty());
-    return name;
+#undef ACTION
 }
+
+#endif
+
+#ifndef LOG_MEDIA_EVENTS
+// Default to not logging events because so many are generated they can overwhelm the rest of
+// the logging.
+#define LOG_MEDIA_EVENTS 0
 #endif
 
 #ifndef LOG_CACHED_TIME_WARNINGS
@@ -450,14 +447,10 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document& docum
     , m_processingPreferenceChange(false)
 #endif
     , m_mediaSession(std::make_unique<MediaElementSession>(*this))
-#if !RELEASE_LOG_DISABLED
-    , m_logger(&document.logger())
-#endif
 {
     allMediaElements().add(this);
 
-    ALWAYS_LOG(THIS);
-
+    LOG(Media, "HTMLMediaElement::HTMLMediaElement(%p)", this);
     setHasCustomStyleResolveCallbacks();
 
     m_mediaSession->addBehaviorRestriction(MediaElementSession::RequireUserGestureForFullscreen);
@@ -533,7 +526,7 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document& docum
 
 HTMLMediaElement::~HTMLMediaElement()
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::~HTMLMediaElement(%p)", this);
 
     beginIgnoringTrackDisplayUpdateRequests();
     allMediaElements().remove(this);
@@ -865,7 +858,7 @@ bool HTMLMediaElement::childShouldCreateRenderer(const Node& child) const
 
 Node::InsertionNotificationRequest HTMLMediaElement::insertedInto(ContainerNode& insertionPoint)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::insertedInto(%p)", this);
 
     HTMLElement::insertedInto(insertionPoint);
     if (insertionPoint.isConnected()) {
@@ -924,7 +917,7 @@ void HTMLMediaElement::pauseAfterDetachedTask()
 
 void HTMLMediaElement::removedFrom(ContainerNode& insertionPoint)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::removedFrom(%p)", this);
 
     m_inActiveDocument = false;
     if (insertionPoint.isConnected()) {
@@ -974,8 +967,7 @@ void HTMLMediaElement::didRecalcStyle(Style::Change)
 
 void HTMLMediaElement::scheduleDelayedAction(DelayedActionType actionType)
 {
-    if (actionType ^ m_pendingActionFlags)
-        ALWAYS_LOG(THIS, "setting ", actionName(actionType), " flag");
+    LOG(Media, "HTMLMediaElement::scheduleDelayedAction(%p) - setting %s flag", this, actionName(actionType).utf8().data());
 
 #if ENABLE(VIDEO_TRACK)
     if (actionType & ConfigureTextTracks)
@@ -1015,6 +1007,9 @@ void HTMLMediaElement::mediaPlayerActiveSourceBuffersChanged(const MediaPlayer*)
 
 void HTMLMediaElement::scheduleEvent(const AtomicString& eventName)
 {
+#if LOG_MEDIA_EVENTS
+    LOG(Media, "HTMLMediaElement::scheduleEvent(%p) - scheduling '%s'", this, eventName.string().ascii().data());
+#endif
     RefPtr<Event> event = Event::create(eventName, false, true);
 
     // Don't set the event target, the event queue will set it in GenericEventQueue::timerFired and setting it here
@@ -1071,11 +1066,6 @@ void HTMLMediaElement::pendingActionTimerFired()
     PendingActionFlags pendingActions = m_pendingActionFlags;
     m_pendingActionFlags = 0;
 
-    if (!pendingActions)
-        return;
-
-    ALWAYS_LOG(THIS, "setting ", actionName(static_cast<DelayedActionType>(pendingActions)), " flag");
-
 #if ENABLE(VIDEO_TRACK)
     if (pendingActions & ConfigureTextTracks)
         configureTextTracks();
@@ -1083,7 +1073,7 @@ void HTMLMediaElement::pendingActionTimerFired()
 
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
     if (pendingActions & CheckPlaybackTargetCompatablity && m_isPlayingToWirelessTarget && !m_player->canPlayToWirelessPlaybackTarget()) {
-        NOTICE_LOG(THIS, "calling setShouldPlayToPlaybackTarget(false)");
+        LOG(Media, "HTMLMediaElement::pendingActionTimerFired(%p) - calling setShouldPlayToPlaybackTarget(false)", this);
         m_failedToPlayToWirelessTarget = true;
         m_player->setShouldPlayToPlaybackTarget(false);
     }
@@ -1160,7 +1150,7 @@ String HTMLMediaElement::canPlayType(const String& mimeType) const
             break;
     }
 
-    DEBUG_LOG(THIS, "[", mimeType, "] -> ", canPlay);
+    LOG(Media, "HTMLMediaElement::canPlayType(%p) - [%s] -> %s", this, mimeType.utf8().data(), canPlay.utf8().data());
 
     return canPlay;
 }
@@ -1176,7 +1166,7 @@ void HTMLMediaElement::load()
 {
     Ref<HTMLMediaElement> protectedThis(*this); // prepareForLoad may result in a 'beforeload' event, which can make arbitrary DOM mutations.
 
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::load(%p)", this);
 
     if (!m_mediaSession->dataLoadingPermitted(*this))
         return;
@@ -1195,7 +1185,7 @@ void HTMLMediaElement::prepareForLoad()
     // The Media Element Load Algorithm
     // 12 February 2017
 
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::prepareForLoad(%p)", this);
 
     // 1 - Abort any already-running instance of the resource selection algorithm for this element.
     // Perform the cleanup required for the resource load algorithm to run.
@@ -1314,7 +1304,7 @@ void HTMLMediaElement::selectMediaResource()
         return;
 
     if (!m_mediaSession->pageAllowsDataLoading(*this)) {
-        ALWAYS_LOG(THIS, "not allowed to load in background, waiting");
+        LOG(Media, "HTMLMediaElement::selectMediaResource(%p) - not allowed to load in background, waiting", this);
         setShouldDelayLoadEvent(false);
         if (m_isWaitingUntilMediaCanStart)
             return;
@@ -1359,7 +1349,7 @@ void HTMLMediaElement::selectMediaResource()
             mode = Attribute;
             ASSERT(m_player);
             if (!m_player) {
-                ERROR_LOG(THIS, " - has srcAttr but m_player is not created");
+                RELEASE_LOG_ERROR(Media, "HTMLMediaElement::selectMediaResource(%p) - has srcAttr but m_player is not created", this);
                 return;
             }
         } else if (auto firstSource = childrenOfType<HTMLSourceElement>(*this).first()) {
@@ -1376,7 +1366,7 @@ void HTMLMediaElement::selectMediaResource()
             setShouldDelayLoadEvent(false);
             m_networkState = NETWORK_EMPTY;
 
-            ALWAYS_LOG(THIS, "nothing to load");
+            LOG(Media, "HTMLMediaElement::selectMediaResource(%p) - nothing to load", this);
             return;
         }
 
@@ -1406,7 +1396,7 @@ void HTMLMediaElement::selectMediaResource()
 
             ContentType contentType;
             loadResource(URL(), contentType, String());
-            ALWAYS_LOG(THIS, "using 'srcObject' property");
+            LOG(Media, "HTMLMediaElement::selectMediaResource(%p) - using 'srcObject' property", this);
 
             //    If that algorithm returns without aborting this one, then the load failed.
             // 4. Failed with media provider: Reaching this step indicates that the media resource
@@ -1429,7 +1419,7 @@ void HTMLMediaElement::selectMediaResource()
             URL absoluteURL = getNonEmptyURLAttribute(srcAttr);
             if (absoluteURL.isEmpty()) {
                 mediaLoadingFailed(MediaPlayer::FormatError);
-                ALWAYS_LOG(THIS, "empty 'src'");
+                LOG(Media, "HTMLMediaElement::selectMediaResource(%p) -  empty 'src'", this);
                 return;
             }
 
@@ -1450,7 +1440,7 @@ void HTMLMediaElement::selectMediaResource()
             // will have to pick a media engine based on the file extension.
             ContentType contentType;
             loadResource(absoluteURL, contentType, String());
-            ALWAYS_LOG(THIS, "using 'src' attribute url");
+            LOG(Media, "HTMLMediaElement::selectMediaResource(%p) - using 'src' attribute url", this);
 
             // 6. Failed with attribute: Reaching this step indicates that the media resource failed to load
             //    or that the given URL could not be resolved. Queue a task to run the dedicated media source failure steps.
@@ -1486,7 +1476,7 @@ void HTMLMediaElement::loadResource(const URL& initialURL, ContentType& contentT
 {
     ASSERT(initialURL.isEmpty() || isSafeToLoadURL(initialURL, Complain));
 
-    NOTICE_LOG(THIS, initialURL, contentType.raw(), keySystem);
+    LOG(Media, "HTMLMediaElement::loadResource(%p) - %s, %s, %s", this, urlForLoggingMedia(initialURL).utf8().data(), contentType.raw().utf8().data(), keySystem.utf8().data());
 
     Frame* frame = document().frame();
     if (!frame) {
@@ -1540,10 +1530,10 @@ void HTMLMediaElement::loadResource(const URL& initialURL, ContentType& contentT
 
     if (resource) {
         url = ApplicationCacheHost::createFileURL(resource->path());
-        NOTICE_LOG(THIS, "will load ", url, " from app cache");
+        LOG(Media, "HTMLMediaElement::loadResource(%p) - will load from app cache -> %s", this, urlForLoggingMedia(url).utf8().data());
     }
 
-    NOTICE_LOG(THIS, "m_currentSrc is ", m_currentSrc);
+    LOG(Media, "HTMLMediaElement::loadResource(%p) - m_currentSrc -> %s", this, urlForLoggingMedia(m_currentSrc).utf8().data());
 
     startProgressEventTimer();
 
@@ -1651,7 +1641,7 @@ void HTMLMediaElement::updateActiveTextTrackCues(const MediaTime& movieTime)
     if (ignoreTrackDisplayUpdateRequests())
         return;
 
-    DEBUG_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::updateActiveTextTrackCues(%p)", this);
 
     // 1 - Let current cues be a list of cues, initialized to contain all the
     // cues of all the hidden, showing, or showing by default text tracks of the
@@ -2051,7 +2041,7 @@ static inline bool isAllowedToLoadMediaURL(HTMLMediaElement& element, const URL&
 bool HTMLMediaElement::isSafeToLoadURL(const URL& url, InvalidURLAction actionIfInvalid)
 {
     if (!url.isValid()) {
-        ERROR_LOG(THIS, url, " is invalid");
+        LOG(Media, "HTMLMediaElement::isSafeToLoadURL(%p) - %s -> FALSE because url is invalid", this, urlForLoggingMedia(url).utf8().data());
         return false;
     }
 
@@ -2059,12 +2049,12 @@ bool HTMLMediaElement::isSafeToLoadURL(const URL& url, InvalidURLAction actionIf
     if (!frame || !document().securityOrigin().canDisplay(url)) {
         if (actionIfInvalid == Complain)
             FrameLoader::reportLocalLoadFailed(frame, url.stringCenterEllipsizedToLength());
-            ERROR_LOG(THIS, url , " was rejected by SecurityOrigin");
+        LOG(Media, "HTMLMediaElement::isSafeToLoadURL(%p) - %s -> FALSE rejected by SecurityOrigin", this, urlForLoggingMedia(url).utf8().data());
         return false;
     }
 
     if (!isAllowedToLoadMediaURL(*this, url, isInUserAgentShadowTree())) {
-        ERROR_LOG(THIS, url, " was rejected by Content Security Policy");
+        LOG(Media, "HTMLMediaElement::isSafeToLoadURL(%p) - %s -> rejected by Content Security Policy", this, urlForLoggingMedia(url).utf8().data());
         return false;
     }
 
@@ -2083,7 +2073,7 @@ void HTMLMediaElement::startProgressEventTimer()
 
 void HTMLMediaElement::waitForSourceChange()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::waitForSourceChange(%p)", this);
 
     stopPeriodicTimers();
     m_loadState = WaitingForSource;
@@ -2100,7 +2090,7 @@ void HTMLMediaElement::waitForSourceChange()
 
 void HTMLMediaElement::noneSupported()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::noneSupported(%p)", this);
 
     stopPeriodicTimers();
     m_loadState = WaitingForSource;
@@ -2141,6 +2131,8 @@ void HTMLMediaElement::noneSupported()
 
 void HTMLMediaElement::mediaLoadingFailedFatally(MediaPlayer::NetworkState error)
 {
+    LOG(Media, "HTMLMediaElement::mediaLoadingFailedFatally(%p) - error = %d", this, static_cast<int>(error));
+
     // 1 - The user agent should cancel the fetching process.
     stopPeriodicTimers();
     m_loadState = WaitingForSource;
@@ -2180,7 +2172,7 @@ void HTMLMediaElement::mediaLoadingFailedFatally(MediaPlayer::NetworkState error
 
 void HTMLMediaElement::cancelPendingEventsAndCallbacks()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::cancelPendingEventsAndCallbacks(%p)", this);
     m_asyncEventQueue.cancelAllEvents();
 
     for (auto& source : childrenOfType<HTMLSourceElement>(*this))
@@ -2245,7 +2237,7 @@ void HTMLMediaElement::mediaLoadingFailed(MediaPlayer::NetworkState error)
         if (m_currentSourceNode)
             m_currentSourceNode->scheduleErrorEvent();
         else
-            NOTICE_LOG(THIS, "error event not sent, <source> was removed");
+            LOG(Media, "HTMLMediaElement::setNetworkState(%p) - error event not sent, <source> was removed", this);
 
         // 9.Otherwise.10 - Asynchronously await a stable state. The synchronous section consists of all the remaining steps of this algorithm until the algorithm says the synchronous section has ended.
 
@@ -2253,10 +2245,10 @@ void HTMLMediaElement::mediaLoadingFailed(MediaPlayer::NetworkState error)
         forgetResourceSpecificTracks();
 
         if (havePotentialSourceChild()) {
-            NOTICE_LOG(THIS, "scheduling next <source>");
+            LOG(Media, "HTMLMediaElement::setNetworkState(%p) - scheduling next <source>", this);
             scheduleNextSourceChild();
         } else {
-            NOTICE_LOG(THIS, "no more <source> elements, waiting");
+            LOG(Media, "HTMLMediaElement::setNetworkState(%p) - no more <source> elements, waiting", this);
             waitForSourceChange();
         }
 
@@ -2274,8 +2266,6 @@ void HTMLMediaElement::mediaLoadingFailed(MediaPlayer::NetworkState error)
         mediaControls()->reportedError();
     }
 
-    ERROR_LOG(THIS, "error = ", static_cast<int>(error));
-
     logMediaLoadRequest(document().page(), String(), stringForNetworkState(error), false);
 
     m_mediaSession->clientCharacteristicsChanged();
@@ -2283,8 +2273,7 @@ void HTMLMediaElement::mediaLoadingFailed(MediaPlayer::NetworkState error)
 
 void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
 {
-    if (static_cast<int>(state) != static_cast<int>(m_networkState))
-        ALWAYS_LOG(THIS, "new state = ", static_cast<int>(state), ", current state = ", static_cast<int>(m_networkState));
+    LOG(Media, "HTMLMediaElement::setNetworkState(%p) - new state = %d, current state = %d", this, static_cast<int>(state), static_cast<int>(m_networkState));
 
     if (state == MediaPlayer::Empty) {
         // Just update the cached state and leave, we can't do anything.
@@ -2355,7 +2344,7 @@ SuccessOr<MediaPlaybackDenialReason> HTMLMediaElement::canTransitionFromAutoplay
         && m_readyState == HAVE_ENOUGH_DATA)
         return mediaSession().playbackPermitted(*this);
 
-    ALWAYS_LOG(THIS, "page consent required");
+    RELEASE_LOG(Media, "HTMLMediaElement::canTransitionFromAutoplayToPlay - page consent required");
     return MediaPlaybackDenialReason::PageConsentRequired;
 }
 
@@ -2371,6 +2360,8 @@ void HTMLMediaElement::dispatchPlayPauseEventsIfNeedsQuirks()
 
 void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
 {
+    LOG(Media, "HTMLMediaElement::setReadyState(%p) - new state = %d, current state = %d,", this, static_cast<int>(state), static_cast<int>(m_readyState));
+
     // Set "wasPotentiallyPlaying" BEFORE updating m_readyState, potentiallyPlaying() uses it
     bool wasPotentiallyPlaying = potentiallyPlaying();
 
@@ -2390,8 +2381,6 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
     bool tracksAreReady = true;
 #endif
 
-    ALWAYS_LOG(THIS, "new state = ", static_cast<int>(state), ", current state = ", static_cast<int>(m_readyState));
-
     if (tracksAreReady)
         m_readyState = newState;
     else {
@@ -2771,17 +2760,19 @@ void HTMLMediaElement::progressEventTimerFired()
 
 void HTMLMediaElement::rewind(double timeDelta)
 {
+    LOG(Media, "HTMLMediaElement::rewind(%p) - %f", this, timeDelta);
     setCurrentTime(std::max(currentMediaTime() - MediaTime::createWithDouble(timeDelta), minTimeSeekable()));
 }
 
 void HTMLMediaElement::returnToRealtime()
 {
+    LOG(Media, "HTMLMediaElement::returnToRealtime(%p)", this);
     setCurrentTime(maxTimeSeekable());
 }
 
 void HTMLMediaElement::addPlayedRange(const MediaTime& start, const MediaTime& end)
 {
-    DEBUG_LOG(THIS, "[", start, ", ", end, "]");
+    LOG(Media, "HTMLMediaElement::addPlayedRange(%p) - [%s, %s]", this, toString(start).utf8().data(), toString(end).utf8().data());
     if (!m_playedTimeRanges)
         m_playedTimeRanges = TimeRanges::create();
     m_playedTimeRanges->ranges().add(start, end);
@@ -2794,7 +2785,7 @@ bool HTMLMediaElement::supportsScanning() const
 
 void HTMLMediaElement::prepareToPlay()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::prepareToPlay(%p)", this);
     if (m_havePreparedToPlay)
         return;
     m_havePreparedToPlay = true;
@@ -2809,7 +2800,7 @@ void HTMLMediaElement::fastSeek(double time)
 
 void HTMLMediaElement::fastSeek(const MediaTime& time)
 {
-    NOTICE_LOG(THIS, time);
+    LOG(Media, "HTMLMediaElement::fastSeek(%p) - %s", this, toString(time).utf8().data());
     // 4.7.10.9 Seeking
     // 9. If the approximate-for-speed flag is set, adjust the new playback position to a value that will
     // allow for playback to resume promptly. If new playback position before this step is before current
@@ -2825,13 +2816,13 @@ void HTMLMediaElement::fastSeek(const MediaTime& time)
 
 void HTMLMediaElement::seek(const MediaTime& time)
 {
-    NOTICE_LOG(THIS, time);
+    LOG(Media, "HTMLMediaElement::seek(%p) - %s", this, toString(time).utf8().data());
     seekWithTolerance(time, MediaTime::zeroTime(), MediaTime::zeroTime(), true);
 }
 
 void HTMLMediaElement::seekInternal(const MediaTime& time)
 {
-    NOTICE_LOG(THIS, time);
+    LOG(Media, "HTMLMediaElement::seekInternal(%p) - %s", this, toString(time).utf8().data());
     seekWithTolerance(time, MediaTime::zeroTime(), MediaTime::zeroTime(), false);
 }
 
@@ -2859,7 +2850,7 @@ void HTMLMediaElement::seekWithTolerance(const MediaTime& inTime, const MediaTim
     // already running. Abort that other instance of the algorithm without waiting for the step that
     // it is running to complete.
     if (m_seekTaskQueue.hasPendingTasks()) {
-        NOTICE_LOG(THIS, "cancelling pending seeks");
+        LOG(Media, "HTMLMediaElement::seekWithTolerance(%p) - cancelling pending seeks", this);
         m_seekTaskQueue.cancelAllTasks();
         if (m_pendingSeek) {
             now = m_pendingSeek->now;
@@ -2881,7 +2872,7 @@ void HTMLMediaElement::seekWithTolerance(const MediaTime& inTime, const MediaTim
     // the script. The remainder of these steps must be run asynchronously.
     m_pendingSeek = std::make_unique<PendingSeek>(now, time, negativeTolerance, positiveTolerance);
     if (fromDOM) {
-        NOTICE_LOG(THIS, "enqueuing seek from ", now, " to ", time);
+        LOG(Media, "HTMLMediaElement::seekWithTolerance(%p) - enqueuing seek from %s to %s", this, toString(now).utf8().data(), toString(time).utf8().data());
         m_seekTaskQueue.enqueueTask(std::bind(&HTMLMediaElement::seekTask, this));
     } else
         seekTask();
@@ -2892,7 +2883,7 @@ void HTMLMediaElement::seekWithTolerance(const MediaTime& inTime, const MediaTim
 
 void HTMLMediaElement::seekTask()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::seekTask(%p)", this);
 
     if (!m_player) {
         clearSeeking();
@@ -2921,12 +2912,11 @@ void HTMLMediaElement::seekTask()
     // time scale, we will ask the media engine to "seek" to the current movie time, which may be a noop and
     // not generate a timechanged callback. This means m_seeking will never be cleared and we will never
     // fire a 'seeked' event.
-    if (willLog(WTFLogLevelDebug)) {
-        MediaTime mediaTime = m_player->mediaTimeForTimeValue(time);
-        if (time != mediaTime)
-            DEBUG_LOG(THIS, time, " media timeline equivalent is ", mediaTime);
-    }
-
+#if !LOG_DISABLED
+    MediaTime mediaTime = m_player->mediaTimeForTimeValue(time);
+    if (time != mediaTime)
+        LOG(Media, "HTMLMediaElement::seekTask(%p) - %s - media timeline equivalent is %s", this, toString(time).utf8().data(), toString(mediaTime).utf8().data());
+#endif
     time = m_player->mediaTimeForTimeValue(time);
 
     // 8 - If the (possibly now changed) new playback position is not in one of the ranges given in the
@@ -2951,7 +2941,7 @@ void HTMLMediaElement::seekTask()
 #endif
 
     if (noSeekRequired) {
-        NOTICE_LOG(THIS, "seek to ", time, " ignored");
+        LOG(Media, "HTMLMediaElement::seekTask(%p) - seek to %s ignored", this, toString(time).utf8().data());
         if (time == now) {
             scheduleEvent(eventNames().seekingEvent);
             scheduleTimeupdateEvent(false);
@@ -2993,7 +2983,7 @@ void HTMLMediaElement::finishSeek()
     // 14 - Set the seeking IDL attribute to false.
     clearSeeking();
 
-    NOTICE_LOG(THIS, "current time = ", currentMediaTime());
+    LOG(Media, "HTMLMediaElement::finishSeek(%p) - current time = %s", this, toString(currentMediaTime()).utf8().data());
 
     // 15 - Run the time maches on steps.
     // Handled by mediaPlayerTimeChanged().
@@ -3052,6 +3042,11 @@ void HTMLMediaElement::invalidateCachedTime() const
     if (!m_player || !m_player->maximumDurationToCacheMediaTime())
         return;
 
+#if !LOG_DISABLED
+    if (m_cachedTime.isValid())
+        LOG(Media, "HTMLMediaElement::invalidateCachedTime(%p)", this);
+#endif
+
     // Don't try to cache movie time when playback first starts as the time reported by the engine
     // sometimes fluctuates for a short amount of time, so the cached time will be off if we take it
     // too early.
@@ -3076,7 +3071,7 @@ MediaTime HTMLMediaElement::currentMediaTime() const
         return MediaTime::zeroTime();
 
     if (m_seeking) {
-        NOTICE_LOG(THIS, "seeking, returning", m_lastSeekTime);
+        LOG(Media, "HTMLMediaElement::currentTime(%p) - seeking, returning %s", this, toString(m_lastSeekTime).utf8().data());
         return m_lastSeekTime;
     }
 
@@ -3084,7 +3079,7 @@ MediaTime HTMLMediaElement::currentMediaTime() const
 #if LOG_CACHED_TIME_WARNINGS
         MediaTime delta = m_cachedTime - m_player->currentTime();
         if (delta > minCachedDeltaForWarning)
-            WARNING_LOG(THIS, "cached time is ", delta, " seconds off of media time when paused");
+            LOG(Media, "HTMLMediaElement::currentTime(%p) - WARNING, cached time is %s seconds off of media time when paused", this, toString(delta).utf8().data());
 #endif
         return m_cachedTime;
     }
@@ -3103,7 +3098,7 @@ MediaTime HTMLMediaElement::currentMediaTime() const
 #if LOG_CACHED_TIME_WARNINGS
             MediaTime delta = adjustedCacheTime - m_player->currentTime();
             if (delta > minCachedDeltaForWarning)
-                WARNING_LOG(THIS, "cached time is ", delta, " seconds off of media time when playing");
+                LOG(Media, "HTMLMediaElement::currentTime(%p) - WARNING, cached time is %f seconds off of media time when playing", this, delta);
 #endif
             return adjustedCacheTime;
         }
@@ -3113,7 +3108,7 @@ MediaTime HTMLMediaElement::currentMediaTime() const
     if (maximumDurationToCacheMediaTime && now > m_minimumClockTimeToUpdateCachedTime && m_cachedTime != MediaPlayer::invalidTime()) {
         double clockDelta = now - m_clockTimeAtLastCachedTimeUpdate;
         MediaTime delta = m_cachedTime + MediaTime::createWithDouble(effectivePlaybackRate() * clockDelta) - m_player->currentTime();
-        WARNING_LOG(THIS, "cached time was ", delta, " seconds off of media time when it expired");
+        LOG(Media, "HTMLMediaElement::currentTime(%p) - cached time was %s seconds off of media time when it expired", this, toString(delta).utf8().data());
     }
 #endif
 
@@ -3198,12 +3193,11 @@ void HTMLMediaElement::setDefaultPlaybackRate(double rate)
         return;
 #endif
 
-    if (m_defaultPlaybackRate == rate)
-        return;
-
-    ALWAYS_LOG(THIS, rate);
-    m_defaultPlaybackRate = rate;
-    scheduleEvent(eventNames().ratechangeEvent);
+    if (m_defaultPlaybackRate != rate) {
+        LOG(Media, "HTMLMediaElement::setDefaultPlaybackRate(%p) - %f", this, rate);
+        m_defaultPlaybackRate = rate;
+        scheduleEvent(eventNames().ratechangeEvent);
+    }
 }
 
 double HTMLMediaElement::effectivePlaybackRate() const
@@ -3232,7 +3226,7 @@ double HTMLMediaElement::playbackRate() const
 
 void HTMLMediaElement::setPlaybackRate(double rate)
 {
-    ALWAYS_LOG(THIS, rate);
+    LOG(Media, "HTMLMediaElement::setPlaybackRate(%p) - %f", this, rate);
 
 #if ENABLE(MEDIA_STREAM)
     // http://w3c.github.io/mediacapture-main/#mediastreams-in-media-elements
@@ -3267,7 +3261,7 @@ bool HTMLMediaElement::webkitPreservesPitch() const
 
 void HTMLMediaElement::setWebkitPreservesPitch(bool preservesPitch)
 {
-    NOTICE_LOG(THIS, preservesPitch);
+    LOG(Media, "HTMLMediaElement::setWebkitPreservesPitch(%p) - %s", this, boolString(preservesPitch));
 
     m_webkitPreservesPitch = preservesPitch;
 
@@ -3322,7 +3316,7 @@ String HTMLMediaElement::preload() const
 
 void HTMLMediaElement::setPreload(const String& preload)
 {
-    NOTICE_LOG(THIS, preload);
+    LOG(Media, "HTMLMediaElement::setPreload(%p) - %s", this, preload.utf8().data());
 #if ENABLE(MEDIA_STREAM)
     // http://w3c.github.io/mediacapture-main/#mediastreams-in-media-elements
     // "preload" - On getting: none. On setting: ignored.
@@ -3335,7 +3329,7 @@ void HTMLMediaElement::setPreload(const String& preload)
 
 void HTMLMediaElement::play(DOMPromiseDeferred<void>&& promise)
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::play(%p)", this);
 
     auto success = m_mediaSession->playbackPermitted(*this);
     if (!success) {
@@ -3363,7 +3357,7 @@ void HTMLMediaElement::play(DOMPromiseDeferred<void>&& promise)
 
 void HTMLMediaElement::play()
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::play(%p)", this);
 
     auto success = m_mediaSession->playbackPermitted(*this);
     if (!success) {
@@ -3379,10 +3373,10 @@ void HTMLMediaElement::play()
 
 bool HTMLMediaElement::playInternal()
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::playInternal(%p)", this);
 
     if (!m_mediaSession->clientWillBeginPlayback()) {
-        ALWAYS_LOG(THIS, "  returning because of interruption");
+        LOG(Media, "  returning because of interruption");
         return true; // Treat as success because we will begin playback on cessation of the interruption.
     }
 
@@ -3451,7 +3445,7 @@ bool HTMLMediaElement::playInternal()
 
 void HTMLMediaElement::pause()
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::pause(%p)", this);
 
     m_temporarilyAllowingInlinePlaybackAfterFullscreen = false;
 
@@ -3467,10 +3461,10 @@ void HTMLMediaElement::pause()
 
 void HTMLMediaElement::pauseInternal()
 {
-    ALWAYS_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::pauseInternal(%p)", this);
 
     if (!m_mediaSession->clientWillPausePlayback()) {
-        ALWAYS_LOG(THIS, "  returning because of interruption");
+        LOG(Media, "  returning because of interruption");
         return;
     }
 
@@ -3524,7 +3518,7 @@ bool HTMLMediaElement::loop() const
 
 void HTMLMediaElement::setLoop(bool b)
 {
-    NOTICE_LOG(THIS, b);
+    LOG(Media, "HTMLMediaElement::setLoop(%p) - %s", this, boolString(b));
     setBooleanAttribute(loopAttr, b);
 }
 
@@ -3541,7 +3535,7 @@ bool HTMLMediaElement::controls() const
 
 void HTMLMediaElement::setControls(bool b)
 {
-    NOTICE_LOG(THIS, b);
+    LOG(Media, "HTMLMediaElement::setControls(%p) - %s", this, boolString(b));
     setBooleanAttribute(controlsAttr, b);
 }
 
@@ -3552,7 +3546,7 @@ double HTMLMediaElement::volume() const
 
 ExceptionOr<void> HTMLMediaElement::setVolume(double volume)
 {
-    NOTICE_LOG(THIS, volume);
+    LOG(Media, "HTMLMediaElement::setVolume(%p) - %f", this, volume);
 
     if (!(volume >= 0 && volume <= 1))
         return Exception { IndexSizeError };
@@ -3576,7 +3570,7 @@ bool HTMLMediaElement::muted() const
 
 void HTMLMediaElement::setMuted(bool muted)
 {
-    NOTICE_LOG(THIS, muted);
+    LOG(Media, "HTMLMediaElement::setMuted(%p) - %s", this, boolString(muted));
 
     bool mutedStateChanged = m_muted != muted;
     if (mutedStateChanged || !m_explicitlyMuted) {
@@ -3637,7 +3631,7 @@ void HTMLMediaElement::hardwareMutedStateDidChange(AudioSession* session)
 
 void HTMLMediaElement::togglePlayState()
 {
-    NOTICE_LOG(THIS, "canPlay() is ", canPlay());
+    LOG(Media, "HTMLMediaElement::togglePlayState(%p) - canPlay() is %s", this, boolString(canPlay()));
 
     // We can safely call the internal play/pause methods, which don't check restrictions, because
     // this method is only called from the built-in media controller
@@ -3650,7 +3644,7 @@ void HTMLMediaElement::togglePlayState()
 
 void HTMLMediaElement::beginScrubbing()
 {
-    NOTICE_LOG(THIS, "paused() is ", paused());
+    LOG(Media, "HTMLMediaElement::beginScrubbing(%p) - paused() is %s", this, boolString(paused()));
 
     if (!paused()) {
         if (ended()) {
@@ -3671,7 +3665,7 @@ void HTMLMediaElement::beginScrubbing()
 
 void HTMLMediaElement::endScrubbing()
 {
-    NOTICE_LOG(THIS, "m_pausedInternal is", m_pausedInternal);
+    LOG(Media, "HTMLMediaElement::endScrubbing(%p) - m_pausedInternal is %s", this, boolString(m_pausedInternal));
 
     if (m_pausedInternal)
         setPausedInternal(false);
@@ -4040,6 +4034,13 @@ void HTMLMediaElement::didRemoveTextTrack(HTMLTrackElement& trackElement)
 {
     ASSERT(trackElement.hasTagName(trackTag));
 
+#if !LOG_DISABLED
+    if (trackElement.hasTagName(trackTag)) {
+        URL url = trackElement.getNonEmptyURLAttribute(srcAttr);
+        LOG(Media, "HTMLMediaElement::didRemoveTrack(%p) - 'src' is %s", this, urlForLoggingMedia(url).utf8().data());
+    }
+#endif
+
     auto& textTrack = trackElement.track();
 
     textTrack.setHasBeenConfigured(false);
@@ -4060,6 +4061,8 @@ void HTMLMediaElement::configureTextTrackGroup(const TrackGroup& group)
 {
     ASSERT(group.tracks.size());
 
+    LOG(Media, "HTMLMediaElement::configureTextTrackGroup(%p)", this);
+
     Page* page = document().page();
     CaptionUserPreferences* captionPreferences = page ? &page->group().captionPreferences() : 0;
     CaptionUserPreferences::CaptionDisplayMode displayMode = captionPreferences ? captionPreferences->captionDisplayMode() : CaptionUserPreferences::Automatic;
@@ -4088,7 +4091,7 @@ void HTMLMediaElement::configureTextTrackGroup(const TrackGroup& group)
             currentlyEnabledTracks.append(textTrack);
 
         int trackScore = captionPreferences ? captionPreferences->textTrackSelectionScore(textTrack.get(), this) : 0;
-        NOTICE_LOG(THIS, "'", textTrack->kindKeyword(), "' track with language '", textTrack->language(), "' and BCP 47 language '", textTrack->validBCP47Language(), "' has score ", trackScore);
+        LOG(Media, "HTMLMediaElement::configureTextTrackGroup(%p) -  '%s' track with language '%s' and BCP 47 language '%s' has score %d", this, textTrack->kindKeyword().string().utf8().data(), textTrack->language().string().utf8().data(), textTrack->validBCP47Language().string().utf8().data(), trackScore);
 
         if (trackScore) {
 
@@ -4205,6 +4208,7 @@ void HTMLMediaElement::ensureMediaControlsShadowRoot()
 
 void HTMLMediaElement::updateCaptionContainer()
 {
+    LOG(Media, "HTMLMediaElement::updateCaptionContainer(%p)", this);
 #if ENABLE(MEDIA_CONTROLS_SCRIPT)
     if (m_haveSetUpCaptionContainer)
         return;
@@ -4417,15 +4421,18 @@ bool HTMLMediaElement::havePotentialSourceChild()
 URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* keySystem, InvalidURLAction actionIfInvalid)
 {
     UNUSED_PARAM(keySystem);
-
+#if !LOG_DISABLED
     // Don't log if this was just called to find out if there are any valid <source> elements.
-    bool shouldLog = willLog(WTFLogLevelDebug) && actionIfInvalid != DoNothing;
+    bool shouldLog = actionIfInvalid != DoNothing;
     if (shouldLog)
-        NOTICE_LOG(THIS);
+        LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p)", this);
+#endif
 
     if (!m_nextChildNodeToConsider) {
+#if !LOG_DISABLED
         if (shouldLog)
-            NOTICE_LOG(THIS, "end of list, stopping");
+            LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - end of list, stopping", this);
+#endif
         return URL();
     }
 
@@ -4444,14 +4451,18 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
         // If candidate does not have a src attribute, or if its src attribute's value is the empty string ... jump down to the failed step below
         auto mediaURL = source->getNonEmptyURLAttribute(srcAttr);
         String type;
+#if !LOG_DISABLED
         if (shouldLog)
-            NOTICE_LOG(THIS, "'src' is ", mediaURL);
+            LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - 'src' is %s", this, urlForLoggingMedia(mediaURL).utf8().data());
+#endif
         if (mediaURL.isEmpty())
             goto CheckAgain;
 
         if (auto* media = source->parsedMediaAttribute()) {
+#if !LOG_DISABLED
             if (shouldLog)
-                NOTICE_LOG(THIS, "'media' is ", source->attributeWithoutSynchronization(mediaAttr));
+                LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - 'media' is %s", this, source->attributeWithoutSynchronization(mediaAttr).string().utf8().data());
+#endif
             auto* renderer = this->renderer();
             LOG(MediaQueries, "HTMLMediaElement %p selectNextSourceChild evaluating media queries", this);
             if (!MediaQueryEvaluator { "screen", document(), renderer ? &renderer->style() : nullptr }.evaluate(*media))
@@ -4462,8 +4473,10 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
         if (type.isEmpty() && mediaURL.protocolIsData())
             type = mimeTypeFromDataURL(mediaURL);
         if (!type.isEmpty()) {
+#if !LOG_DISABLED
             if (shouldLog)
-                NOTICE_LOG(THIS, "'type' is ", type);
+                LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - 'type' is '%s'", this, type.utf8().data());
+#endif
             MediaEngineSupportParameters parameters;
             parameters.type = ContentType(type);
             parameters.url = mediaURL;
@@ -4486,7 +4499,7 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
 
         // A 'beforeload' event handler can mutate the DOM, so check to see if the source element is still a child node.
         if (source->parentNode() != this) {
-            NOTICE_LOG(THIS, "'beforeload' removed current element");
+            LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - 'beforeload' removed current element", this);
             continue;
         }
 
@@ -4496,8 +4509,10 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
         m_nextChildNodeToConsider = Traversal<HTMLSourceElement>::nextSkippingChildren(source);
         m_currentSourceNode = WTFMove(source);
 
+#if !LOG_DISABLED
         if (shouldLog)
-            NOTICE_LOG(THIS, " = ", mediaURL);
+            LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) -> %p, %s", this, m_currentSourceNode.get(), urlForLoggingMedia(mediaURL).utf8().data());
+#endif
 
         return mediaURL;
 
@@ -4511,17 +4526,21 @@ CheckAgain:
 
 #if !LOG_DISABLED
     if (shouldLog)
-        NOTICE_LOG(THIS, "failed");
+        LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) -> %p, failed", this, m_currentSourceNode.get());
 #endif
     return URL();
 }
 
 void HTMLMediaElement::sourceWasAdded(HTMLSourceElement& source)
 {
-    if (willLog(WTFLogLevelNotice) && source.hasTagName(sourceTag)) {
+    LOG(Media, "HTMLMediaElement::sourceWasAdded(%p) - %p", this, &source);
+
+#if !LOG_DISABLED
+    if (source.hasTagName(sourceTag)) {
         URL url = source.getNonEmptyURLAttribute(srcAttr);
-        NOTICE_LOG(THIS, "'src' is ", url);
+        LOG(Media, "HTMLMediaElement::sourceWasAdded(%p) - 'src' is %s", this, urlForLoggingMedia(url).utf8().data());
     }
+#endif
 
     // We should only consider a <source> element when there is not src attribute at all.
     if (hasAttributeWithoutSynchronization(srcAttr))
@@ -4540,7 +4559,7 @@ void HTMLMediaElement::sourceWasAdded(HTMLSourceElement& source)
     }
 
     if (m_currentSourceNode && &source == Traversal<HTMLSourceElement>::nextSibling(*m_currentSourceNode)) {
-        NOTICE_LOG(THIS, "<source> inserted immediately after current source");
+        LOG(Media, "HTMLMediaElement::sourceWasAdded(%p) - <source> inserted immediately after current source", this);
         m_nextChildNodeToConsider = &source;
         return;
     }
@@ -4565,29 +4584,33 @@ void HTMLMediaElement::sourceWasAdded(HTMLSourceElement& source)
 
 void HTMLMediaElement::sourceWasRemoved(HTMLSourceElement& source)
 {
-    if (willLog(WTFLogLevelNotice) && source.hasTagName(sourceTag)) {
+    LOG(Media, "HTMLMediaElement::sourceWasRemoved(%p) - %p", this, &source);
+
+#if !LOG_DISABLED
+    if (source.hasTagName(sourceTag)) {
         URL url = source.getNonEmptyURLAttribute(srcAttr);
-        NOTICE_LOG(THIS, "'src' is ", url);
+        LOG(Media, "HTMLMediaElement::sourceWasRemoved(%p) - 'src' is %s", this, urlForLoggingMedia(url).utf8().data());
     }
+#endif
 
     if (&source != m_currentSourceNode && &source != m_nextChildNodeToConsider)
         return;
 
     if (&source == m_nextChildNodeToConsider) {
         m_nextChildNodeToConsider = m_currentSourceNode ? Traversal<HTMLSourceElement>::nextSibling(*m_currentSourceNode) : nullptr;
-        NOTICE_LOG(THIS);
+        LOG(Media, "HTMLMediaElement::sourceRemoved(%p) - m_nextChildNodeToConsider set to %p", this, m_nextChildNodeToConsider.get());
     } else if (&source == m_currentSourceNode) {
         // Clear the current source node pointer, but don't change the movie as the spec says:
         // 4.8.8 - Dynamically modifying a source element and its attribute when the element is already
         // inserted in a video or audio element will have no effect.
         m_currentSourceNode = nullptr;
-        NOTICE_LOG(THIS, "m_currentSourceNode set to 0");
+        LOG(Media, "HTMLMediaElement::sourceRemoved(%p) - m_currentSourceNode set to 0", this);
     }
 }
 
 void HTMLMediaElement::mediaPlayerTimeChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerTimeChanged(%p)", this);
 
 #if ENABLE(VIDEO_TRACK)
     updateActiveTextTrackCues(currentMediaTime());
@@ -4715,7 +4738,7 @@ void HTMLMediaElement::seekToPlaybackPositionEndedTimerFired()
 
 void HTMLMediaElement::mediaPlayerVolumeChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerVolumeChanged(%p)", this);
 
     beginProcessingMediaPlayerCallback();
     if (m_player) {
@@ -4731,7 +4754,7 @@ void HTMLMediaElement::mediaPlayerVolumeChanged(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerMuteChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerMuteChanged(%p)", this);
 
     beginProcessingMediaPlayerCallback();
     if (m_player)
@@ -4741,7 +4764,7 @@ void HTMLMediaElement::mediaPlayerMuteChanged(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerDurationChanged(MediaPlayer* player)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerDurationChanged(%p)", this);
 
     beginProcessingMediaPlayerCallback();
 
@@ -4764,7 +4787,7 @@ void HTMLMediaElement::mediaPlayerRateChanged(MediaPlayer*)
     // using (eg. it can't handle the rate we set)
     m_reportedPlaybackRate = m_player->rate();
 
-    NOTICE_LOG(THIS, "rate: ", m_reportedPlaybackRate);
+    LOG(Media, "HTMLMediaElement::mediaPlayerRateChanged(%p) - rate: %lf", this, m_reportedPlaybackRate);
 
     if (m_playing)
         invalidateCachedTime();
@@ -4776,7 +4799,7 @@ void HTMLMediaElement::mediaPlayerRateChanged(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerPlaybackStateChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerPlaybackStateChanged(%p)", this);
 
     if (!m_player || m_pausedInternal)
         return;
@@ -4791,7 +4814,7 @@ void HTMLMediaElement::mediaPlayerPlaybackStateChanged(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerSawUnsupportedTracks(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerSawUnsupportedTracks(%p)", this);
 
     // The MediaPlayer came across content it cannot completely handle.
     // This is normally acceptable except when we are in a standalone
@@ -4802,7 +4825,7 @@ void HTMLMediaElement::mediaPlayerSawUnsupportedTracks(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerResourceNotSupported(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerResourceNotSupported(%p)", this);
 
     // The MediaPlayer came across content which no installed engine supports.
     mediaLoadingFailed(MediaPlayer::FormatError);
@@ -4820,7 +4843,7 @@ void HTMLMediaElement::mediaPlayerRepaint(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerSizeChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerSizeChanged(%p)", this);
 
     if (is<MediaDocument>(document()) && m_player)
         downcast<MediaDocument>(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player->naturalSize()));
@@ -4841,7 +4864,7 @@ bool HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerRenderingModeChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerRenderingModeChanged(%p)", this);
 
     // Kick off a fake recalcStyle that will update the compositing tree.
     invalidateStyleAndLayerComposition();
@@ -4866,7 +4889,7 @@ GraphicsDeviceAdapter* HTMLMediaElement::mediaPlayerGraphicsDeviceAdapter(const
 
 void HTMLMediaElement::mediaEngineWasUpdated()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaEngineWasUpdated(%p)", this);
     beginProcessingMediaPlayerCallback();
     updateRenderer();
     endProcessingMediaPlayerCallback();
@@ -4896,7 +4919,7 @@ void HTMLMediaElement::mediaEngineWasUpdated()
 
 void HTMLMediaElement::mediaPlayerEngineUpdated(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerEngineUpdated(%p)", this);
 
 #if ENABLE(MEDIA_SOURCE)
     m_droppedVideoFrames = 0;
@@ -4909,7 +4932,7 @@ void HTMLMediaElement::mediaPlayerEngineUpdated(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable(MediaPlayer*)
 {
-    NOTICE_LOG(THIS, "current display mode = ", (int)displayMode());
+    LOG(Media, "HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable(%p) - current display mode = %i", this, (int)displayMode());
 
     beginProcessingMediaPlayerCallback();
     if (displayMode() == PosterWaitingForVideo) {
@@ -4921,7 +4944,7 @@ void HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable(MediaPlayer*)
 
 void HTMLMediaElement::mediaPlayerCharacteristicChanged(MediaPlayer*)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaPlayerCharacteristicChanged(%p)", this);
 
     beginProcessingMediaPlayerCallback();
 
@@ -5171,7 +5194,7 @@ void HTMLMediaElement::updatePlayState(UpdateState updateState)
     bool shouldBePlaying = potentiallyPlaying();
     bool playerPaused = m_player->paused();
 
-    NOTICE_LOG(THIS, "shouldBePlaying = ", shouldBePlaying, " playerPaused = ", playerPaused);
+    LOG(Media, "HTMLMediaElement::updatePlayState(%p) - shouldBePlaying = %s, playerPaused = %s", this, boolString(shouldBePlaying), boolString(playerPaused));
 
     if (shouldBePlaying) {
         scheduleUpdatePlaybackControlsManager();
@@ -5267,7 +5290,7 @@ void HTMLMediaElement::stopPeriodicTimers()
 
 void HTMLMediaElement::userCancelledLoad()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::userCancelledLoad(%p)", this);
 
     // FIXME: We should look to reconcile the iOS and non-iOS code (below).
 #if PLATFORM(IOS)
@@ -5320,7 +5343,7 @@ void HTMLMediaElement::userCancelledLoad()
 
 void HTMLMediaElement::clearMediaPlayer(DelayedActionType flags)
 {
-    NOTICE_LOG(THIS, "flags = ", actionName(flags));
+    LOG(Media, "HTMLMediaElement::clearMediaPlayer(%p) - flags = %s", this, actionName(flags).utf8().data());
 
 #if ENABLE(MEDIA_STREAM)
     if (!m_settingMediaStreamSrcObject)
@@ -5395,7 +5418,7 @@ const char* HTMLMediaElement::activeDOMObjectName() const
 
 void HTMLMediaElement::stopWithoutDestroyingMediaPlayer()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::stopWithoutDestroyingMediaPlayer(%p)", this);
 
     if (m_videoFullscreenMode != VideoFullscreenModeNone)
         exitFullscreen();
@@ -5439,7 +5462,7 @@ void HTMLMediaElement::contextDestroyed()
 
 void HTMLMediaElement::stop()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::stop(%p)", this);
 
     Ref<HTMLMediaElement> protectedThis(*this);
     stopWithoutDestroyingMediaPlayer();
@@ -5459,7 +5482,7 @@ void HTMLMediaElement::stop()
 
 void HTMLMediaElement::suspend(ReasonForSuspension why)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::suspend(%p)", this);
     Ref<HTMLMediaElement> protectedThis(*this);
 
     switch (why)
@@ -5480,7 +5503,7 @@ void HTMLMediaElement::suspend(ReasonForSuspension why)
 
 void HTMLMediaElement::resume()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::resume(%p)", this);
 
     m_inActiveDocument = true;
 
@@ -5514,14 +5537,14 @@ bool HTMLMediaElement::hasPendingActivity() const
 
 void HTMLMediaElement::mediaVolumeDidChange()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::mediaVolumeDidChange(%p)", this);
     updateVolume();
 }
 
 void HTMLMediaElement::visibilityStateChanged()
 {
     m_elementIsHidden = document().hidden() && m_videoFullscreenMode != VideoFullscreenModePictureInPicture;
-    NOTICE_LOG(THIS, "visible = ", !m_elementIsHidden);
+    LOG(Media, "HTMLMediaElement::visibilityStateChanged(%p) - visible = %s", this, boolString(!m_elementIsHidden));
     updateSleepDisabling();
     m_mediaSession->visibilityChanged();
     if (m_player)
@@ -5530,10 +5553,10 @@ void HTMLMediaElement::visibilityStateChanged()
     bool isPlayingAudio = isPlaying() && hasAudio() && !muted() && volume();
     if (!isPlayingAudio) {
         if (m_elementIsHidden) {
-            ALWAYS_LOG(THIS, "visibilityStateChanged() Suspending playback after going to the background");
+            RELEASE_LOG_IF_ALLOWED("visibilityStateChanged() Suspending playback after going to the background");
             m_mediaSession->beginInterruption(PlatformMediaSession::EnteringBackground);
         } else {
-            ALWAYS_LOG(THIS, "visibilityStateChanged() Resuming playback after entering foreground");
+            RELEASE_LOG_IF_ALLOWED("visibilityStateChanged() Resuming playback after entering foreground");
             m_mediaSession->endInterruption(PlatformMediaSession::MayResumePlaying);
         }
     }
@@ -5561,7 +5584,7 @@ void HTMLMediaElement::syncTextTrackBounds()
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
 void HTMLMediaElement::webkitShowPlaybackTargetPicker()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::webkitShowPlaybackTargetPicker(%p)", this);
     if (processingUserGestureForMedia())
         removeBehaviorsRestrictionsAfterFirstUserGesture();
     m_mediaSession->showPlaybackTargetPicker(*this);
@@ -5581,7 +5604,7 @@ void HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged(MediaPl
 {
     m_isPlayingToWirelessTarget = m_player && m_player->isCurrentPlaybackTargetWireless();
 
-    NOTICE_LOG(THIS, "webkitCurrentPlaybackTargetIsWireless = ", m_isPlayingToWirelessTarget);
+    LOG(Media, "HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged(%p) - webkitCurrentPlaybackTargetIsWireless = %s", this, boolString(m_isPlayingToWirelessTarget));
     ASSERT(m_player);
     configureMediaControls();
     scheduleEvent(eventNames().webkitcurrentplaybacktargetiswirelesschangedEvent);
@@ -5597,9 +5620,6 @@ bool HTMLMediaElement::dispatchEvent(Event& event)
         m_failedToPlayToWirelessTarget = false;
         scheduleDelayedAction(CheckPlaybackTargetCompatablity);
     }
-
-    DEBUG_LOG(THIS, "dispatching '", event.type(), "'");
-
     return HTMLElement::dispatchEvent(event);
 }
 
@@ -5617,7 +5637,7 @@ bool HTMLMediaElement::addEventListener(const AtomicString& eventType, Ref<Event
         m_mediaSession->setHasPlaybackTargetAvailabilityListeners(*this, true);
     }
 
-    NOTICE_LOG(THIS, "'webkitplaybacktargetavailabilitychanged'");
+    LOG(Media, "HTMLMediaElement::addEventListener(%p) - 'webkitplaybacktargetavailabilitychanged'", this);
 
     enqueuePlaybackTargetAvailabilityChangedEvent(); // Ensure the event listener gets at least one event.
     return true;
@@ -5632,7 +5652,7 @@ bool HTMLMediaElement::removeEventListener(const AtomicString& eventType, EventL
         return false;
 
     bool didRemoveLastAvailabilityChangedListener = !hasEventListeners(eventNames().webkitplaybacktargetavailabilitychangedEvent);
-    NOTICE_LOG(THIS, "removed last listener = ", didRemoveLastAvailabilityChangedListener);
+    LOG(Media, "HTMLMediaElement::removeEventListener(%p) - removed last listener = %s", this, boolString(didRemoveLastAvailabilityChangedListener));
     if (didRemoveLastAvailabilityChangedListener) {
         m_hasPlaybackTargetAvailabilityListeners = false;
         m_mediaSession->setHasPlaybackTargetAvailabilityListeners(*this, false);
@@ -5645,7 +5665,7 @@ bool HTMLMediaElement::removeEventListener(const AtomicString& eventType, EventL
 void HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent()
 {
     bool hasTargets = m_mediaSession->hasWirelessPlaybackTargets(*this);
-    NOTICE_LOG(THIS, "hasTargets = ", hasTargets);
+    LOG(Media, "HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent(%p) - hasTargets = %s", this, boolString(hasTargets));
     auto event = WebKitPlaybackTargetAvailabilityEvent::create(eventNames().webkitplaybacktargetavailabilitychangedEvent, hasTargets);
     event->setTarget(this);
     m_asyncEventQueue.enqueueEvent(WTFMove(event));
@@ -5654,7 +5674,7 @@ void HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent()
 
 void HTMLMediaElement::setWirelessPlaybackTarget(Ref<MediaPlaybackTarget>&& device)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::setWirelessPlaybackTarget(%p)", this);
     if (m_player)
         m_player->setWirelessPlaybackTarget(WTFMove(device));
 }
@@ -5663,7 +5683,7 @@ bool HTMLMediaElement::canPlayToWirelessPlaybackTarget() const
 {
     bool canPlay = m_player && m_player->canPlayToWirelessPlaybackTarget();
 
-    NOTICE_LOG(THIS, "returning ", canPlay);
+    LOG(Media, "HTMLMediaElement::canPlayToWirelessPlaybackTarget(%p) - returning %s", this, boolString(canPlay));
 
     return canPlay;
 }
@@ -5675,7 +5695,7 @@ bool HTMLMediaElement::isPlayingToWirelessPlaybackTarget() const
 
 void HTMLMediaElement::setShouldPlayToPlaybackTarget(bool shouldPlay)
 {
-    NOTICE_LOG(THIS, "shouldPlay = ", shouldPlay);
+    LOG(Media, "HTMLMediaElement::setShouldPlayToPlaybackTarget(%p) - shouldPlay = %s", this, boolString(shouldPlay));
 
     if (m_player)
         m_player->setShouldPlayToPlaybackTarget(shouldPlay);
@@ -5724,6 +5744,8 @@ bool HTMLMediaElement::isStandardFullscreen() const
 
 void HTMLMediaElement::toggleStandardFullscreenState()
 {
+    LOG(Media, "HTMLMediaElement::toggleStandardFullscreenState(%p) - isStandardFullscreen() is %s", this, boolString(isStandardFullscreen()));
+
     if (isStandardFullscreen())
         exitFullscreen();
     else
@@ -5732,7 +5754,7 @@ void HTMLMediaElement::toggleStandardFullscreenState()
 
 void HTMLMediaElement::enterFullscreen(VideoFullscreenMode mode)
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::enterFullscreen(%p)", this);
     ASSERT(mode != VideoFullscreenModeNone);
 
     if (m_videoFullscreenMode == mode)
@@ -5777,7 +5799,7 @@ void HTMLMediaElement::enterFullscreen()
 
 void HTMLMediaElement::exitFullscreen()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::exitFullscreen(%p)", this);
 
 #if ENABLE(FULLSCREEN_API)
     if (document().settings().fullScreenEnabled() && document().webkitCurrentFullScreenElement() == this) {
@@ -5983,7 +6005,7 @@ void HTMLMediaElement::updateTextTrackDisplay()
 
 void HTMLMediaElement::setClosedCaptionsVisible(bool closedCaptionVisible)
 {
-    NOTICE_LOG(THIS, closedCaptionVisible);
+    LOG(Media, "HTMLMediaElement::setClosedCaptionsVisible(%p) - %s", this, boolString(closedCaptionVisible));
 
     m_closedCaptionsVisible = false;
 
@@ -6038,7 +6060,8 @@ unsigned HTMLMediaElement::webkitVideoDecodedByteCount() const
 void HTMLMediaElement::mediaCanStart(Document& document)
 {
     ASSERT_UNUSED(document, &document == &this->document());
-    NOTICE_LOG(THIS, "m_isWaitingUntilMediaCanStart = ", m_isWaitingUntilMediaCanStart, ", m_pausedInternal = ", m_pausedInternal);
+    LOG(Media, "HTMLMediaElement::mediaCanStart(%p) - m_isWaitingUntilMediaCanStart = %s, m_pausedInternal = %s",
+        this, boolString(m_isWaitingUntilMediaCanStart), boolString(m_pausedInternal) );
 
     ASSERT(m_isWaitingUntilMediaCanStart || m_pausedInternal);
     if (m_isWaitingUntilMediaCanStart) {
@@ -6059,7 +6082,7 @@ void HTMLMediaElement::setShouldDelayLoadEvent(bool shouldDelay)
     if (m_shouldDelayLoadEvent == shouldDelay)
         return;
 
-    NOTICE_LOG(THIS, shouldDelay);
+    LOG(Media, "HTMLMediaElement::setShouldDelayLoadEvent(%p) - %s", this, boolString(shouldDelay));
 
     m_shouldDelayLoadEvent = shouldDelay;
     if (shouldDelay)
@@ -6110,6 +6133,7 @@ void HTMLMediaElement::privateBrowsingStateDidChange()
         return;
 
     bool privateMode = document().page() && document().page()->usesEphemeralSession();
+    LOG(Media, "HTMLMediaElement::privateBrowsingStateDidChange(%p) - %s", this, boolString(privateMode));
     m_player->setPrivateBrowsingMode(privateMode);
 }
 
@@ -6291,7 +6315,7 @@ void HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured(ReconfigureMod
     if (!m_textTracks)
         return;
 
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured(%p)", this);
 
     // Mark all tracks as not "configured" so that configureTextTracks()
     // will reconsider which tracks to display in light of new user preferences
@@ -6317,7 +6341,7 @@ void HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured(ReconfigureMod
 
 void HTMLMediaElement::createMediaPlayer()
 {
-    NOTICE_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::createMediaPlayer(%p)", this);
 
 #if ENABLE(WEB_AUDIO)
     if (m_audioSourceNode)
@@ -6923,7 +6947,7 @@ DOMWrapperWorld& HTMLMediaElement::ensureIsolatedWorld()
 
 bool HTMLMediaElement::ensureMediaControlsInjectedScript()
 {
-    DEBUG_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::ensureMediaControlsInjectedScript(%p)", this);
     Page* page = document().page();
     if (!page)
         return false;
@@ -7000,7 +7024,7 @@ void HTMLMediaElement::setControllerJSProperty(const char* propertyName, JSC::JS
 
 void HTMLMediaElement::didAddUserAgentShadowRoot(ShadowRoot* root)
 {
-    DEBUG_LOG(THIS);
+    LOG(Media, "HTMLMediaElement::didAddUserAgentShadowRoot(%p)", this);
 
     Page* page = document().page();
     if (!page)
@@ -7083,10 +7107,10 @@ void HTMLMediaElement::didAddUserAgentShadowRoot(ShadowRoot* root)
 
 void HTMLMediaElement::setMediaControlsDependOnPageScaleFactor(bool dependsOnPageScale)
 {
-    DEBUG_LOG(THIS, "MediaElement::setMediaControlsDependPageScaleFactor", dependsOnPageScale);
+    LOG(Media, "MediaElement::setMediaControlsDependPageScaleFactor(%p) = %s", this, boolString(dependsOnPageScale));
 
     if (document().settings().mediaControlsScaleWithPageZoom()) {
-        DEBUG_LOG(THIS, "MediaElement::setMediaControlsDependPageScaleFactor", "forced to false by Settings value");
+        LOG(Media, "MediaElement::setMediaControlsDependPageScaleFactor(%p) forced to false by Settings value", this);
         m_mediaControlsDependOnPageScaleFactor = false;
         return;
     }
@@ -7267,14 +7291,14 @@ size_t HTMLMediaElement::maximumSourceBufferSize(const SourceBuffer& buffer) con
 
 void HTMLMediaElement::suspendPlayback()
 {
-    NOTICE_LOG(THIS, "paused = ", paused());
+    LOG(Media, "HTMLMediaElement::suspendPlayback(%p) - paused = %s", this, boolString(paused()));
     if (!paused())
         pause();
 }
 
 void HTMLMediaElement::resumeAutoplaying()
 {
-    NOTICE_LOG(THIS, "paused = ", paused());
+    LOG(Media, "HTMLMediaElement::resumeAutoplaying(%p) - paused = %s", this, boolString(paused()));
     m_autoplaying = true;
 
     if (canTransitionFromAutoplayToPlay())
@@ -7283,7 +7307,7 @@ void HTMLMediaElement::resumeAutoplaying()
 
 void HTMLMediaElement::mayResumePlayback(bool shouldResume)
 {
-    NOTICE_LOG(THIS, "paused = ", paused());
+    LOG(Media, "HTMLMediaElement::mayResumePlayback(%p) - paused = %s", this, boolString(paused()));
     if (paused() && shouldResume)
         play();
 }
@@ -7298,7 +7322,7 @@ String HTMLMediaElement::mediaSessionTitle() const
 
 void HTMLMediaElement::didReceiveRemoteControlCommand(PlatformMediaSession::RemoteControlCommandType command, const PlatformMediaSession::RemoteCommandArgument* argument)
 {
-    NOTICE_LOG(THIS, static_cast<int>(command));
+    LOG(Media, "HTMLMediaElement::didReceiveRemoteControlCommand(%p) - %i", this, static_cast<int>(command));
 
     UserGestureIndicator remoteControlUserGesture(ProcessingUserGesture, &document());
     switch (command) {
@@ -7351,7 +7375,7 @@ bool HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction(PlatformMedia
     if (type == PlatformMediaSession::EnteringBackground) {
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
         if (m_isPlayingToWirelessTarget) {
-            NOTICE_LOG(THIS, "returning true because m_isPlayingToWirelessTarget is true");
+            LOG(Media, "HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction(%p) - returning true because m_isPlayingToWirelessTarget is true", this);
             return true;
         }
 #endif
@@ -7364,7 +7388,7 @@ bool HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction(PlatformMedia
     } else if (type == PlatformMediaSession::SuspendedUnderLock) {
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
         if (m_isPlayingToWirelessTarget) {
-            NOTICE_LOG(THIS, "returning true because m_isPlayingToWirelessTarget is true");
+            LOG(Media, "HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction(%p) - returning true because m_isPlayingToWirelessTarget is true", this);
             return true;
         }
 #endif
@@ -7525,14 +7549,13 @@ void HTMLMediaElement::purgeBufferedDataIfPossible()
         return;
 
     if (m_isPlayingToWirelessTarget) {
-        NOTICE_LOG(THIS, "early return because playing to wireless target");
+        LOG(Media, "HTMLMediaElement::purgeBufferedDataIfPossible(%p) - early return because m_isPlayingToWirelessTarget is true", this);
         return;
     }
 
     // This is called to relieve memory pressure. Turning off buffering causes the media playback
     // daemon to release memory associated with queued-up video frames.
     // We turn it back on right away, but new frames won't get loaded unless playback is resumed.
-    NOTICE_LOG(THIS, "toggling data buffering");
     setShouldBufferData(false);
     setShouldBufferData(true);
 #endif
@@ -7732,23 +7755,6 @@ void HTMLMediaElement::fullscreenModeChanged(VideoFullscreenMode mode)
     scheduleUpdatePlaybackControlsManager();
 }
 
-#if !RELEASE_LOG_DISABLED
-WTFLogChannel& HTMLMediaElement::logChannel() const
-{
-    return LogMedia;
-}
-#endif
-
-bool HTMLMediaElement::willLog(WTFLogLevel level) const
-{
-#if !RELEASE_LOG_DISABLED
-    return m_logger->willLog(logChannel(), level);
-#else
-    UNUSED_PARAM(level);
-    return false;
-#endif
-}
-
 }
 
 #endif
index 1b10130..6b60629 100644 (file)
@@ -38,7 +38,6 @@
 #include "MediaElementSession.h"
 #include "MediaProducer.h"
 #include "VisibilityChangeClient.h"
-#include <pal/LoggerHelper.h>
 #include <wtf/Function.h>
 #include <wtf/WeakPtr.h>
 
@@ -65,7 +64,6 @@
 #endif
 
 namespace PAL {
-class Logger;
 class SleepDisabler;
 }
 
@@ -140,9 +138,6 @@ class HTMLMediaElement
 #if ENABLE(ENCRYPTED_MEDIA)
     , private CDMClient
 #endif
-#if !RELEASE_LOG_DISABLED
-    , private PAL::LoggerHelper
-#endif
 {
 public:
     WeakPtr<HTMLMediaElement> createWeakPtr() { return m_weakFactory.createWeakPtr(); }
@@ -894,14 +889,6 @@ private:
     void handleSeekToPlaybackPosition(double);
     void seekToPlaybackPositionEndedTimerFired();
 
-#if !RELEASE_LOG_DISABLED
-    const PAL::Logger& logger() const final { return *m_logger.get(); }
-    const char* className() const final { return "HTMLMediaElement"; }
-    WTFLogChannel& logChannel() const final;
-#endif
-
-    bool willLog(WTFLogLevel) const;
-
     WeakPtrFactory<HTMLMediaElement> m_weakFactory;
     Timer m_pendingActionTimer;
     Timer m_progressEventTimer;
@@ -1119,10 +1106,6 @@ private:
     std::unique_ptr<MediaElementSession> m_mediaSession;
     size_t m_reportedExtraMemoryCost { 0 };
 
-#if !RELEASE_LOG_DISABLED
-    RefPtr<PAL::Logger> m_logger;
-#endif
-
 #if ENABLE(MEDIA_CONTROLS_SCRIPT)
     friend class MediaControlsHost;
     RefPtr<MediaControlsHost> m_mediaControlsHost;
index 1814676..63b12eb 100644 (file)
@@ -1,3 +1,21 @@
+2017-09-04  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r221494 and r221500.
+        https://bugs.webkit.org/show_bug.cgi?id=176258
+
+        This caused the windows build to fail. (Requested by mlewis13
+        on #webkit).
+
+        Reverted changesets:
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221494
+
+        "Switch HTMLMediaElement to release logging"
+        https://bugs.webkit.org/show_bug.cgi?id=176065
+        http://trac.webkit.org/changeset/221500
+
 2017-09-03  Darin Adler  <darin@apple.com>
 
         REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
index fb7d116..c3e053a 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "WTFStringUtilities.h"
 #include <pal/Logger.h>
-#include <pal/LoggerHelper.h>
 #include <wtf/Assertions.h>
 #include <wtf/MainThread.h>
 
@@ -56,7 +55,7 @@ static const size_t logChannelCount = sizeof(testLogChannels) / sizeof(testLogCh
 
 namespace TestWebKitAPI {
 
-class LoggingTest : public testing::Test, public LoggerHelper {
+class LoggingTest : public testing::Test, public LogHelper {
 public:
     LoggingTest()
         : m_logger { Logger::create(this) }
@@ -336,7 +335,7 @@ TEST_F(LoggingTest, Logger)
     EXPECT_TRUE(output().contains("String and const String", false));
 }
 
-TEST_F(LoggingTest, LoggerHelper)
+TEST_F(LoggingTest, LogHelper)
 {
     EXPECT_TRUE(logger().enabled());
 
@@ -346,29 +345,30 @@ TEST_F(LoggingTest, LoggerHelper)
     builder.appendLiteral(")");
     String signature = builder.toString();
 
-    ALWAYS_LOG(THIS);
+    ALWAYS_LOG();
     EXPECT_TRUE(this->output().contains(signature, false));
 
-    ALWAYS_LOG(THIS, "Welcome back", " my friends", " to the show", " that never ends");
+    ALWAYS_LOG("Welcome back", " my friends", " to the show", " that never ends");
     String result = this->output();
     EXPECT_TRUE(result.contains(signature, false));
     EXPECT_TRUE(result.contains("to the show that never", false));
 
     WTFSetLogChannelLevel(&TestChannel1, WTFLogLevelWarning);
+    EXPECT_TRUE(willLog(WTFLogLevelWarning));
 
-    ERROR_LOG(THIS, "We're so glad you could attend");
+    ERROR_LOG("We're so glad you could attend");
     EXPECT_TRUE(output().contains("We're so glad you could attend", false));
 
-    WARNING_LOG(THIS, "Come inside! ", "Come inside!");
+    WARNING_LOG("Come inside! ", "Come inside!");
     EXPECT_TRUE(output().contains("Come inside! Come inside!", false));
 
-    NOTICE_LOG(THIS, "There behind a glass is a real blade of grass");
+    NOTICE_LOG("There behind a glass is a real blade of grass");
     EXPECT_EQ(0u, output().length());
 
-    INFO_LOG(THIS, "be careful as you pass.");
+    INFO_LOG("be careful as you pass.");
     EXPECT_EQ(0u, output().length());
 
-    DEBUG_LOG(THIS, "Move along! Move along!");
+    DEBUG_LOG("Move along! Move along!");
     EXPECT_EQ(0u, output().length());
 }
 
@@ -385,22 +385,18 @@ public:
     }
 
     WTFLogChannel channel() const { return m_lastChannel; }
-    WTFLogLevel level() const { return m_lastLevel; }
 
 private:
-    void didLogMessage(const WTFLogChannel& channel, WTFLogLevel level, const String& logMessage) final
+    void didLogMessage(const WTFLogChannel& channel, const String& logMessage) final
     {
         m_logBuffer.append(logMessage);
         m_lastChannel = channel;
-        m_lastLevel = level;
     }
 
     StringBuilder m_logBuffer;
     WTFLogChannel m_lastChannel;
-    WTFLogLevel m_lastLevel { WTFLogLevelError };
 };
 
-#if !RELEASE_LOG_DISABLED
 TEST_F(LoggingTest, LogObserver)
 {
     LogObserver observer;
@@ -408,18 +404,16 @@ TEST_F(LoggingTest, LogObserver)
     EXPECT_TRUE(logger().enabled());
 
     logger().addObserver(observer);
-    ALWAYS_LOG(THIS, "testing 1, 2, 3");
+    ALWAYS_LOG("testing 1, 2, 3");
     EXPECT_TRUE(this->output().contains("testing 1, 2, 3", false));
     EXPECT_TRUE(observer.log().contains("testing 1, 2, 3", false));
     EXPECT_STREQ(observer.channel().name, logChannel().name);
-    EXPECT_EQ(static_cast<int>(WTFLogLevelAlways), static_cast<int>(observer.level()));
 
     logger().removeObserver(observer);
     ALWAYS_LOG("testing ", 1, ", ", 2, ", 3");
     EXPECT_TRUE(this->output().contains("testing 1, 2, 3", false));
     EXPECT_EQ(0u, observer.log().length());
 }
-#endif
 
 #endif