diff --git a/src/dawn_native/ShaderModule.cpp b/src/dawn_native/ShaderModule.cpp
index 5db2d22..262b42a 100644
--- a/src/dawn_native/ShaderModule.cpp
+++ b/src/dawn_native/ShaderModule.cpp
@@ -1126,12 +1126,6 @@
             newWgslCode = std::move(result.wgsl);
             newWgslDesc.source = newWgslCode.c_str();
 
-            if (device->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
-                std::ostringstream dumpedMsg;
-                dumpedMsg << "// Dumped generated WGSL" << std::endl << newWgslCode;
-                device->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
-            }
-
             spirvDesc = nullptr;
             wgslDesc = &newWgslDesc;
         }
@@ -1155,6 +1149,12 @@
         } else if (wgslDesc) {
             auto tintSource = std::make_unique<TintSource>("", wgslDesc->source);
 
+            if (device->IsToggleEnabled(Toggle::DumpShaders)) {
+                std::ostringstream dumpedMsg;
+                dumpedMsg << "// Dumped WGSL:" << std::endl << wgslDesc->source;
+                device->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
+            }
+
             tint::Program program;
             DAWN_TRY_ASSIGN(program, ParseWGSL(&tintSource->file, outMessages));
 
diff --git a/src/dawn_native/Toggles.cpp b/src/dawn_native/Toggles.cpp
index 65da56b..195aa75 100644
--- a/src/dawn_native/Toggles.cpp
+++ b/src/dawn_native/Toggles.cpp
@@ -189,12 +189,15 @@
               "This is useful to prevent a Chromium renderer process from successfully sending"
               "SPIR-V code to be compiled in the GPU process.",
               "https://crbug.com/1214923"}},
-            {Toggle::DumpTranslatedShaders,
-             {"dump_translated_shaders",
-              "Dump generated shaders for debug propose, dumped shaders will be log via "
+            {Toggle::DumpShaders,
+             {"dump_shaders",
+              "Dump shaders for debugging purposes. Dumped shaders will be log via "
               "EmitLog, thus printed in Chrome console or consumed by user-defined callback "
               "function.",
               "https://crbug.com/dawn/792"}},
+            {Toggle::DEPRECATED_DumpTranslatedShaders,
+             {"dump_translated_shaders", "Deprecated. Use dump_shaders",
+              "https://crbug.com/dawn/792"}},
             {Toggle::ForceWGSLStep,
              {"force_wgsl_step",
               "When ingesting SPIR-V shaders, force a first conversion to WGSL. This allows "
@@ -206,12 +209,19 @@
     }  // anonymous namespace
 
     void TogglesSet::Set(Toggle toggle, bool enabled) {
+        if (toggle == Toggle::DEPRECATED_DumpTranslatedShaders) {
+            Set(Toggle::DumpShaders, enabled);
+            return;
+        }
         ASSERT(toggle != Toggle::InvalidEnum);
         const size_t toggleIndex = static_cast<size_t>(toggle);
         toggleBitset.set(toggleIndex, enabled);
     }
 
     bool TogglesSet::Has(Toggle toggle) const {
+        if (toggle == Toggle::DEPRECATED_DumpTranslatedShaders) {
+            return Has(Toggle::DumpShaders);
+        }
         ASSERT(toggle != Toggle::InvalidEnum);
         const size_t toggleIndex = static_cast<size_t>(toggle);
         return toggleBitset.test(toggleIndex);
diff --git a/src/dawn_native/Toggles.h b/src/dawn_native/Toggles.h
index 711f8d3..ade8e7a 100644
--- a/src/dawn_native/Toggles.h
+++ b/src/dawn_native/Toggles.h
@@ -53,7 +53,8 @@
         UseTempBufferInSmallFormatTextureToTextureCopyFromGreaterToLessMipLevel,
         EmitHLSLDebugSymbols,
         DisallowSpirv,
-        DumpTranslatedShaders,
+        DumpShaders,
+        DEPRECATED_DumpTranslatedShaders,  // Use DumpShaders
         ForceWGSLStep,
 
         EnumCount,
diff --git a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
index d8b742a..614cd71 100644
--- a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
+++ b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
@@ -395,7 +395,7 @@
             entryPointName = "main";
         }
 
-        if (device->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+        if (device->IsToggleEnabled(Toggle::DumpShaders)) {
             std::ostringstream dumpedMsg;
             dumpedMsg << "/* Dumped generated HLSL */" << std::endl << hlslSource;
             GetDevice()->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm
index d8afff5..439e783 100644
--- a/src/dawn_native/metal/ShaderModuleMTL.mm
+++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -310,7 +310,7 @@
 #endif
 )" + msl;
 
-        if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+        if (GetDevice()->IsToggleEnabled(Toggle::DumpShaders)) {
             std::ostringstream dumpedMsg;
             dumpedMsg << "/* Dumped generated MSL */" << std::endl << msl;
             GetDevice()->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
