--- a/addon-sdk/source/lib/dev/theme.js
+++ b/addon-sdk/source/lib/dev/theme.js
@@ -118,18 +118,18 @@ onDisable.define(Theme, (theme, {window,
theme.onDisable(window, newTheme);
}
});
// Support for built-in themes
const LightTheme = Theme({
name: "theme-light",
- styles: "chrome://devtools/skin/themes/light-theme.css",
+ styles: "chrome://devtools/skin/light-theme.css",
});
const DarkTheme = Theme({
name: "theme-dark",
- styles: "chrome://devtools/skin/themes/dark-theme.css",
+ styles: "chrome://devtools/skin/dark-theme.css",
});
exports.LightTheme = LightTheme;
exports.DarkTheme = DarkTheme;
--- a/b2g/config/aries/sources.xml
+++ b/b2g/config/aries/sources.xml
@@ -10,26 +10,26 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
<project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
<project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/>
--- a/b2g/config/dolphin/sources.xml
+++ b/b2g/config/dolphin/sources.xml
@@ -10,26 +10,26 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
<project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
<project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="83760d213fb3bec7b4117d266fcfbf6fe2ba14ab"/>
--- a/b2g/config/emulator-ics/sources.xml
+++ b/b2g/config/emulator-ics/sources.xml
@@ -14,17 +14,17 @@
<!--original fetch url was git://github.com/apitrace/-->
<remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
<default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/>
<!-- Gonk specific things and forks -->
<project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
- <project name="gaia.git" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia.git" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="4ace9aaee0e048dfda11bb787646c59982a3dc80"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c72c9278ddc2f442d193474993d36e7f2cfb08c4"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
--- a/b2g/config/emulator-jb/sources.xml
+++ b/b2g/config/emulator-jb/sources.xml
@@ -12,20 +12,20 @@
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="660169a3d7e034a892359e39135e8c2785a6ad6f">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/>
<project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/>
--- a/b2g/config/emulator-kk/sources.xml
+++ b/b2g/config/emulator-kk/sources.xml
@@ -10,25 +10,25 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/>
<project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/>
<project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/>
--- a/b2g/config/emulator-l/sources.xml
+++ b/b2g/config/emulator-l/sources.xml
@@ -10,25 +10,25 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="ffc05a232799fe8fcb3e47b7440b52b1fb4244c0"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="337e0ef5e40f02a1ae59b90db0548976c70a7226"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="8af5ff6f5dced9eb5a8127459df6c75d24342204"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="30915518fa7ea07166efedc191a4f40aef516fe7"/>
<project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="96eee58e3389fb05a835310d6a06a6ba4486097a"/>
<project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="7c8a46698171aa2e0be09edb43d15a6acf832770"/>
--- a/b2g/config/emulator/sources.xml
+++ b/b2g/config/emulator/sources.xml
@@ -14,17 +14,17 @@
<!--original fetch url was git://github.com/apitrace/-->
<remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
<default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/>
<!-- Gonk specific things and forks -->
<project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
- <project name="gaia.git" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia.git" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="4ace9aaee0e048dfda11bb787646c59982a3dc80"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c72c9278ddc2f442d193474993d36e7f2cfb08c4"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
--- a/b2g/config/flame-kk/sources.xml
+++ b/b2g/config/flame-kk/sources.xml
@@ -10,26 +10,26 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
<project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
<project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/>
--- a/b2g/config/gaia.json
+++ b/b2g/config/gaia.json
@@ -1,9 +1,9 @@
{
"git": {
- "git_revision": "47da49f8206788d70d834c3a63d9245d50c89103",
+ "git_revision": "607b9c5db7fdbbafc16a572e7c319baa266a3372",
"remote": "https://git.mozilla.org/releases/gaia.git",
"branch": ""
},
- "revision": "44029d7d66e6ed745dd19fc6378d1a986382fc84",
+ "revision": "7136753530b8af60e42417fc73356ba17971141b",
"repo_path": "integration/gaia-central"
}
--- a/b2g/config/nexus-4-kk/sources.xml
+++ b/b2g/config/nexus-4-kk/sources.xml
@@ -10,26 +10,26 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/>
<project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/>
<project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/>
<project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/>
--- a/b2g/config/nexus-4/sources.xml
+++ b/b2g/config/nexus-4/sources.xml
@@ -13,20 +13,20 @@
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="660169a3d7e034a892359e39135e8c2785a6ad6f">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/>
<project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/>
--- a/b2g/config/nexus-5-l/sources.xml
+++ b/b2g/config/nexus-5-l/sources.xml
@@ -10,26 +10,26 @@
<!--original fetch url was git://codeaurora.org/-->
<remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
<!--original fetch url was https://git.mozilla.org/releases-->
<remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
<!-- B2G specific things. -->
<project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
- <project name="gaia" path="gaia" remote="mozillaorg" revision="47da49f8206788d70d834c3a63d9245d50c89103"/>
+ <project name="gaia" path="gaia" remote="mozillaorg" revision="607b9c5db7fdbbafc16a572e7c319baa266a3372"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="956700d9754349b630a34551750ae6353614b6aa"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="27de93fe66c3e80e157d157bd52ca99565351669"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
<project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
- <project name="apitrace" path="external/apitrace" remote="apitrace" revision="38934e434c6c49ffdf7492f20f7258e7c3934b49"/>
+ <project name="apitrace" path="external/apitrace" remote="apitrace" revision="638ec448619fda80fcb439b1747af62169d05548"/>
<project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
<!-- Stock Android things -->
<project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="ffc05a232799fe8fcb3e47b7440b52b1fb4244c0"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="337e0ef5e40f02a1ae59b90db0548976c70a7226"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="8af5ff6f5dced9eb5a8127459df6c75d24342204"/>
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="30915518fa7ea07166efedc191a4f40aef516fe7"/>
<project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="96eee58e3389fb05a835310d6a06a6ba4486097a"/>
<project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="7c8a46698171aa2e0be09edb43d15a6acf832770"/>
--- a/b2g/locales/filter.py
+++ b/b2g/locales/filter.py
@@ -2,13 +2,14 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
def test(mod, path, entity = None):
import re
# ignore anything but b2g and specific overloads from dom and toolkit
if mod not in ("netwerk", "dom", "toolkit", "security/manager",
+ "devtools/shared",
"mobile",
"b2g"):
return "ignore"
return "error"
--- a/browser/base/content/browser-fxaccounts.js
+++ b/browser/base/content/browser-fxaccounts.js
@@ -155,29 +155,50 @@ var gFxAccounts = {
this.showSyncStartedDoorhanger();
}
},
onMigrationStateChanged: function () {
// Since we nuked most of the migration code, this notification will fire
// once after legacy Sync has been disconnected (and should never fire
// again)
+ let nb = window.document.getElementById("global-notificationbox");
+
let msg = this.strings.GetStringFromName("autoDisconnectDescription")
let signInLabel = this.strings.GetStringFromName("autoDisconnectSignIn.label");
let signInAccessKey = this.strings.GetStringFromName("autoDisconnectSignIn.accessKey");
let learnMoreLink = this.fxaMigrator.learnMoreLink;
- let note = new Weave.Notification(
- undefined, msg, undefined, Weave.Notifications.PRIORITY_WARNING, [
- new Weave.NotificationButton(signInLabel, signInAccessKey, () => {
- this.openPreferences();
- }),
- ], learnMoreLink
- );
- note.title = this.SYNC_MIGRATION_NOTIFICATION_TITLE;
- Weave.Notifications.replaceTitle(note);
+
+ let buttons = [
+ {
+ label: signInLabel,
+ accessKey: signInAccessKey,
+ callback: () => {
+ this.openPreferences();
+ }
+ }
+ ];
+
+ let fragment = document.createDocumentFragment();
+ let msgNode = document.createTextNode(msg);
+ fragment.appendChild(msgNode);
+ if (learnMoreLink) {
+ let link = document.createElement("label");
+ link.className = "text-link";
+ link.setAttribute("value", learnMoreLink.text);
+ link.href = learnMoreLink.href;
+ fragment.appendChild(link);
+ }
+
+ nb.appendNotification(fragment,
+ this.SYNC_MIGRATION_NOTIFICATION_TITLE,
+ undefined,
+ nb.PRIORITY_WARNING_LOW,
+ buttons);
+
// ensure the hamburger menu reflects the newly disconnected state.
this.updateAppMenuItem();
},
handleEvent: function (event) {
if (event.type == "activate") {
// Our window might have been in the background while we received the
// sync:start notification. If still needed, show the doorhanger after
@@ -206,17 +227,22 @@ var gFxAccounts = {
showSyncStartedDoorhanger: function () {
this.showDoorhanger("sync-start-panel");
},
updateUI: function () {
// It's possible someone signed in to FxA after seeing our notification
// about "Legacy Sync migration" (which now is actually "Legacy Sync
// auto-disconnect") so kill that notification if it still exists.
- Weave.Notifications.removeAll(this.SYNC_MIGRATION_NOTIFICATION_TITLE);
+ let nb = window.document.getElementById("global-notificationbox");
+ let n = nb.getNotificationWithValue(this.SYNC_MIGRATION_NOTIFICATION_TITLE);
+ if (n) {
+ nb.removeNotification(n, true);
+ }
+
this.updateAppMenuItem();
},
// Note that updateAppMenuItem() returns a Promise that's only used by tests.
updateAppMenuItem: function () {
let profileInfoEnabled = false;
try {
profileInfoEnabled = Services.prefs.getBoolPref("identity.fxaccounts.profile_image.enabled");
--- a/browser/base/content/browser-syncui.js
+++ b/browser/base/content/browser-syncui.js
@@ -74,41 +74,19 @@ var gSyncUI = {
if (gBrowser) {
this._obs.push("weave:notification:added");
}
this._obs.forEach(function(topic) {
Services.obs.addObserver(this, topic, true);
}, this);
- if (gBrowser && Weave.Notifications.notifications.length) {
- this.initNotifications();
- }
this.updateUI();
},
- initNotifications: function SUI_initNotifications() {
- const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- let notificationbox = document.createElementNS(XULNS, "notificationbox");
- notificationbox.id = "sync-notifications";
- notificationbox.setAttribute("flex", "1");
-
- let bottombox = document.getElementById("browser-bottombox");
- bottombox.insertBefore(notificationbox, bottombox.firstChild);
-
- // Force a style flush to ensure that our binding is attached.
- notificationbox.clientTop;
-
- // notificationbox will listen to observers from now on.
- Services.obs.removeObserver(this, "weave:notification:added");
- let idx = this._obs.indexOf("weave:notification:added");
- if (idx >= 0) {
- this._obs.splice(idx, 1);
- }
- },
// Returns a promise that resolves with true if Sync needs to be configured,
// false otherwise.
_needsSetup() {
// If Sync is configured for FxAccounts then we do that promise-dance.
if (this.weaveService.fxAccountsEnabled) {
return fxAccounts.getSignedInUser().then(user => {
// We want to treat "account needs verification" as "needs setup".
@@ -235,31 +213,26 @@ var gSyncUI = {
if (fxaContainer) {
fxaContainer.removeAttribute("syncstatus");
}
this.updateUI();
},
onLoginError: function SUI_onLoginError() {
this.log.debug("onLoginError: login=${login}, sync=${sync}", Weave.Status);
- Weave.Notifications.removeAll();
// We don't show any login errors here; browser-fxaccounts shows them in
// the hamburger menu.
this.updateUI();
},
onLogout: function SUI_onLogout() {
this.updateUI();
},
- onStartOver: function SUI_onStartOver() {
- this.clearError();
- },
-
_getAppName: function () {
let brand = new StringBundle("chrome://branding/locale/brand.properties");
return brand.get("brandShortName");
},
// Commands
// doSync forces a sync - it *does not* return a promise as it is called
// via the various UI components.
@@ -402,26 +375,18 @@ var gSyncUI = {
button.setAttribute("tooltiptext", tooltiptext);
} else {
button.removeAttribute("tooltiptext");
}
}
}
}),
- clearError: function SUI_clearError(errorString) {
- Weave.Notifications.removeAll(errorString);
- this.updateUI();
- },
-
onSyncFinish: function SUI_onSyncFinish() {
let title = this._stringBundle.GetStringFromName("error.sync.title");
-
- // Clear out sync failures on a successful sync
- this.clearError(title);
},
observe: function SUI_observe(subject, topic, data) {
this.log.debug("observed", topic);
if (this._unloaded) {
Cu.reportError("SyncUI observer called after unload: " + topic);
return;
}
@@ -448,39 +413,35 @@ var gSyncUI = {
switch (topic) {
case "weave:ui:sync:finish":
this.onSyncFinish();
break;
case "weave:ui:sync:error":
case "weave:service:setup-complete":
case "weave:service:login:finish":
case "weave:service:login:start":
+ case "weave:service:start-over":
this.updateUI();
break;
case "weave:ui:login:error":
+ case "weave:service:login:error":
this.onLoginError();
break;
case "weave:service:logout:finish":
this.onLogout();
break;
- case "weave:service:start-over":
- this.onStartOver();
- break;
case "weave:service:start-over:finish":
this.updateUI();
break;
case "weave:service:ready":
this.initUI();
break;
case "weave:notification:added":
this.initNotifications();
break;
- case "weave:ui:clear-error":
- this.clearError();
- break;
}
},
QueryInterface: XPCOMUtils.generateQI([
Ci.nsIObserver,
Ci.nsISupportsWeakReference
])
};
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -615,28 +615,16 @@ window[chromehidden~="toolbar"] toolbar:
display: none;
}
#navigator-toolbox ,
#mainPopupSet {
min-width: 1px;
}
-%ifdef MOZ_SERVICES_SYNC
-/* Sync notification UI */
-#sync-notifications {
- -moz-binding: url("chrome://browser/content/sync/notification.xml#notificationbox");
- overflow-y: visible !important;
-}
-
-#sync-notifications notification {
- -moz-binding: url("chrome://browser/content/sync/notification.xml#notification");
-}
-%endif
-
/* History Swipe Animation */
#historySwipeAnimationContainer {
overflow: hidden;
}
#historySwipeAnimationPreviousPage,
#historySwipeAnimationCurrentPage,
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -3,17 +3,17 @@
# -*- Mode: HTML -*-
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
deleted file mode 100644
--- a/browser/base/content/sync/notification.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!DOCTYPE bindings [
-<!ENTITY % notificationDTD SYSTEM "chrome://global/locale/notification.dtd">
-%notificationDTD;
-]>
-
-<bindings id="notificationBindings"
- xmlns="http://www.mozilla.org/xbl"
- xmlns:xbl="http://www.mozilla.org/xbl"
- xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <binding id="notificationbox" extends="chrome://global/content/bindings/notification.xml#notificationbox">
- <content>
- <xul:vbox xbl:inherits="hidden=notificationshidden">
- <xul:spacer/>
- <children includes="notification"/>
- </xul:vbox>
- <children/>
- </content>
-
- <implementation>
- <constructor><![CDATA[
- let temp = {};
- Cu.import("resource://services-common/observers.js", temp);
- temp.Observers.add("weave:notification:added", this.onNotificationAdded, this);
- temp.Observers.add("weave:notification:removed", this.onNotificationRemoved, this);
-
- for (var notification of Weave.Notifications.notifications)
- this._appendNotification(notification);
- ]]></constructor>
-
- <destructor><![CDATA[
- let temp = {};
- Cu.import("resource://services-common/observers.js", temp);
- temp.Observers.remove("weave:notification:added", this.onNotificationAdded, this);
- temp.Observers.remove("weave:notification:removed", this.onNotificationRemoved, this);
- ]]></destructor>
-
- <method name="onNotificationAdded">
- <parameter name="subject"/>
- <parameter name="data"/>
- <body><![CDATA[
- this._appendNotification(subject);
- ]]></body>
- </method>
-
- <method name="onNotificationRemoved">
- <parameter name="subject"/>
- <parameter name="data"/>
- <body><![CDATA[
- // If the view of the notification hasn't been removed yet, remove it.
- var notifications = this.allNotifications;
- for (var notification of notifications) {
- if (notification.notification == subject) {
- notification.close();
- break;
- }
- }
- ]]></body>
- </method>
-
- <method name="_appendNotification">
- <parameter name="notification"/>
- <body><![CDATA[
- var node = this.appendNotification(notification.description,
- notification.title,
- notification.iconURL,
- notification.priority,
- notification.buttons);
- node.notification = notification;
-
- if (notification.link) {
- let XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- let link = node.ownerDocument.createElementNS(XULNS, "label");
- link.className = "text-link";
- link.setAttribute("value", notification.link.text);
- link.href = notification.link.href;
- let desc = node.ownerDocument.getAnonymousElementByAttribute(
- node, "anonid", "messageText"
- );
- desc.appendChild(link);
- }
- ]]></body>
- </method>
-
- </implementation>
- </binding>
-
- <binding id="notification" extends="chrome://global/content/bindings/notification.xml#notification">
- <content>
- <xul:hbox class="notification-inner" flex="1" xbl:inherits="type">
- <xul:toolbarbutton ondblclick="event.stopPropagation();"
- class="messageCloseButton close-icon tabbable"
- xbl:inherits="hidden=hideclose"
- tooltiptext="&closeNotification.tooltip;"
- oncommand="document.getBindingParent(this).close()"/>
- <xul:hbox anonid="details" align="center" flex="1">
- <xul:image anonid="messageImage" class="messageImage" xbl:inherits="src=image"/>
- <xul:description anonid="messageText" class="messageText" xbl:inherits="xbl:text=label"/>
-
- <!-- The children are the buttons defined by the notification. -->
- <xul:hbox oncommand="document.getBindingParent(this)._doButtonCommand(event);">
- <children/>
- </xul:hbox>
- </xul:hbox>
- </xul:hbox>
- </content>
- <implementation>
- <!-- Note: this used to be a field, but for some reason it kept getting
- - reset to its default value for TabNotification elements.
- - As a property, that doesn't happen, even though the property stores
- - its value in a JS property |_notification| that is not defined
- - in XBL as a field or property. Maybe this is wrong, but it works.
- -->
- <property name="notification"
- onget="return this._notification"
- onset="this._notification = val; return val;"/>
- <method name="close">
- <body><![CDATA[
- Weave.Notifications.remove(this.notification);
-
- // We should be able to call the base class's close method here
- // to remove the notification element from the notification box,
- // but we can't because of bug 373652, so instead we copied its code
- // and execute it below.
- var control = this.control;
- if (control)
- control.removeNotification(this);
- else
- this.hidden = true;
- ]]></body>
- </method>
- </implementation>
- </binding>
-
-</bindings>
--- a/browser/base/content/test/general/browser_fxa_migrate.js
+++ b/browser/base/content/test/general/browser_fxa_migrate.js
@@ -5,12 +5,14 @@ const STATE_CHANGED_TOPIC = "fxa-migrati
const NOTIFICATION_TITLE = "fxa-migration";
var imports = {};
Cu.import("resource://services-sync/FxaMigrator.jsm", imports);
add_task(function* test() {
// Fake the state where we saw an EOL notification.
Services.obs.notifyObservers(null, STATE_CHANGED_TOPIC, null);
- Assert.ok(Weave.Notifications.notifications.some(n => {
- return n.title == NOTIFICATION_TITLE;
+
+ let notificationBox = document.getElementById("global-notificationbox");
+ Assert.ok(notificationBox.allNotifications.some(n => {
+ return n.getAttribute("value") == NOTIFICATION_TITLE;
}), "Disconnect notification should be present");
});
--- a/browser/base/content/test/general/browser_syncui.js
+++ b/browser/base/content/test/general/browser_syncui.js
@@ -1,14 +1,13 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
var {Log} = Cu.import("resource://gre/modules/Log.jsm", {});
var {Weave} = Cu.import("resource://services-sync/main.js", {});
-var {Notifications} = Cu.import("resource://services-sync/notifications.js", {});
var stringBundle = Cc["@mozilla.org/intl/stringbundle;1"]
.getService(Ci.nsIStringBundleService)
.createBundle("chrome://weave/locale/services/sync.properties");
// ensure test output sees log messages.
Log.repository.getLogger("browserwindow.syncui").addAppender(new Log.DumpAppender());
@@ -69,70 +68,66 @@ add_task(function* prepare() {
});
let xps = Components.classes["@mozilla.org/weave/service;1"]
.getService(Components.interfaces.nsISupports)
.wrappedJSObject;
yield xps.whenLoaded();
// Put Sync and the UI into a known state.
Weave.Status.login = Weave.LOGIN_FAILED_NO_USERNAME;
- yield notifyAndPromiseUIUpdated("weave:ui:clear-error");
+ yield notifyAndPromiseUIUpdated("weave:service:login:error");
checkBroadcasterVisible("sync-setup-state");
checkButtonTooltips("Sign In To Sync");
// mock out the "_needsSetup()" function so we don't short-circuit.
let oldNeedsSetup = window.gSyncUI._needsSetup;
window.gSyncUI._needsSetup = () => Promise.resolve(false);
registerCleanupFunction(() => {
window.gSyncUI._needsSetup = oldNeedsSetup;
// and an observer to set the state back to what it should be now we've
// restored the stub.
- Services.obs.notifyObservers(null, "weave:ui:clear-error", null);
+ Services.obs.notifyObservers(null, "weave:service:login:finish", null);
});
// and a notification to have the state change away from "needs setup"
- yield notifyAndPromiseUIUpdated("weave:ui:clear-error");
+ yield notifyAndPromiseUIUpdated("weave:service:login:finish");
checkBroadcasterVisible("sync-syncnow-state");
});
add_task(function* testSyncNeedsVerification() {
- Assert.equal(Notifications.notifications.length, 0, "start with no notifications");
// mock out the "_needsVerification()" function
let oldNeedsVerification = window.gSyncUI._needsVerification;
window.gSyncUI._needsVerification = () => true;
try {
// a notification for the state change
- yield notifyAndPromiseUIUpdated("weave:ui:clear-error");
+ yield notifyAndPromiseUIUpdated("weave:service:login:finish");
checkButtonTooltips("Verify");
} finally {
window.gSyncUI._needsVerification = oldNeedsVerification;
}
});
add_task(function* testSyncLoginError() {
- Assert.equal(Notifications.notifications.length, 0, "start with no notifications");
checkBroadcasterVisible("sync-syncnow-state");
// Pretend we are in a "login failed" error state
Weave.Status.sync = Weave.LOGIN_FAILED;
Weave.Status.login = Weave.LOGIN_FAILED_LOGIN_REJECTED;
yield notifyAndPromiseUIUpdated("weave:ui:sync:error");
- Assert.equal(Notifications.notifications.length, 0, "no notifications shown on login error");
// But the menu *should* reflect the login error.
checkBroadcasterVisible("sync-reauth-state");
// The tooltips for the buttons should also reflect it.
checkButtonTooltips("Reconnect");
// Now pretend we just had a successful login - the error notification should go away.
Weave.Status.sync = Weave.STATUS_OK;
Weave.Status.login = Weave.LOGIN_SUCCEEDED;
yield notifyAndPromiseUIUpdated("weave:service:login:start");
yield notifyAndPromiseUIUpdated("weave:service:login:finish");
- Assert.equal(Notifications.notifications.length, 0, "no notifications left");
// The menus should be back to "all good"
checkBroadcasterVisible("sync-syncnow-state");
});
function checkButtonsStatus(shouldBeActive) {
let button = document.getElementById("sync-button");
let fxaContainer = document.getElementById("PanelUI-footer-fxa");
if (shouldBeActive) {
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -127,17 +127,16 @@ browser.jar:
content/browser/sync/aboutSyncTabs-bindings.xml (content/sync/aboutSyncTabs-bindings.xml)
content/browser/sync/setup.xul (content/sync/setup.xul)
content/browser/sync/addDevice.js (content/sync/addDevice.js)
content/browser/sync/addDevice.xul (content/sync/addDevice.xul)
content/browser/sync/setup.js (content/sync/setup.js)
content/browser/sync/genericChange.xul (content/sync/genericChange.xul)
content/browser/sync/genericChange.js (content/sync/genericChange.js)
content/browser/sync/key.xhtml (content/sync/key.xhtml)
- content/browser/sync/notification.xml (content/sync/notification.xml)
content/browser/sync/utils.js (content/sync/utils.js)
* content/browser/sync/customize.xul (content/sync/customize.xul)
content/browser/sync/customize.js (content/sync/customize.js)
content/browser/sync/customize.css (content/sync/customize.css)
#endif
content/browser/safeMode.css (content/safeMode.css)
content/browser/safeMode.js (content/safeMode.js)
content/browser/safeMode.xul (content/safeMode.xul)
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -122,23 +122,24 @@ libs:: $(FINAL_TARGET)/defaults/profile/
libs:: $(addprefix generic/profile/,$(PROFILE_FILES))
$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile
libs:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME)))
$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile/chrome
libs-%:
$(NSINSTALL) -D $(DIST)/install
- @$(MAKE) -C ../../toolkit/locales libs-$*
+ @$(MAKE) -C ../../toolkit/locales libs-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
ifdef MOZ_WEBAPP_RUNTIME
@$(MAKE) -C ../../webapprt/locales AB_CD=$* XPI_NAME=locale-$*
endif
@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
repackage-win32-installer: $(call ESCAPE_WILDCARD,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD)
@echo 'Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT).'
$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -1,16 +1,17 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
def test(mod, path, entity = None):
import re
# ignore anything but Firefox
if mod not in ("netwerk", "dom", "toolkit", "security/manager",
+ "devtools/client", "devtools/shared",
"browser", "webapprt",
"extensions/reporter", "extensions/spellcheck",
"other-licenses/branding/firefox",
"browser/branding/official",
"services/sync"):
return "ignore"
if mod not in ("browser", "extensions/spellcheck"):
# we only have exceptions for browser and extensions/spellcheck
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -23,70 +23,16 @@
locale/browser/syncCustomize.dtd (%chrome/browser/syncCustomize.dtd)
locale/browser/aboutSyncTabs.dtd (%chrome/browser/aboutSyncTabs.dtd)
#endif
locale/browser/browser.dtd (%chrome/browser/browser.dtd)
locale/browser/baseMenuOverlay.dtd (%chrome/browser/baseMenuOverlay.dtd)
locale/browser/browser.properties (%chrome/browser/browser.properties)
locale/browser/browser-pocket.properties (%chrome/browser/browser-pocket.properties)
locale/browser/customizableui/customizableWidgets.properties (%chrome/browser/customizableui/customizableWidgets.properties)
- locale/browser/devtools/aboutdebugging.dtd (%chrome/browser/devtools/aboutdebugging.dtd)
- locale/browser/devtools/aboutdebugging.properties (%chrome/browser/devtools/aboutdebugging.properties)
- locale/browser/devtools/animationinspector.dtd (%chrome/browser/devtools/animationinspector.dtd)
- locale/browser/devtools/animationinspector.properties (%chrome/browser/devtools/animationinspector.properties)
- locale/browser/devtools/appcacheutils.properties (%chrome/browser/devtools/appcacheutils.properties)
- locale/browser/devtools/debugger.dtd (%chrome/browser/devtools/debugger.dtd)
- locale/browser/devtools/debugger.properties (%chrome/browser/devtools/debugger.properties)
- locale/browser/devtools/device.properties (%chrome/browser/devtools/device.properties)
- locale/browser/devtools/filterwidget.properties (%chrome/browser/devtools/filterwidget.properties)
- locale/browser/devtools/filterwidget.dtd (%chrome/browser/devtools/filterwidget.dtd)
- locale/browser/devtools/netmonitor.dtd (%chrome/browser/devtools/netmonitor.dtd)
- locale/browser/devtools/netmonitor.properties (%chrome/browser/devtools/netmonitor.properties)
- locale/browser/devtools/shadereditor.dtd (%chrome/browser/devtools/shadereditor.dtd)
- locale/browser/devtools/shadereditor.properties (%chrome/browser/devtools/shadereditor.properties)
- locale/browser/devtools/canvasdebugger.dtd (%chrome/browser/devtools/canvasdebugger.dtd)
- locale/browser/devtools/canvasdebugger.properties (%chrome/browser/devtools/canvasdebugger.properties)
- locale/browser/devtools/webaudioeditor.dtd (%chrome/browser/devtools/webaudioeditor.dtd)
- locale/browser/devtools/webaudioeditor.properties (%chrome/browser/devtools/webaudioeditor.properties)
- locale/browser/devtools/webconsole.properties (%chrome/browser/devtools/webconsole.properties)
- locale/browser/devtools/inspector.properties (%chrome/browser/devtools/inspector.properties)
- locale/browser/devtools/jsonview.properties (%chrome/browser/devtools/jsonview.properties)
- locale/browser/devtools/tilt.properties (%chrome/browser/devtools/tilt.properties)
- locale/browser/devtools/shared.properties (%chrome/browser/devtools/shared.properties)
- locale/browser/devtools/scratchpad.properties (%chrome/browser/devtools/scratchpad.properties)
- locale/browser/devtools/scratchpad.dtd (%chrome/browser/devtools/scratchpad.dtd)
- locale/browser/devtools/storage.properties (%chrome/browser/devtools/storage.properties)
- locale/browser/devtools/styleeditor.properties (%chrome/browser/devtools/styleeditor.properties)
- locale/browser/devtools/styleeditor.dtd (%chrome/browser/devtools/styleeditor.dtd)
- locale/browser/devtools/styleinspector.dtd (%chrome/browser/devtools/styleinspector.dtd)
- locale/browser/devtools/webConsole.dtd (%chrome/browser/devtools/webConsole.dtd)
- locale/browser/devtools/VariablesView.dtd (%chrome/browser/devtools/VariablesView.dtd)
- locale/browser/devtools/sourceeditor.properties (%chrome/browser/devtools/sourceeditor.properties)
- locale/browser/devtools/sourceeditor.dtd (%chrome/browser/devtools/sourceeditor.dtd)
- locale/browser/devtools/promisedebugger.dtd (%chrome/browser/devtools/promisedebugger.dtd)
- locale/browser/devtools/promisedebugger.properties (%chrome/browser/devtools/promisedebugger.properties)
- locale/browser/devtools/performance.dtd (%chrome/browser/devtools/performance.dtd)
- locale/browser/devtools/performance.properties (%chrome/browser/devtools/performance.properties)
- locale/browser/devtools/memory.properties (%chrome/browser/devtools/memory.properties)
- locale/browser/devtools/graphs.properties (%chrome/browser/devtools/graphs.properties)
- locale/browser/devtools/layoutview.dtd (%chrome/browser/devtools/layoutview.dtd)
- locale/browser/devtools/responsiveUI.properties (%chrome/browser/devtools/responsiveUI.properties)
- locale/browser/devtools/toolbox.dtd (%chrome/browser/devtools/toolbox.dtd)
- locale/browser/devtools/toolbox.properties (%chrome/browser/devtools/toolbox.properties)
- locale/browser/devtools/inspector.dtd (%chrome/browser/devtools/inspector.dtd)
- locale/browser/devtools/markers.properties (%chrome/browser/devtools/markers.properties)
- locale/browser/devtools/projecteditor.properties (%chrome/browser/devtools/projecteditor.properties)
- locale/browser/devtools/eyedropper.properties (%chrome/browser/devtools/eyedropper.properties)
- locale/browser/devtools/connection-screen.dtd (%chrome/browser/devtools/connection-screen.dtd)
- locale/browser/devtools/connection-screen.properties (%chrome/browser/devtools/connection-screen.properties)
- locale/browser/devtools/font-inspector.dtd (%chrome/browser/devtools/font-inspector.dtd)
- locale/browser/devtools/har.properties (%chrome/browser/devtools/har.properties)
- locale/browser/devtools/app-manager.properties (%chrome/browser/devtools/app-manager.properties)
- locale/browser/devtools/webide.dtd (%chrome/browser/devtools/webide.dtd)
- locale/browser/devtools/webide.properties (%chrome/browser/devtools/webide.properties)
locale/browser/lightweightThemes.properties (%chrome/browser/lightweightThemes.properties)
locale/browser/loop/loop.properties (%chrome/browser/loop/loop.properties)
locale/browser/newTab.dtd (%chrome/browser/newTab.dtd)
locale/browser/newTab.properties (%chrome/browser/newTab.properties)
locale/browser/pageInfo.dtd (%chrome/browser/pageInfo.dtd)
locale/browser/pageInfo.properties (%chrome/browser/pageInfo.properties)
locale/browser/quitDialog.properties (%chrome/browser/quitDialog.properties)
locale/browser/safeMode.dtd (%chrome/browser/safeMode.dtd)
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -6,16 +6,17 @@
depth = ../..
all = browser/locales/all-locales
[compare]
dirs = browser
extensions/reporter
other-licenses/branding/firefox
browser/branding/official
+ devtools/client
[includes]
# non-central apps might want to use %(topsrcdir)s here, or other vars
# RFE: that needs to be supported by compare-locales, too, though
toolkit = toolkit/locales/l10n.ini
services_sync = services/sync/locales/l10n.ini
webapprt = webapprt/locales/l10n.ini
deleted file mode 100644
index 84ba18c0a388d48a4aa3e8782f151cb69e20936e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c9805f654c79b22ce0d8435d030e775f3b7492ac..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 128cef90af66bdf67d9d88d3b161fca8f6fe3788..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -567,23 +567,23 @@ menuitem:not([type]):not(.menuitem-toolt
}
#javascriptConsole {
list-style-image: url("chrome://global/skin/console/console.png");
}
/* Primary toolbar buttons */
-toolbar .toolbarbutton-1 > .toolbarbutton-icon,
-toolbar .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
max-width: 16px;
}
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon,
#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
max-width: 18px;
}
.findbar-button,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 {
-moz-appearance: none;
@@ -612,17 +612,17 @@ toolbar .toolbarbutton-1:-moz-any(@prima
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:-moz-any(@primaryToolbarButtons@)) > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
padding: 3px 7px;
}
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
/* horizontal padding + border + actual icon width */
- max-width: 32px !important /* bug 561154 */;
+ max-width: 32px;
}
#nav-bar #PanelUI-menu-button {
-moz-padding-start: 5px;
-moz-padding-end: 5px;
}
.findbar-button:not(:-moz-any([checked="true"],[disabled="true"])):hover > .toolbarbutton-text,
--- a/browser/themes/linux/jar.mn
+++ b/browser/themes/linux/jar.mn
@@ -3,19 +3,16 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
% skin browser classic/1.0 %skin/classic/browser/
% override chrome://global/skin/icons/warning-16.png moz-icon://stock/gtk-dialog-warning?size=menu
#include ../shared/jar.inc.mn
skin/classic/browser/sanitizeDialog.css
skin/classic/browser/aboutSessionRestore-window-icon.png
- skin/classic/browser/aboutCertError_sectionCollapsed.png
- skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
- skin/classic/browser/aboutCertError_sectionExpanded.png
#ifdef MOZ_SERVICES_SYNC
skin/classic/browser/aboutSyncTabs.css
#endif
skin/classic/browser/actionicon-tab.png
* skin/classic/browser/browser.css
* skin/classic/browser/devedition.css
* skin/classic/browser/browser-lightweightTheme.css
skin/classic/browser/click-to-play-warning-stripes.png
deleted file mode 100644
index 84ba18c0a388d48a4aa3e8782f151cb69e20936e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c9805f654c79b22ce0d8435d030e775f3b7492ac..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 128cef90af66bdf67d9d88d3b161fca8f6fe3788..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -58,16 +58,22 @@
content: "";
display: -moz-box;
height: 2px;
margin-top: -2px;
position: relative;
z-index: 2; /* navbar is at 1 */
}
+@media (-moz-mac-yosemite-theme) {
+ #navigator-toolbox::after {
+ background-image: linear-gradient(to top, hsla(0,0%,0%,.1), hsla(0,0%,0%,.1) 1px, hsla(0,0%,100%,0) 1px, hsla(0,0%,100%,0) 2px, transparent 3px);
+ }
+}
+
#navigator-toolbox toolbarbutton:-moz-lwtheme {
color: inherit;
text-shadow: inherit;
}
#main-window {
-moz-appearance: none;
background-color: #eeeeee;
@@ -144,16 +150,20 @@ toolbarseparator {
background: url(chrome://browser/skin/Toolbar-background-noise.png) hsl(0,0%,83%);
}
/* remove noise texture on Yosemite */
@media (-moz-mac-yosemite-theme) {
#navigator-toolbox > toolbar:not(#TabsToolbar):not(#nav-bar):not(:-moz-lwtheme) {
background-image: none;
}
+
+ #navigator-toolbox > toolbar:-moz-window-inactive:not(#TabsToolbar):not(#nav-bar):not(:-moz-lwtheme) {
+ background-color: hsl(0,0%,95%);
+ }
}
#navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar):not(#nav-bar):not(#addon-bar) {
overflow: -moz-hidden-unscrollable;
max-height: 4em;
transition: min-height 170ms ease-out, max-height 170ms ease-out;
}
@@ -186,16 +196,20 @@ toolbarseparator {
}
}
/* remove noise texture on Yosemite */
@media (-moz-mac-yosemite-theme) {
#nav-bar {
background: linear-gradient(hsl(0,0%,93%), hsl(0,0%,83%));
}
+
+ #nav-bar:-moz-window-inactive {
+ background: linear-gradient(hsl(0,0%,97%), hsl(0,0%,95%));
+ }
}
/* Draw the bottom border of the tabs toolbar when it's not using
-moz-appearance: toolbar. */
#main-window:-moz-any([sizemode="fullscreen"],[customize-entered]) #TabsToolbar:not([collapsed="true"]) + #nav-bar,
#main-window:not([tabsintitlebar]) #TabsToolbar:not([collapsed="true"]) + #nav-bar,
#TabsToolbar:not([collapsed="true"]) + #nav-bar:-moz-lwtheme {
border-top: 1px solid hsla(0,0%,0%,.3);
@@ -212,16 +226,20 @@ toolbarseparator {
#main-window[tabsintitlebar] #TabsToolbar:not([collapsed="true"]) + #nav-bar:not(:-moz-lwtheme) {
border-top: 1px solid hsla(0,0%,0%,.2);
background-clip: padding-box;
margin-top: calc(-1 * var(--navbar-tab-toolbar-highlight-overlap));
/* Position the toolbar above the bottom of background tabs */
position: relative;
z-index: 1;
}
+
+ #main-window[tabsintitlebar] #TabsToolbar:not([collapsed="true"]) + #nav-bar:-moz-window-inactive:not(:-moz-lwtheme) {
+ border-top-color: hsla(0,0%,0%,.05);
+ }
}
#nav-bar-customization-target {
padding: 4px;
}
#PersonalToolbar {
padding: 0 4px 4px;
@@ -591,24 +609,24 @@ toolbarpaletteitem[place="palette"] > #p
#panelMenu_pocket > .toolbarbutton-icon {
width: 16px;
}
}
/* ----- PRIMARY TOOLBAR BUTTONS ----- */
-toolbar .toolbarbutton-1 > .toolbarbutton-icon,
-toolbar .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
max-width: 16px;
margin: 1px;
}
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
max-width: 18px;
margin: 0;
}
toolbar .toolbarbutton-1:not([type="menu-button"]),
.toolbarbutton-1 > .toolbarbutton-menubutton-button,
.toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
-moz-box-orient: vertical;
@@ -2541,16 +2559,64 @@ toolbarbutton.chevron > .toolbarbutton-m
list-style-image: url("chrome://browser/skin/tabbrowser/connecting@2x.png");
}
.tab-throbber[progress] {
list-style-image: url("chrome://browser/skin/tabbrowser/loading@2x.png");
}
}
+@media (-moz-mac-yosemite-theme) {
+ .tab-background-middle[visuallyselected=true]:-moz-window-inactive {
+ background-image: url(chrome://browser/skin/yosemite/tab-active-middle-inactive.png),
+ @fgTabTextureYosemiteInactive@,
+ none;
+ }
+
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {
+ background-image: url(chrome://browser/skin/yosemite/tab-stroke-start-inactive.png);
+ }
+
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {
+ background-image: url(chrome://browser/skin/yosemite/tab-stroke-end-inactive.png);
+ }
+
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr):not(:-moz-lwtheme)::before,
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl):not(:-moz-lwtheme)::before {
+ background-image: url(chrome://browser/skin/yosemite/tab-selected-start-inactive.svg);
+ background-size: 100% 100%;
+ }
+
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr):not(:-moz-lwtheme)::before,
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl):not(:-moz-lwtheme)::before {
+ background-image: url(chrome://browser/skin/yosemite/tab-selected-end-inactive.svg);
+ background-size: 100% 100%;
+ }
+
+ @media (min-resolution: 2dppx) {
+ .tab-background-middle[visuallyselected=true]:-moz-window-inactive {
+ background-image: url(chrome://browser/skin/yosemite/tab-active-middle-inactive@2x.png),
+ @fgTabTextureYosemiteInactive@,
+ none;
+ }
+
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {
+ background-image: url(chrome://browser/skin/yosemite/tab-stroke-start-inactive@2x.png);
+ }
+
+ .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
+ .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {
+ background-image: url(chrome://browser/skin/yosemite/tab-stroke-end-inactive@2x.png);
+ }
+ }
+}
+
.tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-icon-image:not([visuallyselected="true"]) {
opacity: .9;
}
/*
* Force the overlay to create a new stacking context so it always appears on
* top of the icon.
*/
--- a/browser/themes/osx/jar.mn
+++ b/browser/themes/osx/jar.mn
@@ -2,19 +2,16 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
% skin browser classic/1.0 %skin/classic/browser/
#include ../shared/jar.inc.mn
skin/classic/browser/sanitizeDialog.css
skin/classic/browser/aboutSessionRestore-window-icon.png
- skin/classic/browser/aboutCertError_sectionCollapsed.png
- skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
- skin/classic/browser/aboutCertError_sectionExpanded.png
#ifdef MOZ_SERVICES_SYNC
skin/classic/browser/aboutSyncTabs.css
#endif
skin/classic/browser/actionicon-tab.png
skin/classic/browser/actionicon-tab@2x.png
* skin/classic/browser/browser.css
* skin/classic/browser/devedition.css
* skin/classic/browser/browser-lightweightTheme.css
@@ -247,35 +244,43 @@ browser.jar:
skin/classic/browser/syncProgress-toolbar-inverted@2x.png
#endif
skin/classic/browser/Toolbar-background-noise.png (Toolbar-background-noise.png)
skin/classic/browser/lion/toolbarbutton-dropmarker.png (toolbarbutton-dropmarker-lion.png)
skin/classic/browser/toolbarbutton-dropmarker@2x.png (toolbarbutton-dropmarker-lion@2x.png)
skin/classic/browser/lion/tabbrowser/alltabs-box-bkgnd-icon.png (tabbrowser/alltabs-box-bkgnd-icon-lion.png)
skin/classic/browser/tabbrowser/alltabs-box-bkgnd-icon@2x.png (tabbrowser/alltabs-box-bkgnd-icon-lion@2x.png)
skin/classic/browser/lion/tabview/tabview.png (tabview/tabview-lion.png)
- skin/classic/browser/lion/places/toolbar.png (places/toolbar-lion.png)
- skin/classic/browser/yosemite/Toolbar.png (Toolbar-yosemite.png)
- skin/classic/browser/yosemite/Toolbar@2x.png (Toolbar-yosemite@2x.png)
- skin/classic/browser/yosemite/menuPanel.png (menuPanel-yosemite.png)
- skin/classic/browser/yosemite/menuPanel@2x.png (menuPanel-yosemite@2x.png)
- skin/classic/browser/yosemite/menuPanel-customize.png (menuPanel-customize-yosemite.png)
- skin/classic/browser/yosemite/menuPanel-customize@2x.png (menuPanel-customize-yosemite@2x.png)
- skin/classic/browser/yosemite/menuPanel-exit.png (menuPanel-exit-yosemite.png)
- skin/classic/browser/yosemite/menuPanel-exit@2x.png (menuPanel-exit-yosemite@2x.png)
- skin/classic/browser/yosemite/menuPanel-help.png (menuPanel-help-yosemite.png)
- skin/classic/browser/yosemite/menuPanel-help@2x.png (menuPanel-help-yosemite@2x.png)
- skin/classic/browser/yosemite/menuPanel-small.png (menuPanel-small-yosemite.png)
- skin/classic/browser/yosemite/menuPanel-small@2x.png (menuPanel-small-yosemite@2x.png)
- skin/classic/browser/yosemite/reload-stop-go.png (reload-stop-go-yosemite.png)
- skin/classic/browser/yosemite/reload-stop-go@2x.png (reload-stop-go-yosemite@2x.png)
- skin/classic/browser/yosemite/sync-horizontalbar.png (sync-horizontalbar-yosemite.png)
- skin/classic/browser/yosemite/sync-horizontalbar@2x.png (sync-horizontalbar-yosemite@2x.png)
- skin/classic/browser/yosemite/thumburger.png (customizableui/thumburger-yosemite.png)
- skin/classic/browser/yosemite/thumburger@2x.png (customizableui/thumburger-yosemite@2x.png)
+ skin/classic/browser/lion/places/toolbar.png (places/toolbar-lion.png)
+ skin/classic/browser/yosemite/Toolbar.png (Toolbar-yosemite.png)
+ skin/classic/browser/yosemite/Toolbar@2x.png (Toolbar-yosemite@2x.png)
+ skin/classic/browser/yosemite/menuPanel.png (menuPanel-yosemite.png)
+ skin/classic/browser/yosemite/menuPanel@2x.png (menuPanel-yosemite@2x.png)
+ skin/classic/browser/yosemite/menuPanel-customize.png (menuPanel-customize-yosemite.png)
+ skin/classic/browser/yosemite/menuPanel-customize@2x.png (menuPanel-customize-yosemite@2x.png)
+ skin/classic/browser/yosemite/menuPanel-exit.png (menuPanel-exit-yosemite.png)
+ skin/classic/browser/yosemite/menuPanel-exit@2x.png (menuPanel-exit-yosemite@2x.png)
+ skin/classic/browser/yosemite/menuPanel-help.png (menuPanel-help-yosemite.png)
+ skin/classic/browser/yosemite/menuPanel-help@2x.png (menuPanel-help-yosemite@2x.png)
+ skin/classic/browser/yosemite/menuPanel-small.png (menuPanel-small-yosemite.png)
+ skin/classic/browser/yosemite/menuPanel-small@2x.png (menuPanel-small-yosemite@2x.png)
+ skin/classic/browser/yosemite/reload-stop-go.png (reload-stop-go-yosemite.png)
+ skin/classic/browser/yosemite/reload-stop-go@2x.png (reload-stop-go-yosemite@2x.png)
+ skin/classic/browser/yosemite/sync-horizontalbar.png (sync-horizontalbar-yosemite.png)
+ skin/classic/browser/yosemite/sync-horizontalbar@2x.png (sync-horizontalbar-yosemite@2x.png)
+ skin/classic/browser/yosemite/thumburger.png (customizableui/thumburger-yosemite.png)
+ skin/classic/browser/yosemite/thumburger@2x.png (customizableui/thumburger-yosemite@2x.png)
+ skin/classic/browser/yosemite/tab-selected-end-inactive.svg (tabbrowser/tab-selected-end-yosemite-inactive.svg)
+ skin/classic/browser/yosemite/tab-selected-start-inactive.svg (tabbrowser/tab-selected-start-yosemite-inactive.svg)
+ skin/classic/browser/yosemite/tab-active-middle-inactive.png (tabbrowser/tab-active-middle-yosemite-inactive.png)
+ skin/classic/browser/yosemite/tab-active-middle-inactive@2x.png (tabbrowser/tab-active-middle-yosemite-inactive@2x.png)
+ skin/classic/browser/yosemite/tab-stroke-end-inactive.png (tabbrowser/tab-stroke-end-yosemite-inactive.png)
+ skin/classic/browser/yosemite/tab-stroke-end-inactive@2x.png (tabbrowser/tab-stroke-end-yosemite-inactive@2x.png)
+ skin/classic/browser/yosemite/tab-stroke-start-inactive.png (tabbrowser/tab-stroke-start-yosemite-inactive.png)
+ skin/classic/browser/yosemite/tab-stroke-start-inactive@2x.png (tabbrowser/tab-stroke-start-yosemite-inactive@2x.png)
#ifdef E10S_TESTING_ONLY
skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
#endif
[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
% override chrome://browser/skin/feeds/audioFeedIcon.png chrome://browser/skin/feeds/feedIcon.png
% override chrome://browser/skin/feeds/audioFeedIcon16.png chrome://browser/skin/feeds/feedIcon16.png
% override chrome://browser/skin/feeds/videoFeedIcon.png chrome://browser/skin/feeds/feedIcon.png
@@ -301,10 +306,10 @@ browser.jar:
% override chrome://browser/skin/menuPanel-help.png chrome://browser/skin/yosemite/menuPanel-help.png os=Darwin osversion>=10.10
% override chrome://browser/skin/menuPanel-help@2x.png chrome://browser/skin/yosemite/menuPanel-help@2x.png os=Darwin osversion>=10.10
% override chrome://browser/skin/menuPanel-small.png chrome://browser/skin/yosemite/menuPanel-small.png os=Darwin osversion>=10.10
% override chrome://browser/skin/menuPanel-small@2x.png chrome://browser/skin/yosemite/menuPanel-small@2x.png os=Darwin osversion>=10.10
% override chrome://browser/skin/preferences/checkbox.png chrome://browser/skin/yosemite/preferences/checkbox.png os=Darwin osversion>=10.10
% override chrome://browser/skin/preferences/checkbox@2x.png chrome://browser/skin/yosemite/preferences/checkbox@2x.png os=Darwin osversion>=10.10
% override chrome://browser/skin/reload-stop-go.png chrome://browser/skin/yosemite/reload-stop-go.png os=Darwin osversion>=10.10
% override chrome://browser/skin/reload-stop-go@2x.png chrome://browser/skin/yosemite/reload-stop-go@2x.png os=Darwin osversion>=10.10
-% override chrome://browser/skin/sync-horizontalbar.png chrome://browser/skin/yosemite/sync-horizontalbar.png os=Darwin osversion>=10.10
-% override chrome://browser/skin/sync-horizontalbar@2x.png chrome://browser/skin/yosemite/sync-horizontalbar@2x.png os=Darwin osversion>=10.10
+% override chrome://browser/skin/sync-horizontalbar.png chrome://browser/skin/yosemite/sync-horizontalbar.png os=Darwin osversion>=10.10
+% override chrome://browser/skin/sync-horizontalbar@2x.png chrome://browser/skin/yosemite/sync-horizontalbar@2x.png os=Darwin osversion>=10.10
--- a/browser/themes/osx/shared.inc
+++ b/browser/themes/osx/shared.inc
@@ -1,12 +1,13 @@
%include ../../../toolkit/themes/osx/global/shared.inc
%include ../shared/browser.inc
%filter substitution
%define fgTabTexture linear-gradient(transparent 2px, hsla(0,0%,100%,.6) 2px, hsla(0,0%,100%,.6) 3px, hsl(0,0%,99%) 3px, hsl(0,0%,93%))
+%define fgTabTextureYosemiteInactive linear-gradient(transparent 2px, hsl(0,0%,99%) 2px, hsl(0,0%,97%))
%define toolbarColorLWT rgba(253,253,253,0.45)
%define fgTabTextureLWT linear-gradient(transparent 2px, rgba(254,254,254,.72) 2px, @toolbarColorLWT@)
%define fgTabBackgroundColor transparent
%define hudButton -moz-appearance: none; color: #434343; border-radius: 4px; border: 1px solid #b5b5b5; background: linear-gradient(#fff, #f2f2f2); box-shadow: inset 0 1px rgba(255,255,255,.8), inset 0 0 1px rgba(255,255, 255,.25), 0 1px rgba(255,255,255,.3); background-clip: padding-box; background-origin: padding-box; padding: 2px 6px;
%define hudButtonPressed box-shadow: inset 0 1px 4px -3px #000, 0 1px rgba(255,255,255,.3);
%define hudButtonFocused box-shadow: 0 0 1px -moz-mac-focusring inset, 0 0 4px 1px -moz-mac-focusring, 0 0 2px 1px -moz-mac-focusring;
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9f74c4e7654d18ca9b811c778ebf8586ba525dcd
GIT binary patch
literal 78
zc%17D@N?(olHy`uVBq!ia0vp^Y(Ol}!2%@nWJ)FgDN#=s$B+ufWCzwPj}P@yOhy-Y
bdzctXJvg10Jp088RKVcr>gTe~DWM4fDHRb@
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..50961db7ec08f990d349ab94ebe4296cddd72368
GIT binary patch
literal 89
zc%17D@N?(olHy`uVBq!ia0vp^JV0#6!2%?=o-;ZHq!c_|978G?lNFd(B)0ER{kI%M
kzTk2@s3F0+I6;Jg;kAw`r|rIrB|x<dp00i_>zopr0EOolmjD0&
new file mode 100644
--- /dev/null
+++ b/browser/themes/osx/tabbrowser/tab-selected-end-yosemite-inactive.svg
@@ -0,0 +1,28 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="30px" height="31px" preserveAspectRatio="none">
+ <defs>
+ <style>
+ #tab-background-fill {
+ background-color: transparent;
+ background-image: linear-gradient(transparent, transparent 2px, hsl(0,0%,99%) 2px, hsl(0,0%,97%));
+ background-repeat: no-repeat;
+ height: 100%;
+ width: 100%;
+ }
+ </style>
+
+ <clipPath id="tab-curve-clip-path-end" clipPathUnits="objectBoundingBox">
+ <path d="m 0,0.0625 -0.05,0 0,0.938 1,0 0,-0.028 C 0.67917542,0.95840561 0.56569036,0.81970962 0.51599998,0.5625 0.48279998,0.3905 0.465,0.0659 0,0.0625 z"/>
+ </clipPath>
+
+ <clipPath id="tab-hover-clip-path" clipPathUnits="objectBoundingBox">
+ <path d="M 0,0.2 0,1 1,1, 1,0.2 z"/>
+ </clipPath>
+ </defs>
+
+ <foreignObject width="30" height="31" clip-path="url(#tab-curve-clip-path-end)">
+ <div id="tab-background-fill" xmlns="http://www.w3.org/1999/xhtml"></div>
+ </foreignObject>
+</svg>
new file mode 100644
--- /dev/null
+++ b/browser/themes/osx/tabbrowser/tab-selected-start-yosemite-inactive.svg
@@ -0,0 +1,28 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="30px" height="31px" preserveAspectRatio="none">
+ <defs>
+ <style>
+ #tab-background-fill {
+ background-color: transparent;
+ background-image: linear-gradient(transparent, transparent 2px, hsl(0,0%,99%) 2px, hsl(0,0%,97%));
+ background-repeat: no-repeat;
+ height: 100%;
+ width: 100%;
+ }
+ </style>
+
+ <clipPath id="tab-curve-clip-path-start" clipPathUnits="objectBoundingBox">
+ <path d="m 1,0.0625 0.05,0 0,0.938 -1,0 0,-0.028 C 0.32082458,0.95840561 0.4353096,0.81970962 0.48499998,0.5625 0.51819998,0.3905 0.535,0.0659 1,0.0625 z"/>
+ </clipPath>
+
+ <clipPath id="tab-hover-clip-path" clipPathUnits="objectBoundingBox">
+ <path d="M 0,0.2 0,1 1,1, 1,0.2 z"/>
+ </clipPath>
+ </defs>
+
+ <foreignObject width="30" height="31" clip-path="url(#tab-curve-clip-path-start)">
+ <div id="tab-background-fill" xmlns="http://www.w3.org/1999/xhtml"></div>
+ </foreignObject>
+</svg>
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4206f0c7dca0188d886a6a10f4a9ba0a6c7767dc
GIT binary patch
literal 339
zc$@)K0j&OsP)<h;3K|Lk000e1NJLTq0015U0018d1ONa4T4lA20003RNkl<Zcmbu<
zGed?^6bJBswr$(CZQGolJ-6ms!=ArIV_wphZNK5vS9s3-%~wYkV%*^hXV}34`cQ#9
z)UIfLYB;J`&zp%0^@TOG<!x6dU9uuiN}}3>Vks1s(1d)XOpa8zo$ufUL-3IMU1hu<
zjJVqkZ%cf<p~Ky7u$K>OaFOFg4EyQ8b)tp`z<&Bj6m-G07Ap|<yOW70l)yu(ong=h
z*J2b*z_k(p8*rW3!v$QV{om!P;2Md59=MhxU<R&TKREECHpvZu8o1`-1g7geOlZ2M
zVqpxf`vg~kPf2GlU&DhvBIK}N=-|cwQJwFq2BS3{U<O^NLs@p>DE+Z_SK9C2%vm&J
l)c&b}0w|5jDVLH+`wyzbPouYMMS}nU002ovPDHLkV1j2in@#`#
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..21ac892703cffc3bb16e4c63e7735984b598f23c
GIT binary patch
literal 718
zc$@*w0x|uGP)<h;3K|Lk000e1NJLTq002Ay002G+1ONa4-951K0007&Nkl<Zcmd_u
z1B{(P5CGtL#@V*5n&)@6`J6On!^Tb#)s4!q4(gyb;@UROH{E~g#`tH8nQWYVYr%gQ
z=^|4h1ri|+A|V8P!N3Rqo=Kt#exOs;MK5~Cog?-a0}r~cG##v7F|Q{7dj(=3Kvnqn
zd^>oiVa2?JEW+a<SUuc`77W5@Ove(e#@;Xdxa(q*yM*vK@B@xOf6NvYa47t(j-DdI
zqd)^Zfd<ULHuO$<PSmGnQ>Pn%FEAcEl~MN=3px!<oU|5m(LU+kw1~Q#lcrG@oxY<~
z2Cc(V^lnk;M9>3o-~#k4n@t-Fu+t-sihMywaKjp`zuQS8ZQ!QO*tbrZ-_iWt9W!F5
z4aLe&mmaK^GsP?;gLHNo`RNi`(c%2C=~<V66M#Q(A)VDe{BX#z8UaTFe>`uXYoUbB
zE^H{Evx*(|-&Q8zAmEQHHBz=tfS2<GoFZeClj-trkg#>GnlE5q;E(;v^a_;#UtS>P
zlmd8NC~JDfFUk|No*%Z-^zsA#I9eg#FbVLjg#wO~0FUMSWe8fsKgy9yN(5}-hxNNE
zByA$MswIu`_^i}yIY&h_J!yjZVeO3;0mlM=Oq9;elk=8}J6J8}{iuE49g->M##yqh
zOir7vBZIW4{3QI2oT;ZDAsu_0(Y|z+obJx~V5j>?6#tJ<<CEUhY@#*X-QEABhv+!4
z@X}#ue>L#+hdUDVoOC$a$KCrY{W1xU0$)BlQ2F70J-B8eU5b>9fl%-VD;PlsS~Y1s
z&O$eOKiDt!?qBE#17CrfMH;~Xdcrm8;Q?5#;OHH3-mE;=d#>_o<+c37AteTaRiEVr
z*n%Fx|HuJRp&YcZ{E1;a7Go*aV;2sIQl`M40U(9}#4OR73;+NC07*qoM6N<$f^w8q
Ao&W#<
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2acbac438c6aea4c4f3c4b0a2efb859a5f8945d7
GIT binary patch
literal 339
zc$@)K0j&OsP)<h;3K|Lk000e1NJLTq0015U0018d1ONa4T4lA20003RNkl<ZcmciC
zLt@+k6bA5bY}ajU+qP{xtJ%lc#K{R}AKxOI7@OEhH?`fqUSa;P_+8-x{wE3axDN-o
z!X2IvK#fP?{<egzg6pbxP2XCn6LwPKfi?WNl<Fykyy+onNe(+1oqYBRshFHe41r9E
z0ne++6AWrU-<M@%0?VU=0y2QbI2=vR;8A!zO$U>9G=|JzdbE}RCXvPavkREi-4P@O
zlVvdmY>!uhz~*-D1SV->0I9*Gn~DP4-Q_5-IUNLmNtPePFQ$2pUre3XiwH28Z3(0W
zi^kpebs|{Q3a^tw(tyF_<a1O^P7pv0IkdQ|bef5MRYR^2K(=^yC+}$R!1}hIG6g*)
lsVRl>sgg1%=v@&6`3>EePmwbnyd?kt002ovPDHLkV1ikcku(4R
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a12fc39a7b10829cffefb0f736eebd8a545ef19f
GIT binary patch
literal 716
zc$@*u0yF)IP)<h;3K|Lk000e1NJLTq002Ay002G+1ONa4-951K0007$Nkl<ZcmeI$
zGnjQ(6vpv)Y};OA+qUhQ>ne4+^i5F3slqO9;wCn_*tW*==I&VKch>pz+x_#u2ls5i
z5*LLa8c9e;4)RfiVh9A53PKFhQ2_a$VVO8&{Sg_gxuWC2kymCuT={Zq&vEFYk3Lu;
z5xFLqSAIpuGgIGf)A!F|O*jTQChBQ?aputdduD?pY@{%g35;MU&bR<%nCM#l+e<V-
zr$1Q1SnJ>2Tu5=n6O+eYe{_MR41t0$lt6q9=81Bdxlj@Yf!x${?4g5I3{=hD(MNNG
zW1%J(`H)*owvRzjlm)r0m0os1Rhs!S?K!oxArQ!W%ba8YRAoZ0>){5&p(@gRF!mhG
zg0d{ggCp#NvQRVs>}@jw%2Hwey^T<p2l;%3VNe!j=3I6|T{`5kF(yG>0pyD*s0)Kk
z)v^xi;vu*7GY;x9ATN)?28EFC+o3K5GFHPvsEdYN)yYVxONQLv4;y4bUhaYoiXh+A
zL0vGUr<%D?7h~6}l>&Km5H`qxyxk3T0g#x|gBqxdfLzkVbXz_icMUSwmM8qih%M7Y
zam8T^)Fnc0>}Dp^WkcSaV<418LfWg@2Xz@Rd!-y3R+cekKd<QD=uDWEWupyqQgOwP
zJKD2S5b`0<OtQ;{+k9yY9opBMVb&Z!I#{VY4Q809`{_ET8K5}{=9uh9Yuwbk&A~|j
z?ezKUEjpN@wcpQxm=DJNLx&zZm<EdkA_$>~L@bh#1%Zi{Ueo=}Z>P`k*1S9>8jKKx
zBHTYB5$#O5zx&1YA07Uvhb;`Y@M;@F9!`3#=GCF+hMrr0YiQ5qPnzg}g<Ee%u+ksc
yqVI3R%Q@CD5{9MWey(tbE1YB>8<@*5Sne0?D*?YIK~4t%0000<MNUMnLSTZFxl?ig
deleted file mode 100644
index 68de89545b2739897372e6f4bba76eb7283af982..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 63415fd8b7bfef8447759361e7eecc2149ff962b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 38b8b3c6468935543ad714306d1fb71300c45816..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -690,23 +690,23 @@ toolbar[brighttext] .toolbarbutton-1 > .
list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow-inverted.png");
}
.toolbarbutton-1 > .toolbarbutton-icon,
.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
-moz-margin-end: 0;
}
-toolbar .toolbarbutton-1 > .toolbarbutton-icon,
-toolbar .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
max-width: 16px;
}
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
-toolbar .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > .toolbarbutton-icon,
+:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1:-moz-any(@primaryToolbarButtons@) > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon,
#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
max-width: 18px;
}
.findbar-button,
#nav-bar .toolbarbutton-1,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button {
-moz-appearance: none;
--- a/browser/themes/windows/jar.mn
+++ b/browser/themes/windows/jar.mn
@@ -2,19 +2,16 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
% skin browser classic/1.0 %skin/classic/browser/
#include ../shared/jar.inc.mn
skin/classic/browser/sanitizeDialog.css
skin/classic/browser/aboutSessionRestore-window-icon.png
- skin/classic/browser/aboutCertError_sectionCollapsed.png
- skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
- skin/classic/browser/aboutCertError_sectionExpanded.png
#ifdef MOZ_SERVICES_SYNC
skin/classic/browser/aboutSyncTabs.css
#endif
skin/classic/browser/actionicon-tab.png
skin/classic/browser/actionicon-tab@2x.png
skin/classic/browser/actionicon-tab-XPVista7.png
* skin/classic/browser/browser.css
* skin/classic/browser/devedition.css
--- a/devtools/client/aboutdebugging/aboutdebugging.xhtml
+++ b/devtools/client/aboutdebugging/aboutdebugging.xhtml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> %htmlDTD;
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd"> %toolboxDTD;
-<!ENTITY % aboutdebuggingDTD SYSTEM "chrome://browser/locale/devtools/aboutdebugging.dtd"> %aboutdebuggingDTD;
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd"> %toolboxDTD;
+<!ENTITY % aboutdebuggingDTD SYSTEM "chrome://devtools/locale/aboutdebugging.dtd"> %aboutdebuggingDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&aboutDebugging.title;</title>
<link rel="stylesheet" href="chrome://global/skin/global.css" type="text/css"/>
<link rel="stylesheet" href="chrome://global/skin/in-content/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/aboutdebugging/aboutdebugging.css" type="text/css"/>
--- a/devtools/client/aboutdebugging/components/addons.js
+++ b/devtools/client/aboutdebugging/components/addons.js
@@ -12,17 +12,17 @@ loader.lazyRequireGetter(this, "TargetLi
"devtools/client/aboutdebugging/components/target-list", true);
loader.lazyRequireGetter(this, "Services");
loader.lazyImporter(this, "AddonManager",
"resource://gre/modules/AddonManager.jsm");
const ExtensionIcon = "chrome://mozapps/skin/extensions/extensionGeneric.svg";
const Strings = Services.strings.createBundle(
- "chrome://browser/locale/devtools/aboutdebugging.properties");
+ "chrome://devtools/locale/aboutdebugging.properties");
exports.AddonsComponent = React.createClass({
displayName: "AddonsComponent",
getInitialState() {
return {
extensions: []
};
--- a/devtools/client/aboutdebugging/components/target-list.js
+++ b/devtools/client/aboutdebugging/components/target-list.js
@@ -8,17 +8,17 @@
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TargetComponent",
"devtools/client/aboutdebugging/components/target", true);
loader.lazyRequireGetter(this, "Services");
const Strings = Services.strings.createBundle(
- "chrome://browser/locale/devtools/aboutdebugging.properties");
+ "chrome://devtools/locale/aboutdebugging.properties");
const LocaleCompare = (a, b) => {
return a.name.toLowerCase().localeCompare(b.name.toLowerCase());
};
exports.TargetListComponent = React.createClass({
displayName: "TargetListComponent",
render() {
--- a/devtools/client/aboutdebugging/components/target.js
+++ b/devtools/client/aboutdebugging/components/target.js
@@ -16,17 +16,17 @@ loader.lazyRequireGetter(this, "Toolbox"
loader.lazyRequireGetter(this, "Services");
loader.lazyImporter(this, "BrowserToolboxProcess",
"resource://devtools/client/framework/ToolboxProcess.jsm");
loader.lazyImporter(this, "gDevTools",
"resource://devtools/client/framework/gDevTools.jsm");
const Strings = Services.strings.createBundle(
- "chrome://browser/locale/devtools/aboutdebugging.properties");
+ "chrome://devtools/locale/aboutdebugging.properties");
exports.TargetComponent = React.createClass({
displayName: "TargetComponent",
debug() {
let client = this.props.client;
let target = this.props.target;
switch (target.type) {
--- a/devtools/client/aboutdebugging/components/workers.js
+++ b/devtools/client/aboutdebugging/components/workers.js
@@ -10,17 +10,17 @@ loader.lazyRequireGetter(this, "Ci",
"chrome", true);
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TargetListComponent",
"devtools/client/aboutdebugging/components/target-list", true);
loader.lazyRequireGetter(this, "Services");
const Strings = Services.strings.createBundle(
- "chrome://browser/locale/devtools/aboutdebugging.properties");
+ "chrome://devtools/locale/aboutdebugging.properties");
exports.WorkersComponent = React.createClass({
displayName: "WorkersComponent",
getInitialState() {
return {
workers: {
service: [],
--- a/devtools/client/animationinspector/animation-controller.js
+++ b/devtools/client/animationinspector/animation-controller.js
@@ -15,17 +15,17 @@ Cu.import("resource://gre/modules/Consol
Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm");
loader.lazyRequireGetter(this, "promise");
loader.lazyRequireGetter(this, "EventEmitter",
"devtools/shared/event-emitter");
loader.lazyRequireGetter(this, "AnimationsFront",
"devtools/server/actors/animation", true);
-const STRINGS_URI = "chrome://browser/locale/devtools/animationinspector.properties";
+const STRINGS_URI = "chrome://devtools/locale/animationinspector.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
// Global toolbox/inspector, set when startup is called.
var gToolbox, gInspector;
/**
* Startup the animationinspector controller and view, called by the sidebar
* widget when loading/unloading the iframe into the tab.
--- a/devtools/client/animationinspector/animation-inspector.xhtml
+++ b/devtools/client/animationinspector/animation-inspector.xhtml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
-<!ENTITY % animationinspectorDTD SYSTEM "chrome://browser/locale/devtools/animationinspector.dtd" >
+<!ENTITY % animationinspectorDTD SYSTEM "chrome://devtools/locale/animationinspector.dtd" >
%animationinspectorDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/animationinspector.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/animationinspector.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
</head>
<body class="theme-sidebar devtools-monospace" role="application" empty="true">
<div id="global-toolbar" class="theme-toolbar">
<span class="label">&allAnimations;</span>
<button id="toggle-all" standalone="true" class="devtools-button pause-button"></button>
</div>
<div id="timeline-toolbar" class="theme-toolbar">
--- a/devtools/client/animationinspector/components.js
+++ b/devtools/client/animationinspector/components.js
@@ -24,17 +24,17 @@ Cu.import("resource://devtools/client/sh
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
const {
createNode,
drawGraphElementBackground,
findOptimalTimeInterval,
TargetNodeHighlighter
} = require("devtools/client/animationinspector/utils");
-const STRINGS_URI = "chrome://browser/locale/devtools/animationinspector.properties";
+const STRINGS_URI = "chrome://devtools/locale/animationinspector.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
const MILLIS_TIME_FORMAT_MAX_DURATION = 4000;
// The minimum spacing between 2 time graduation headers in the timeline (px).
const TIME_GRADUATION_MIN_SPACING = 40;
// List of playback rate presets displayed in the timeline toolbar.
const PLAYBACK_RATES = [.1, .25, .5, 1, 2, 5, 10];
// The size of the fast-track icon (for compositor-running animations), this is
// used to position the icon correctly.
--- a/devtools/client/animationinspector/test/browser_animation_running_on_compositor.js
+++ b/devtools/client/animationinspector/test/browser_animation_running_on_compositor.js
@@ -2,17 +2,17 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that when animations displayed in the timeline are running on the
// compositor, they get a special icon and information in the tooltip.
-const STRINGS_URI = "chrome://browser/locale/devtools/animationinspector.properties";
+const STRINGS_URI = "chrome://devtools/locale/animationinspector.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
add_task(function*() {
yield addTab(TEST_URL_ROOT + "doc_simple_animation.html");
let {inspector, panel} = yield openAnimationInspector();
let timeline = panel.animationsTimelineComponent;
info("Select a test node we know has an animation running on the compositor");
--- a/devtools/client/canvasdebugger/canvasdebugger.js
+++ b/devtools/client/canvasdebugger/canvasdebugger.js
@@ -75,18 +75,18 @@ const EVENTS = {
// When a source is shown in the JavaScript Debugger at a specific location.
SOURCE_SHOWN_IN_JS_DEBUGGER: "CanvasDebugger:SourceShownInJsDebugger",
SOURCE_NOT_FOUND_IN_JS_DEBUGGER: "CanvasDebugger:SourceNotFoundInJsDebugger"
};
XPCOMUtils.defineConstant(this, "EVENTS", EVENTS);
const HTML_NS = "http://www.w3.org/1999/xhtml";
-const STRINGS_URI = "chrome://browser/locale/devtools/canvasdebugger.properties";
-const SHARED_STRINGS_URI = "chrome://browser/locale/devtools/shared.properties";
+const STRINGS_URI = "chrome://devtools/locale/canvasdebugger.properties";
+const SHARED_STRINGS_URI = "chrome://devtools/locale/shared.properties";
const SNAPSHOT_START_RECORDING_DELAY = 10; // ms
const SNAPSHOT_DATA_EXPORT_MAX_BLOCK = 1000; // ms
const SNAPSHOT_DATA_DISPLAY_DELAY = 10; // ms
const SCREENSHOT_DISPLAY_DELAY = 100; // ms
const STACK_FUNC_INDENTATION = 14; // px
// This identifier string is simply used to tentatively ascertain whether or not
--- a/devtools/client/canvasdebugger/canvasdebugger.xul
+++ b/devtools/client/canvasdebugger/canvasdebugger.xul
@@ -1,19 +1,19 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/canvasdebugger.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/canvasdebugger.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % canvasDebuggerDTD SYSTEM "chrome://browser/locale/devtools/canvasdebugger.dtd">
+ <!ENTITY % canvasDebuggerDTD SYSTEM "chrome://devtools/locale/canvasdebugger.dtd">
%canvasDebuggerDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript" src="canvasdebugger.js"/>
<script type="application/javascript" src="callslist.js"/>
<script type="application/javascript" src="snapshotslist.js"/>
--- a/devtools/client/commandline/commandlineoutput.xhtml
+++ b/devtools/client/commandline/commandlineoutput.xhtml
@@ -5,14 +5,14 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="chrome://global/skin/global.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/commandline/commandline.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/commandline.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/commandline.css" type="text/css"/>
</head>
<body class="gcli-body">
<div id="gcli-output-root"></div>
</body>
</html>
--- a/devtools/client/commandline/commandlinetooltip.xhtml
+++ b/devtools/client/commandline/commandlinetooltip.xhtml
@@ -5,15 +5,15 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="chrome://global/skin/global.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/commandline/commandline.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/commandline.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/commandline.css" type="text/css"/>
</head>
<body class="gcli-body">
<div id="gcli-tooltip-root"></div>
<div id="gcli-tooltip-connector"></div>
</body>
</html>
--- a/devtools/client/debugger/debugger-controller.js
+++ b/devtools/client/debugger/debugger-controller.js
@@ -2,17 +2,17 @@
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
var { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-const DBG_STRINGS_URI = "chrome://browser/locale/devtools/debugger.properties";
+const DBG_STRINGS_URI = "chrome://devtools/locale/debugger.properties";
const NEW_SOURCE_IGNORED_URLS = ["debugger eval code", "XStringBundle"];
const NEW_SOURCE_DISPLAY_DELAY = 200; // ms
const FETCH_SOURCE_RESPONSE_DELAY = 200; // ms
const FRAME_STEP_CLEAR_DELAY = 100; // ms
const CALL_STACK_PAGE_SIZE = 25; // frames
// The panel's window global is an EventEmitter firing the following events:
const EVENTS = {
--- a/devtools/client/debugger/debugger.xul
+++ b/devtools/client/debugger/debugger.xul
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<?xml-stylesheet href="debugger.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/debugger.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/debugger.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % debuggerDTD SYSTEM "chrome://browser/locale/devtools/debugger.dtd">
+ <!ENTITY % debuggerDTD SYSTEM "chrome://devtools/locale/debugger.dtd">
%debuggerDTD;
]>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
macanimationtype="document"
fullscreenbutton="true"
--- a/devtools/client/definitions.js
+++ b/devtools/client/definitions.js
@@ -21,29 +21,29 @@ loader.lazyGetter(this, "CanvasDebuggerP
loader.lazyGetter(this, "WebAudioEditorPanel", () => require("devtools/client/webaudioeditor/panel").WebAudioEditorPanel);
loader.lazyGetter(this, "MemoryPanel", () => require("devtools/client/memory/panel").MemoryPanel);
loader.lazyGetter(this, "PerformancePanel", () => require("devtools/client/performance/panel").PerformancePanel);
loader.lazyGetter(this, "NetMonitorPanel", () => require("devtools/client/netmonitor/panel").NetMonitorPanel);
loader.lazyGetter(this, "StoragePanel", () => require("devtools/client/storage/panel").StoragePanel);
loader.lazyGetter(this, "ScratchpadPanel", () => require("devtools/client/scratchpad/scratchpad-panel").ScratchpadPanel);
// Strings
-const toolboxProps = "chrome://browser/locale/devtools/toolbox.properties";
-const inspectorProps = "chrome://browser/locale/devtools/inspector.properties";
-const webConsoleProps = "chrome://browser/locale/devtools/webconsole.properties";
-const debuggerProps = "chrome://browser/locale/devtools/debugger.properties";
-const styleEditorProps = "chrome://browser/locale/devtools/styleeditor.properties";
-const shaderEditorProps = "chrome://browser/locale/devtools/shadereditor.properties";
-const canvasDebuggerProps = "chrome://browser/locale/devtools/canvasdebugger.properties";
-const webAudioEditorProps = "chrome://browser/locale/devtools/webaudioeditor.properties";
-const performanceProps = "chrome://browser/locale/devtools/performance.properties";
-const netMonitorProps = "chrome://browser/locale/devtools/netmonitor.properties";
-const storageProps = "chrome://browser/locale/devtools/storage.properties";
-const scratchpadProps = "chrome://browser/locale/devtools/scratchpad.properties";
-const memoryProps = "chrome://browser/locale/devtools/memory.properties";
+const toolboxProps = "chrome://devtools/locale/toolbox.properties";
+const inspectorProps = "chrome://devtools/locale/inspector.properties";
+const webConsoleProps = "chrome://devtools/locale/webconsole.properties";
+const debuggerProps = "chrome://devtools/locale/debugger.properties";
+const styleEditorProps = "chrome://devtools/locale/styleeditor.properties";
+const shaderEditorProps = "chrome://devtools/locale/shadereditor.properties";
+const canvasDebuggerProps = "chrome://devtools/locale/canvasdebugger.properties";
+const webAudioEditorProps = "chrome://devtools/locale/webaudioeditor.properties";
+const performanceProps = "chrome://devtools/locale/performance.properties";
+const netMonitorProps = "chrome://devtools/locale/netmonitor.properties";
+const storageProps = "chrome://devtools/locale/storage.properties";
+const scratchpadProps = "chrome://devtools/locale/scratchpad.properties";
+const memoryProps = "chrome://devtools/locale/memory.properties";
loader.lazyGetter(this, "toolboxStrings", () => Services.strings.createBundle(toolboxProps));
loader.lazyGetter(this, "performanceStrings",() => Services.strings.createBundle(performanceProps));
loader.lazyGetter(this, "webConsoleStrings", () => Services.strings.createBundle(webConsoleProps));
loader.lazyGetter(this, "debuggerStrings", () => Services.strings.createBundle(debuggerProps));
loader.lazyGetter(this, "styleEditorStrings", () => Services.strings.createBundle(styleEditorProps));
loader.lazyGetter(this, "shaderEditorStrings", () => Services.strings.createBundle(shaderEditorProps));
loader.lazyGetter(this, "canvasDebuggerStrings", () => Services.strings.createBundle(canvasDebuggerProps));
@@ -57,17 +57,17 @@ loader.lazyGetter(this, "memoryStrings",
var Tools = {};
exports.Tools = Tools;
// Definitions
Tools.options = {
id: "options",
ordinal: 0,
url: "chrome://devtools/content/framework/toolbox-options.xul",
- icon: "chrome://devtools/skin/themes/images/tool-options.svg",
+ icon: "chrome://devtools/skin/images/tool-options.svg",
invertIconForLightTheme: true,
bgTheme: "theme-body",
label: l10n("options.label", toolboxStrings),
iconOnly: true,
panelLabel: l10n("options.panelLabel", toolboxStrings),
tooltip: l10n("optionsButton.tooltip", toolboxStrings),
inMenu: false,
@@ -81,17 +81,17 @@ Tools.options = {
}
Tools.inspector = {
id: "inspector",
accesskey: l10n("inspector.accesskey", inspectorStrings),
key: l10n("inspector.commandkey", inspectorStrings),
ordinal: 1,
modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
- icon: "chrome://devtools/skin/themes/images/tool-inspector.svg",
+ icon: "chrome://devtools/skin/images/tool-inspector.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/inspector/inspector.xul",
label: l10n("inspector.label", inspectorStrings),
panelLabel: l10n("inspector.panelLabel", inspectorStrings),
get tooltip() {
return l10n("inspector.tooltip2", inspectorStrings,
( osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+" ) + this.key);
},
@@ -117,17 +117,17 @@ Tools.inspector = {
};
Tools.webConsole = {
id: "webconsole",
key: l10n("cmd.commandkey", webConsoleStrings),
accesskey: l10n("webConsoleCmd.accesskey", webConsoleStrings),
modifiers: Services.appinfo.OS == "Darwin" ? "accel,alt" : "accel,shift",
ordinal: 2,
- icon: "chrome://devtools/skin/themes/images/tool-webconsole.svg",
+ icon: "chrome://devtools/skin/images/tool-webconsole.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/webconsole/webconsole.xul",
label: l10n("ToolboxTabWebconsole.label", webConsoleStrings),
menuLabel: l10n("MenuWebconsole.label", webConsoleStrings),
panelLabel: l10n("ToolboxWebConsole.panelLabel", webConsoleStrings),
get tooltip() {
return l10n("ToolboxWebconsole.tooltip2", webConsoleStrings,
( osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+" ) + this.key);
@@ -153,19 +153,19 @@ Tools.webConsole = {
};
Tools.jsdebugger = {
id: "jsdebugger",
key: l10n("debuggerMenu.commandkey", debuggerStrings),
accesskey: l10n("debuggerMenu.accesskey", debuggerStrings),
modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
ordinal: 3,
- icon: "chrome://devtools/skin/themes/images/tool-debugger.svg",
+ icon: "chrome://devtools/skin/images/tool-debugger.svg",
invertIconForLightTheme: true,
- highlightedicon: "chrome://devtools/skin/themes/images/tool-debugger-paused.svg",
+ highlightedicon: "chrome://devtools/skin/images/tool-debugger-paused.svg",
url: "chrome://devtools/content/debugger/debugger.xul",
label: l10n("ToolboxDebugger.label", debuggerStrings),
panelLabel: l10n("ToolboxDebugger.panelLabel", debuggerStrings),
get tooltip() {
return l10n("ToolboxDebugger.tooltip2", debuggerStrings,
( osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+" ) + this.key);
},
inMenu: true,
@@ -181,17 +181,17 @@ Tools.jsdebugger = {
};
Tools.styleEditor = {
id: "styleeditor",
key: l10n("open.commandkey", styleEditorStrings),
ordinal: 4,
accesskey: l10n("open.accesskey", styleEditorStrings),
modifiers: "shift",
- icon: "chrome://devtools/skin/themes/images/tool-styleeditor.svg",
+ icon: "chrome://devtools/skin/images/tool-styleeditor.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/styleeditor/styleeditor.xul",
label: l10n("ToolboxStyleEditor.label", styleEditorStrings),
panelLabel: l10n("ToolboxStyleEditor.panelLabel", styleEditorStrings),
get tooltip() {
return l10n("ToolboxStyleEditor.tooltip3", styleEditorStrings,
"Shift+" + functionkey(this.key));
},
@@ -206,17 +206,17 @@ Tools.styleEditor = {
return new StyleEditorPanel(iframeWindow, toolbox);
}
};
Tools.shaderEditor = {
id: "shadereditor",
ordinal: 5,
visibilityswitch: "devtools.shadereditor.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-shadereditor.svg",
+ icon: "chrome://devtools/skin/images/tool-shadereditor.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/shadereditor/shadereditor.xul",
label: l10n("ToolboxShaderEditor.label", shaderEditorStrings),
panelLabel: l10n("ToolboxShaderEditor.panelLabel", shaderEditorStrings),
tooltip: l10n("ToolboxShaderEditor.tooltip", shaderEditorStrings),
isTargetSupported: function(target) {
return target.hasActor("webgl") && !target.chrome;
@@ -226,17 +226,17 @@ Tools.shaderEditor = {
return new ShaderEditorPanel(iframeWindow, toolbox);
}
};
Tools.canvasDebugger = {
id: "canvasdebugger",
ordinal: 6,
visibilityswitch: "devtools.canvasdebugger.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-canvas.svg",
+ icon: "chrome://devtools/skin/images/tool-canvas.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/canvasdebugger/canvasdebugger.xul",
label: l10n("ToolboxCanvasDebugger.label", canvasDebuggerStrings),
panelLabel: l10n("ToolboxCanvasDebugger.panelLabel", canvasDebuggerStrings),
tooltip: l10n("ToolboxCanvasDebugger.tooltip", canvasDebuggerStrings),
// Hide the Canvas Debugger in the Add-on Debugger and Browser Toolbox
// (bug 1047520).
@@ -247,19 +247,19 @@ Tools.canvasDebugger = {
build: function (iframeWindow, toolbox) {
return new CanvasDebuggerPanel(iframeWindow, toolbox);
}
};
Tools.performance = {
id: "performance",
ordinal: 7,
- icon: "chrome://devtools/skin/themes/images/tool-profiler.svg",
+ icon: "chrome://devtools/skin/images/tool-profiler.svg",
invertIconForLightTheme: true,
- highlightedicon: "chrome://devtools/skin/themes/images/tool-profiler-active.svg",
+ highlightedicon: "chrome://devtools/skin/images/tool-profiler-active.svg",
url: "chrome://devtools/content/performance/performance.xul",
visibilityswitch: "devtools.performance.enabled",
label: l10n("performance.label", performanceStrings),
panelLabel: l10n("performance.panelLabel", performanceStrings),
get tooltip() {
return l10n("performance.tooltip", performanceStrings,
"Shift+" + functionkey(this.key));
},
@@ -275,19 +275,19 @@ Tools.performance = {
build: function (frame, target) {
return new PerformancePanel(frame, target);
}
};
Tools.memory = {
id: "memory",
ordinal: 8,
- icon: "chrome://devtools/skin/themes/images/tool-memory.svg",
+ icon: "chrome://devtools/skin/images/tool-memory.svg",
invertIconForLightTheme: true,
- highlightedicon: "chrome://devtools/skin/themes/images/tool-memory-active.svg",
+ highlightedicon: "chrome://devtools/skin/images/tool-memory-active.svg",
url: "chrome://devtools/content/memory/memory.xhtml",
visibilityswitch: "devtools.memory.enabled",
label: l10n("memory.label", memoryStrings),
panelLabel: l10n("memory.panelLabel", memoryStrings),
tooltip: l10n("memory.tooltip", memoryStrings),
isTargetSupported: function (target) {
return target.getTrait("heapSnapshots");
@@ -300,17 +300,17 @@ Tools.memory = {
Tools.netMonitor = {
id: "netmonitor",
accesskey: l10n("netmonitor.accesskey", netMonitorStrings),
key: l10n("netmonitor.commandkey", netMonitorStrings),
ordinal: 9,
modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
visibilityswitch: "devtools.netmonitor.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-network.svg",
+ icon: "chrome://devtools/skin/images/tool-network.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/netmonitor/netmonitor.xul",
label: l10n("netmonitor.label", netMonitorStrings),
panelLabel: l10n("netmonitor.panelLabel", netMonitorStrings),
get tooltip() {
return l10n("netmonitor.tooltip2", netMonitorStrings,
( osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+" ) + this.key);
},
@@ -327,17 +327,17 @@ Tools.netMonitor = {
Tools.storage = {
id: "storage",
key: l10n("storage.commandkey", storageStrings),
ordinal: 10,
accesskey: l10n("storage.accesskey", storageStrings),
modifiers: "shift",
visibilityswitch: "devtools.storage.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-storage.svg",
+ icon: "chrome://devtools/skin/images/tool-storage.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/storage/storage.xul",
label: l10n("storage.label", storageStrings),
menuLabel: l10n("storage.menuLabel", storageStrings),
panelLabel: l10n("storage.panelLabel", storageStrings),
get tooltip() {
return l10n("storage.tooltip3", storageStrings,
"Shift+" + functionkey(this.key));
@@ -354,17 +354,17 @@ Tools.storage = {
return new StoragePanel(iframeWindow, toolbox);
}
};
Tools.webAudioEditor = {
id: "webaudioeditor",
ordinal: 11,
visibilityswitch: "devtools.webaudioeditor.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-webaudio.svg",
+ icon: "chrome://devtools/skin/images/tool-webaudio.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/webaudioeditor/webaudioeditor.xul",
label: l10n("ToolboxWebAudioEditor1.label", webAudioEditorStrings),
panelLabel: l10n("ToolboxWebAudioEditor1.panelLabel", webAudioEditorStrings),
tooltip: l10n("ToolboxWebAudioEditor1.tooltip", webAudioEditorStrings),
isTargetSupported: function(target) {
return !target.chrome && target.hasActor("webaudio");
@@ -374,17 +374,17 @@ Tools.webAudioEditor = {
return new WebAudioEditorPanel(iframeWindow, toolbox);
}
};
Tools.scratchpad = {
id: "scratchpad",
ordinal: 12,
visibilityswitch: "devtools.scratchpad.enabled",
- icon: "chrome://devtools/skin/themes/images/tool-scratchpad.svg",
+ icon: "chrome://devtools/skin/images/tool-scratchpad.svg",
invertIconForLightTheme: true,
url: "chrome://devtools/content/scratchpad/scratchpad.xul",
label: l10n("scratchpad.label", scratchpadStrings),
panelLabel: l10n("scratchpad.panelLabel", scratchpadStrings),
tooltip: l10n("scratchpad.tooltip", scratchpadStrings),
inMenu: false,
commands: "devtools/client/scratchpad/scratchpad-commands",
@@ -414,25 +414,25 @@ var defaultTools = [
];
exports.defaultTools = defaultTools;
Tools.darkTheme = {
id: "dark",
label: l10n("options.darkTheme.label", toolboxStrings),
ordinal: 1,
- stylesheets: ["chrome://devtools/skin/themes/dark-theme.css"],
+ stylesheets: ["chrome://devtools/skin/dark-theme.css"],
classList: ["theme-dark"],
};
Tools.lightTheme = {
id: "light",
label: l10n("options.lightTheme.label", toolboxStrings),
ordinal: 2,
- stylesheets: ["chrome://devtools/skin/themes/light-theme.css"],
+ stylesheets: ["chrome://devtools/skin/light-theme.css"],
classList: ["theme-light"],
};
exports.defaultThemes = [
Tools.darkTheme,
Tools.lightTheme,
];
--- a/devtools/client/eyedropper/eyedropper.js
+++ b/devtools/client/eyedropper/eyedropper.js
@@ -30,17 +30,17 @@ loader.lazyGetter(this, "DOMUtils", func
return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
});
loader.lazyGetter(this, "XULRuntime", function() {
return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
});
loader.lazyGetter(this, "l10n", () => Services.strings
- .createBundle("chrome://browser/locale/devtools/eyedropper.properties"));
+ .createBundle("chrome://devtools/locale/eyedropper.properties"));
const EYEDROPPER_URL = "chrome://devtools/content/eyedropper/eyedropper.xul";
const CROSSHAIRS_URL = "chrome://devtools/content/eyedropper/crosshairs.css";
const NOCURSOR_URL = "chrome://devtools/content/eyedropper/nocursor.css";
const ZOOM_PREF = "devtools.eyedropper.zoom";
const FORMAT_PREF = "devtools.defaultColorUnit";
--- a/devtools/client/eyedropper/eyedropper.xul
+++ b/devtools/client/eyedropper/eyedropper.xul
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window []>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/eyedropper.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css"?>
+<?xml-stylesheet href="chrome://devtools/skin/eyedropper.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<commandset id="eyedropper-commandset">
<command id="eyedropper-cmd-close"
oncommand="void(0);"/>
<command id="eyedropper-cmd-copy"
oncommand="void(0);"/>
</commandset>
--- a/devtools/client/fontinspector/font-inspector.xhtml
+++ b/devtools/client/fontinspector/font-inspector.xhtml
@@ -1,24 +1,24 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
-<!ENTITY % fontinspectorDTD SYSTEM "chrome://browser/locale/devtools/font-inspector.dtd" >
+<!ENTITY % fontinspectorDTD SYSTEM "chrome://devtools/locale/font-inspector.dtd" >
%fontinspectorDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="font-inspector.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/font-inspector.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/font-inspector.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
</head>
<body class="theme-sidebar devtools-monospace" role="application">
<script type="application/javascript;version=1.8" src="font-inspector.js"></script>
<div>
<div class="devtools-toolbar preview-input-toolbar">
<div class="devtools-searchbox">
<input id="preview-text-input"
--- a/devtools/client/framework/connect/connect.js
+++ b/devtools/client/framework/connect/connect.js
@@ -16,17 +16,17 @@ var {TargetFactory} = require("devtools/
var {Toolbox} = require("devtools/client/framework/toolbox")
var promise = require("promise");
var {DebuggerClient} = require("devtools/shared/client/main");
var gClient;
var gConnectionTimeout;
XPCOMUtils.defineLazyGetter(window, 'l10n', function () {
- return Services.strings.createBundle('chrome://browser/locale/devtools/connection-screen.properties');
+ return Services.strings.createBundle('chrome://devtools/locale/connection-screen.properties');
});
/**
* Once DOM is ready, we prefil the host/port inputs with
* pref-stored values.
*/
window.addEventListener("DOMContentLoaded", function onDOMReady() {
window.removeEventListener("DOMContentLoaded", onDOMReady, true);
--- a/devtools/client/framework/connect/connect.xhtml
+++ b/devtools/client/framework/connect/connect.xhtml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
-<!ENTITY % connectionDTD SYSTEM "chrome://browser/locale/devtools/connection-screen.dtd" >
+<!ENTITY % connectionDTD SYSTEM "chrome://devtools/locale/connection-screen.dtd" >
%connectionDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<head>
<title>&title;</title>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/dark-theme.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/dark-theme.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/framework/connect/connect.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="connect.js"></script>
</head>
<body>
<h1>&header;</h1>
<section id="connection-form">
<form validate="validate" action="#">
<label>
--- a/devtools/client/framework/dev-edition-promo/dev-edition-promo.xul
+++ b/devtools/client/framework/dev-edition-promo/dev-edition-promo.xul
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
]>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet rel="stylesheet" href="chrome://devtools/content/framework/dev-edition-promo/dev-edition-promo.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="dev-edition-promo">
<vbox id="doorhanger-container">
<hbox flex="1" id="top-panel">
--- a/devtools/client/framework/gDevTools.jsm
+++ b/devtools/client/framework/gDevTools.jsm
@@ -32,17 +32,17 @@ const {JsonView} = require("devtools/cli
const TABS_OPEN_PEAK_HISTOGRAM = "DEVTOOLS_TABS_OPEN_PEAK_LINEAR";
const TABS_OPEN_AVG_HISTOGRAM = "DEVTOOLS_TABS_OPEN_AVERAGE_LINEAR";
const TABS_PINNED_PEAK_HISTOGRAM = "DEVTOOLS_TABS_PINNED_PEAK_LINEAR";
const TABS_PINNED_AVG_HISTOGRAM = "DEVTOOLS_TABS_PINNED_AVERAGE_LINEAR";
const FORBIDDEN_IDS = new Set(["toolbox", ""]);
const MAX_ORDINAL = 99;
-const bundle = Services.strings.createBundle("chrome://browser/locale/devtools/toolbox.properties");
+const bundle = Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
/**
* DevTools is a class that represents a set of developer tools, it holds a
* set of tools and keeps track of open toolboxes in the browser.
*/
this.DevTools = function DevTools() {
this._tools = new Map(); // Map<toolId, tool>
this._themes = new Map(); // Map<themeId, theme>
--- a/devtools/client/framework/sidebar.js
+++ b/devtools/client/framework/sidebar.js
@@ -528,17 +528,17 @@ ToolSidebar.prototype = {
this._tabs = null;
this._tabbox = null;
this._panelDoc = null;
this._toolPanel = null;
})
}
XPCOMUtils.defineLazyGetter(this, "l10n", function() {
- let bundle = Services.strings.createBundle("chrome://browser/locale/devtools/toolbox.properties");
+ let bundle = Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
let l10n = function(aName, ...aArgs) {
try {
if (aArgs.length == 0) {
return bundle.GetStringFromName(aName);
} else {
return bundle.formatStringFromName(aName, aArgs, aArgs.length);
}
} catch (ex) {
--- a/devtools/client/framework/test/browser_toolbox_sidebar.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar.js
@@ -1,17 +1,17 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
function test() {
const Cu = Components.utils;
let {ToolSidebar} = require("devtools/client/framework/sidebar");
const toolURL = "data:text/xml;charset=utf8,<?xml version='1.0'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css' type='text/css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css' type='text/css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'>" +
"<hbox flex='1'><description flex='1'>foo</description><splitter class='devtools-side-splitter'/>" +
"<tabbox flex='1' id='sidebar' class='devtools-sidebar-tabs'><tabs/><tabpanels flex='1'/></tabbox>" +
"</hbox>" +
"</window>";
const tab1URL = "data:text/html;charset=utf8,<title>1</title><p>1</p>";
const tab2URL = "data:text/html;charset=utf8,<title>2</title><p>2</p>";
--- a/devtools/client/framework/test/browser_toolbox_sidebar_events.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_events.js
@@ -1,17 +1,17 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
function test() {
const Cu = Components.utils;
const { ToolSidebar } = require("devtools/client/framework/sidebar");
const toolURL = "data:text/xml;charset=utf8,<?xml version='1.0'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css' type='text/css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css' type='text/css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'>" +
"<hbox flex='1'><description flex='1'>foo</description><splitter class='devtools-side-splitter'/>" +
"<tabbox flex='1' id='sidebar' class='devtools-sidebar-tabs'><tabs/><tabpanels flex='1'/></tabbox>" +
"</hbox>" +
"</window>";
const tab1URL = "data:text/html;charset=utf8,<title>1</title><p>1</p>";
--- a/devtools/client/framework/test/browser_toolbox_sidebar_existing_tabs.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_existing_tabs.js
@@ -2,17 +2,17 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that the sidebar widget auto-registers existing tabs.
const {ToolSidebar} = require("devtools/client/framework/sidebar");
const testToolURL = "data:text/xml;charset=utf8,<?xml version='1.0'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css' type='text/css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css' type='text/css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'>" +
"<hbox flex='1'><description flex='1'>test tool</description>" +
"<splitter class='devtools-side-splitter'/>" +
"<tabbox flex='1' id='sidebar' class='devtools-sidebar-tabs'>" +
"<tabs><tab id='tab1' label='tab 1'></tab><tab id='tab2' label='tab 2'></tab></tabs>" +
"<tabpanels flex='1'><tabpanel id='tabpanel1'>tab 1</tabpanel><tabpanel id='tabpanel2'>tab 2</tabpanel></tabpanels>" +
"</tabbox></hbox></window>";
--- a/devtools/client/framework/test/browser_toolbox_sidebar_tool.xul
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_tool.xul
@@ -1,16 +1,16 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<box flex="1" class="devtools-responsive-container theme-body">
<vbox flex="1" class="devtools-main-content" id="content">test</vbox>
<splitter class="devtools-side-splitter"/>
<tabbox flex="1" id="sidebar" class="devtools-sidebar-tabs">
<tabs/>
<tabpanels flex="1"/>
--- a/devtools/client/framework/toolbox-options.js
+++ b/devtools/client/framework/toolbox-options.js
@@ -8,17 +8,17 @@ const {Cu, Cc, Ci} = require("chrome");
const Services = require("Services");
const promise = require("promise");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "gDevTools", "resource://devtools/client/framework/gDevTools.jsm");
exports.OptionsPanel = OptionsPanel;
XPCOMUtils.defineLazyGetter(this, "l10n", function() {
- let bundle = Services.strings.createBundle("chrome://browser/locale/devtools/toolbox.properties");
+ let bundle = Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
let l10n = function(aName, ...aArgs) {
try {
if (aArgs.length == 0) {
return bundle.GetStringFromName(aName);
} else {
return bundle.formatStringFromName(aName, aArgs, aArgs.length);
}
} catch (ex) {
--- a/devtools/client/framework/toolbox-options.xul
+++ b/devtools/client/framework/toolbox-options.xul
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
]>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet rel="stylesheet" href="chrome://devtools/content/framework/options-panel.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8"
--- a/devtools/client/framework/toolbox-process-window.xul
+++ b/devtools/client/framework/toolbox-process-window.xul
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
]>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="devtools-toolbox-window"
macanimationtype="document"
--- a/devtools/client/framework/toolbox-window.xul
+++ b/devtools/client/framework/toolbox-window.xul
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
]>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="devtools-toolbox-window"
macanimationtype="document"
--- a/devtools/client/framework/toolbox.js
+++ b/devtools/client/framework/toolbox.js
@@ -25,17 +25,17 @@ Cu.import("resource://gre/modules/Servic
Cu.import("resource://devtools/client/framework/gDevTools.jsm");
Cu.import("resource://devtools/client/scratchpad/scratchpad-manager.jsm");
Cu.import("resource://devtools/client/shared/DOMHelpers.jsm");
Cu.import("resource://gre/modules/Task.jsm");
loader.lazyImporter(this, "CommandUtils",
"resource://devtools/client/shared/DeveloperToolbar.jsm");
loader.lazyGetter(this, "toolboxStrings", () => {
- const properties = "chrome://browser/locale/devtools/toolbox.properties";
+ const properties = "chrome://devtools/locale/toolbox.properties";
const bundle = Services.strings.createBundle(properties);
return (name, ...args) => {
try {
if (!args.length) {
return bundle.GetStringFromName(name);
}
return bundle.formatStringFromName(name, args, args.length);
} catch (ex) {
--- a/devtools/client/framework/toolbox.xul
+++ b/devtools/client/framework/toolbox.xul
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
<!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuStrings;
<!ENTITY % globalKeysDTD SYSTEM "chrome://global/locale/globalKeys.dtd">
%globalKeysDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
--- a/devtools/client/inspector/inspector-panel.js
+++ b/devtools/client/inspector/inspector-panel.js
@@ -14,20 +14,20 @@ var clipboard = require("sdk/clipboard")
var {HostType} = require("devtools/client/framework/toolbox").Toolbox;
loader.lazyGetter(this, "MarkupView", () => require("devtools/client/markupview/markup-view").MarkupView);
loader.lazyGetter(this, "HTMLBreadcrumbs", () => require("devtools/client/inspector/breadcrumbs").HTMLBreadcrumbs);
loader.lazyGetter(this, "ToolSidebar", () => require("devtools/client/framework/sidebar").ToolSidebar);
loader.lazyGetter(this, "SelectorSearch", () => require("devtools/client/inspector/selector-search").SelectorSearch);
loader.lazyGetter(this, "strings", () => {
- return Services.strings.createBundle("chrome://browser/locale/devtools/inspector.properties");
+ return Services.strings.createBundle("chrome://devtools/locale/inspector.properties");
});
loader.lazyGetter(this, "toolboxStrings", () => {
- return Services.strings.createBundle("chrome://browser/locale/devtools/toolbox.properties");
+ return Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
});
loader.lazyGetter(this, "clipboardHelper", () => {
return Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
});
loader.lazyImporter(this, "CommandUtils", "resource://devtools/client/shared/DeveloperToolbar.jsm");
const LAYOUT_CHANGE_TIMER = 250;
--- a/devtools/client/inspector/inspector.xul
+++ b/devtools/client/inspector/inspector.xul
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/inspector/inspector.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/inspector.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/inspector.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % inspectorDTD SYSTEM "chrome://browser/locale/devtools/inspector.dtd" >
+ <!ENTITY % inspectorDTD SYSTEM "chrome://devtools/locale/inspector.dtd" >
%inspectorDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
--- a/devtools/client/jar.mn
+++ b/devtools/client/jar.mn
@@ -144,193 +144,193 @@ devtools.jar:
content/shared/widgets/filter-widget.css (shared/widgets/filter-widget.css)
content/eyedropper/eyedropper.xul (eyedropper/eyedropper.xul)
content/eyedropper/crosshairs.css (eyedropper/crosshairs.css)
content/eyedropper/nocursor.css (eyedropper/nocursor.css)
content/aboutdebugging/aboutdebugging.xhtml (aboutdebugging/aboutdebugging.xhtml)
content/aboutdebugging/aboutdebugging.css (aboutdebugging/aboutdebugging.css)
content/aboutdebugging/aboutdebugging.js (aboutdebugging/aboutdebugging.js)
% skin devtools classic/1.0 %skin/
-* skin/themes/common.css (themes/common.css)
- skin/themes/dark-theme.css (themes/dark-theme.css)
- skin/themes/light-theme.css (themes/light-theme.css)
- skin/themes/toolbars.css (themes/toolbars.css)
- skin/themes/variables.css (themes/variables.css)
- skin/themes/images/add.svg (themes/images/add.svg)
- skin/themes/images/filters.svg (themes/images/filters.svg)
- skin/themes/images/filter-swatch.svg (themes/images/filter-swatch.svg)
- skin/themes/images/pseudo-class.svg (themes/images/pseudo-class.svg)
- skin/themes/images/controls.png (themes/images/controls.png)
- skin/themes/images/controls@2x.png (themes/images/controls@2x.png)
- skin/themes/images/animation-fast-track.svg (themes/images/animation-fast-track.svg)
- skin/themes/images/performance-icons.svg (themes/images/performance-icons.svg)
- skin/themes/images/newtab.png (themes/images/newtab.png)
- skin/themes/images/newtab@2x.png (themes/images/newtab@2x.png)
- skin/themes/images/newtab-inverted.png (themes/images/newtab-inverted.png)
- skin/themes/images/newtab-inverted@2x.png (themes/images/newtab-inverted@2x.png)
-* skin/themes/widgets.css (themes/widgets.css)
- skin/themes/images/power.svg (themes/images/power.svg)
- skin/themes/images/filetypes/dir-close.svg (themes/images/filetypes/dir-close.svg)
- skin/themes/images/filetypes/dir-open.svg (themes/images/filetypes/dir-open.svg)
- skin/themes/images/filetypes/globe.svg (themes/images/filetypes/globe.svg)
- skin/themes/images/filetypes/store.svg (themes/images/filetypes/store.svg)
- skin/themes/images/commandline-icon.png (themes/images/commandline-icon.png)
- skin/themes/images/commandline-icon@2x.png (themes/images/commandline-icon@2x.png)
- skin/themes/images/alerticon-warning.png (themes/images/alerticon-warning.png)
- skin/themes/images/alerticon-warning@2x.png (themes/images/alerticon-warning@2x.png)
-* skin/themes/ruleview.css (themes/ruleview.css)
- skin/themes/commandline.css (themes/commandline.css)
- skin/themes/images/command-paintflashing.png (themes/images/command-paintflashing.png)
- skin/themes/images/command-paintflashing@2x.png (themes/images/command-paintflashing@2x.png)
- skin/themes/images/command-screenshot.png (themes/images/command-screenshot.png)
- skin/themes/images/command-screenshot@2x.png (themes/images/command-screenshot@2x.png)
- skin/themes/images/command-responsivemode.png (themes/images/command-responsivemode.png)
- skin/themes/images/command-responsivemode@2x.png (themes/images/command-responsivemode@2x.png)
- skin/themes/images/command-scratchpad.png (themes/images/command-scratchpad.png)
- skin/themes/images/command-scratchpad@2x.png (themes/images/command-scratchpad@2x.png)
- skin/themes/images/command-tilt.png (themes/images/command-tilt.png)
- skin/themes/images/command-tilt@2x.png (themes/images/command-tilt@2x.png)
- skin/themes/images/command-pick.png (themes/images/command-pick.png)
- skin/themes/images/command-pick@2x.png (themes/images/command-pick@2x.png)
- skin/themes/images/command-frames.png (themes/images/command-frames.png)
- skin/themes/images/command-frames@2x.png (themes/images/command-frames@2x.png)
- skin/themes/images/command-console.png (themes/images/command-console.png)
- skin/themes/images/command-console@2x.png (themes/images/command-console@2x.png)
- skin/themes/images/command-eyedropper.png (themes/images/command-eyedropper.png)
- skin/themes/images/command-eyedropper@2x.png (themes/images/command-eyedropper@2x.png)
- skin/themes/images/command-rulers.png (themes/images/command-rulers.png)
- skin/themes/images/command-rulers@2x.png (themes/images/command-rulers@2x.png)
- skin/themes/images/command-measure.png (themes/images/command-measure.png)
- skin/themes/images/command-measure@2x.png (themes/images/command-measure@2x.png)
- skin/themes/markup-view.css (themes/markup-view.css)
- skin/themes/images/editor-error.png (themes/images/editor-error.png)
- skin/themes/images/editor-breakpoint.png (themes/images/editor-breakpoint.png)
- skin/themes/images/editor-breakpoint@2x.png (themes/images/editor-breakpoint@2x.png)
- skin/themes/images/editor-debug-location.png (themes/images/editor-debug-location.png)
- skin/themes/images/editor-debug-location@2x.png (themes/images/editor-debug-location@2x.png)
-* skin/themes/webconsole.css (themes/webconsole.css)
- skin/themes/images/webconsole.svg (themes/images/webconsole.svg)
- skin/themes/images/breadcrumbs-divider@2x.png (themes/images/breadcrumbs-divider@2x.png)
- skin/themes/images/breadcrumbs-scrollbutton.png (themes/images/breadcrumbs-scrollbutton.png)
- skin/themes/images/breadcrumbs-scrollbutton@2x.png (themes/images/breadcrumbs-scrollbutton@2x.png)
- skin/themes/animationinspector.css (themes/animationinspector.css)
- skin/themes/eyedropper.css (themes/eyedropper.css)
- skin/themes/canvasdebugger.css (themes/canvasdebugger.css)
- skin/themes/debugger.css (themes/debugger.css)
-* skin/themes/netmonitor.css (themes/netmonitor.css)
- skin/themes/performance.css (themes/performance.css)
- skin/themes/memory.css (themes/memory.css)
- skin/themes/promisedebugger.css (themes/promisedebugger.css)
- skin/themes/images/timeline-filter.svg (themes/images/timeline-filter.svg)
- skin/themes/scratchpad.css (themes/scratchpad.css)
- skin/themes/shadereditor.css (themes/shadereditor.css)
- skin/themes/storage.css (themes/storage.css)
-* skin/themes/splitview.css (themes/splitview.css)
- skin/themes/styleeditor.css (themes/styleeditor.css)
- skin/themes/webaudioeditor.css (themes/webaudioeditor.css)
- skin/themes/images/magnifying-glass.png (themes/images/magnifying-glass.png)
- skin/themes/images/magnifying-glass@2x.png (themes/images/magnifying-glass@2x.png)
- skin/themes/images/magnifying-glass-light.png (themes/images/magnifying-glass-light.png)
- skin/themes/images/magnifying-glass-light@2x.png (themes/images/magnifying-glass-light@2x.png)
- skin/themes/images/itemToggle.png (themes/images/itemToggle.png)
- skin/themes/images/itemToggle@2x.png (themes/images/itemToggle@2x.png)
- skin/themes/images/itemArrow-dark-rtl.svg (themes/images/itemArrow-dark-rtl.svg)
- skin/themes/images/itemArrow-dark-ltr.svg (themes/images/itemArrow-dark-ltr.svg)
- skin/themes/images/itemArrow-rtl.svg (themes/images/itemArrow-rtl.svg)
- skin/themes/images/itemArrow-ltr.svg (themes/images/itemArrow-ltr.svg)
- skin/themes/images/noise.png (themes/images/noise.png)
- skin/themes/images/dropmarker.svg (themes/images/dropmarker.svg)
- skin/themes/layoutview.css (themes/layoutview.css)
- skin/themes/images/debugger-collapse.png (themes/images/debugger-collapse.png)
- skin/themes/images/debugger-collapse@2x.png (themes/images/debugger-collapse@2x.png)
- skin/themes/images/debugger-expand.png (themes/images/debugger-expand.png)
- skin/themes/images/debugger-expand@2x.png (themes/images/debugger-expand@2x.png)
- skin/themes/images/debugger-pause.png (themes/images/debugger-pause.png)
- skin/themes/images/debugger-pause@2x.png (themes/images/debugger-pause@2x.png)
- skin/themes/images/debugger-play.png (themes/images/debugger-play.png)
- skin/themes/images/debugger-play@2x.png (themes/images/debugger-play@2x.png)
- skin/themes/images/fast-forward.png (themes/images/fast-forward.png)
- skin/themes/images/fast-forward@2x.png (themes/images/fast-forward@2x.png)
- skin/themes/images/rewind.png (themes/images/rewind.png)
- skin/themes/images/rewind@2x.png (themes/images/rewind@2x.png)
- skin/themes/images/debugger-step-in.png (themes/images/debugger-step-in.png)
- skin/themes/images/debugger-step-in@2x.png (themes/images/debugger-step-in@2x.png)
- skin/themes/images/debugger-step-out.png (themes/images/debugger-step-out.png)
- skin/themes/images/debugger-step-out@2x.png (themes/images/debugger-step-out@2x.png)
- skin/themes/images/debugger-step-over.png (themes/images/debugger-step-over.png)
- skin/themes/images/debugger-step-over@2x.png (themes/images/debugger-step-over@2x.png)
- skin/themes/images/debugger-blackbox.png (themes/images/debugger-blackbox.png)
- skin/themes/images/debugger-blackbox@2x.png (themes/images/debugger-blackbox@2x.png)
- skin/themes/images/debugger-prettyprint.png (themes/images/debugger-prettyprint.png)
- skin/themes/images/debugger-prettyprint@2x.png (themes/images/debugger-prettyprint@2x.png)
- skin/themes/images/debugger-toggleBreakpoints.png (themes/images/debugger-toggleBreakpoints.png)
- skin/themes/images/debugger-toggleBreakpoints@2x.png (themes/images/debugger-toggleBreakpoints@2x.png)
- skin/themes/images/tracer-icon.png (themes/images/tracer-icon.png)
- skin/themes/images/tracer-icon@2x.png (themes/images/tracer-icon@2x.png)
- skin/themes/images/responsivemode/responsive-se-resizer.png (themes/images/responsivemode/responsive-se-resizer.png)
- skin/themes/images/responsivemode/responsive-se-resizer@2x.png (themes/images/responsivemode/responsive-se-resizer@2x.png)
- skin/themes/images/responsivemode/responsive-vertical-resizer.png (themes/images/responsivemode/responsive-vertical-resizer.png)
- skin/themes/images/responsivemode/responsive-vertical-resizer@2x.png (themes/images/responsivemode/responsive-vertical-resizer@2x.png)
- skin/themes/images/responsivemode/responsive-horizontal-resizer.png (themes/images/responsivemode/responsive-horizontal-resizer.png)
- skin/themes/images/responsivemode/responsive-horizontal-resizer@2x.png (themes/images/responsivemode/responsive-horizontal-resizer@2x.png)
- skin/themes/images/responsivemode/responsiveui-rotate.png (themes/images/responsivemode/responsiveui-rotate.png)
- skin/themes/images/responsivemode/responsiveui-rotate@2x.png (themes/images/responsivemode/responsiveui-rotate@2x.png)
- skin/themes/images/responsivemode/responsiveui-touch.png (themes/images/responsivemode/responsiveui-touch.png)
- skin/themes/images/responsivemode/responsiveui-touch@2x.png (themes/images/responsivemode/responsiveui-touch@2x.png)
- skin/themes/images/responsivemode/responsiveui-screenshot.png (themes/images/responsivemode/responsiveui-screenshot.png)
- skin/themes/images/responsivemode/responsiveui-screenshot@2x.png (themes/images/responsivemode/responsiveui-screenshot@2x.png)
- skin/themes/images/responsivemode/responsiveui-home.png (themes/images/responsivemode/responsiveui-home.png)
- skin/themes/images/toggle-tools.png (themes/images/toggle-tools.png)
- skin/themes/images/toggle-tools@2x.png (themes/images/toggle-tools@2x.png)
- skin/themes/images/dock-bottom@2x.png (themes/images/dock-bottom@2x.png)
- skin/themes/images/dock-bottom-minimize@2x.png (themes/images/dock-bottom-minimize@2x.png)
- skin/themes/images/dock-bottom-maximize@2x.png (themes/images/dock-bottom-maximize@2x.png)
- skin/themes/images/dock-side@2x.png (themes/images/dock-side@2x.png)
-* skin/themes/floating-scrollbars.css (themes/floating-scrollbars.css)
- skin/themes/floating-scrollbars-light.css (themes/floating-scrollbars-light.css)
-* skin/themes/inspector.css (themes/inspector.css)
- skin/themes/images/profiler-stopwatch.svg (themes/images/profiler-stopwatch.svg)
- skin/themes/images/profiler-stopwatch-checked.svg (themes/images/profiler-stopwatch-checked.svg)
- skin/themes/images/tool-options.svg (themes/images/tool-options.svg)
- skin/themes/images/tool-webconsole.svg (themes/images/tool-webconsole.svg)
- skin/themes/images/tool-canvas.svg (themes/images/tool-canvas.svg)
- skin/themes/images/tool-debugger.svg (themes/images/tool-debugger.svg)
- skin/themes/images/tool-debugger-paused.svg (themes/images/tool-debugger-paused.svg)
- skin/themes/images/tool-inspector.svg (themes/images/tool-inspector.svg)
- skin/themes/images/tool-shadereditor.svg (themes/images/tool-shadereditor.svg)
- skin/themes/images/tool-styleeditor.svg (themes/images/tool-styleeditor.svg)
- skin/themes/images/tool-storage.svg (themes/images/tool-storage.svg)
- skin/themes/images/tool-profiler.svg (themes/images/tool-profiler.svg)
- skin/themes/images/tool-profiler-active.svg (themes/images/tool-profiler-active.svg)
- skin/themes/images/tool-network.svg (themes/images/tool-network.svg)
- skin/themes/images/tool-scratchpad.svg (themes/images/tool-scratchpad.svg)
- skin/themes/images/tool-webaudio.svg (themes/images/tool-webaudio.svg)
- skin/themes/images/tool-memory.svg (themes/images/tool-memory.svg)
- skin/themes/images/tool-memory-active.svg (themes/images/tool-memory-active.svg)
- skin/themes/images/close.png (themes/images/close.png)
- skin/themes/images/close@2x.png (themes/images/close@2x.png)
- skin/themes/images/vview-delete.png (themes/images/vview-delete.png)
- skin/themes/images/vview-delete@2x.png (themes/images/vview-delete@2x.png)
- skin/themes/images/vview-edit.png (themes/images/vview-edit.png)
- skin/themes/images/vview-edit@2x.png (themes/images/vview-edit@2x.png)
- skin/themes/images/vview-lock.png (themes/images/vview-lock.png)
- skin/themes/images/vview-lock@2x.png (themes/images/vview-lock@2x.png)
- skin/themes/images/vview-open-inspector.png (themes/images/vview-open-inspector.png)
- skin/themes/images/vview-open-inspector@2x.png (themes/images/vview-open-inspector@2x.png)
- skin/themes/images/cubic-bezier-swatch.png (themes/images/cubic-bezier-swatch.png)
- skin/themes/images/cubic-bezier-swatch@2x.png (themes/images/cubic-bezier-swatch@2x.png)
- skin/themes/images/undock@2x.png (themes/images/undock@2x.png)
- skin/themes/font-inspector.css (themes/font-inspector.css)
- skin/themes/computedview.css (themes/computedview.css)
- skin/themes/images/arrow-e.png (themes/images/arrow-e.png)
- skin/themes/images/arrow-e@2x.png (themes/images/arrow-e@2x.png)
- skin/themes/projecteditor/projecteditor.css (themes/projecteditor/projecteditor.css)
- skin/themes/images/search-clear-failed.svg (themes/images/search-clear-failed.svg)
- skin/themes/images/search-clear-light.svg (themes/images/search-clear-light.svg)
- skin/themes/images/search-clear-dark.svg (themes/images/search-clear-dark.svg)
- skin/themes/tooltip/arrow-horizontal-dark.png (themes/tooltip/arrow-horizontal-dark.png)
- skin/themes/tooltip/arrow-horizontal-dark@2x.png (themes/tooltip/arrow-horizontal-dark@2x.png)
- skin/themes/tooltip/arrow-vertical-dark.png (themes/tooltip/arrow-vertical-dark.png)
- skin/themes/tooltip/arrow-vertical-dark@2x.png (themes/tooltip/arrow-vertical-dark@2x.png)
- skin/themes/tooltip/arrow-horizontal-light.png (themes/tooltip/arrow-horizontal-light.png)
- skin/themes/tooltip/arrow-horizontal-light@2x.png (themes/tooltip/arrow-horizontal-light@2x.png)
- skin/themes/tooltip/arrow-vertical-light.png (themes/tooltip/arrow-vertical-light.png)
- skin/themes/tooltip/arrow-vertical-light@2x.png (themes/tooltip/arrow-vertical-light@2x.png)
+* skin/common.css (themes/common.css)
+ skin/dark-theme.css (themes/dark-theme.css)
+ skin/light-theme.css (themes/light-theme.css)
+ skin/toolbars.css (themes/toolbars.css)
+ skin/variables.css (themes/variables.css)
+ skin/images/add.svg (themes/images/add.svg)
+ skin/images/filters.svg (themes/images/filters.svg)
+ skin/images/filter-swatch.svg (themes/images/filter-swatch.svg)
+ skin/images/pseudo-class.svg (themes/images/pseudo-class.svg)
+ skin/images/controls.png (themes/images/controls.png)
+ skin/images/controls@2x.png (themes/images/controls@2x.png)
+ skin/images/animation-fast-track.svg (themes/images/animation-fast-track.svg)
+ skin/images/performance-icons.svg (themes/images/performance-icons.svg)
+ skin/images/newtab.png (themes/images/newtab.png)
+ skin/images/newtab@2x.png (themes/images/newtab@2x.png)
+ skin/images/newtab-inverted.png (themes/images/newtab-inverted.png)
+ skin/images/newtab-inverted@2x.png (themes/images/newtab-inverted@2x.png)
+* skin/widgets.css (themes/widgets.css)
+ skin/images/power.svg (themes/images/power.svg)
+ skin/images/filetypes/dir-close.svg (themes/images/filetypes/dir-close.svg)
+ skin/images/filetypes/dir-open.svg (themes/images/filetypes/dir-open.svg)
+ skin/images/filetypes/globe.svg (themes/images/filetypes/globe.svg)
+ skin/images/filetypes/store.svg (themes/images/filetypes/store.svg)
+ skin/images/commandline-icon.png (themes/images/commandline-icon.png)
+ skin/images/commandline-icon@2x.png (themes/images/commandline-icon@2x.png)
+ skin/images/alerticon-warning.png (themes/images/alerticon-warning.png)
+ skin/images/alerticon-warning@2x.png (themes/images/alerticon-warning@2x.png)
+* skin/ruleview.css (themes/ruleview.css)
+ skin/commandline.css (themes/commandline.css)
+ skin/images/command-paintflashing.png (themes/images/command-paintflashing.png)
+ skin/images/command-paintflashing@2x.png (themes/images/command-paintflashing@2x.png)
+ skin/images/command-screenshot.png (themes/images/command-screenshot.png)
+ skin/images/command-screenshot@2x.png (themes/images/command-screenshot@2x.png)
+ skin/images/command-responsivemode.png (themes/images/command-responsivemode.png)
+ skin/images/command-responsivemode@2x.png (themes/images/command-responsivemode@2x.png)
+ skin/images/command-scratchpad.png (themes/images/command-scratchpad.png)
+ skin/images/command-scratchpad@2x.png (themes/images/command-scratchpad@2x.png)
+ skin/images/command-tilt.png (themes/images/command-tilt.png)
+ skin/images/command-tilt@2x.png (themes/images/command-tilt@2x.png)
+ skin/images/command-pick.png (themes/images/command-pick.png)
+ skin/images/command-pick@2x.png (themes/images/command-pick@2x.png)
+ skin/images/command-frames.png (themes/images/command-frames.png)
+ skin/images/command-frames@2x.png (themes/images/command-frames@2x.png)
+ skin/images/command-console.png (themes/images/command-console.png)
+ skin/images/command-console@2x.png (themes/images/command-console@2x.png)
+ skin/images/command-eyedropper.png (themes/images/command-eyedropper.png)
+ skin/images/command-eyedropper@2x.png (themes/images/command-eyedropper@2x.png)
+ skin/images/command-rulers.png (themes/images/command-rulers.png)
+ skin/images/command-rulers@2x.png (themes/images/command-rulers@2x.png)
+ skin/images/command-measure.png (themes/images/command-measure.png)
+ skin/images/command-measure@2x.png (themes/images/command-measure@2x.png)
+ skin/markup-view.css (themes/markup-view.css)
+ skin/images/editor-error.png (themes/images/editor-error.png)
+ skin/images/editor-breakpoint.png (themes/images/editor-breakpoint.png)
+ skin/images/editor-breakpoint@2x.png (themes/images/editor-breakpoint@2x.png)
+ skin/images/editor-debug-location.png (themes/images/editor-debug-location.png)
+ skin/images/editor-debug-location@2x.png (themes/images/editor-debug-location@2x.png)
+* skin/webconsole.css (themes/webconsole.css)
+ skin/images/webconsole.svg (themes/images/webconsole.svg)
+ skin/images/breadcrumbs-divider@2x.png (themes/images/breadcrumbs-divider@2x.png)
+ skin/images/breadcrumbs-scrollbutton.png (themes/images/breadcrumbs-scrollbutton.png)
+ skin/images/breadcrumbs-scrollbutton@2x.png (themes/images/breadcrumbs-scrollbutton@2x.png)
+ skin/animationinspector.css (themes/animationinspector.css)
+ skin/eyedropper.css (themes/eyedropper.css)
+ skin/canvasdebugger.css (themes/canvasdebugger.css)
+ skin/debugger.css (themes/debugger.css)
+* skin/netmonitor.css (themes/netmonitor.css)
+ skin/performance.css (themes/performance.css)
+ skin/memory.css (themes/memory.css)
+ skin/promisedebugger.css (themes/promisedebugger.css)
+ skin/images/timeline-filter.svg (themes/images/timeline-filter.svg)
+ skin/scratchpad.css (themes/scratchpad.css)
+ skin/shadereditor.css (themes/shadereditor.css)
+ skin/storage.css (themes/storage.css)
+* skin/splitview.css (themes/splitview.css)
+ skin/styleeditor.css (themes/styleeditor.css)
+ skin/webaudioeditor.css (themes/webaudioeditor.css)
+ skin/images/magnifying-glass.png (themes/images/magnifying-glass.png)
+ skin/images/magnifying-glass@2x.png (themes/images/magnifying-glass@2x.png)
+ skin/images/magnifying-glass-light.png (themes/images/magnifying-glass-light.png)
+ skin/images/magnifying-glass-light@2x.png (themes/images/magnifying-glass-light@2x.png)
+ skin/images/itemToggle.png (themes/images/itemToggle.png)
+ skin/images/itemToggle@2x.png (themes/images/itemToggle@2x.png)
+ skin/images/itemArrow-dark-rtl.svg (themes/images/itemArrow-dark-rtl.svg)
+ skin/images/itemArrow-dark-ltr.svg (themes/images/itemArrow-dark-ltr.svg)
+ skin/images/itemArrow-rtl.svg (themes/images/itemArrow-rtl.svg)
+ skin/images/itemArrow-ltr.svg (themes/images/itemArrow-ltr.svg)
+ skin/images/noise.png (themes/images/noise.png)
+ skin/images/dropmarker.svg (themes/images/dropmarker.svg)
+ skin/layoutview.css (themes/layoutview.css)
+ skin/images/debugger-collapse.png (themes/images/debugger-collapse.png)
+ skin/images/debugger-collapse@2x.png (themes/images/debugger-collapse@2x.png)
+ skin/images/debugger-expand.png (themes/images/debugger-expand.png)
+ skin/images/debugger-expand@2x.png (themes/images/debugger-expand@2x.png)
+ skin/images/debugger-pause.png (themes/images/debugger-pause.png)
+ skin/images/debugger-pause@2x.png (themes/images/debugger-pause@2x.png)
+ skin/images/debugger-play.png (themes/images/debugger-play.png)
+ skin/images/debugger-play@2x.png (themes/images/debugger-play@2x.png)
+ skin/images/fast-forward.png (themes/images/fast-forward.png)
+ skin/images/fast-forward@2x.png (themes/images/fast-forward@2x.png)
+ skin/images/rewind.png (themes/images/rewind.png)
+ skin/images/rewind@2x.png (themes/images/rewind@2x.png)
+ skin/images/debugger-step-in.png (themes/images/debugger-step-in.png)
+ skin/images/debugger-step-in@2x.png (themes/images/debugger-step-in@2x.png)
+ skin/images/debugger-step-out.png (themes/images/debugger-step-out.png)
+ skin/images/debugger-step-out@2x.png (themes/images/debugger-step-out@2x.png)
+ skin/images/debugger-step-over.png (themes/images/debugger-step-over.png)
+ skin/images/debugger-step-over@2x.png (themes/images/debugger-step-over@2x.png)
+ skin/images/debugger-blackbox.png (themes/images/debugger-blackbox.png)
+ skin/images/debugger-blackbox@2x.png (themes/images/debugger-blackbox@2x.png)
+ skin/images/debugger-prettyprint.png (themes/images/debugger-prettyprint.png)
+ skin/images/debugger-prettyprint@2x.png (themes/images/debugger-prettyprint@2x.png)
+ skin/images/debugger-toggleBreakpoints.png (themes/images/debugger-toggleBreakpoints.png)
+ skin/images/debugger-toggleBreakpoints@2x.png (themes/images/debugger-toggleBreakpoints@2x.png)
+ skin/images/tracer-icon.png (themes/images/tracer-icon.png)
+ skin/images/tracer-icon@2x.png (themes/images/tracer-icon@2x.png)
+ skin/images/responsivemode/responsive-se-resizer.png (themes/images/responsivemode/responsive-se-resizer.png)
+ skin/images/responsivemode/responsive-se-resizer@2x.png (themes/images/responsivemode/responsive-se-resizer@2x.png)
+ skin/images/responsivemode/responsive-vertical-resizer.png (themes/images/responsivemode/responsive-vertical-resizer.png)
+ skin/images/responsivemode/responsive-vertical-resizer@2x.png (themes/images/responsivemode/responsive-vertical-resizer@2x.png)
+ skin/images/responsivemode/responsive-horizontal-resizer.png (themes/images/responsivemode/responsive-horizontal-resizer.png)
+ skin/images/responsivemode/responsive-horizontal-resizer@2x.png (themes/images/responsivemode/responsive-horizontal-resizer@2x.png)
+ skin/images/responsivemode/responsiveui-rotate.png (themes/images/responsivemode/responsiveui-rotate.png)
+ skin/images/responsivemode/responsiveui-rotate@2x.png (themes/images/responsivemode/responsiveui-rotate@2x.png)
+ skin/images/responsivemode/responsiveui-touch.png (themes/images/responsivemode/responsiveui-touch.png)
+ skin/images/responsivemode/responsiveui-touch@2x.png (themes/images/responsivemode/responsiveui-touch@2x.png)
+ skin/images/responsivemode/responsiveui-screenshot.png (themes/images/responsivemode/responsiveui-screenshot.png)
+ skin/images/responsivemode/responsiveui-screenshot@2x.png (themes/images/responsivemode/responsiveui-screenshot@2x.png)
+ skin/images/responsivemode/responsiveui-home.png (themes/images/responsivemode/responsiveui-home.png)
+ skin/images/toggle-tools.png (themes/images/toggle-tools.png)
+ skin/images/toggle-tools@2x.png (themes/images/toggle-tools@2x.png)
+ skin/images/dock-bottom@2x.png (themes/images/dock-bottom@2x.png)
+ skin/images/dock-bottom-minimize@2x.png (themes/images/dock-bottom-minimize@2x.png)
+ skin/images/dock-bottom-maximize@2x.png (themes/images/dock-bottom-maximize@2x.png)
+ skin/images/dock-side@2x.png (themes/images/dock-side@2x.png)
+* skin/floating-scrollbars.css (themes/floating-scrollbars.css)
+ skin/floating-scrollbars-light.css (themes/floating-scrollbars-light.css)
+* skin/inspector.css (themes/inspector.css)
+ skin/images/profiler-stopwatch.svg (themes/images/profiler-stopwatch.svg)
+ skin/images/profiler-stopwatch-checked.svg (themes/images/profiler-stopwatch-checked.svg)
+ skin/images/tool-options.svg (themes/images/tool-options.svg)
+ skin/images/tool-webconsole.svg (themes/images/tool-webconsole.svg)
+ skin/images/tool-canvas.svg (themes/images/tool-canvas.svg)
+ skin/images/tool-debugger.svg (themes/images/tool-debugger.svg)
+ skin/images/tool-debugger-paused.svg (themes/images/tool-debugger-paused.svg)
+ skin/images/tool-inspector.svg (themes/images/tool-inspector.svg)
+ skin/images/tool-shadereditor.svg (themes/images/tool-shadereditor.svg)
+ skin/images/tool-styleeditor.svg (themes/images/tool-styleeditor.svg)
+ skin/images/tool-storage.svg (themes/images/tool-storage.svg)
+ skin/images/tool-profiler.svg (themes/images/tool-profiler.svg)
+ skin/images/tool-profiler-active.svg (themes/images/tool-profiler-active.svg)
+ skin/images/tool-network.svg (themes/images/tool-network.svg)
+ skin/images/tool-scratchpad.svg (themes/images/tool-scratchpad.svg)
+ skin/images/tool-webaudio.svg (themes/images/tool-webaudio.svg)
+ skin/images/tool-memory.svg (themes/images/tool-memory.svg)
+ skin/images/tool-memory-active.svg (themes/images/tool-memory-active.svg)
+ skin/images/close.png (themes/images/close.png)
+ skin/images/close@2x.png (themes/images/close@2x.png)
+ skin/images/vview-delete.png (themes/images/vview-delete.png)
+ skin/images/vview-delete@2x.png (themes/images/vview-delete@2x.png)
+ skin/images/vview-edit.png (themes/images/vview-edit.png)
+ skin/images/vview-edit@2x.png (themes/images/vview-edit@2x.png)
+ skin/images/vview-lock.png (themes/images/vview-lock.png)
+ skin/images/vview-lock@2x.png (themes/images/vview-lock@2x.png)
+ skin/images/vview-open-inspector.png (themes/images/vview-open-inspector.png)
+ skin/images/vview-open-inspector@2x.png (themes/images/vview-open-inspector@2x.png)
+ skin/images/cubic-bezier-swatch.png (themes/images/cubic-bezier-swatch.png)
+ skin/images/cubic-bezier-swatch@2x.png (themes/images/cubic-bezier-swatch@2x.png)
+ skin/images/undock@2x.png (themes/images/undock@2x.png)
+ skin/font-inspector.css (themes/font-inspector.css)
+ skin/computedview.css (themes/computedview.css)
+ skin/images/arrow-e.png (themes/images/arrow-e.png)
+ skin/images/arrow-e@2x.png (themes/images/arrow-e@2x.png)
+ skin/projecteditor/projecteditor.css (themes/projecteditor/projecteditor.css)
+ skin/images/search-clear-failed.svg (themes/images/search-clear-failed.svg)
+ skin/images/search-clear-light.svg (themes/images/search-clear-light.svg)
+ skin/images/search-clear-dark.svg (themes/images/search-clear-dark.svg)
+ skin/tooltip/arrow-horizontal-dark.png (themes/tooltip/arrow-horizontal-dark.png)
+ skin/tooltip/arrow-horizontal-dark@2x.png (themes/tooltip/arrow-horizontal-dark@2x.png)
+ skin/tooltip/arrow-vertical-dark.png (themes/tooltip/arrow-vertical-dark.png)
+ skin/tooltip/arrow-vertical-dark@2x.png (themes/tooltip/arrow-vertical-dark@2x.png)
+ skin/tooltip/arrow-horizontal-light.png (themes/tooltip/arrow-horizontal-light.png)
+ skin/tooltip/arrow-horizontal-light@2x.png (themes/tooltip/arrow-horizontal-light@2x.png)
+ skin/tooltip/arrow-vertical-light.png (themes/tooltip/arrow-vertical-light.png)
+ skin/tooltip/arrow-vertical-light@2x.png (themes/tooltip/arrow-vertical-light@2x.png)
--- a/devtools/client/jsonview/converter-child.js
+++ b/devtools/client/jsonview/converter-child.js
@@ -29,17 +29,17 @@ const childProcessMessageManager =
const SEGMENT_SIZE = Math.pow(2, 17);
const JSON_VIEW_MIME_TYPE = "application/vnd.mozilla.json.view";
const CONTRACT_ID = "@mozilla.org/streamconv;1?from=" + JSON_VIEW_MIME_TYPE + "&to=*/*";
const CLASS_ID = "{d8c9acee-dec5-11e4-8c75-1681e6b88ec1}";
// Localization
var jsonViewStrings = Services.strings.createBundle(
- "chrome://browser/locale/devtools/jsonview.properties");
+ "chrome://devtools/locale/jsonview.properties");
/**
* This object detects 'application/vnd.mozilla.json.view' content type
* and converts it into a JSON Viewer application that allows simple
* JSON inspection.
*
* Inspired by JSON View: https://github.com/bhollis/jsonview/
*/
--- a/devtools/client/jsonview/css/search-box.css
+++ b/devtools/client/jsonview/css/search-box.css
@@ -21,26 +21,26 @@
}
/******************************************************************************/
/* Light Theme & Dark Theme*/
.theme-dark .searchBox,
.theme-light .searchBox {
border: 1px solid rgb(170, 170, 170);
- background-image: url("chrome://devtools/skin/themes/images/magnifying-glass-light.png");
+ background-image: url("chrome://devtools/skin/images/magnifying-glass-light.png");
background-position: 8px center;
border-radius: 2px;
padding-left: 25px;
margin-top: 1px;
height: 16px;
font-style: italic;
}
/******************************************************************************/
/* Dark Theme */
.theme-dark .searchBox {
background-color: rgba(24, 29, 32, 1);
color: rgba(184, 200, 217, 1);
border-color: var(--theme-splitter-color);
- background-image: url("chrome://devtools/skin/themes/images/magnifying-glass.png");
+ background-image: url("chrome://devtools/skin/images/magnifying-glass.png");
}
--- a/devtools/client/layoutview/view.js
+++ b/devtools/client/layoutview/view.js
@@ -11,17 +11,17 @@ var {utils: Cu, interfaces: Ci, classes:
Cu.import("resource://gre/modules/Task.jsm");
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
Cu.import("resource://gre/modules/Console.jsm");
Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm");
const {InplaceEditor, editableItem} = require("devtools/client/shared/inplace-editor");
const {ReflowFront} = require("devtools/server/actors/layout");
-const STRINGS_URI = "chrome://browser/locale/devtools/shared.properties";
+const STRINGS_URI = "chrome://devtools/locale/shared.properties";
const SHARED_L10N = new ViewHelpers.L10N(STRINGS_URI);
const NUMERIC = /^-?[\d\.]+$/;
const LONG_TEXT_ROTATE_LIMIT = 3;
/**
* An instance of EditingSession tracks changes that have been made during the
* modification of box model values. All of these changes can be reverted by
* calling revert.
--- a/devtools/client/layoutview/view.xhtml
+++ b/devtools/client/layoutview/view.xhtml
@@ -1,29 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
-<!ENTITY % layoutviewDTD SYSTEM "chrome://browser/locale/devtools/layoutview.dtd" >
+<!ENTITY % layoutviewDTD SYSTEM "chrome://devtools/locale/layoutview.dtd" >
%layoutviewDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<head>
<title>&title;</title>
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript;version=1.8" src="view.js"></script>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/layoutview.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/layoutview.css" type="text/css"/>
</head>
<body class="theme-sidebar devtools-monospace">
<p id="header">
<span id="element-size"></span><span id="element-position"></span>
</p>
rename from browser/locales/en-US/chrome/browser/devtools/VariablesView.dtd
rename to devtools/client/locales/en-US/VariablesView.dtd
rename from browser/locales/en-US/chrome/browser/devtools/aboutdebugging.dtd
rename to devtools/client/locales/en-US/aboutdebugging.dtd
rename from browser/locales/en-US/chrome/browser/devtools/aboutdebugging.properties
rename to devtools/client/locales/en-US/aboutdebugging.properties
rename from browser/locales/en-US/chrome/browser/devtools/animationinspector.dtd
rename to devtools/client/locales/en-US/animationinspector.dtd
rename from browser/locales/en-US/chrome/browser/devtools/animationinspector.properties
rename to devtools/client/locales/en-US/animationinspector.properties
rename from browser/locales/en-US/chrome/browser/devtools/app-manager.properties
rename to devtools/client/locales/en-US/app-manager.properties
rename from browser/locales/en-US/chrome/browser/devtools/appcacheutils.properties
rename to devtools/client/locales/en-US/appcacheutils.properties
rename from browser/locales/en-US/chrome/browser/devtools/canvasdebugger.dtd
rename to devtools/client/locales/en-US/canvasdebugger.dtd
rename from browser/locales/en-US/chrome/browser/devtools/canvasdebugger.properties
rename to devtools/client/locales/en-US/canvasdebugger.properties
rename from browser/locales/en-US/chrome/browser/devtools/connection-screen.dtd
rename to devtools/client/locales/en-US/connection-screen.dtd
rename from browser/locales/en-US/chrome/browser/devtools/connection-screen.properties
rename to devtools/client/locales/en-US/connection-screen.properties
rename from browser/locales/en-US/chrome/browser/devtools/debugger.dtd
rename to devtools/client/locales/en-US/debugger.dtd
rename from browser/locales/en-US/chrome/browser/devtools/debugger.properties
rename to devtools/client/locales/en-US/debugger.properties
rename from browser/locales/en-US/chrome/browser/devtools/device.properties
rename to devtools/client/locales/en-US/device.properties
rename from browser/locales/en-US/chrome/browser/devtools/eyedropper.properties
rename to devtools/client/locales/en-US/eyedropper.properties
rename from browser/locales/en-US/chrome/browser/devtools/filterwidget.dtd
rename to devtools/client/locales/en-US/filterwidget.dtd
rename from browser/locales/en-US/chrome/browser/devtools/filterwidget.properties
rename to devtools/client/locales/en-US/filterwidget.properties
rename from browser/locales/en-US/chrome/browser/devtools/font-inspector.dtd
rename to devtools/client/locales/en-US/font-inspector.dtd
rename from browser/locales/en-US/chrome/browser/devtools/graphs.properties
rename to devtools/client/locales/en-US/graphs.properties
rename from browser/locales/en-US/chrome/browser/devtools/har.properties
rename to devtools/client/locales/en-US/har.properties
rename from browser/locales/en-US/chrome/browser/devtools/inspector.dtd
rename to devtools/client/locales/en-US/inspector.dtd
rename from browser/locales/en-US/chrome/browser/devtools/inspector.properties
rename to devtools/client/locales/en-US/inspector.properties
rename from browser/locales/en-US/chrome/browser/devtools/jsonview.properties
rename to devtools/client/locales/en-US/jsonview.properties
rename from browser/locales/en-US/chrome/browser/devtools/layoutview.dtd
rename to devtools/client/locales/en-US/layoutview.dtd
rename from browser/locales/en-US/chrome/browser/devtools/markers.properties
rename to devtools/client/locales/en-US/markers.properties
rename from browser/locales/en-US/chrome/browser/devtools/memory.properties
rename to devtools/client/locales/en-US/memory.properties
--- a/browser/locales/en-US/chrome/browser/devtools/memory.properties
+++ b/devtools/client/locales/en-US/memory.properties
@@ -43,16 +43,20 @@ checkbox.recordAllocationStacks=Record a
# LOCALIZATION NOTE (toolbar.breakdownBy): The label describing the select menu
# options of the breakdown options.
toolbar.breakdownBy=Group by:
# LOCALIZATION NOTE (take-snapshot): The label describing the button that initiates
# taking a snapshot, either as the main label, or a tooltip.
take-snapshot=Take snapshot
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Filter
+
# LOCALIZATION NOTE (viewsourceindebugger): The label for the tooltip when hovering over
# a link in the heap tree to jump to the debugger view.
# %S represents the URL to match in the debugger.
viewsourceindebugger=View source in Debugger → %S
# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
# that represents a row broken down by allocation stack when no stack was available.
tree-item.nostack=(no stack available)
rename from browser/locales/en-US/chrome/browser/devtools/netmonitor.dtd
rename to devtools/client/locales/en-US/netmonitor.dtd
--- a/browser/locales/en-US/chrome/browser/devtools/netmonitor.dtd
+++ b/devtools/client/locales/en-US/netmonitor.dtd
@@ -172,20 +172,16 @@
<!-- LOCALIZATION NOTE (netmonitorUI.response.dimensions): This is the label displayed
- in the network details response tab identifying an image's dimensions. -->
<!ENTITY netmonitorUI.response.dimensions "Dimensions:">
<!-- LOCALIZATION NOTE (netmonitorUI.response.mime): This is the label displayed
- in the network details response tab identifying an image's mime. -->
<!ENTITY netmonitorUI.response.mime "MIME Type:">
-<!-- LOCALIZATION NOTE (netmonitorUI.response.encoding): This is the label displayed
- - in the network details response tab identifying an image's encoding. -->
-<!ENTITY netmonitorUI.response.encoding "Encoding:">
-
<!-- LOCALIZATION NOTE (netmonitorUI.timings.blocked): This is the label displayed
- in the network details timings tab identifying the amount of time spent
- in a "blocked" state. -->
<!ENTITY netmonitorUI.timings.blocked "Blocked:">
<!-- LOCALIZATION NOTE (netmonitorUI.timings.dns): This is the label displayed
- in the network details timings tab identifying the amount of time spent
- in a "dns" state. -->
rename from browser/locales/en-US/chrome/browser/devtools/netmonitor.properties
rename to devtools/client/locales/en-US/netmonitor.properties
rename from browser/locales/en-US/chrome/browser/devtools/performance.dtd
rename to devtools/client/locales/en-US/performance.dtd
rename from browser/locales/en-US/chrome/browser/devtools/performance.properties
rename to devtools/client/locales/en-US/performance.properties
rename from browser/locales/en-US/chrome/browser/devtools/projecteditor.properties
rename to devtools/client/locales/en-US/projecteditor.properties
rename from browser/locales/en-US/chrome/browser/devtools/promisedebugger.dtd
rename to devtools/client/locales/en-US/promisedebugger.dtd
rename from browser/locales/en-US/chrome/browser/devtools/promisedebugger.properties
rename to devtools/client/locales/en-US/promisedebugger.properties
rename from browser/locales/en-US/chrome/browser/devtools/responsiveUI.properties
rename to devtools/client/locales/en-US/responsiveUI.properties
rename from browser/locales/en-US/chrome/browser/devtools/scratchpad.dtd
rename to devtools/client/locales/en-US/scratchpad.dtd
rename from browser/locales/en-US/chrome/browser/devtools/scratchpad.properties
rename to devtools/client/locales/en-US/scratchpad.properties
rename from browser/locales/en-US/chrome/browser/devtools/shadereditor.dtd
rename to devtools/client/locales/en-US/shadereditor.dtd
rename from browser/locales/en-US/chrome/browser/devtools/shadereditor.properties
rename to devtools/client/locales/en-US/shadereditor.properties
rename from browser/locales/en-US/chrome/browser/devtools/shared.properties
rename to devtools/client/locales/en-US/shared.properties
rename from browser/locales/en-US/chrome/browser/devtools/sourceeditor.dtd
rename to devtools/client/locales/en-US/sourceeditor.dtd
rename from browser/locales/en-US/chrome/browser/devtools/sourceeditor.properties
rename to devtools/client/locales/en-US/sourceeditor.properties
rename from browser/locales/en-US/chrome/browser/devtools/storage.properties
rename to devtools/client/locales/en-US/storage.properties
rename from browser/locales/en-US/chrome/browser/devtools/styleeditor.dtd
rename to devtools/client/locales/en-US/styleeditor.dtd
rename from browser/locales/en-US/chrome/browser/devtools/styleeditor.properties
rename to devtools/client/locales/en-US/styleeditor.properties
rename from browser/locales/en-US/chrome/browser/devtools/styleinspector.dtd
rename to devtools/client/locales/en-US/styleinspector.dtd
rename from browser/locales/en-US/chrome/browser/devtools/tilt.properties
rename to devtools/client/locales/en-US/tilt.properties
rename from browser/locales/en-US/chrome/browser/devtools/toolbox.dtd
rename to devtools/client/locales/en-US/toolbox.dtd
rename from browser/locales/en-US/chrome/browser/devtools/toolbox.properties
rename to devtools/client/locales/en-US/toolbox.properties
rename from browser/locales/en-US/chrome/browser/devtools/webConsole.dtd
rename to devtools/client/locales/en-US/webConsole.dtd
rename from browser/locales/en-US/chrome/browser/devtools/webaudioeditor.dtd
rename to devtools/client/locales/en-US/webaudioeditor.dtd
rename from browser/locales/en-US/chrome/browser/devtools/webaudioeditor.properties
rename to devtools/client/locales/en-US/webaudioeditor.properties
rename from browser/locales/en-US/chrome/browser/devtools/webconsole.properties
rename to devtools/client/locales/en-US/webconsole.properties
rename from browser/locales/en-US/chrome/browser/devtools/webide.dtd
rename to devtools/client/locales/en-US/webide.dtd
rename from browser/locales/en-US/chrome/browser/devtools/webide.properties
rename to devtools/client/locales/en-US/webide.properties
new file mode 100644
--- /dev/null
+++ b/devtools/client/locales/jar.mn
@@ -0,0 +1,8 @@
+#filter substitution
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+@AB_CD@.jar:
+% locale devtools @AB_CD@ %locale/@AB_CD@/devtools/client/
+ locale/@AB_CD@/devtools/client/ (%*)
new file mode 100644
--- /dev/null
+++ b/devtools/client/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
--- a/devtools/client/markupview/markup-view.js
+++ b/devtools/client/markupview/markup-view.js
@@ -3088,15 +3088,15 @@ function map(value, oldMin, oldMax, newM
let ratio = oldMax - oldMin;
if (ratio == 0) {
return value;
}
return newMin + (newMax - newMin) * ((value - oldMin) / ratio);
}
loader.lazyGetter(MarkupView.prototype, "strings", () => Services.strings.createBundle(
- "chrome://browser/locale/devtools/inspector.properties"
+ "chrome://devtools/locale/inspector.properties"
));
XPCOMUtils.defineLazyGetter(this, "clipboardHelper", function() {
return Cc["@mozilla.org/widget/clipboardhelper;1"].
getService(Ci.nsIClipboardHelper);
});
--- a/devtools/client/markupview/markup-view.xhtml
+++ b/devtools/client/markupview/markup-view.xhtml
@@ -3,18 +3,18 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="chrome://devtools/content/markupview/markup-view.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/markup-view.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/markup-view.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
</head>
<body class="theme-body devtools-monospace" role="application">
<!-- NOTE THAT WE MAKE EXTENSIVE USE OF HTML COMMENTS IN THIS FILE IN ORDER -->
--- a/devtools/client/markupview/test/browser_markupview_links_04.js
+++ b/devtools/client/markupview/test/browser_markupview_links_04.js
@@ -4,19 +4,19 @@
"use strict";
// Tests that the contextual menu shows the right items when clicking on a link
// in an attribute.
const TEST_URL = TEST_URL_ROOT + "doc_markup_links.html";
const STRINGS = Services.strings
- .createBundle("chrome://browser/locale/devtools/inspector.properties");
+ .createBundle("chrome://devtools/locale/inspector.properties");
const TOOLBOX_STRINGS = Services.strings
- .createBundle("chrome://browser/locale/devtools/toolbox.properties");
+ .createBundle("chrome://devtools/locale/toolbox.properties");
// The test case array contains objects with the following properties:
// - selector: css selector for the node to select in the inspector
// - attributeName: name of the attribute to test
// - popupNodeSelector: css selector for the element inside the attribute
// element to use as the contextual menu anchor
// - isLinkFollowItemVisible: is the follow-link item expected to be displayed
// - isLinkCopyItemVisible: is the copy-link item expected to be displayed
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/actions/filter.js
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+"use strict";
+
+const { clearTimeout, setTimeout } = require("sdk/timers");
+const { actions } = require("../constants");
+const { refreshSelectedCensus } = require("./snapshot");
+
+const setFilterString = exports.setFilterString = function (filterString) {
+ return {
+ type: actions.SET_FILTER_STRING,
+ filter: filterString
+ };
+};
+
+// The number of milliseconds we should wait before kicking off a new census
+// when the filter string is updated. This helps us avoid doing any work while
+// the user is still typing.
+const FILTER_INPUT_DEBOUNCE_MS = 250;
+
+// The timer id for the debounced census refresh.
+let timerId = null;
+
+exports.setFilterStringAndRefresh = function (filterString, heapWorker) {
+ return function* (dispatch, getState) {
+ dispatch(setFilterString(filterString));
+
+ if (timerId !== null) {
+ clearTimeout(timerId);
+ }
+
+ timerId = setTimeout(() => dispatch(refreshSelectedCensus(heapWorker)),
+ FILTER_INPUT_DEBOUNCE_MS);
+ };
+};
--- a/devtools/client/memory/actions/moz.build
+++ b/devtools/client/memory/actions/moz.build
@@ -1,11 +1,12 @@
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DevToolsModules(
'allocations.js',
'breakdown.js',
+ 'filter.js',
'inverted.js',
'snapshot.js',
)
--- a/devtools/client/memory/actions/snapshot.js
+++ b/devtools/client/memory/actions/snapshot.js
@@ -102,43 +102,64 @@ const readSnapshot = exports.readSnapsho
const takeCensus = exports.takeCensus = function (heapWorker, snapshot) {
return function *(dispatch, getState) {
assert([states.READ, states.SAVED_CENSUS].includes(snapshot.state),
`Can only take census of snapshots in READ or SAVED_CENSUS state, found ${snapshot.state}`);
let census;
let inverted = getState().inverted;
let breakdown = getState().breakdown;
+ let filter = getState().filter;
- // If breakdown and inversion haven't changed, don't do anything.
- if (inverted === snapshot.inverted && breakdownEquals(breakdown, snapshot.breakdown)) {
+ // If breakdown, filter and inversion haven't changed, don't do anything.
+ if (inverted === snapshot.inverted
+ && filter === snapshot.filter
+ && breakdownEquals(breakdown, snapshot.breakdown)) {
return;
}
// Keep taking a census if the breakdown changes during. Recheck
// that the breakdown used for the census is the same as
// the state's breakdown.
do {
inverted = getState().inverted;
breakdown = getState().breakdown;
- dispatch({ type: actions.TAKE_CENSUS_START, snapshot, inverted, breakdown });
+ filter = getState().filter;
+
+ dispatch({
+ type: actions.TAKE_CENSUS_START,
+ snapshot,
+ inverted,
+ filter,
+ breakdown
+ });
+
let opts = inverted ? { asInvertedTreeNode: true } : { asTreeNode: true };
+ opts.filter = filter || null;
try {
census = yield heapWorker.takeCensus(snapshot.path, { breakdown }, opts);
} catch(error) {
reportException("takeCensus", error);
dispatch({ type: actions.SNAPSHOT_ERROR, snapshot, error });
return;
}
}
while (inverted !== getState().inverted ||
+ filter !== getState().filter ||
!breakdownEquals(breakdown, getState().breakdown));
- dispatch({ type: actions.TAKE_CENSUS_END, snapshot, breakdown, inverted, census });
+ dispatch({
+ type: actions.TAKE_CENSUS_END,
+ snapshot,
+ breakdown,
+ inverted,
+ filter,
+ census
+ });
};
};
/**
* Refresh the selected snapshot's census data, if need be (for example,
* breakdown configuration changed).
*
* @param {HeapAnalysesClient} heapWorker
--- a/devtools/client/memory/app.js
+++ b/devtools/client/memory/app.js
@@ -3,16 +3,17 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */
const { DOM: dom, createClass, createFactory, PropTypes } = require("devtools/client/shared/vendor/react");
const { connect } = require("devtools/client/shared/vendor/react-redux");
const { breakdowns } = require("./constants");
const { toggleRecordingAllocationStacks } = require("./actions/allocations");
const { setBreakdownAndRefresh } = require("./actions/breakdown");
const { toggleInvertedAndRefresh } = require("./actions/inverted");
+const { setFilterStringAndRefresh } = require("./actions/filter");
const { selectSnapshotAndRefresh, takeSnapshotAndCensus } = require("./actions/snapshot");
const { breakdownNameToSpec, getBreakdownDisplayData } = require("./utils");
const Toolbar = createFactory(require("./components/toolbar"));
const List = createFactory(require("./components/list"));
const SnapshotListItem = createFactory(require("./components/snapshot-list-item"));
const HeapView = createFactory(require("./components/heap"));
const { app: appModel } = require("./models");
@@ -44,16 +45,17 @@ const App = createClass({
dispatch,
snapshots,
front,
heapWorker,
breakdown,
allocations,
inverted,
toolbox,
+ filter,
} = this.props;
let selectedSnapshot = snapshots.find(s => s.selected);
return (
dom.div({ id: "memory-tool" },
Toolbar({
@@ -61,17 +63,20 @@ const App = createClass({
onTakeSnapshotClick: () => dispatch(takeSnapshotAndCensus(front, heapWorker)),
onBreakdownChange: breakdown =>
dispatch(setBreakdownAndRefresh(heapWorker, breakdownNameToSpec(breakdown))),
onToggleRecordAllocationStacks: () =>
dispatch(toggleRecordingAllocationStacks(front)),
allocations,
inverted,
onToggleInverted: () =>
- dispatch(toggleInvertedAndRefresh(heapWorker))
+ dispatch(toggleInvertedAndRefresh(heapWorker)),
+ filter,
+ setFilterString: filterString =>
+ dispatch(setFilterStringAndRefresh(filterString, heapWorker)),
}),
dom.div({ id: "memory-tool-container" },
List({
itemComponent: SnapshotListItem,
items: snapshots,
onClick: snapshot => dispatch(selectSnapshotAndRefresh(heapWorker, snapshot))
}),
--- a/devtools/client/memory/components/heap.js
+++ b/devtools/client/memory/components/heap.js
@@ -36,38 +36,47 @@ function createParentMap (node, aggregat
* @param {CensusTreeNode} census
* @return {Object}
*/
function createTreeProperties (snapshot, toolbox) {
const census = snapshot.census;
let map = createParentMap(census);
const totals = getSnapshotTotals(snapshot);
+ const getPercentBytes = totals.bytes === 0
+ ? _ => 0
+ : bytes => bytes / totals.bytes * 100;
+
+ const getPercentCount = totals.count === 0
+ ? _ => 0
+ : count => count / totals.count * 100;
+
return {
+ autoExpandDepth: 0,
getParent: node => {
const parent = map[node.id];
return parent === census ? null : parent;
},
getChildren: node => node.children || [],
renderItem: (item, depth, focused, arrow) =>
new TreeItem({
toolbox,
item,
depth,
focused,
arrow,
- getPercentBytes: bytes => bytes / totals.bytes * 100,
- getPercentCount: count => count / totals.count * 100,
+ getPercentBytes,
+ getPercentCount,
}),
- getRoots: () => census.children,
+ getRoots: () => census.children || [],
getKey: node => node.id,
itemHeight: HEAP_TREE_ROW_HEIGHT,
// Because we never add or remove children when viewing the same census, we
// can always reuse a cached traversal if one is available.
- reuseCachedTraversal: traversal => true,
+ reuseCachedTraversal: _ => true,
};
}
/**
* Main view for the memory tool -- contains several panels for different states;
* an initial state of only a button to take a snapshot, loading states, and the
* heap view tree.
*/
--- a/devtools/client/memory/components/toolbar.js
+++ b/devtools/client/memory/components/toolbar.js
@@ -14,32 +14,37 @@ const Toolbar = module.exports = createC
displayName: PropTypes.string.isRequired,
})).isRequired,
onTakeSnapshotClick: PropTypes.func.isRequired,
onBreakdownChange: PropTypes.func.isRequired,
onToggleRecordAllocationStacks: PropTypes.func.isRequired,
allocations: models.allocations,
onToggleInverted: PropTypes.func.isRequired,
inverted: PropTypes.bool.isRequired,
+ filterString: PropTypes.string,
+ setFilterString: PropTypes.func.isRequired,
},
render() {
let {
onTakeSnapshotClick,
onBreakdownChange,
breakdowns,
onToggleRecordAllocationStacks,
allocations,
onToggleInverted,
- inverted
+ inverted,
+ filterString,
+ setFilterString
} = this.props;
return (
dom.div({ className: "devtools-toolbar" },
dom.button({
+ id: "take-snapshot",
className: `take-snapshot devtools-button`,
onClick: onTakeSnapshotClick,
title: L10N.getStr("take-snapshot")
}),
dom.div({ className: "toolbar-group" },
dom.label({ className: "breakdown-by" },
L10N.getStr("toolbar.breakdownBy"),
@@ -57,20 +62,31 @@ const Toolbar = module.exports = createC
checked: inverted,
onChange: onToggleInverted,
}),
L10N.getStr("checkbox.invertTree")
),
dom.label({},
dom.input({
+ id: "record-allocation-stacks-checkbox",
type: "checkbox",
checked: allocations.recording,
disabled: allocations.togglingInProgress,
onChange: onToggleRecordAllocationStacks,
}),
L10N.getStr("checkbox.recordAllocationStacks")
- )
+ ),
+
+ dom.div({ id: "toolbar-spacer", className: "spacer" }),
+
+ dom.input({
+ id: "filter",
+ type: "search",
+ placeholder: L10N.getStr("filter.placeholder"),
+ onChange: event => setFilterString(event.target.value),
+ value: !!filterString ? filterString : undefined,
+ })
)
)
);
}
});
--- a/devtools/client/memory/components/tree.js
+++ b/devtools/client/memory/components/tree.js
@@ -164,16 +164,20 @@ const Tree = module.exports = createClas
this._updateHeight();
},
componentWillUnmount() {
window.removeEventListener("resize", this._updateHeight);
},
componentWillReceiveProps(nextProps) {
+ if (!this.props.autoExpandDepth) {
+ return;
+ }
+
// Automatically expand the first autoExpandDepth levels for new items.
for (let { item } of this._dfsFromRoots(this.props.autoExpandDepth)) {
if (!this.state.seen.has(item)) {
this.state.expanded.add(item);
this.state.seen.add(item);
}
}
},
--- a/devtools/client/memory/constants.js
+++ b/devtools/client/memory/constants.js
@@ -30,16 +30,19 @@ actions.SELECT_SNAPSHOT = "select-snapsh
actions.TOGGLE_INVERTED = "toggle-inverted";
// Fired to set a new breakdown.
actions.SET_BREAKDOWN = "set-breakdown";
// Fired when there is an error processing a snapshot or taking a census.
actions.SNAPSHOT_ERROR = "snapshot-error";
+// Fired when there is a new filter string set.
+actions.SET_FILTER_STRING = "set-filter-string";
+
// Options passed to MemoryFront's startRecordingAllocations never change.
exports.ALLOCATION_RECORDING_OPTIONS = {
probability: 1,
maxLogLength: 1
};
const COUNT = { by: "count", count: true, bytes: true };
const INTERNAL_TYPE = { by: "internalType", then: COUNT };
--- a/devtools/client/memory/memory.xhtml
+++ b/devtools/client/memory/memory.xhtml
@@ -6,19 +6,19 @@
%htmlDTD;
]>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/widgets.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/memory.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/widgets.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/memory.css" type="text/css"/>
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript;version=1.8"
src="initializer.js"></script>
</head>
<body class="theme-body">
<div id="app">
--- a/devtools/client/memory/models.js
+++ b/devtools/client/memory/models.js
@@ -20,30 +20,33 @@ let breakdownModel = exports.breakdown =
* Snapshot model.
*/
let stateKeys = Object.keys(states).map(state => states[state]);
let snapshotModel = exports.snapshot = PropTypes.shape({
// Unique ID for a snapshot
id: PropTypes.number.isRequired,
// Whether or not this snapshot is currently selected.
selected: PropTypes.bool.isRequired,
- // fs path to where the snapshot is stored; used to
- // identify the snapshot for HeapAnalysesClient.
+ // Filesystem path to where the snapshot is stored; used to identify the
+ // snapshot for HeapAnalysesClient.
path: PropTypes.string,
- // Data of a census breakdown
+ // The current census report data.
census: PropTypes.object,
// The breakdown used to generate the current census
breakdown: breakdownModel,
// Whether the currently cached census tree is inverted or not.
inverted: PropTypes.bool,
+ // If present, the currently cached census's filter string used for pruning
+ // the tree items.
+ filter: PropTypes.string,
// If an error was thrown while processing this snapshot, the `Error` instance is attached here.
error: PropTypes.object,
// The creation time of the snapshot; required after the snapshot has been read.
creationTime: PropTypes.number,
- // State the snapshot is in
+ // The current state the snapshot is in.
// @see ./constants.js
state: function (snapshot, propName) {
let current = snapshot.state;
let shouldHavePath = [states.SAVED, states.READ, states.SAVING_CENSUS, states.SAVED_CENSUS];
let shouldHaveCreationTime = [states.READ, states.SAVING_CENSUS, states.SAVED_CENSUS];
let shouldHaveCensus = [states.SAVED_CENSUS];
if (!stateKeys.includes(current)) {
@@ -79,9 +82,11 @@ let appModel = exports.app = {
// The breakdown object DSL describing how we want
// the census data to be.
// @see `js/src/doc/Debugger/Debugger.Memory.md`
breakdown: breakdownModel.isRequired,
// List of reference to all snapshots taken
snapshots: PropTypes.arrayOf(snapshotModel).isRequired,
// True iff we want the tree displayed inverted.
inverted: PropTypes.bool.isRequired,
+ // If present, a filter string for pruning the tree items.
+ filter: PropTypes.string,
};
--- a/devtools/client/memory/reducers.js
+++ b/devtools/client/memory/reducers.js
@@ -3,8 +3,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
exports.allocations = require("./reducers/allocations");
exports.snapshots = require("./reducers/snapshots");
exports.breakdown = require("./reducers/breakdown");
exports.errors = require("./reducers/errors");
exports.inverted = require("./reducers/inverted");
+exports.filter = require("./reducers/filter");
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/reducers/filter.js
@@ -0,0 +1,14 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+"use strict";
+
+const { actions } = require("../constants");
+
+module.exports = function (filterString = null, action) {
+ if (action.type === actions.SET_FILTER_STRING) {
+ return action.filter || null;
+ } else {
+ return filterString;
+ }
+};
--- a/devtools/client/memory/reducers/moz.build
+++ b/devtools/client/memory/reducers/moz.build
@@ -2,11 +2,12 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DevToolsModules(
'allocations.js',
'breakdown.js',
'errors.js',
+ 'filter.js',
'inverted.js',
'snapshots.js',
)
--- a/devtools/client/memory/reducers/snapshots.js
+++ b/devtools/client/memory/reducers/snapshots.js
@@ -51,16 +51,17 @@ handlers[actions.TAKE_CENSUS_START] = fu
};
handlers[actions.TAKE_CENSUS_END] = function (snapshots, action) {
let snapshot = getSnapshot(snapshots, action.snapshot);
snapshot.state = states.SAVED_CENSUS;
snapshot.census = action.census;
snapshot.breakdown = action.breakdown;
snapshot.inverted = action.inverted;
+ snapshot.filter = action.filter;
return [...snapshots];
};
handlers[actions.SELECT_SNAPSHOT] = function (snapshots, action) {
return snapshots.map(s => {
s.selected = s.id === action.snapshot.id;
return s;
});
--- a/devtools/client/memory/test/browser/browser.ini
+++ b/devtools/client/memory/test/browser/browser.ini
@@ -3,13 +3,17 @@ tags = devtools
subsuite = devtools
support-files =
head.js
doc_steady_allocation.html
[browser_memory_allocationStackBreakdown_01.js]
[browser_memory-breakdowns-01.js]
skip-if = debug # bug 1219554
+[browser_memory_filter_01.js]
+ skip-if = debug # bug 1219554
[browser_memory_no_allocation_stacks.js]
+[browser_memory_no_auto_expand.js]
+ skip-if = debug # bug 1219554
[browser_memory_percents_01.js]
[browser_memory-simple-01.js]
skip-if = debug # bug 1219554
[browser_memory_transferHeapSnapshot_e10s_01.js]
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/test/browser/browser_memory_filter_01.js
@@ -0,0 +1,42 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Sanity test that we can show allocation stack breakdowns in the tree.
+
+"use strict";
+
+const { snapshotState } = require("devtools/client/memory/constants");
+const { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
+const { toggleInverted } = require("devtools/client/memory/actions/inverted");
+
+const TEST_URL = "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html";
+
+this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
+ const heapWorker = panel.panelWin.gHeapAnalysesClient;
+ const front = panel.panelWin.gFront;
+ const store = panel.panelWin.gStore;
+ const { getState, dispatch } = store;
+ const doc = panel.panelWin.document;
+
+ ok(!getState().inverted, "not inverted by default");
+ const invertCheckbox = doc.getElementById("invert-tree-checkbox");
+ EventUtils.synthesizeMouseAtCenter(invertCheckbox, {}, panel.panelWin);
+ yield waitUntilState(store, state => state.inverted === true);
+
+ const takeSnapshotButton = doc.getElementById("take-snapshot");
+ EventUtils.synthesizeMouseAtCenter(takeSnapshotButton, {}, panel.panelWin);
+ yield waitUntilSnapshotState(store, [snapshotState.SAVED_CENSUS]);
+
+ const filterInput = doc.getElementById("filter");
+ EventUtils.synthesizeMouseAtCenter(filterInput, {}, panel.panelWin);
+ EventUtils.sendString("js::Shape", panel.panelWin);
+
+ yield waitUntilSnapshotState(store, [snapshotState.SAVING_CENSUS]);
+ ok(true, "adding a filter string should trigger census recompute");
+
+ yield waitUntilSnapshotState(store, [snapshotState.SAVED_CENSUS]);
+
+ const nameElem = doc.querySelector(".heap-tree-item-field.heap-tree-item-name");
+ ok(nameElem, "Should get a tree item row with a name");
+ is(nameElem.textContent.trim(), "js::Shape", "and the tree item should be the one we filtered for");
+});
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/test/browser/browser_memory_no_auto_expand.js
@@ -0,0 +1,42 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Sanity test that we can show allocation stack breakdowns in the tree.
+
+"use strict";
+
+const { waitForTime } = require("devtools/shared/DevToolsUtils");
+const { breakdowns } = require("devtools/client/memory/constants");
+const { toggleRecordingAllocationStacks } = require("devtools/client/memory/actions/allocations");
+const { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
+const breakdownActions = require("devtools/client/memory/actions/breakdown");
+const { toggleInvertedAndRefresh } = require("devtools/client/memory/actions/inverted");
+
+const TEST_URL = "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html";
+
+this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
+ const heapWorker = panel.panelWin.gHeapAnalysesClient;
+ const front = panel.panelWin.gFront;
+ const { getState, dispatch } = panel.panelWin.gStore;
+ const doc = panel.panelWin.document;
+
+ is(getState().breakdown.by, "coarseType");
+ yield dispatch(takeSnapshotAndCensus(front, heapWorker));
+
+ is(getState().allocations.recording, false);
+ const recordingCheckbox = doc.getElementById("record-allocation-stacks-checkbox");
+ EventUtils.synthesizeMouseAtCenter(recordingCheckbox, {}, panel.panelWin);
+ is(getState().allocations.recording, true);
+
+ const nameElems = [...doc.querySelectorAll(".heap-tree-item-field.heap-tree-item-name")];
+ is(nameElems.length, 4, "Should get 4 items, one for each coarse type");
+ ok(nameElems.some(e => e.textContent.trim() === "objects"), "One for coarse type 'objects'");
+ ok(nameElems.some(e => e.textContent.trim() === "scripts"), "One for coarse type 'scripts'");
+ ok(nameElems.some(e => e.textContent.trim() === "strings"), "One for coarse type 'strings'");
+ ok(nameElems.some(e => e.textContent.trim() === "other"), "One for coarse type 'other'");
+
+ for (let e of nameElems) {
+ is(e.style.marginLeft, "0px",
+ "None of the elements should be an indented/expanded child");
+ }
+});
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/test/unit/test_action-filter-01.js
@@ -0,0 +1,23 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test setting the filter string.
+
+let { setFilterString } = require("devtools/client/memory/actions/filter");
+
+function run_test() {
+ run_next_test();
+}
+
+add_task(function *() {
+ let store = Store();
+ const { getState, dispatch } = store;
+
+ equal(getState().filter, null, "no filter by default");
+
+ dispatch(setFilterString("my filter"));
+ equal(getState().filter, "my filter", "now we have the expected filter");
+
+ dispatch(setFilterString(""));
+ equal(getState().filter, null, "no filter again");
+});
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/test/unit/test_action-filter-02.js
@@ -0,0 +1,64 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test that changing filter state properly refreshes the selected census.
+
+let { breakdowns, snapshotState: states } = require("devtools/client/memory/constants");
+let { setFilterStringAndRefresh } = require("devtools/client/memory/actions/filter");
+let { takeSnapshotAndCensus, selectSnapshotAndRefresh } = require("devtools/client/memory/actions/snapshot");
+
+function run_test() {
+ run_next_test();
+}
+
+add_task(function *() {
+ let front = new StubbedMemoryFront();
+ let heapWorker = new HeapAnalysesClient();
+ yield front.attach();
+ let store = Store();
+ let { getState, dispatch } = store;
+
+ equal(getState().filter, null, "no filter by default");
+
+ dispatch(takeSnapshotAndCensus(front, heapWorker));
+ dispatch(takeSnapshotAndCensus(front, heapWorker));
+ dispatch(takeSnapshotAndCensus(front, heapWorker));
+
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS,
+ states.SAVED_CENSUS,
+ states.SAVED_CENSUS]);
+ ok(true, "saved 3 snapshots and took a census of each of them");
+
+ dispatch(setFilterStringAndRefresh("str", heapWorker));
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS,
+ states.SAVED_CENSUS,
+ states.SAVING_CENSUS]);
+ ok(true, "setting filter string should recompute the selected snapshot's census");
+
+ equal(getState().filter, "str", "now inverted");
+
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS,
+ states.SAVED_CENSUS,
+ states.SAVED_CENSUS]);
+
+ equal(getState().snapshots[0].filter, null);
+ equal(getState().snapshots[1].filter, null);
+ equal(getState().snapshots[2].filter, "str");
+
+ dispatch(selectSnapshotAndRefresh(heapWorker, getState().snapshots[1]));
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS,
+ states.SAVING_CENSUS,
+ states.SAVED_CENSUS]);
+ ok(true, "selecting non-inverted census should trigger a recompute");
+
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS,
+ states.SAVED_CENSUS,
+ states.SAVED_CENSUS]);
+
+ equal(getState().snapshots[0].filter, null);
+ equal(getState().snapshots[1].filter, "str");
+ equal(getState().snapshots[2].filter, "str");
+
+ heapWorker.destroy();
+ yield front.detach();
+});
new file mode 100644
--- /dev/null
+++ b/devtools/client/memory/test/unit/test_action-filter-03.js
@@ -0,0 +1,46 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test that changing filter state in the middle of taking a snapshot results in
+// the properly fitered census.
+
+let { snapshotState: states } = require("devtools/client/memory/constants");
+let { setFilterString, setFilterStringAndRefresh } = require("devtools/client/memory/actions/filter");
+let { takeSnapshotAndCensus, selectSnapshotAndRefresh } = require("devtools/client/memory/actions/snapshot");
+
+function run_test() {
+ run_next_test();
+}
+
+add_task(function *() {
+ let front = new StubbedMemoryFront();
+ let heapWorker = new HeapAnalysesClient();
+ yield front.attach();
+ let store = Store();
+ let { getState, dispatch } = store;
+
+ dispatch(takeSnapshotAndCensus(front, heapWorker));
+ yield waitUntilSnapshotState(store, [states.SAVING]);
+
+ dispatch(setFilterString("str"));
+
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS]);
+ equal(getState().filter, "str",
+ "should want filtered trees");
+ equal(getState().snapshots[0].filter, "str",
+ "snapshot-we-were-in-the-middle-of-saving's census should be filtered");
+
+ dispatch(setFilterStringAndRefresh("", heapWorker));
+ yield waitUntilSnapshotState(store, [states.SAVING_CENSUS]);
+ ok(true, "changing filter string retriggers census");
+ ok(!getState().filter, "no longer filtering");
+
+ dispatch(setFilterString("obj"));
+ yield waitUntilSnapshotState(store, [states.SAVED_CENSUS]);
+ equal(getState().filter, "obj", "filtering for obj now");
+ equal(getState().snapshots[0].filter, "obj",
+ "census-we-were-in-the-middle-of-recomputing should be filtered again");
+
+ heapWorker.destroy();
+ yield front.detach();
+});
--- a/devtools/client/memory/test/unit/xpcshell.ini
+++ b/devtools/client/memory/test/unit/xpcshell.ini
@@ -1,20 +1,23 @@
[DEFAULT]
tags = devtools
head = head.js
tail =
firefox-appdir = browser
skip-if = toolkit == 'android' || toolkit == 'gonk'
-[test_action-toggle-inverted.js]
-[test_action-toggle-inverted-and-refresh-01.js]
-[test_action-toggle-inverted-and-refresh-02.js]
-[test_action-toggle-recording-allocations.js]
+[test_action-filter-01.js]
+[test_action-filter-02.js]
+[test_action-filter-03.js]
[test_action-select-snapshot.js]
[test_action-set-breakdown.js]
[test_action-set-breakdown-and-refresh-01.js]
[test_action-set-breakdown-and-refresh-02.js]
[test_action-take-census.js]
[test_action-take-snapshot.js]
[test_action-take-snapshot-and-census.js]
+[test_action-toggle-inverted.js]
+[test_action-toggle-inverted-and-refresh-01.js]
+[test_action-toggle-inverted-and-refresh-02.js]
+[test_action-toggle-recording-allocations.js]
[test_utils.js]
[test_utils-get-snapshot-totals.js]
--- a/devtools/client/memory/utils.js
+++ b/devtools/client/memory/utils.js
@@ -1,16 +1,16 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const { Cu } = require("chrome");
Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm");
-const STRINGS_URI = "chrome://browser/locale/devtools/memory.properties"
+const STRINGS_URI = "chrome://devtools/locale/memory.properties"
const L10N = exports.L10N = new ViewHelpers.L10N(STRINGS_URI);
const { URL } = require("sdk/url");
const { assert } = require("devtools/shared/DevToolsUtils");
const { Preferences } = require("resource://gre/modules/Preferences.jsm");
const CUSTOM_BREAKDOWN_PREF = "devtools.memory.custom-breakdowns";
const DevToolsUtils = require("devtools/shared/DevToolsUtils");
const { snapshotState: states, breakdowns } = require("./constants");
--- a/devtools/client/moz.build
+++ b/devtools/client/moz.build
@@ -13,16 +13,17 @@ DIRS += [
'commandline',
'debugger',
'eyedropper',
'fontinspector',
'framework',
'inspector',
'jsonview',
'layoutview',
+ 'locales',
'markupview',
'memory',
'netmonitor',
'performance',
'preferences',
'projecteditor',
'promisedebugger',
'responsivedesign',
--- a/devtools/client/netmonitor/har/har-builder.js
+++ b/devtools/client/netmonitor/har/har-builder.js
@@ -10,17 +10,17 @@ const { Services } = Cu.import("resource
loader.lazyImporter(this, "ViewHelpers", "resource://devtools/client/shared/widgets/ViewHelpers.jsm");
loader.lazyRequireGetter(this, "NetworkHelper", "devtools/shared/webconsole/network-helper");
loader.lazyGetter(this, "appInfo", () => {
return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
});
loader.lazyGetter(this, "L10N", () => {
- return new ViewHelpers.L10N("chrome://browser/locale/devtools/har.properties");
+ return new ViewHelpers.L10N("chrome://devtools/locale/har.properties");
});
const HAR_VERSION = "1.1";
/**
* This object is responsible for building HAR file. See HAR spec:
* https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HAR/Overview.html
* http://www.softwareishard.com/blog/har-12-spec/
--- a/devtools/client/netmonitor/netmonitor-controller.js
+++ b/devtools/client/netmonitor/netmonitor-controller.js
@@ -2,17 +2,17 @@
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
var { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-const NET_STRINGS_URI = "chrome://browser/locale/devtools/netmonitor.properties";
+const NET_STRINGS_URI = "chrome://devtools/locale/netmonitor.properties";
const PKI_STRINGS_URI = "chrome://pippki/locale/pippki.properties";
const LISTENERS = [ "NetworkActivity" ];
const NET_PREFS = { "NetworkMonitor.saveRequestAndResponseBodies": true };
// The panel's window global is an EventEmitter firing the following events:
const EVENTS = {
// When the monitored target begins and finishes navigating.
TARGET_WILL_NAVIGATE: "NetMonitor:TargetWillNavigate",
--- a/devtools/client/netmonitor/netmonitor-view.js
+++ b/devtools/client/netmonitor/netmonitor-view.js
@@ -737,17 +737,17 @@ RequestsMenuView.prototype = Heritage.ex
/**
* Copy image as data uri.
*/
copyImageAsDataUri: function() {
let selected = this.selectedItem.attachment;
let { mimeType, text, encoding } = selected.responseContent.content;
gNetwork.getString(text).then(aString => {
- let data = "data:" + mimeType + ";" + encoding + "," + aString;
+ let data = formDataURI(mimeType, encoding, aString);
clipboardHelper.copyString(data);
});
},
/**
* Copy response data as a string.
*/
copyResponse: function() {
@@ -1717,17 +1717,17 @@ RequestsMenuView.prototype = Heritage.ex
}
case "responseContent": {
let { mimeType } = aItem.attachment;
if (mimeType.includes("image/")) {
let { text, encoding } = aValue.content;
let responseBody = yield gNetwork.getString(text);
let node = $(".requests-menu-icon", aItem.target);
- node.src = "data:" + mimeType + ";" + encoding + "," + responseBody;
+ node.src = formDataURI(mimeType, encoding, responseBody);
node.setAttribute("type", "thumbnail");
node.removeAttribute("hidden");
window.emit(EVENTS.RESPONSE_IMAGE_THUMBNAIL_DISPLAYED);
}
break;
}
case "totalTime": {
@@ -2009,17 +2009,17 @@ RequestsMenuView.prototype = Heritage.ex
let { mimeType, text, encoding } = hovered.responseContent.content;
if (mimeType && mimeType.includes("image/") && (
aTarget.classList.contains("requests-menu-icon") ||
aTarget.classList.contains("requests-menu-file")))
{
return gNetwork.getString(text).then(aString => {
let anchor = $(".requests-menu-icon", requestItem.target);
- let src = "data:" + mimeType + ";" + encoding + "," + aString;
+ let src = formDataURI(mimeType, encoding, aString);
aTooltip.setImageContent(src, { maxDim: REQUESTS_TOOLTIP_IMAGE_MAX_DIM });
return anchor;
});
}
},
/**
* A handler that opens the security tab in the details view if secure or
@@ -2448,16 +2448,17 @@ NetworkDetailsView.prototype = {
}));
this._cookies = new VariablesView($("#all-cookies"),
Heritage.extend(GENERIC_VARIABLES_VIEW_SETTINGS, {
emptyText: L10N.getStr("cookiesEmptyText"),
searchPlaceholder: L10N.getStr("cookiesFilterText")
}));
this._params = new VariablesView($("#request-params"),
Heritage.extend(GENERIC_VARIABLES_VIEW_SETTINGS, {
+ onlyEnumVisible: true,
emptyText: L10N.getStr("paramsEmptyText"),
searchPlaceholder: L10N.getStr("paramsFilterText")
}));
this._json = new VariablesView($("#response-content-json"),
Heritage.extend(GENERIC_VARIABLES_VIEW_SETTINGS, {
onlyEnumVisible: true,
searchPlaceholder: L10N.getStr("jsonFilterText")
}));
@@ -2836,39 +2837,43 @@ NetworkDetailsView.prototype = {
aHeaders, aUploadHeaders, aPostData);
// Handle urlencoded form data sections (e.g. "?foo=bar&baz=42").
if (formDataSections.length > 0) {
formDataSections.forEach(section => {
this._addParams(this._paramsFormData, section);
});
}
- // Handle actual forms ("multipart/form-data" content type).
+ // Handle JSON and actual forms ("multipart/form-data" content type).
else {
- // This is really awkward, but hey, it works. Let's show an empty
- // scope in the params view and place the source editor containing
- // the raw post data directly underneath.
- $("#request-params-box").removeAttribute("flex");
- let paramsScope = this._params.addScope(this._paramsPostPayload);
- paramsScope.expanded = true;
- paramsScope.locked = true;
-
- $("#request-post-data-textarea-box").hidden = false;
- let editor = yield NetMonitorView.editor("#request-post-data-textarea");
let postDataLongString = aPostData.postData.text;
let postData = yield gNetwork.getString(postDataLongString);
-
- // Most POST bodies are usually JSON, so they can be neatly
- // syntax highlighted as JS. Otheriwse, fall back to plain text.
+ let jsonVal = null;
try {
- JSON.parse(postData);
- editor.setMode(Editor.modes.js);
- } catch (e) {
+ jsonVal = JSON.parse(postData);
+ } catch (ex) { }
+ if (jsonVal) {
+ let jsonScopeName = L10N.getStr("jsonScopeName");
+ let jsonVar = { label: jsonScopeName, rawObject: jsonVal };
+ let jsonScope = this._params.addScope(jsonScopeName);
+ jsonScope.expanded = true;
+ let jsonItem = jsonScope.addItem("", { enumerable: true });
+ jsonItem.populate(jsonVal, { sorted: true });
+ } else {
+ // This is really awkward, but hey, it works. Let's show an empty
+ // scope in the params view and place the source editor containing
+ // the raw post data directly underneath.
+ $("#request-params-box").removeAttribute("flex");
+ let paramsScope = this._params.addScope(this._paramsPostPayload);
+ paramsScope.expanded = true;
+ paramsScope.locked = true;
+
+ $("#request-post-data-textarea-box").hidden = false;
+ let editor = yield NetMonitorView.editor("#request-post-data-textarea");
editor.setMode(Editor.modes.text);
- } finally {
editor.setText(postData);
}
}
window.emit(EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
}),
/**
@@ -2965,23 +2970,22 @@ NetworkDetailsView.prototype = {
}
}
// Handle images.
else if (mimeType.includes("image/")) {
$("#response-content-image-box").setAttribute("align", "center");
$("#response-content-image-box").setAttribute("pack", "center");
$("#response-content-image-box").hidden = false;
$("#response-content-image").src =
- "data:" + mimeType + ";" + encoding + "," + responseBody;
+ formDataURI(mimeType, encoding, responseBody);
// Immediately display additional information about the image:
// file name, mime type and encoding.
$("#response-content-image-name-value").setAttribute("value", NetworkHelper.nsIURL(aUrl).fileName);
$("#response-content-image-mime-value").setAttribute("value", mimeType);
- $("#response-content-image-encoding-value").setAttribute("value", encoding);
// Wait for the image to load in order to display the width and height.
$("#response-content-image").onload = e => {
// XUL images are majestic so they don't bother storing their dimensions
// in width and height attributes like the rest of the folk. Hack around
// this by getting the bounding client rect and subtracting the margins.
let { width, height } = e.target.getBoundingClientRect();
let dimensions = (width - 2) + " \u00D7 " + (height - 2);
@@ -3539,16 +3543,33 @@ function getKeyWithEvent(callback) {
var key = event.target.getAttribute("data-key");
if (key) {
callback.call(null, key);
}
};
}
/**
+ * Form a data: URI given a mime type, encoding, and some text.
+ *
+ * @param {String} mimeType the mime type
+ * @param {String} encoding the encoding to use; if not set, the
+ * text will be base64-encoded.
+ * @param {String} text the text of the URI.
+ * @return {String} a data: URI
+ */
+function formDataURI(mimeType, encoding, text) {
+ if (!encoding) {
+ encoding = "base64";
+ text = btoa(text);
+ }
+ return "data:" + mimeType + ";" + encoding + "," + text;
+}
+
+/**
* Preliminary setup for the NetMonitorView object.
*/
NetMonitorView.Toolbar = new ToolbarView();
NetMonitorView.RequestsMenu = new RequestsMenuView();
NetMonitorView.Sidebar = new SidebarView();
NetMonitorView.CustomRequest = new CustomRequestView();
NetMonitorView.NetworkDetails = new NetworkDetailsView();
NetMonitorView.PerformanceStatistics = new PerformanceStatisticsView();
--- a/devtools/client/netmonitor/netmonitor.xul
+++ b/devtools/client/netmonitor/netmonitor.xul
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/netmonitor/netmonitor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/netmonitor.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/netmonitor.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % netmonitorDTD SYSTEM "chrome://browser/locale/devtools/netmonitor.dtd">
+ <!ENTITY % netmonitorDTD SYSTEM "chrome://devtools/locale/netmonitor.dtd">
%netmonitorDTD;
<!ENTITY % certManagerDTD SYSTEM "chrome://pippki/locale/certManager.dtd">
%certManagerDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
@@ -472,24 +472,16 @@
<hbox>
<label class="plain tabpanel-summary-label"
value="&netmonitorUI.response.mime;"/>
<label id="response-content-image-mime-value"
class="plain tabpanel-summary-value devtools-monospace"
crop="end"
flex="1"/>
</hbox>
- <hbox>
- <label class="plain tabpanel-summary-label"
- value="&netmonitorUI.response.encoding;"/>
- <label id="response-content-image-encoding-value"
- class="plain tabpanel-summary-value devtools-monospace"
- crop="end"
- flex="1"/>
- </hbox>
</vbox>
</vbox>
</tabpanel>
<tabpanel id="timings-tabpanel"
class="tabpanel-content">
<vbox flex="1">
<hbox id="timings-summary-blocked"
class="tabpanel-summary-container"
--- a/devtools/client/netmonitor/test/browser.ini
+++ b/devtools/client/netmonitor/test/browser.ini
@@ -1,12 +1,13 @@
[DEFAULT]
tags = devtools
subsuite = devtools
support-files =
+ dropmarker.svg
head.js
html_content-type-test-page.html
html_content-type-without-cache-test-page.html
html_custom-get-page.html
html_single-get-page.html
html_cyrillic-test-page.html
html_filter-test-page.html
html_infinite-get-page.html
@@ -50,16 +51,17 @@ skip-if= buildapp == 'mulet'
[browser_net_charts-05.js]
[browser_net_charts-06.js]
[browser_net_charts-07.js]
[browser_net_clear.js]
[browser_net_complex-params.js]
[browser_net_content-type.js]
[browser_net_curl-utils.js]
[browser_net_copy_image_as_data_uri.js]
+[browser_net_copy_svg_image_as_data_uri.js]
[browser_net_copy_url.js]
[browser_net_copy_params.js]
[browser_net_copy_response.js]
[browser_net_copy_headers.js]
[browser_net_copy_as_curl.js]
skip-if = e10s # Bug 1091596
[browser_net_cyrillic-01.js]
[browser_net_cyrillic-02.js]
--- a/devtools/client/netmonitor/test/browser_net_complex-params.js
+++ b/devtools/client/netmonitor/test/browser_net_complex-params.js
@@ -98,56 +98,69 @@ function test() {
is(formDataScope.querySelectorAll(".variables-view-variable .value")[0].getAttribute("value"),
aFormDataParamValue,
"The first form data param value was incorrect.");
}
function testParamsTab2(
aQueryStringParamName, aQueryStringParamValue, aRequestPayload, aEditorMode)
{
+ let isJSON = aEditorMode == "js";
let tab = document.querySelectorAll("#details-pane tab")[2];
let tabpanel = document.querySelectorAll("#details-pane tabpanel")[2];
is(tabpanel.querySelectorAll(".variables-view-scope").length, 2,
"The number of param scopes displayed in this tabpanel is incorrect.");
- is(tabpanel.querySelectorAll(".variable-or-property").length, 1,
+ is(tabpanel.querySelectorAll(".variable-or-property").length, isJSON ? 4 : 1,
"The number of param values displayed in this tabpanel is incorrect.");
is(tabpanel.querySelectorAll(".variables-view-empty-notice").length, 0,
"The empty notice should not be displayed in this tabpanel.");
is(tabpanel.querySelector("#request-params-box")
.hasAttribute("hidden"), false,
"The request params box should not be hidden.");
is(tabpanel.querySelector("#request-post-data-textarea-box")
- .hasAttribute("hidden"), false,
- "The request post data textarea box should not be hidden.");
+ .hasAttribute("hidden"), isJSON,
+ "The request post data textarea box should be hidden.");
let paramsScope = tabpanel.querySelectorAll(".variables-view-scope")[0];
let payloadScope = tabpanel.querySelectorAll(".variables-view-scope")[1];
is(paramsScope.querySelector(".name").getAttribute("value"),
L10N.getStr("paramsQueryString"),
"The params scope doesn't have the correct title.");
is(payloadScope.querySelector(".name").getAttribute("value"),
- L10N.getStr("paramsPostPayload"),
+ isJSON ? L10N.getStr("jsonScopeName") : L10N.getStr("paramsPostPayload"),
"The request payload scope doesn't have the correct title.");
is(paramsScope.querySelectorAll(".variables-view-variable .name")[0].getAttribute("value"),
aQueryStringParamName,
"The first query string param name was incorrect.");
is(paramsScope.querySelectorAll(".variables-view-variable .value")[0].getAttribute("value"),
aQueryStringParamValue,
"The first query string param value was incorrect.");
- return NetMonitorView.editor("#request-post-data-textarea").then((aEditor) => {
- is(aEditor.getText(), aRequestPayload,
- "The text shown in the source editor is incorrect.");
- is(aEditor.getMode(), Editor.modes[aEditorMode],
- "The mode active in the source editor is incorrect.");
- });
+ if (isJSON) {
+ let requestPayloadObject = JSON.parse(aRequestPayload);
+ let requestPairs = Object.keys(requestPayloadObject).map(k => [k, requestPayloadObject[k]]);
+ let displayedNames = payloadScope.querySelectorAll(".variables-view-property.variable-or-property .name");
+ let displayedValues = payloadScope.querySelectorAll(".variables-view-property.variable-or-property .value");
+ for (let i = 0; i < requestPairs.length; i++) {
+ let [requestPayloadName, requestPayloadValue] = requestPairs[i];
+ is(requestPayloadName, displayedNames[i].getAttribute("value"), "JSON property name " + i + " should be displayed correctly");
+ is('"' + requestPayloadValue + '"', displayedValues[i].getAttribute("value"), "JSON property value " + i + " should be displayed correctly");
+ }
+ } else {
+ return NetMonitorView.editor("#request-post-data-textarea").then((aEditor) => {
+ is(aEditor.getText(), aRequestPayload,
+ "The text shown in the source editor is incorrect.");
+ is(aEditor.getMode(), Editor.modes[aEditorMode],
+ "The mode active in the source editor is incorrect.");
+ });
+ }
}
function testParamsTab3(aQueryStringParamName, aQueryStringParamValue) {
let tab = document.querySelectorAll("#details-pane tab")[2];
let tabpanel = document.querySelectorAll("#details-pane tabpanel")[2];
is(tabpanel.querySelectorAll(".variables-view-scope").length, 0,
"The number of param scopes displayed in this tabpanel is incorrect.");
--- a/devtools/client/netmonitor/test/browser_net_content-type.js
+++ b/devtools/client/netmonitor/test/browser_net_content-type.js
@@ -62,17 +62,17 @@ function test() {
});
verifyRequestItemTarget(RequestsMenu.getItemAtIndex(5),
"GET", TEST_IMAGE, {
fuzzyUrl: true,
status: 200,
statusText: "OK",
type: "png",
fullMimeType: "image/png",
- size: L10N.getFormatStrWithNumbers("networkMenu.sizeKB", 0.76),
+ size: L10N.getFormatStrWithNumbers("networkMenu.sizeKB", 0.57),
time: true
});
verifyRequestItemTarget(RequestsMenu.getItemAtIndex(6),
"GET", CONTENT_TYPE_SJS + "?fmt=gzip", {
status: 200,
statusText: "OK",
type: "plain",
fullMimeType: "text/plain",
@@ -211,19 +211,16 @@ function test() {
imageNode.removeEventListener("load", onLoad);
is(tabpanel.querySelector("#response-content-image-name-value")
.getAttribute("value"), "test-image.png",
"The image name info isn't correct.");
is(tabpanel.querySelector("#response-content-image-mime-value")
.getAttribute("value"), "image/png",
"The image mime info isn't correct.");
- is(tabpanel.querySelector("#response-content-image-encoding-value")
- .getAttribute("value"), "base64",
- "The image encoding info isn't correct.");
is(tabpanel.querySelector("#response-content-image-dimensions-value")
.getAttribute("value"), "16" + " \u00D7 " + "16",
"The image dimensions info isn't correct.");
deferred.resolve();
});
return deferred.promise;
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
@@ -0,0 +1,41 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests if copying an image as data uri works.
+ */
+
+function test() {
+ const SVG_URL = EXAMPLE_URL + "dropmarker.svg";
+ initNetMonitor(CURL_URL).then(([aTab, aDebuggee, aMonitor]) => {
+ info("Starting test... ");
+
+ let { NetMonitorView } = aMonitor.panelWin;
+ let { RequestsMenu } = NetMonitorView;
+
+ RequestsMenu.lazyUpdate = false;
+
+ waitForNetworkEvents(aMonitor, 1).then(() => {
+ let requestItem = RequestsMenu.getItemAtIndex(0);
+ RequestsMenu.selectedItem = requestItem;
+
+ waitForClipboard(function check(text) {
+ return text.startsWith("data:") && !/undefined/.test(text);
+ }, function setup() {
+ RequestsMenu.copyImageAsDataUri();
+ }, function onSuccess() {
+ ok(true, "Clipboard contains a valid data: URI");
+ cleanUp();
+ }, function onFailure() {
+ ok(false, "Clipboard contains an invalid data: URI");
+ cleanUp();
+ });
+ });
+
+ aDebuggee.performRequest(SVG_URL);
+
+ function cleanUp(){
+ teardown(aMonitor).then(finish);
+ }
+ });
+}
--- a/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
+++ b/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
@@ -15,17 +15,17 @@ function test() {
"Should have a preferences object available on the panel window.");
function testL10N() {
let { L10N } = aMonitor.panelWin;
ok(L10N.stringBundle,
"The localization object should have a string bundle available.");
- let bundleName = "chrome://browser/locale/devtools/netmonitor.properties";
+ let bundleName = "chrome://devtools/locale/netmonitor.properties";
let stringBundle = Services.strings.createBundle(bundleName);
is(L10N.getStr("netmonitor.label"),
stringBundle.GetStringFromName("netmonitor.label"),
"The getStr() method didn't return the expected string.");
is(L10N.getFormatStr("networkMenu.totalMS", "foo"),
stringBundle.formatStringFromName("networkMenu.totalMS", ["foo"], 1),
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/test/dropmarker.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="8" height="4" viewBox="0 0 8 4">
+ <polygon points="0,0 4,4 8,0" fill="#b6babf"/>
+</svg>
--- a/devtools/client/performance/modules/global.js
+++ b/devtools/client/performance/modules/global.js
@@ -4,18 +4,18 @@
"use strict";
const { ViewHelpers } = require("resource://devtools/client/shared/widgets/ViewHelpers.jsm");
/**
* Localization convenience methods.
*/
const L10N = new ViewHelpers.MultiL10N([
- "chrome://browser/locale/devtools/markers.properties",
- "chrome://browser/locale/devtools/performance.properties"
+ "chrome://devtools/locale/markers.properties",
+ "chrome://devtools/locale/performance.properties"
]);
/**
* A list of preferences for this tool. The values automatically update
* if somebody edits edits about:config or the prefs change somewhere else.
*/
const PREFS = new ViewHelpers.Prefs("devtools.performance", {
"show-triggers-for-gc-types": ["Char", "ui.show-triggers-for-gc-types"],
--- a/devtools/client/performance/performance.xul
+++ b/devtools/client/performance/performance.xul
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/performance.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/performance.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % performanceDTD SYSTEM "chrome://browser/locale/devtools/performance.dtd">
+ <!ENTITY % performanceDTD SYSTEM "chrome://devtools/locale/performance.dtd">
%performanceDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript" src="performance-controller.js"/>
<script type="application/javascript" src="performance-view.js"/>
<script type="application/javascript" src="views/overview.js"/>
--- a/devtools/client/projecteditor/chrome/content/projecteditor-loader.js
+++ b/devtools/client/projecteditor/chrome/content/projecteditor-loader.js
@@ -3,17 +3,17 @@ const {require} = Cu.import("resource://
const {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const {NetUtil} = Cu.import("resource://gre/modules/NetUtil.jsm", {});
const promise = require("promise");
const ProjectEditor = require("devtools/client/projecteditor/lib/projecteditor");
const SAMPLE_PATH = buildTempDirectoryStructure();
const SAMPLE_NAME = "DevTools Content Application Name";
const SAMPLE_PROJECT_URL = "data:text/html;charset=utf-8,<body><h1>Project Overview</h1></body>";
-const SAMPLE_ICON = "chrome://devtools/skin/themes/images/tool-debugger.svg";
+const SAMPLE_ICON = "chrome://devtools/skin/images/tool-debugger.svg";
/**
* Create a workspace for working on projecteditor, available at
* chrome://devtools/content/projecteditor/chrome/content/projecteditor-loader.xul.
* This emulates the integration points that the app manager uses.
*/
var appManagerEditor;
--- a/devtools/client/projecteditor/chrome/content/projecteditor-loader.xul
+++ b/devtools/client/projecteditor/chrome/content/projecteditor-loader.xul
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
+<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
%toolboxDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8" src="projecteditor-loader.js"></script>
<commandset id="toolbox-commandset">
--- a/devtools/client/projecteditor/chrome/content/projecteditor.xul
+++ b/devtools/client/projecteditor/chrome/content/projecteditor.xul
@@ -1,27 +1,27 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<?xml-stylesheet href="chrome://devtools/skin/themes/light-theme.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/projecteditor/projecteditor.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/light-theme.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/projecteditor/projecteditor.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/debugger/debugger.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/markupview/markup-view.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/markup-view.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/markup-view.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<!DOCTYPE window [
-<!ENTITY % scratchpadDTD SYSTEM "chrome://browser/locale/devtools/scratchpad.dtd" >
+<!ENTITY % scratchpadDTD SYSTEM "chrome://devtools/locale/scratchpad.dtd" >
%scratchpadDTD;
<!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuStrings;
-<!ENTITY % sourceEditorStrings SYSTEM "chrome://browser/locale/devtools/sourceeditor.dtd">
+<!ENTITY % sourceEditorStrings SYSTEM "chrome://devtools/locale/sourceeditor.dtd">
%sourceEditorStrings;
]>
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" class="theme-body">
<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
<commandset id="projecteditor-commandset" />
--- a/devtools/client/projecteditor/lib/helpers/l10n.js
+++ b/devtools/client/projecteditor/lib/helpers/l10n.js
@@ -5,17 +5,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* This file contains helper functions for internationalizing projecteditor strings
*/
const { Cu, Cc, Ci } = require("chrome");
const { ViewHelpers } = Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm", {});
-const ITCHPAD_STRINGS_URI = "chrome://browser/locale/devtools/projecteditor.properties";
+const ITCHPAD_STRINGS_URI = "chrome://devtools/locale/projecteditor.properties";
const L10N = new ViewHelpers.L10N(ITCHPAD_STRINGS_URI).stringBundle;
function getLocalizedString (name) {
try {
return L10N.GetStringFromName(name);
} catch (ex) {
console.log("Error reading '" + name + "'");
throw new Error("l10n error with " + name);
--- a/devtools/client/projecteditor/lib/plugins/app-manager/plugin.js
+++ b/devtools/client/projecteditor/lib/plugins/app-manager/plugin.js
@@ -1,18 +1,18 @@
const { Cu } = require("chrome");
const { Class } = require("sdk/core/heritage");
const { EventTarget } = require("sdk/event/target");
const { emit } = require("sdk/event/core");
const promise = require("promise");
var { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
const { AppProjectEditor } = require("./app-project-editor");
-const OPTION_URL = "chrome://devtools/skin/themes/images/tool-options.svg";
+const OPTION_URL = "chrome://devtools/skin/images/tool-options.svg";
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var AppManagerRenderer = Class({
extends: Plugin,
isAppManagerProject: function() {
return !!this.host.project.appManagerOpts;
},
editorForResource: function(resource) {
--- a/devtools/client/projecteditor/test/browser_projecteditor_app_options.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_app_options.js
@@ -15,73 +15,73 @@ add_task(function*() {
projecteditor.project.once("resource-added", () => {
info ("A resource has been added");
resourceBeenAdded.resolve();
});
info ("About to set project to: " + TEMP_PATH);
yield projecteditor.setProjectToAppPath(TEMP_PATH, {
name: "Test",
- iconUrl: "chrome://devtools/skin/themes/images/tool-options.svg",
+ iconUrl: "chrome://devtools/skin/images/tool-options.svg",
projectOverviewURL: SAMPLE_WEBAPP_URL
});
info ("Making sure a resource has been added before continuing");
yield resourceBeenAdded.promise;
info ("From now on, if a resource is added it should fail");
projecteditor.project.on("resource-added", failIfResourceAdded);
info ("Getting ahold and validating the project header DOM");
let header = projecteditor.document.querySelector(".entry-group-title");
let image = header.querySelector(".project-image");
let nameLabel = header.querySelector(".project-name-label");
let statusElement = header.querySelector(".project-status");
is (statusElement.getAttribute("status"), "unknown", "The status starts out as unknown.");
is (nameLabel.textContent, "Test", "The name label has been set correctly");
- is (image.getAttribute("src"), "chrome://devtools/skin/themes/images/tool-options.svg", "The icon has been set correctly");
+ is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-options.svg", "The icon has been set correctly");
info ("About to set project with new options.");
yield projecteditor.setProjectToAppPath(TEMP_PATH, {
name: "Test2",
- iconUrl: "chrome://devtools/skin/themes/images/tool-inspector.svg",
+ iconUrl: "chrome://devtools/skin/images/tool-inspector.svg",
projectOverviewURL: SAMPLE_WEBAPP_URL,
validationStatus: "error"
});
info ("Getting ahold of and validating the project header DOM");
is (statusElement.getAttribute("status"), "error", "The status has been set correctly.");
is (nameLabel.textContent, "Test2", "The name label has been set correctly");
- is (image.getAttribute("src"), "chrome://devtools/skin/themes/images/tool-inspector.svg", "The icon has been set correctly");
+ is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-inspector.svg", "The icon has been set correctly");
info ("About to set project with new options.");
yield projecteditor.setProjectToAppPath(TEMP_PATH, {
name: "Test3",
- iconUrl: "chrome://devtools/skin/themes/images/tool-webconsole.svg",
+ iconUrl: "chrome://devtools/skin/images/tool-webconsole.svg",
projectOverviewURL: SAMPLE_WEBAPP_URL,
validationStatus: "warning"
});
info ("Getting ahold of and validating the project header DOM");
is (statusElement.getAttribute("status"), "warning", "The status has been set correctly.");
is (nameLabel.textContent, "Test3", "The name label has been set correctly");
- is (image.getAttribute("src"), "chrome://devtools/skin/themes/images/tool-webconsole.svg", "The icon has been set correctly");
+ is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-webconsole.svg", "The icon has been set correctly");
info ("About to set project with new options.");
yield projecteditor.setProjectToAppPath(TEMP_PATH, {
name: "Test4",
- iconUrl: "chrome://devtools/skin/themes/images/tool-debugger.svg",
+ iconUrl: "chrome://devtools/skin/images/tool-debugger.svg",
projectOverviewURL: SAMPLE_WEBAPP_URL,
validationStatus: "valid"
});
info ("Getting ahold of and validating the project header DOM");
is (statusElement.getAttribute("status"), "valid", "The status has been set correctly.");
is (nameLabel.textContent, "Test4", "The name label has been set correctly");
- is (image.getAttribute("src"), "chrome://devtools/skin/themes/images/tool-debugger.svg", "The icon has been set correctly");
+ is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-debugger.svg", "The icon has been set correctly");
info ("Test finished, cleaning up");
projecteditor.project.off("resource-added", failIfResourceAdded);
});
function failIfResourceAdded() {
ok (false, "A resource has been added, but it shouldn't have been");
}
--- a/devtools/client/projecteditor/test/head.js
+++ b/devtools/client/projecteditor/test/head.js
@@ -92,17 +92,17 @@ function addProjectEditorTabForTempDirec
// Bug 1037292 - The test servers sometimes are unable to
// write to the temporary directory due to locked files
// or access denied errors. Try again if this failed.
info ("Project Editor temp directory creation failed. Trying again.");
TEMP_PATH = buildTempDirectoryStructure();
}
let customOpts = {
name: "Test",
- iconUrl: "chrome://devtools/skin/themes/images/tool-options.svg",
+ iconUrl: "chrome://devtools/skin/images/tool-options.svg",
projectOverviewURL: SAMPLE_WEBAPP_URL
};
info ("Adding a project editor tab for editing at: " + TEMP_PATH);
return addProjectEditorTab(opts).then((projecteditor) => {
return projecteditor.setProjectToAppPath(TEMP_PATH, customOpts).then(() => {
return projecteditor;
});
--- a/devtools/client/promisedebugger/promise-debugger.xhtml
+++ b/devtools/client/promisedebugger/promise-debugger.xhtml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mkozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % promisedebuggerDTD SYSTEM "chrome://browser/locale/devtools/promisedebugger.dtd">
+ <!ENTITY % promisedebuggerDTD SYSTEM "chrome://devtools/locale/promisedebugger.dtd">
%promisedebuggerDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/promisedebugger.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/promisedebugger.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
</head>
<body class="devtools-monospace" role="application">
<script type="application/javascript;version=1.8" src="promise-controller.js"></script>
<script type="application/javascript;version=1.8" src="promise-panel.js"></script>
</body>
</html>
--- a/devtools/client/responsivedesign/responsivedesign-child.js
+++ b/devtools/client/responsivedesign/responsivedesign-child.js
@@ -1,15 +1,15 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var Ci = Components.interfaces;
const gDeviceSizeWasPageSize = docShell.deviceSizeIsPageSize;
-const gFloatingScrollbarsStylesheet = Services.io.newURI("chrome://devtools/skin/themes/floating-scrollbars.css", null, null);
+const gFloatingScrollbarsStylesheet = Services.io.newURI("chrome://devtools/skin/floating-scrollbars.css", null, null);
var gRequiresFloatingScrollbars;
var active = false;
addMessageListener("ResponsiveMode:Start", startResponsiveMode);
addMessageListener("ResponsiveMode:Stop", stopResponsiveMode);
function startResponsiveMode({data:data}) {
--- a/devtools/client/responsivedesign/responsivedesign.jsm
+++ b/devtools/client/responsivedesign/responsivedesign.jsm
@@ -30,17 +30,17 @@ const MIN_HEIGHT = 50;
const MAX_WIDTH = 10000;
const MAX_HEIGHT = 10000;
const SLOW_RATIO = 6;
const ROUND_RATIO = 10;
const INPUT_PARSER = /(\d+)[^\d]+(\d+)/;
-const SHARED_L10N = new ViewHelpers.L10N("chrome://browser/locale/devtools/shared.properties");
+const SHARED_L10N = new ViewHelpers.L10N("chrome://devtools/locale/shared.properties");
var ActiveTabs = new Map();
this.ResponsiveUIManager = {
/**
* Check if the a tab is in a responsive mode.
* Leave the responsive mode if active,
* active the responsive mode if not active.
@@ -1013,10 +1013,10 @@ ResponsiveUI.prototype = {
return !aPreset.custom;
});
Services.prefs.setCharPref("devtools.responsiveUI.presets", JSON.stringify(registeredPresets));
},
}
XPCOMUtils.defineLazyGetter(ResponsiveUI.prototype, "strings", function () {
- return Services.strings.createBundle("chrome://browser/locale/devtools/responsiveUI.properties");
+ return Services.strings.createBundle("chrome://devtools/locale/responsiveUI.properties");
});
--- a/devtools/client/scratchpad/scratchpad.js
+++ b/devtools/client/scratchpad/scratchpad.js
@@ -25,17 +25,17 @@ const BUTTON_POSITION_CANCEL = 1;
const BUTTON_POSITION_DONT_SAVE = 2;
const BUTTON_POSITION_REVERT = 0;
const EVAL_FUNCTION_TIMEOUT = 1000; // milliseconds
const MAXIMUM_FONT_SIZE = 96;
const MINIMUM_FONT_SIZE = 6;
const NORMAL_FONT_SIZE = 12;
-const SCRATCHPAD_L10N = "chrome://browser/locale/devtools/scratchpad.properties";
+const SCRATCHPAD_L10N = "chrome://devtools/locale/scratchpad.properties";
const DEVTOOLS_CHROME_ENABLED = "devtools.chrome.enabled";
const PREF_RECENT_FILES_MAX = "devtools.scratchpad.recentFilesMax";
const SHOW_LINE_NUMBERS = "devtools.scratchpad.lineNumbers";
const WRAP_TEXT = "devtools.scratchpad.wrapText";
const SHOW_TRAILING_SPACE = "devtools.scratchpad.showTrailingSpace";
const EDITOR_FONT_SIZE = "devtools.scratchpad.editorFontSize";
const ENABLE_AUTOCOMPLETION = "devtools.scratchpad.enableAutocompletion";
const TAB_SIZE = "devtools.editor.tabsize";
--- a/devtools/client/scratchpad/scratchpad.xul
+++ b/devtools/client/scratchpad/scratchpad.xul
@@ -1,26 +1,26 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % scratchpadDTD SYSTEM "chrome://browser/locale/devtools/scratchpad.dtd" >
+<!ENTITY % scratchpadDTD SYSTEM "chrome://devtools/locale/scratchpad.dtd" >
%scratchpadDTD;
<!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuStrings;
-<!ENTITY % sourceEditorStrings SYSTEM "chrome://browser/locale/devtools/sourceeditor.dtd">
+<!ENTITY % sourceEditorStrings SYSTEM "chrome://devtools/locale/sourceeditor.dtd">
%sourceEditorStrings;
]>
<?xml-stylesheet href="chrome://global/skin/global.css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/scratchpad.css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css"?>
+<?xml-stylesheet href="chrome://devtools/skin/scratchpad.css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<window id="main-window"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&window.title;"
windowtype="devtools:scratchpad"
macanimationtype="document"
fullscreenbutton="true"
--- a/devtools/client/shadereditor/shadereditor.js
+++ b/devtools/client/shadereditor/shadereditor.js
@@ -35,17 +35,17 @@ const EVENTS = {
// When the UI is reset from tab navigation
UI_RESET: "ShaderEditor:UIReset",
// When the editor's error markers are all removed
EDITOR_ERROR_MARKERS_REMOVED: "ShaderEditor:EditorCleaned"
};
XPCOMUtils.defineConstant(this, "EVENTS", EVENTS);
-const STRINGS_URI = "chrome://browser/locale/devtools/shadereditor.properties"
+const STRINGS_URI = "chrome://devtools/locale/shadereditor.properties"
const HIGHLIGHT_TINT = [1, 0, 0.25, 1]; // rgba
const TYPING_MAX_DELAY = 500; // ms
const SHADERS_AUTOGROW_ITEMS = 4;
const GUTTER_ERROR_PANEL_OFFSET_X = 7; // px
const GUTTER_ERROR_PANEL_DELAY = 100; // ms
const DEFAULT_EDITOR_CONFIG = {
gutters: ["errors"],
lineNumbers: true,
--- a/devtools/client/shadereditor/shadereditor.xul
+++ b/devtools/client/shadereditor/shadereditor.xul
@@ -1,19 +1,19 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/shadereditor.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/shadereditor.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % debuggerDTD SYSTEM "chrome://browser/locale/devtools/shadereditor.dtd">
+ <!ENTITY % debuggerDTD SYSTEM "chrome://devtools/locale/shadereditor.dtd">
%debuggerDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
--- a/devtools/client/shared/AppCacheUtils.jsm
+++ b/devtools/client/shared/AppCacheUtils.jsm
@@ -612,17 +612,17 @@ ManifestParser.prototype = {
"invalidSectionName", text, this.currentLine);
return false;
}
}
},
};
XPCOMUtils.defineLazyGetter(this, "l10n", () => Services.strings
- .createBundle("chrome://browser/locale/devtools/appcacheutils.properties"));
+ .createBundle("chrome://devtools/locale/appcacheutils.properties"));
XPCOMUtils.defineLazyGetter(this, "appcacheservice", function() {
return Cc["@mozilla.org/network/application-cache-service;1"]
.getService(Ci.nsIApplicationCacheService);
});
XPCOMUtils.defineLazyGetter(this, "_DOMParser", function() {
--- a/devtools/client/shared/DeveloperToolbar.jsm
+++ b/devtools/client/shared/DeveloperToolbar.jsm
@@ -31,17 +31,17 @@ XPCOMUtils.defineLazyModuleGetter(this,
XPCOMUtils.defineLazyGetter(this, "prefBranch", function() {
let prefService = Cc["@mozilla.org/preferences-service;1"]
.getService(Ci.nsIPrefService);
return prefService.getBranch(null)
.QueryInterface(Ci.nsIPrefBranch2);
});
XPCOMUtils.defineLazyGetter(this, "toolboxStrings", function () {
- return Services.strings.createBundle("chrome://browser/locale/devtools/toolbox.properties");
+ return Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
});
const Telemetry = require("devtools/client/shared/telemetry");
XPCOMUtils.defineLazyGetter(this, "gcliInit", function() {
try {
return require("devtools/shared/gcli/commands/index");
}
--- a/devtools/client/shared/devices.js
+++ b/devtools/client/shared/devices.js
@@ -5,17 +5,17 @@
"use strict";
const { Ci, Cc } = require("chrome");
const { getJSON } = require("devtools/client/shared/getjson");
const { Services } = require("resource://gre/modules/Services.jsm");
const promise = require("promise");
const DEVICES_URL = "devtools.devices.url";
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/device.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/device.properties");
/* This is a catalog of common web-enabled devices and their properties,
* intended for (mobile) device emulation.
*
* The properties of a device are:
* - name: brand and model(s).
* - width: viewport width.
* - height: viewport height.
--- a/devtools/client/shared/test/browser_filter-editor-02.js
+++ b/devtools/client/shared/test/browser_filter-editor-02.js
@@ -4,17 +4,17 @@
"use strict";
// Tests that the Filter Editor Widget renders filters correctly
const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
const { ViewHelpers } = Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm", {});
-const STRINGS_URI = "chrome://browser/locale/devtools/filterwidget.properties";
+const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
const TEST_DATA = [
{
--- a/devtools/client/shared/test/browser_filter-editor-06.js
+++ b/devtools/client/shared/test/browser_filter-editor-06.js
@@ -6,17 +6,17 @@
// Tests the Filter Editor Widget's add button
const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
const { Cu } = require("chrome");
const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
const { ViewHelpers } = Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm", {});
-const STRINGS_URI = "chrome://browser/locale/devtools/filterwidget.properties";
+const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
const container = doc.querySelector("#container");
let widget = new CSSFilterEditorWidget(container, "none");
--- a/devtools/client/shared/test/browser_filter-editor-07.js
+++ b/devtools/client/shared/test/browser_filter-editor-07.js
@@ -6,17 +6,17 @@
// Tests the Filter Editor Widget's remove button
const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
const { Cu } = require("chrome");
const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
const { ViewHelpers } = Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm", {});
-const STRINGS_URI = "chrome://browser/locale/devtools/filterwidget.properties";
+const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
const container = doc.querySelector("#container");
let widget = new CSSFilterEditorWidget(container, "blur(2px) contrast(200%)");
--- a/devtools/client/shared/test/browser_tableWidget_basic.js
+++ b/devtools/client/shared/test/browser_tableWidget_basic.js
@@ -1,19 +1,19 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that the table widget api works fine
const TEST_URI = "data:text/xml;charset=UTF-8,<?xml version='1.0'?>" +
"<?xml-stylesheet href='chrome://global/skin/global.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/light-theme.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/widgets.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/light-theme.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/widgets.css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'" +
" title='Table Widget' width='600' height='500'>" +
"<box flex='1' class='theme-light'/></window>";
const TEST_OPT = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
const {TableWidget} = require("devtools/client/shared/widgets/TableWidget");
var doc, table;
--- a/devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js
+++ b/devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js
@@ -1,19 +1,19 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that keyboard interaction works fine with the table widget
const TEST_URI = "data:text/xml;charset=UTF-8,<?xml version='1.0'?>" +
"<?xml-stylesheet href='chrome://global/skin/global.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/light-theme.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/widgets.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/light-theme.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/widgets.css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'" +
" title='Table Widget' width='600' height='500'>" +
"<box flex='1' class='theme-light'/></window>";
const TEST_OPT = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
const {TableWidget} = require("devtools/client/shared/widgets/TableWidget");
var {Task} = require("resource://gre/modules/Task.jsm");
--- a/devtools/client/shared/test/browser_tableWidget_mouse_interaction.js
+++ b/devtools/client/shared/test/browser_tableWidget_mouse_interaction.js
@@ -1,19 +1,19 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that mosue interaction works fine with the table widget
const TEST_URI = "data:text/xml;charset=UTF-8,<?xml version='1.0'?>" +
"<?xml-stylesheet href='chrome://global/skin/global.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/common.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/light-theme.css'?>" +
- "<?xml-stylesheet href='chrome://devtools/skin/themes/widgets.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/common.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/light-theme.css'?>" +
+ "<?xml-stylesheet href='chrome://devtools/skin/widgets.css'?>" +
"<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'" +
" title='Table Widget' width='600' height='500'>" +
"<box flex='1' class='theme-light'/></window>";
const TEST_OPT = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
const {TableWidget} = require("devtools/client/shared/widgets/TableWidget");
const Promise = require("promise");
--- a/devtools/client/shared/test/browser_treeWidget_basic.js
+++ b/devtools/client/shared/test/browser_treeWidget_basic.js
@@ -1,17 +1,17 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that the tree widget api works fine
const TEST_URI = "data:text/html;charset=utf-8,<head><link rel='stylesheet' " +
- "type='text/css' href='chrome://devtools/skin/themes/common.css'><link " +
- "rel='stylesheet' type='text/css' href='chrome://devtools/skin/themes/widg" +
+ "type='text/css' href='chrome://devtools/skin/common.css'><link " +
+ "rel='stylesheet' type='text/css' href='chrome://devtools/skin/widg" +
"ets.css'></head><body><div></div><span></span></body>";
const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
let tree = new TreeWidget(doc.querySelector("div"), {
--- a/devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js
+++ b/devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js
@@ -1,17 +1,17 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that keyboard interaction works fine with the tree widget
const TEST_URI = "data:text/html;charset=utf-8,<head><link rel='stylesheet' " +
- "type='text/css' href='chrome://devtools/skin/themes/common.css'><link " +
- "rel='stylesheet' type='text/css' href='chrome://devtools/skin/themes/widg" +
+ "type='text/css' href='chrome://devtools/skin/common.css'><link " +
+ "rel='stylesheet' type='text/css' href='chrome://devtools/skin/widg" +
"ets.css'></head><body><div></div><span></span></body>";
const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
const Promise = require("promise");
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
--- a/devtools/client/shared/test/browser_treeWidget_mouse_interaction.js
+++ b/devtools/client/shared/test/browser_treeWidget_mouse_interaction.js
@@ -1,17 +1,17 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that mouse interaction works fine with tree widget
const TEST_URI = "data:text/html;charset=utf-8,<head><link rel='stylesheet' " +
- "type='text/css' href='chrome://devtools/skin/themes/common.css'><link " +
- "rel='stylesheet' type='text/css' href='chrome://devtools/skin/themes/widg" +
+ "type='text/css' href='chrome://devtools/skin/common.css'><link " +
+ "rel='stylesheet' type='text/css' href='chrome://devtools/skin/widg" +
"ets.css'></head><body><div></div><span></span></body>";
const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
const Promise = require("promise");
add_task(function*() {
yield promiseTab("about:blank");
let [host, win, doc] = yield createHost("bottom", TEST_URI);
--- a/devtools/client/shared/test/doc_options-view.xul
+++ b/devtools/client/shared/test/doc_options-view.xul
@@ -1,15 +1,15 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<!DOCTYPE window []>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<popupset id="options-popupset">
<menupopup id="options-menupopup" position="before_end">
<menuitem id="option-autoprettyprint"
--- a/devtools/client/shared/theme-switching.js
+++ b/devtools/client/shared/theme-switching.js
@@ -1,14 +1,14 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
(function() {
- const DEVTOOLS_SKIN_URL = "chrome://devtools/skin/themes/";
+ const DEVTOOLS_SKIN_URL = "chrome://devtools/skin/";
let documentElement = document.documentElement;
function forceStyle() {
let computedStyle = window.getComputedStyle(documentElement);
if (!computedStyle) {
// Null when documentElement is not ready. This method is anyways not
// required then as scrollbars would be in their state without flushing.
return;
--- a/devtools/client/shared/theme.js
+++ b/devtools/client/shared/theme.js
@@ -9,17 +9,17 @@
* https://developer.mozilla.org/en-US/docs/Tools/DevToolsColors
*/
const { Ci, Cu } = require("chrome");
const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
loader.lazyRequireGetter(this, "Services");
loader.lazyImporter(this, "gDevTools", "resource://devtools/client/framework/gDevTools.jsm");
-const VARIABLES_URI = "chrome://devtools/skin/themes/variables.css";
+const VARIABLES_URI = "chrome://devtools/skin/variables.css";
const THEME_SELECTOR_STRINGS = {
light: ":root.theme-light {",
dark: ":root.theme-dark {"
}
let variableFileContents;
/**
--- a/devtools/client/shared/widgets/Chart.jsm
+++ b/devtools/client/shared/widgets/Chart.jsm
@@ -3,17 +3,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const Ci = Components.interfaces;
const Cu = Components.utils;
-const NET_STRINGS_URI = "chrome://browser/locale/devtools/netmonitor.properties";
+const NET_STRINGS_URI = "chrome://devtools/locale/netmonitor.properties";
const SVG_NS = "http://www.w3.org/2000/svg";
const PI = Math.PI;
const TAU = PI * 2;
const EPSILON = 0.0000001;
const NAMED_SLICE_MIN_ANGLE = TAU / 8;
const NAMED_SLICE_TEXT_DISTANCE_RATIO = 1.9;
const HOVERED_SLICE_TRANSLATE_DISTANCE_RATIO = 20;
--- a/devtools/client/shared/widgets/FilterWidget.js
+++ b/devtools/client/shared/widgets/FilterWidget.js
@@ -9,17 +9,17 @@
* for Rule View's filter swatches
*/
const EventEmitter = require("devtools/shared/event-emitter");
const { Cu, Cc, Ci } = require("chrome");
const { ViewHelpers } =
Cu.import("resource://devtools/client/shared/widgets/ViewHelpers.jsm",
{});
-const STRINGS_URI = "chrome://browser/locale/devtools/filterwidget.properties";
+const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
const L10N = new ViewHelpers.L10N(STRINGS_URI);
const {cssTokenizer} = require("devtools/client/shared/css-parsing-utils");
loader.lazyGetter(this, "asyncStorage",
() => require("devtools/shared/async-storage"));
loader.lazyGetter(this, "DOMUtils", () => {
return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
--- a/devtools/client/shared/widgets/LineGraphWidget.js
+++ b/devtools/client/shared/widgets/LineGraphWidget.js
@@ -2,17 +2,17 @@
const { Cc, Ci, Cu, Cr } = require("chrome");
const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
const { ViewHelpers, Heritage } = require("resource://devtools/client/shared/widgets/ViewHelpers.jsm");
const { AbstractCanvasGraph, CanvasGraphUtils } = require("devtools/client/shared/widgets/Graphs");
const HTML_NS = "http://www.w3.org/1999/xhtml";
-const L10N = new ViewHelpers.L10N("chrome://browser/locale/devtools/graphs.properties");
+const L10N = new ViewHelpers.L10N("chrome://devtools/locale/graphs.properties");
// Line graph constants.
const GRAPH_DAMPEN_VALUES_FACTOR = 0.85;
const GRAPH_TOOLTIP_SAFE_BOUNDS = 8; // px
const GRAPH_MIN_MAX_TOOLTIP_DISTANCE = 14; // px
const GRAPH_BACKGROUND_COLOR = "#0088cc";
--- a/devtools/client/shared/widgets/MdnDocsWidget.js
+++ b/devtools/client/shared/widgets/MdnDocsWidget.js
@@ -377,17 +377,17 @@ MdnDocsWidget.prototype = {
*/
function L10N() {}
L10N.prototype = {};
var l10n = new L10N();
loader.lazyGetter(L10N.prototype, "strings", () => {
return Services.strings.createBundle(
- "chrome://browser/locale/devtools/inspector.properties");
+ "chrome://devtools/locale/inspector.properties");
});
/**
* Test whether a node is all whitespace.
*
* @return {boolean}
* True if the node all whitespace, otherwise false.
*/
--- a/devtools/client/shared/widgets/Tooltip.js
+++ b/devtools/client/shared/widgets/Tooltip.js
@@ -1275,17 +1275,17 @@ EventTooltip.prototype = {
// Header
let header = doc.createElement("hbox");
header.className = "event-header devtools-toolbar";
container.appendChild(header);
if (!listener.hide.debugger) {
let debuggerIcon = doc.createElement("image");
debuggerIcon.className = "event-tooltip-debugger-icon";
- debuggerIcon.setAttribute("src", "chrome://devtools/skin/themes/images/tool-debugger.svg");
+ debuggerIcon.setAttribute("src", "chrome://devtools/skin/images/tool-debugger.svg");
let openInDebugger =
l10n.strings.GetStringFromName("eventsTooltip.openInDebugger");
debuggerIcon.setAttribute("tooltiptext", openInDebugger);
header.appendChild(debuggerIcon);
}
if (!listener.hide.type) {
let eventTypeLabel = doc.createElement("label");
@@ -1714,10 +1714,10 @@ SwatchFilterTooltip.prototype = Heritage
*/
function L10N() {}
L10N.prototype = {};
var l10n = new L10N();
loader.lazyGetter(L10N.prototype, "strings", () => {
return Services.strings.createBundle(
- "chrome://browser/locale/devtools/inspector.properties");
+ "chrome://devtools/locale/inspector.properties");
});
--- a/devtools/client/shared/widgets/VariablesView.jsm
+++ b/devtools/client/shared/widgets/VariablesView.jsm
@@ -3,17 +3,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const Ci = Components.interfaces;
const Cu = Components.utils;
-const DBG_STRINGS_URI = "chrome://browser/locale/devtools/debugger.properties";
+const DBG_STRINGS_URI = "chrome://devtools/locale/debugger.properties";
const LAZY_EMPTY_DELAY = 150; // ms
const LAZY_EXPAND_DELAY = 50; // ms
const SCROLL_PAGE_SIZE_DEFAULT = 0;
const PAGE_SIZE_SCROLL_HEIGHT_RATIO = 100;
const PAGE_SIZE_MAX_JUMPS = 30;
const SEARCH_ACTION_MAX_DELAY = 300; // ms
const ITEM_FLASH_DURATION = 300 // ms
--- a/devtools/client/shared/widgets/VariablesView.xul
+++ b/devtools/client/shared/widgets/VariablesView.xul
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://global/skin/global.css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % viewDTD SYSTEM "chrome://browser/locale/devtools/VariablesView.dtd">
+ <!ENTITY % viewDTD SYSTEM "chrome://devtools/locale/VariablesView.dtd">
%viewDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&PropertiesViewWindowTitle;">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
<vbox id="variables" flex="1"/>
--- a/devtools/client/shared/widgets/VariablesViewController.jsm
+++ b/devtools/client/shared/widgets/VariablesViewController.jsm
@@ -26,17 +26,17 @@ XPCOMUtils.defineLazyGetter(this, "VARIA
Services.prefs.getBoolPref("devtools.debugger.ui.variables-sorting-enabled")
);
XPCOMUtils.defineLazyModuleGetter(this, "console",
"resource://gre/modules/Console.jsm");
const MAX_LONG_STRING_LENGTH = 200000;
const MAX_PROPERTY_ITEMS = 2000;
-const DBG_STRINGS_URI = "chrome://browser/locale/devtools/debugger.properties";
+const DBG_STRINGS_URI = "chrome://devtools/locale/debugger.properties";
const ELLIPSIS = Services.prefs.getComplexValue("intl.ellipsis", Ci.nsIPrefLocalizedString).data
this.EXPORTED_SYMBOLS = ["VariablesViewController", "StackFrameUtils"];
/**
* Controller for a VariablesView that handles interfacing with the debugger
@@ -689,17 +689,17 @@ VariablesViewController.prototype = {
* - expanded: the Promise that resolves when the variable expands.
*/
setSingleVariable: function(aOptions, aConfiguration = {}) {
this._setEvaluationMacros(aConfiguration);
this.view.empty();
let scope = this.view.addScope(aOptions.label);
scope.expanded = true; // Expand the scope by default.
- scope.locked = true; // Prevent collpasing the scope.
+ scope.locked = true; // Prevent collapsing the scope.
let variable = scope.addItem("", { enumerable: true });
let populated;
if (aOptions.objectActor) {
// Save objectActor for properties filtering
this.objectActor = aOptions.objectActor;
populated = this.populate(variable, aOptions.objectActor);
--- a/devtools/client/shared/widgets/cubic-bezier-frame.xhtml
+++ b/devtools/client/shared/widgets/cubic-bezier-frame.xhtml
@@ -2,17 +2,17 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/shared/widgets/cubic-bezier.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<style>
html, body {
margin: 0;
padding: 0;
overflow: hidden;
width: 410px;
--- a/devtools/client/shared/widgets/filter-frame.xhtml
+++ b/devtools/client/shared/widgets/filter-frame.xhtml
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % filterwidgetDTD SYSTEM "chrome://browser/locale/devtools/filterwidget.dtd" >
+ <!ENTITY % filterwidgetDTD SYSTEM "chrome://devtools/locale/filterwidget.dtd" >
%filterwidgetDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="chrome://devtools/content/shared/widgets/filter-widget.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"></script>
</head>
<body>
<div id="container">
<div class="filters-list">
<div id="filters"></div>
<div class="footer">
--- a/devtools/client/shared/widgets/filter-widget.css
+++ b/devtools/client/shared/widgets/filter-widget.css
@@ -190,17 +190,17 @@ html, body {
display: block;
order: 3;
color: var(--theme-body-color-alt);
}
.remove-button {
width: 16px;
height: 16px;
- background: url(chrome://devtools/skin/themes/images/close@2x.png);
+ background: url(chrome://devtools/skin/images/close@2x.png);
background-size: cover;
font-size: 0;
border: none;
cursor: pointer;
}
.hidden {
display: none !important;
@@ -226,19 +226,19 @@ html, body {
height: 16px;
font-size: 0;
vertical-align: middle;
cursor: pointer;
margin: 0 5px;
}
.add {
- background: url(chrome://devtools/skin/themes/images/add.svg);
+ background: url(chrome://devtools/skin/images/add.svg);
}
#toggle-presets {
- background: url(chrome://devtools/skin/themes/images/pseudo-class.svg#pseudo-class);
+ background: url(chrome://devtools/skin/images/pseudo-class.svg#pseudo-class);
}
.show-presets #toggle-presets {
- background: url(chrome://devtools/skin/themes/images/pseudo-class.svg#pseudo-class-checked);
+ background: url(chrome://devtools/skin/images/pseudo-class.svg#pseudo-class-checked);
filter: none;
}
--- a/devtools/client/shared/widgets/graphs-frame.xhtml
+++ b/devtools/client/shared/widgets/graphs-frame.xhtml
@@ -2,18 +2,18 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/widgets.css" ype="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/widgets.css" ype="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<style>
body {
overflow: hidden;
margin: 0;
padding: 0;
font-size: 0;
}
--- a/devtools/client/shared/widgets/mdn-docs-frame.xhtml
+++ b/devtools/client/shared/widgets/mdn-docs-frame.xhtml
@@ -2,17 +2,17 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/shared/widgets/mdn-docs.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
</head>
<body class="theme-body">
<div id = "container">
<header>
--- a/devtools/client/shared/widgets/spectrum-frame.xhtml
+++ b/devtools/client/shared/widgets/spectrum-frame.xhtml
@@ -2,17 +2,17 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/shared/widgets/spectrum.css" ype="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<style>
body {
margin: 0;
padding: 0;
}
</style>
--- a/devtools/client/shared/widgets/spectrum.css
+++ b/devtools/client/shared/widgets/spectrum.css
@@ -1,26 +1,26 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#eyedropper-button {
- background-image: url("chrome://devtools/skin/themes/images/command-eyedropper.png");
+ background-image: url("chrome://devtools/skin/images/command-eyedropper.png");
width: 16px;
height: 16px;
background-size: 64px 16px;
background-position: 0 center;
background-repeat: no-repeat;
-moz-margin-start: 5px;
border-radius: 2px;
cursor: pointer;
}
.theme-light #eyedropper-button {
- filter: url(chrome://devtools/skin/themes/images/filters.svg#invert);
+ filter: url(chrome://devtools/skin/images/filters.svg#invert);
border: 1px solid #AAA;
}
.theme-dark #eyedropper-button {
border: 1px solid #444;
}
#eyedropper-button:hover {
@@ -30,17 +30,17 @@
background-position: -32px center;
}
#eyedropper-button[checked=true] {
background-position: -48px center;
}
@media (min-resolution: 1.1dppx) {
#eyedropper-button {
- background-image: url("chrome://devtools/skin/themes/images/command-eyedropper@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-eyedropper@2x.png");
}
}
/* Mix-in classes */
.spectrum-checker {
background-color: #eee;
background-image: linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%, #ccc),
--- a/devtools/client/sourceeditor/codemirror/mozilla.css
+++ b/devtools/client/sourceeditor/codemirror/mozilla.css
@@ -28,56 +28,56 @@
border-width: 1px 1px 1px 0;
border-radius: 0 3px 3px 0;
padding: 0 3px;
font-size: 10px;
pointer-events: none;
}
.error {
- background-image: url("chrome://devtools/skin/themes/images/editor-error.png");
+ background-image: url("chrome://devtools/skin/images/editor-error.png");
opacity: 0.75;
}
.breakpoint {
- background-image: url("chrome://devtools/skin/themes/images/editor-breakpoint.png");
+ background-image: url("chrome://devtools/skin/images/editor-breakpoint.png");
position: relative;
}
@media (min-resolution: 1.1dppx) {
.breakpoint {
- background-image: url("chrome://devtools/skin/themes/images/editor-breakpoint@2x.png");
+ background-image: url("chrome://devtools/skin/images/editor-breakpoint@2x.png");
}
}
.breakpoint[adding] {
transition: transform .25s;
}
.debugLocation {
- background-image: url("chrome://devtools/skin/themes/images/editor-debug-location.png");
+ background-image: url("chrome://devtools/skin/images/editor-debug-location.png");
}
@media (min-resolution: 1.1dppx) {
.debugLocation {
- background-image: url("chrome://devtools/skin/themes/images/editor-debug-location@2x.png");
+ background-image: url("chrome://devtools/skin/images/editor-debug-location@2x.png");
}
}
.breakpoint.debugLocation {
background-image:
- url("chrome://devtools/skin/themes/images/editor-debug-location.png"),
- url("chrome://devtools/skin/themes/images/editor-breakpoint.png");
+ url("chrome://devtools/skin/images/editor-debug-location.png"),
+ url("chrome://devtools/skin/images/editor-breakpoint.png");
}
@media (min-resolution: 1.1dppx) {
.breakpoint.debugLocation {
background-image:
- url("chrome://devtools/skin/themes/images/editor-debug-location@2x.png"),
- url("chrome://devtools/skin/themes/images/editor-breakpoint@2x.png");
+ url("chrome://devtools/skin/images/editor-debug-location@2x.png"),
+ url("chrome://devtools/skin/images/editor-breakpoint@2x.png");
}
}
.CodeMirror {
cursor: text;
}
.CodeMirror-gutters {
--- a/devtools/client/sourceeditor/editor.js
+++ b/devtools/client/sourceeditor/editor.js
@@ -14,17 +14,17 @@ const {
DETECT_INDENT,
getIndentationFromIteration
} = require("devtools/shared/indentation");
const ENABLE_CODE_FOLDING = "devtools.editor.enableCodeFolding";
const KEYMAP = "devtools.editor.keymap";
const AUTO_CLOSE = "devtools.editor.autoclosebrackets";
const AUTOCOMPLETE = "devtools.editor.autocomplete";
-const L10N_BUNDLE = "chrome://browser/locale/devtools/sourceeditor.properties";
+const L10N_BUNDLE = "chrome://devtools/locale/sourceeditor.properties";
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
const VALID_KEYMAPS = new Set(["emacs", "vim", "sublime"]);
// Maximum allowed margin (in number of lines) from top or bottom of the editor
// while shifting to a line which was initially out of view.
const MAX_VERTICAL_OFFSET = 3;
// Match @Scratchpad/N:LINE[:COLUMN] or (LINE[:COLUMN]) anywhere at an end of
@@ -41,17 +41,17 @@ const L10N = Services.strings.createBund
const { OS } = Services.appinfo;
// CM_STYLES, CM_SCRIPTS and CM_IFRAME represent the HTML,
// JavaScript and CSS that is injected into an iframe in
// order to initialize a CodeMirror instance.
const CM_STYLES = [
- "chrome://devtools/skin/themes/common.css",
+ "chrome://devtools/skin/common.css",
"chrome://devtools/content/sourceeditor/codemirror/codemirror.css",
"chrome://devtools/content/sourceeditor/codemirror/dialog/dialog.css",
"chrome://devtools/content/sourceeditor/codemirror/mozilla.css"
];
const CM_SCRIPTS = [
"chrome://devtools/content/shared/theme-switching.js",
"chrome://devtools/content/sourceeditor/codemirror/codemirror.js",
--- a/devtools/client/sourceeditor/test/browser_editor_find_again.js
+++ b/devtools/client/sourceeditor/test/browser_editor_find_again.js
@@ -1,16 +1,16 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2; fill-column: 80 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
-const L10N_BUNDLE = "chrome://browser/locale/devtools/sourceeditor.properties";
+const L10N_BUNDLE = "chrome://devtools/locale/sourceeditor.properties";
const L10N = Services.strings.createBundle(L10N_BUNDLE);
const FIND_KEY = L10N.GetStringFromName("find.commandkey");
const FINDAGAIN_KEY = L10N.GetStringFromName("findAgain.commandkey");
const { OS } = Services.appinfo;
// On linux, getting immediately the selection's range here fails, returning
--- a/devtools/client/storage/storage.xul
+++ b/devtools/client/storage/storage.xul
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/storage.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/storage.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="text/javascript" src="chrome://global/content/globalOverlay.js"/>
--- a/devtools/client/storage/ui.js
+++ b/devtools/client/storage/ui.js
@@ -17,17 +17,17 @@ loader.lazyImporter(this, "ViewHelpers",
loader.lazyImporter(this, "VariablesView",
"resource://devtools/client/shared/widgets/VariablesView.jsm");
const Telemetry = require("devtools/client/shared/telemetry");
/**
* Localization convenience methods.
*/
-const STORAGE_STRINGS = "chrome://browser/locale/devtools/storage.properties";
+const STORAGE_STRINGS = "chrome://devtools/locale/storage.properties";
const L10N = new ViewHelpers.L10N(STORAGE_STRINGS);
const GENERIC_VARIABLES_VIEW_SETTINGS = {
lazyEmpty: true,
// ms
lazyEmptyDelay: 10,
searchEnabled: true,
searchPlaceholder: L10N.getStr("storage.search.placeholder"),
--- a/devtools/client/styleeditor/StyleEditorUtil.jsm
+++ b/devtools/client/styleeditor/StyleEditorUtil.jsm
@@ -15,17 +15,17 @@ this.EXPORTED_SYMBOLS = [
];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
-const PROPERTIES_URL = "chrome://browser/locale/devtools/styleeditor.properties";
+const PROPERTIES_URL = "chrome://devtools/locale/styleeditor.properties";
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const console = require("resource://gre/modules/Console.jsm").console;
const gStringBundle = Services.strings.createBundle(PROPERTIES_URL);
/**
* Returns a localized string with the given key name from the string bundle.
--- a/devtools/client/styleeditor/styleeditor-panel.js
+++ b/devtools/client/styleeditor/styleeditor-panel.js
@@ -146,10 +146,10 @@ StyleEditorPanel.prototype = {
return promise.resolve(null);
},
}
XPCOMUtils.defineLazyGetter(StyleEditorPanel.prototype, "strings",
function () {
return Services.strings.createBundle(
- "chrome://browser/locale/devtools/styleeditor.properties");
+ "chrome://devtools/locale/styleeditor.properties");
});
--- a/devtools/client/styleeditor/styleeditor.xul
+++ b/devtools/client/styleeditor/styleeditor.xul
@@ -1,31 +1,31 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % styleEditorDTD SYSTEM "chrome://browser/locale/devtools/styleeditor.dtd" >
+<!ENTITY % styleEditorDTD SYSTEM "chrome://devtools/locale/styleeditor.dtd" >
%styleEditorDTD;
<!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuStrings;
-<!ENTITY % sourceEditorStrings SYSTEM "chrome://browser/locale/devtools/sourceeditor.dtd">
+<!ENTITY % sourceEditorStrings SYSTEM "chrome://devtools/locale/sourceeditor.dtd">
%sourceEditorStrings;
-<!ENTITY % csscoverageDTD SYSTEM "chrome://global/locale/devtools/csscoverage.dtd">
+<!ENTITY % csscoverageDTD SYSTEM "chrome://devtools-shared/locale/csscoverage.dtd">
%csscoverageDTD;
]>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/splitview.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/splitview.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/splitview.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/styleeditor/styleeditor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/styleeditor.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/styleeditor.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<xul:window xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns="http://www.w3.org/1999/xhtml"
id="style-editor-chrome-window">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
--- a/devtools/client/styleinspector/computed-view.js
+++ b/devtools/client/styleinspector/computed-view.js
@@ -220,17 +220,17 @@ CssComputedView.l10n = function(name) {
} catch (ex) {
Services.console.logStringMessage("Error reading '" + name + "'");
throw new Error("l10n error with " + name);
}
};
XPCOMUtils.defineLazyGetter(CssComputedView, "_strings", function() {
return Services.strings.createBundle(
- "chrome://global/locale/devtools/styleinspector.properties");
+ "chrome://devtools-shared/locale/styleinspector.properties");
});
XPCOMUtils.defineLazyGetter(this, "clipboardHelper", function() {
return Cc["@mozilla.org/widget/clipboardhelper;1"]
.getService(Ci.nsIClipboardHelper);
});
CssComputedView.prototype = {
--- a/devtools/client/styleinspector/computedview.xhtml
+++ b/devtools/client/styleinspector/computedview.xhtml
@@ -1,15 +1,15 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
- <!ENTITY % inspectorDTD SYSTEM "chrome://browser/locale/devtools/styleinspector.dtd">
+ <!ENTITY % inspectorDTD SYSTEM "chrome://devtools/locale/styleinspector.dtd">
%inspectorDTD;
<!ELEMENT loop ANY>
<!ATTLIST li foreach CDATA #IMPLIED>
<!ATTLIST div foreach CDATA #IMPLIED>
<!ATTLIST loop foreach CDATA #IMPLIED>
<!ATTLIST a target CDATA #IMPLIED>
<!ATTLIST a __pathElement CDATA #IMPLIED>
<!ATTLIST div _id CDATA #IMPLIED>
@@ -23,18 +23,18 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
class="theme-sidebar">
<head>
<title>&computedViewTitle;</title>
<link rel="stylesheet" href="chrome://global/skin/global.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/computedview.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/computedview.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript;version=1.8">
window.setPanel = function(panel, iframe) {
let {require} = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
let inspector = require("devtools/client/styleinspector/style-inspector");
this.computedview = new inspector.ComputedViewTool(panel, window);
--- a/devtools/client/styleinspector/cssruleview.xhtml
+++ b/devtools/client/styleinspector/cssruleview.xhtml
@@ -1,27 +1,27 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
- <!ENTITY % inspectorDTD SYSTEM "chrome://browser/locale/devtools/styleinspector.dtd">
+ <!ENTITY % inspectorDTD SYSTEM "chrome://devtools/locale/styleinspector.dtd">
%inspectorDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
class="theme-sidebar">
<head>
<title>&ruleViewTitle;</title>
<link rel="stylesheet" href="chrome://global/skin/global.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://devtools/content/styleinspector/ruleview.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/ruleview.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/ruleview.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"/>
<script type="application/javascript;version=1.8">
window.setPanel = function(panel, iframe) {
let {require} = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
let inspector = require("devtools/client/styleinspector/style-inspector");
this.ruleview = new inspector.RuleViewTool(panel, window);
}
window.onunload = function() {
--- a/devtools/client/styleinspector/rule-view.js
+++ b/devtools/client/styleinspector/rule-view.js
@@ -4044,17 +4044,17 @@ XPCOMUtils.defineLazyGetter(this, "clipb
});
XPCOMUtils.defineLazyGetter(this, "osString", function() {
return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).OS;
});
XPCOMUtils.defineLazyGetter(this, "_strings", function() {
return Services.strings.createBundle(
- "chrome://global/locale/devtools/styleinspector.properties");
+ "chrome://devtools-shared/locale/styleinspector.properties");
});
XPCOMUtils.defineLazyGetter(this, "domUtils", function() {
return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
});
loader.lazyGetter(this, "AutocompletePopup", function() {
return require("devtools/client/shared/autocomplete-popup").AutocompletePopup;
--- a/devtools/client/styleinspector/style-inspector-menu.js
+++ b/devtools/client/styleinspector/style-inspector-menu.js
@@ -11,17 +11,17 @@ const {PREF_ORIG_SOURCES} = require("dev
loader.lazyRequireGetter(this, "overlays",
"devtools/client/styleinspector/style-inspector-overlays");
loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm");
loader.lazyServiceGetter(this, "clipboardHelper",
"@mozilla.org/widget/clipboardhelper;1", "nsIClipboardHelper");
loader.lazyGetter(this, "_strings", () => {
return Services.strings
- .createBundle("chrome://global/locale/devtools/styleinspector.properties");
+ .createBundle("chrome://devtools-shared/locale/styleinspector.properties");
});
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
const PREF_ENABLE_MDN_DOCS_TOOLTIP =
"devtools.inspector.mdnDocsTooltip.enabled";
/**
* Style inspector context menu
--- a/devtools/client/styleinspector/style-inspector.js
+++ b/devtools/client/styleinspector/style-inspector.js
@@ -14,17 +14,17 @@ const {PREF_ORIG_SOURCES} = require("dev
loader.lazyGetter(this, "gDevTools", () =>
Cu.import("resource://devtools/client/framework/gDevTools.jsm", {}).gDevTools);
loader.lazyGetter(this, "RuleView",
() => require("devtools/client/styleinspector/rule-view"));
loader.lazyGetter(this, "ComputedView",
() => require("devtools/client/styleinspector/computed-view"));
loader.lazyGetter(this, "_strings", () => Services.strings
- .createBundle("chrome://global/locale/devtools/styleinspector.properties"));
+ .createBundle("chrome://devtools-shared/locale/styleinspector.properties"));
// This module doesn't currently export any symbols directly, it only
// registers inspector tools.
function RuleViewTool(inspector, window) {
this.inspector = inspector;
this.document = window.document;
--- a/devtools/client/styleinspector/test/browser_ruleview_content_02.js
+++ b/devtools/client/styleinspector/test/browser_ruleview_content_02.js
@@ -11,17 +11,17 @@ const CONTENT = '<body style="color:red;
<div style="color:blue;">\
<p style="color:green;">\
<span style="color:yellow;">test element</span>\
</p>\
</div>\
</body>';
const STRINGS = Services.strings
- .createBundle("chrome://global/locale/devtools/styleinspector.properties");
+ .createBundle("chrome://devtools-shared/locale/styleinspector.properties");
add_task(function*() {
yield addTab("data:text/html;charset=utf-8," + CONTENT);
info("Getting the test element");
let element = getNode("span");
info("Opening the inspector using the content context-menu");
--- a/devtools/client/styleinspector/test/browser_ruleview_media-queries.js
+++ b/devtools/client/styleinspector/test/browser_ruleview_media-queries.js
@@ -12,17 +12,17 @@ const TEST_URI = TEST_URL_ROOT + "doc_me
add_task(function*() {
yield addTab(TEST_URI);
let {inspector, view} = yield openRuleView();
yield selectNode("div", inspector);
let elementStyle = view._elementStyle;
let _strings = Services.strings
- .createBundle("chrome://global/locale/devtools/styleinspector.properties");
+ .createBundle("chrome://devtools-shared/locale/styleinspector.properties");
let inline = _strings.GetStringFromName("rule.sourceInline");
is(elementStyle.rules.length, 3, "Should have 3 rules.");
is(elementStyle.rules[0].title, inline, "check rule 0 title");
is(elementStyle.rules[1].title, inline +
":9 @media screen and (min-width: 1px)", "check rule 1 title");
is(elementStyle.rules[2].title, inline + ":2", "check rule 2 title");
--- a/devtools/client/styleinspector/test/browser_styleinspector_context-menu-copy-urls.js
+++ b/devtools/client/styleinspector/test/browser_styleinspector_context-menu-copy-urls.js
@@ -1,21 +1,23 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/* Tests both Copy URL and Copy Data URL context menu items */
-const PROPERTIES_URL = "chrome://global/locale/devtools/styleinspector.properties";
+const PROPERTIES_URL = "chrome://devtools-shared/locale/styleinspector.properties";
const TEST_DATA_URI = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=";
-// invalid URL still needs to be reachable otherwise getImageDataUrl will timeout.
-// Reusing the properties bundle URL as a workaround
-const INVALID_IMAGE_URI = PROPERTIES_URL;
+// Invalid URL still needs to be reachable otherwise getImageDataUrl will
+// timeout. DevTools chrome:// URLs aren't content accessible, so use some
+// random resource:// URL here.
+const INVALID_IMAGE_URI =
+ "resource://devtools/client/definitions.js";
const ERROR_MESSAGE = Services.strings
.createBundle(PROPERTIES_URL)
.GetStringFromName("styleinspector.copyImageDataUrlError");
add_task(function*() {
const PAGE_CONTENT = [
"<style type=\"text/css\">",
@@ -39,27 +41,27 @@ function* startTest() {
info("Opening rule view");
let ruleViewData = yield openRuleView();
info("Test valid background image URL in rule view");
yield testCopyUrlToClipboard(ruleViewData, "data-uri", ".valid-background", TEST_DATA_URI);
yield testCopyUrlToClipboard(ruleViewData, "url", ".valid-background", TEST_DATA_URI);
info("Test invalid background image URL in rue view");
yield testCopyUrlToClipboard(ruleViewData, "data-uri", ".invalid-background", ERROR_MESSAGE);
- yield testCopyUrlToClipboard(ruleViewData, "url", ".invalid-background", PROPERTIES_URL);
+ yield testCopyUrlToClipboard(ruleViewData, "url", ".invalid-background", INVALID_IMAGE_URI);
info("Opening computed view");
let computedViewData = yield openComputedView();
info("Test valid background image URL in computed view");
yield testCopyUrlToClipboard(computedViewData, "data-uri", ".valid-background", TEST_DATA_URI);
yield testCopyUrlToClipboard(computedViewData, "url", ".valid-background", TEST_DATA_URI);
info("Test invalid background image URL in computed view");
yield testCopyUrlToClipboard(computedViewData, "data-uri", ".invalid-background", ERROR_MESSAGE);
- yield testCopyUrlToClipboard(computedViewData, "url", ".invalid-background", PROPERTIES_URL);
+ yield testCopyUrlToClipboard(computedViewData, "url", ".invalid-background", INVALID_IMAGE_URI);
}
function* testCopyUrlToClipboard({view, inspector}, type, selector, expected) {
info("Select node in inspector panel");
yield selectNode(selector, inspector);
info("Retrieve background-image link for selected node in current styleinspector view");
let property = getBackgroundImageProperty(view, selector);
--- a/devtools/client/themes/animationinspector.css
+++ b/devtools/client/themes/animationinspector.css
@@ -117,17 +117,17 @@ body {
height: 16px;
position: absolute;
left: 50%;
top: 50%;
margin: -8px 0 0 -8px;
}
#element-picker::before {
- background-image: url("chrome://devtools/skin/themes/images/command-pick.png");
+ background-image: url("chrome://devtools/skin/images/command-pick.png");
}
.pause-button::before {
background-image: url("images/debugger-pause.png");
}
#rewind-timeline::before {
background-image: url("images/rewind.png");
@@ -139,17 +139,17 @@ body {
}
.pause-button.paused::before {
background-image: url("images/debugger-play.png");
}
@media (min-resolution: 1.1dppx) {
#element-picker::before {
- background-image: url("chrome://devtools/skin/themes/images/command-pick@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-pick@2x.png");
background-size: 64px;
}
.pause-button::before {
background-image: url("images/debugger-pause@2x.png");
}
.pause-button.paused::before {
@@ -392,17 +392,17 @@ body {
cursor: pointer;
}
.animation-target .attribute-name {
padding-left: 4px;
}
.animation-target .node-highlighter {
- background: url("chrome://devtools/skin/themes/images/vview-open-inspector.png") no-repeat 0 0;
+ background: url("chrome://devtools/skin/images/vview-open-inspector.png") no-repeat 0 0;
padding-left: 16px;
margin-right: 5px;
cursor: pointer;
}
.animation-target .node-highlighter:hover {
background-position: -32px 0;
}
--- a/devtools/client/themes/canvasdebugger.css
+++ b/devtools/client/themes/canvasdebugger.css
@@ -34,21 +34,21 @@
/* Snapshots pane */
#snapshots-pane > tabs,
#snapshots-pane .devtools-toolbar {
-moz-border-end: 1px solid var(--theme-splitter-color);
}
#record-snapshot {
- list-style-image: url("chrome://devtools/skin/themes/images/profiler-stopwatch.svg");
+ list-style-image: url("chrome://devtools/skin/images/profiler-stopwatch.svg");
}
#record-snapshot[checked] {
- list-style-image: url("chrome://devtools/skin/themes/images/profiler-stopwatch-checked.svg");
+ list-style-image: url("chrome://devtools/skin/images/profiler-stopwatch-checked.svg");
}
/* Snapshots items */
.snapshot-item-thumbnail {
image-rendering: -moz-crisp-edges;
background-image: var(--checkerboard-pattern);
background-size: 12px 12px, 12px 12px;
--- a/devtools/client/themes/commandline.inc.css
+++ b/devtools/client/themes/commandline.inc.css
@@ -47,27 +47,27 @@
}
.developer-toolbar-button > image {
margin: auto 10px;
}
:root[devtoolstheme="light"] #developer-toolbar > toolbarbutton:not([checked=true]) > image,
:root[devtoolstheme="light"] .gclitoolbar-input-node:not([focused=true])::before {
- filter: url("chrome://devtools/skin/themes/images/filters.svg#invert");
+ filter: url("chrome://devtools/skin/images/filters.svg#invert");
}
.developer-toolbar-button > .toolbarbutton-icon,
#developer-toolbar-closebutton > .toolbarbutton-icon {
width: 16px;
height: 16px;
}
#developer-toolbar-toolbox-button {
- list-style-image: url("chrome://devtools/skin/themes/images/toggle-tools.png");
+ list-style-image: url("chrome://devtools/skin/images/toggle-tools.png");
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
#developer-toolbar-toolbox-button > label {
display: none;
}
#developer-toolbar-toolbox-button:hover {
@@ -79,17 +79,17 @@
}
#developer-toolbar-toolbox-button[checked=true] {
-moz-image-region: rect(0px, 64px, 16px, 48px);
}
@media (min-resolution: 1.1dppx) {
#developer-toolbar-toolbox-button {
- list-style-image: url("chrome://devtools/skin/themes/images/toggle-tools@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/toggle-tools@2x.png");
-moz-image-region: rect(0px, 32px, 32px, 0px);
}
#developer-toolbar-toolbox-button:hover {
-moz-image-region: rect(0px, 64px, 32px, 32px);
}
#developer-toolbar-toolbox-button:hover:active {
@@ -97,28 +97,28 @@
}
#developer-toolbar-toolbox-button[checked=true] {
-moz-image-region: rect(0px, 128px, 32px, 96px);
}
}
#developer-toolbar-closebutton {
- list-style-image: url("chrome://devtools/skin/themes/images/close.png");
+ list-style-image: url("chrome://devtools/skin/images/close.png");
-moz-appearance: none;
border: none;
margin: 0 4px;
min-width: 16px;
width: 16px;
opacity: 0.6;
}
@media (min-resolution: 1.1dppx) {
#developer-toolbar-closebutton {
- list-style-image: url("chrome://devtools/skin/themes/images/close@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/close@2x.png");
}
}
#developer-toolbar-closebutton > .toolbarbutton-icon {
/* XXX Buttons have padding in widget/ that we don't want here but can't override with good CSS, so we must
use evil CSS to give the impression of smaller content */
margin: -4px;
}
@@ -185,28 +185,28 @@ html|*#gcli-output-frame {
.gclitoolbar-input-node::before {
content: "";
display: inline-block;
-moz-box-ordinal-group: 0;
width: 16px;
height: 16px;
margin: 0 2px;
- background-image: url("chrome://devtools/skin/themes/images/commandline-icon.png");
+ background-image: url("chrome://devtools/skin/images/commandline-icon.png");
background-position: 0 center;
background-size: 32px 16px;
}
.gclitoolbar-input-node[focused="true"]::before {
background-position: -16px center;
}
@media (min-resolution: 1.1dppx) {
.gclitoolbar-input-node::before {
- background-image: url("chrome://devtools/skin/themes/images/commandline-icon@2x.png");
+ background-image: url("chrome://devtools/skin/images/commandline-icon@2x.png");
}
}
.gclitoolbar-input-node > .textbox-input-box > html|*.textbox-input::-moz-selection {
background-color: var(--selection-background);
color: var(--selection-color);
text-shadow: none;
}
--- a/devtools/client/themes/dark-theme.css
+++ b/devtools/client/themes/dark-theme.css
@@ -262,17 +262,17 @@ div.CodeMirror span.eval-text {
min-height: 1.4em;
}
/* Twisty and checkbox controls */
.theme-twisty, .theme-checkbox {
width: 14px;
height: 14px;
background-repeat: no-repeat;
- background-image: url("chrome://devtools/skin/themes/images/controls.png");
+ background-image: url("chrome://devtools/skin/images/controls.png");
background-size: 56px 28px;
}
.theme-twisty {
cursor: pointer;
background-position: -28px -14px;
}
@@ -297,61 +297,61 @@ div.CodeMirror span.eval-text {
}
.theme-checkbox[checked] {
background-position: -42px 0;
}
@media (min-resolution: 1.1dppx) {
.theme-twisty, .theme-checkbox {
- background-image: url("chrome://devtools/skin/themes/images/controls@2x.png");
+ background-image: url("chrome://devtools/skin/images/controls@2x.png");
}
}
/* XUL panel styling (see devtools/client/shared/widgets/Tooltip.js) */
.theme-tooltip-panel .panel-arrowcontent {
padding: 5px;
background: rgba(19, 28, 38, .9);
border-radius: 5px;
box-shadow: none;
border: 3px solid #434850;
}
/* Overring panel arrow images to fit with our light and dark themes */
.theme-tooltip-panel .panel-arrow[side="top"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-dark.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-dark.png");
margin-bottom: -4px;
}
.theme-tooltip-panel .panel-arrow[side="bottom"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-dark.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-dark.png");
margin-top: -4px;
}
.theme-tooltip-panel .panel-arrow[side="left"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-dark.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-dark.png");
margin-right: -4px;
}
.theme-tooltip-panel .panel-arrow[side="right"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-dark.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-dark.png");
margin-left: -4px;
}
@media (min-resolution: 1.1dppx) {
.theme-tooltip-panel .panel-arrow[side="top"],
.theme-tooltip-panel .panel-arrow[side="bottom"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-dark@2x.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-dark@2x.png");
}
.theme-tooltip-panel .panel-arrow[side="left"],
.theme-tooltip-panel .panel-arrow[side="right"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-dark@2x.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-dark@2x.png");
}
}
.theme-tooltip-panel .devtools-tooltip-simple-text {
color: white;
border-bottom: 1px solid #434850;
}
--- a/devtools/client/themes/light-theme.css
+++ b/devtools/client/themes/light-theme.css
@@ -262,17 +262,17 @@ div.CodeMirror span.eval-text {
}
/* Twisty and checkbox controls */
.theme-twisty, .theme-checkbox {
width: 14px;
height: 14px;
background-repeat: no-repeat;
- background-image: url("chrome://devtools/skin/themes/images/controls.png");
+ background-image: url("chrome://devtools/skin/images/controls.png");
background-size: 56px 28px;
}
.theme-twisty {
cursor: pointer;
background-position: 0 -14px;
}
@@ -306,61 +306,61 @@ div.CodeMirror span.eval-text {
}
.theme-checkbox[checked] {
background-position: -14px 0;
}
@media (min-resolution: 1.1dppx) {
.theme-twisty, .theme-checkbox {
- background-image: url("chrome://devtools/skin/themes/images/controls@2x.png");
+ background-image: url("chrome://devtools/skin/images/controls@2x.png");
}
}
/* XUL panel styling (see devtools/client/shared/widgets/Tooltip.js) */
.theme-tooltip-panel .panel-arrowcontent {
padding: 4px;
background: rgba(255, 255, 255, .9);
border-radius: 5px;
box-shadow: none;
border: 3px solid #d9e1e8;
}
/* Overring panel arrow images to fit with our light and dark themes */
.theme-tooltip-panel .panel-arrow[side="top"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-light.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-light.png");
margin-bottom: -4px;
}
.theme-tooltip-panel .panel-arrow[side="bottom"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-light.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-light.png");
margin-top: -4px;
}
.theme-tooltip-panel .panel-arrow[side="left"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-light.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-light.png");
margin-right: -4px;
}
.theme-tooltip-panel .panel-arrow[side="right"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-light.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-light.png");
margin-left: -4px;
}
@media (min-resolution: 1.1dppx) {
.theme-tooltip-panel .panel-arrow[side="top"],
.theme-tooltip-panel .panel-arrow[side="bottom"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-vertical-light@2x.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-vertical-light@2x.png");
}
.theme-tooltip-panel .panel-arrow[side="left"],
.theme-tooltip-panel .panel-arrow[side="right"] {
- list-style-image: url("chrome://devtools/skin/themes/tooltip/arrow-horizontal-light@2x.png");
+ list-style-image: url("chrome://devtools/skin/tooltip/arrow-horizontal-light@2x.png");
}
}
.theme-tooltip-panel .devtools-tooltip-simple-text {
color: black;
border-bottom: 1px solid #d9e1e8;
}
--- a/devtools/client/themes/memory.css
+++ b/devtools/client/themes/memory.css
@@ -50,26 +50,39 @@ html, body, #app, #memory-tool {
* and aligned vertically in the middle of the container.
*/
display: flex;
align-items: center;
}
.devtools-toolbar > .toolbar-group {
/**
+ * Flex: contains several children, which need to be laid out horizontally,
+ * and aligned vertically in the middle of the container.
+ */
+ display: flex;
+ align-items: center;
+ flex: 1;
+ /**
* We want this to be exactly at a --sidebar-width distance from the
* toolbar's start boundary. A .devtools-toolbar has a 3px start padding
* and the preceeding .take-snapshot button is exactly 32px.
*/
margin-inline-start: calc(var(--sidebar-width) - 3px - 32px);
border-inline-start: 1px solid var(--theme-splitter-color);
padding-inline-start: 5px;
}
.devtools-toolbar > .toolbar-group > label {
+ /**
+ * Flex: contains form controls and text, which need to be laid out
+ * horizontally, vertically aligned in the middle of the container.
+ */
+ display: flex;
+ align-items: center;
margin-inline-end: 5px;
}
.devtools-toolbar > .toolbar-group > label.breakdown-by > span {
margin-inline-end: 5px;
}
.devtools-toolbar > .devtools-button.take-snapshot::before {
@@ -78,16 +91,20 @@ html, body, #app, #memory-tool {
background-position: 0 center;
}
@media (min-resolution: 1.1dppx) {
.devtools-toolbar > .devtools-button.take-snapshot::before {
background-image: url(images/command-screenshot@2x.png);
}
}
+.spacer {
+ flex: 1;
+}
+
/**
* TODO bug 1213100
* Once we figure out how to store invertable buttons (pseudo element like in
* this case?) we should add a .invertable class to handle this generally,
* rather than the definitions in toolbars.css.
*
* @see bug 1173397 for another inverted related bug
*/
@@ -355,27 +372,27 @@ html, body, #app, #memory-tool {
*/
.error::before {
content: "";
display: inline-block;
width: 12px;
height: 12px;
max-height: 12px;
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg);
background-size: 72px 60px;
background-position: -24px -24px;
background-repeat: no-repeat;
margin: 0px;
margin-top: 2px;
margin-inline-end: 5px;
}
.theme-light .error::before {
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg#light-icons);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg#light-icons);
}
/**
* Frame View components
*/
.focused .frame-link-filename,
.focused .frame-link-column,
--- a/devtools/client/themes/netmonitor.css
+++ b/devtools/client/themes/netmonitor.css
@@ -397,41 +397,41 @@ box.requests-menu-status[code^="5"] {
}
/* Network request details */
#details-pane-toggle {
background: none;
box-shadow: none;
border-color: transparent;
- list-style-image: url("chrome://devtools/skin/themes/images/debugger-collapse.png");
+ list-style-image: url("chrome://devtools/skin/images/debugger-collapse.png");
-moz-image-region: rect(0px,16px,16px,0px);
}
#details-pane-toggle > .toolbarbutton-icon {
width: 16px;
height: 16px;
}
#details-pane-toggle[pane-collapsed] {
- list-style-image: url("chrome://devtools/skin/themes/images/debugger-expand.png");
+ list-style-image: url("chrome://devtools/skin/images/debugger-expand.png");
}
#details-pane-toggle:active {
-moz-image-region: rect(0px,32px,16px,16px);
}
@media (min-resolution: 1.1dppx) {
#details-pane-toggle {
- list-style-image: url("chrome://devtools/skin/themes/images/debugger-collapse@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/debugger-collapse@2x.png");
-moz-image-region: rect(0px,32px,32px,0px);
}
#details-pane-toggle[pane-collapsed] {
- list-style-image: url("chrome://devtools/skin/themes/images/debugger-expand@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/debugger-expand@2x.png");
}
#details-pane-toggle:active {
-moz-image-region: rect(0px,64px,32px,32px);
}
}
/* Network request details tabpanels */
--- a/devtools/client/themes/performance.css
+++ b/devtools/client/themes/performance.css
@@ -711,17 +711,17 @@ menuitem.marker-color-graphs-grey:before
text-decoration: underline;
}
.opt-url.debugger-link {
cursor: pointer;
}
.opt-icon::before {
content: "";
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg);
background-repeat: no-repeat;
background-size: 72px 60px;
/* show grey "i" bubble by default */
background-position: -36px -36px;
width: 12px;
height: 12px;
display: inline-block;
@@ -733,17 +733,17 @@ menuitem.marker-color-graphs-grey:before
}
description.opt-icon {
margin: 0px 0px 0px 0px;
}
description.opt-icon::before {
margin: 1px 4px 0px 0px;
}
.theme-light .opt-icon::before {
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg#light-icons);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg#light-icons);
}
.opt-icon[severity=warning]::before {
background-position: -24px -24px;
}
ul.frames-list {
list-style-type: none;
padding: 0px;
@@ -766,27 +766,27 @@ ul.frames-list li.selected {
* preference being applied or removed.
*/
/**
* devtools.performance.ui.experimental
*/
menuitem.experimental-option::before {
content: "";
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg);
background-repeat: no-repeat;
background-size: 72px 60px;
width: 12px;
height: 12px;
display: inline-block;
background-position: -24px -24px;
margin: 2px 5px 0 0;
max-height: 12px;
}
.theme-light menuitem.experimental-option::before {
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg#light-icons);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg#light-icons);
}
#performance-options-menupopup:not(.experimental-enabled) .experimental-option,
#performance-options-menupopup:not(.experimental-enabled) .experimental-option::before {
display: none;
}
--- a/devtools/client/themes/responsivedesign.inc.css
+++ b/devtools/client/themes/responsivedesign.inc.css
@@ -106,17 +106,17 @@
.devtools-responsiveui-menulist > .menulist-label-box {
text-align: center;
}
.devtools-responsiveui-menulist > .menulist-dropmarker {
-moz-appearance: none;
display: -moz-box;
background-color: transparent;
- list-style-image: url("chrome://devtools/skin/themes/images/dropmarker.svg");
+ list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
-moz-box-align: center;
border-width: 0;
min-width: 16px;
}
.devtools-responsiveui-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
-moz-appearance: none;
color: inherit;
@@ -132,99 +132,99 @@
.devtools-responsiveui-toolbarbutton[type=menu-button] {
padding: 0 1px;
-moz-box-align: stretch;
}
.devtools-responsiveui-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
.devtools-responsiveui-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
-moz-appearance: none !important;
- list-style-image: url("chrome://devtools/skin/themes/images/dropmarker.svg");
+ list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
-moz-box-align: center;
padding: 0 3px;
}
.devtools-responsiveui-toolbar:-moz-locale-dir(ltr) > *:first-child,
.devtools-responsiveui-toolbar:-moz-locale-dir(rtl) > *:last-child {
margin-left: 0;
}
.devtools-responsiveui-close {
- list-style-image: url("chrome://devtools/skin/themes/images/close.png");
+ list-style-image: url("chrome://devtools/skin/images/close.png");
}
.devtools-responsiveui-rotate {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-rotate.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate.png");
}
@media (min-resolution: 1.1dppx) {
.devtools-responsiveui-close {
- list-style-image: url("chrome://devtools/skin/themes/images/close@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/close@2x.png");
}
.devtools-responsiveui-rotate {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-rotate@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-rotate@2x.png");
}
}
.devtools-responsiveui-touch {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-touch.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-touch.png");
-moz-image-region: rect(0px,16px,16px,0px);
}
.devtools-responsiveui-touch[checked] {
-moz-image-region: rect(0px,32px,16px,16px);
}
@media (min-resolution: 1.1dppx) {
.devtools-responsiveui-touch {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-touch@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-touch@2x.png");
-moz-image-region: rect(0px,32px,32px,0px);
}
.devtools-responsiveui-touch[checked] {
-moz-image-region: rect(0px,64px,32px,32px);
}
}
.devtools-responsiveui-screenshot {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-screenshot.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-screenshot.png");
}
@media (min-resolution: 1.1dppx) {
.devtools-responsiveui-screenshot {
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-screenshot@2x.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-screenshot@2x.png");
}
}
.devtools-responsiveui-resizebarV {
width: 7px;
height: 24px;
cursor: ew-resize;
transform: translate(12px, -12px);
background-size: cover;
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-vertical-resizer.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-vertical-resizer.png");
}
.devtools-responsiveui-resizebarH {
width: 24px;
height: 7px;
cursor: ns-resize;
transform: translate(-12px, 12px);
background-size: cover;
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-horizontal-resizer.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-horizontal-resizer.png");
}
.devtools-responsiveui-resizehandle {
width: 16px;
height: 16px;
cursor: se-resize;
transform: translate(12px, 12px);
background-size: cover;
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-se-resizer.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-se-resizer.png");
}
/* FxOS custom mode with additional buttons and phone look'n feel */
/* Hide devtools manual resizer */
.browserStack[responsivemode].fxos-mode .devtools-responsiveui-resizehandle,
.browserStack[responsivemode].fxos-mode .devtools-responsiveui-resizebarH,
.browserStack[responsivemode].fxos-mode .devtools-responsiveui-resizebarV {
@@ -262,17 +262,17 @@
background-image: linear-gradient(to right, #111 11%, #333 56%);
}
.devtools-responsiveui-home-button {
-moz-user-focus: ignore;
width: 40px;
height: 30px;
- list-style-image: url("chrome://devtools/skin/themes/images/responsivemode/responsiveui-home.png");
+ list-style-image: url("chrome://devtools/skin/images/responsivemode/responsiveui-home.png");
}
.devtools-responsiveui-sleep-button {
-moz-user-focus: ignore;
-moz-appearance: none;
/* compensate browserStack top padding */
margin-top: -67px;
margin-right: 10px;
@@ -321,19 +321,19 @@
}
.devtools-responsiveui-volume-down-button {
border-bottom-left-radius: 12px;
}
@media (min-resolution: 1.1dppx) {
.devtools-responsiveui-resizebarV {
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-vertical-resizer@2x.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-vertical-resizer@2x.png");
}
.devtools-responsiveui-resizebarH {
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-horizontal-resizer@2x.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-horizontal-resizer@2x.png");
}
.devtools-responsiveui-resizehandle {
- background-image: url("chrome://devtools/skin/themes/images/responsivemode/responsive-se-resizer@2x.png");
+ background-image: url("chrome://devtools/skin/images/responsivemode/responsive-se-resizer@2x.png");
}
}
--- a/devtools/client/themes/ruleview.css
+++ b/devtools/client/themes/ruleview.css
@@ -193,28 +193,28 @@
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
}
.ruleview-bezierswatch {
- background: url("chrome://devtools/skin/themes/images/cubic-bezier-swatch.png");
+ background: url("chrome://devtools/skin/images/cubic-bezier-swatch.png");
background-size: 1em;
}
.ruleview-filterswatch {
- background: url("chrome://devtools/skin/themes/images/filter-swatch.svg");
+ background: url("chrome://devtools/skin/images/filter-swatch.svg");
background-size: 1em;
}
@media (min-resolution: 1.1dppx) {
.ruleview-bezierswatch {
- background: url("chrome://devtools/skin/themes/images/cubic-bezier-swatch@2x.png");
+ background: url("chrome://devtools/skin/images/cubic-bezier-swatch@2x.png");
background-size: 1em;
}
}
.ruleview-overridden {
text-decoration: line-through;
}
@@ -272,42 +272,42 @@
}
.ruleview-selector-matched > .ruleview-selector-pseudo-class-lock {
font-weight: bold;
color: var(--theme-highlight-orange);
}
.ruleview-selectorhighlighter {
- background: url("chrome://devtools/skin/themes/images/vview-open-inspector.png") no-repeat 0 0;
+ background: url("chrome://devtools/skin/images/vview-open-inspector.png") no-repeat 0 0;
padding-left: 16px;
margin-left: 5px;
cursor: pointer;
}
.ruleview-selectorhighlighter:hover {
background-position: -32px 0;
}
.ruleview-selectorhighlighter:active,
.ruleview-selectorhighlighter.highlighted {
background-position: -16px 0;
}
#ruleview-add-rule-button::before {
- background-image: url("chrome://devtools/skin/themes/images/add.svg");
+ background-image: url("chrome://devtools/skin/images/add.svg");
background-size: cover;
}
#pseudo-class-panel-toggle::before {
- background-image: url("chrome://devtools/skin/themes/images/pseudo-class.svg#pseudo-class");
+ background-image: url("chrome://devtools/skin/images/pseudo-class.svg#pseudo-class");
background-size: cover;
}
#pseudo-class-panel-toggle[checked]::before {
- background-image: url("chrome://devtools/skin/themes/images/pseudo-class.svg#pseudo-class-checked");
+ background-image: url("chrome://devtools/skin/images/pseudo-class.svg#pseudo-class-checked");
filter: none !important;
}
/**
* These buttons are using opacity instead of background color to indicate
* the state
*/
#ruleview-add-rule-button,
--- a/devtools/client/themes/shims/common.css
+++ b/devtools/client/themes/shims/common.css
@@ -2,9 +2,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* This file only exists to support add-ons which import this style sheet at a
* specific path.
*/
-@import url("chrome://devtools/skin/themes/common.css");
+@import url("chrome://devtools/skin/common.css");
--- a/devtools/client/themes/storage.css
+++ b/devtools/client/themes/storage.css
@@ -10,17 +10,17 @@
overflow: auto;
}
#storage-tree {
background: var(--theme-sidebar-background);
}
#storage-tree .tree-widget-item[type="store"]:after {
- background-image: url(chrome://devtools/skin/themes/images/filetypes/store.svg);
+ background-image: url(chrome://devtools/skin/images/filetypes/store.svg);
background-size: 18px 18px;
background-position: -1px 0;
}
/* Columns with date should have a min width so that date is visible */
#expires, #lastAccessed, #creationTime {
min-width: 150px;
}
--- a/devtools/client/themes/toolbars.css
+++ b/devtools/client/themes/toolbars.css
@@ -134,25 +134,25 @@
.devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
-moz-margin-end: 4px;
}
.devtools-menulist > .menulist-dropmarker {
-moz-appearance: none;
display: -moz-box;
- list-style-image: url("chrome://devtools/skin/themes/images/dropmarker.svg");
+ list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
-moz-box-align: center;
min-width: 16px;
}
.devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
.devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
-moz-appearance: none !important;
- list-style-image: url("chrome://devtools/skin/themes/images/dropmarker.svg");
+ list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
-moz-box-align: center;
padding: 0 3px;
}
.theme-dark .devtools-menulist,
.theme-dark .devtools-toolbarbutton {
border-color: rgba(0, 0, 0, .4); /* Splitters */
}
@@ -222,17 +222,17 @@
.theme-light .devtools-toolbarbutton[open=true]:hover,
.theme-light .devtools-toolbarbutton[open=true]:hover:active,
.theme-light .devtools-toolbarbutton[checked=true]:hover {
background: rgba(76, 158, 217, .4); /* Select highlight blue */
}
.devtools-option-toolbarbutton {
-moz-appearance: none;
- list-style-image: url("chrome://devtools/skin/themes/images/tool-options.svg");
+ list-style-image: url("chrome://devtools/skin/images/tool-options.svg");
background: none;
opacity: .8;
border: none;
}
.devtools-option-toolbarbutton[open=true] {
opacity: 1;
}
@@ -429,38 +429,38 @@
width: 16px;
height: 16px;
background-position: 0 0;
background-repeat: no-repeat;
background-color: transparent;
}
.theme-dark .devtools-searchinput-clear {
- background-image: url("chrome://devtools/skin/themes/images/search-clear-dark.svg");
+ background-image: url("chrome://devtools/skin/images/search-clear-dark.svg");
}
.theme-light .devtools-searchinput-clear {
- background-image: url("chrome://devtools/skin/themes/images/search-clear-light.svg");
+ background-image: url("chrome://devtools/skin/images/search-clear-light.svg");
}
.devtools-style-searchbox-no-match + .devtools-searchinput-clear {
- background-image: url("chrome://devtools/skin/themes/images/search-clear-failed.svg") !important;
+ background-image: url("chrome://devtools/skin/images/search-clear-failed.svg") !important;
}
.devtools-searchinput-clear:hover {
background-position: -16px 0;
}
.theme-dark .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
- list-style-image: url("chrome://devtools/skin/themes/images/search-clear-dark.svg");
+ list-style-image: url("chrome://devtools/skin/images/search-clear-dark.svg");
-moz-image-region: rect(0, 16px, 16px, 0);
}
.theme-light .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
- list-style-image: url("chrome://devtools/skin/themes/images/search-clear-light.svg");
+ list-style-image: url("chrome://devtools/skin/images/search-clear-light.svg");
-moz-image-region: rect(0, 16px, 16px, 0);
}
.devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
margin-bottom: 0;
}
.devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear:hover {
@@ -488,17 +488,17 @@
opacity: 0.8;
}
.devtools-closebutton > image {
width: 16px;
height: 16px;
-moz-appearance: none;
background-size: 16px 16px;
- background-image: url("chrome://devtools/skin/themes/images/close@2x.png");
+ background-image: url("chrome://devtools/skin/images/close@2x.png");
background-position: center center;
background-repeat: no-repeat;
}
.devtools-closebutton > .toolbarbutton-icon {
/* XXX Buttons have padding in widget/ that we don't want here but can't override with good CSS, so we must
use evil CSS to give the impression of smaller content */
margin: -4px;
@@ -629,39 +629,39 @@
width: 16px;
height: 16px;
background-size: 16px 16px;
background-position: 0 center;
background-repeat: no-repeat;
}
#toolbox-dock-bottom > image {
- background-image: url("chrome://devtools/skin/themes/images/dock-bottom@2x.png");
+ background-image: url("chrome://devtools/skin/images/dock-bottom@2x.png");
}
#toolbox-dock-side > image {
- background-image: url("chrome://devtools/skin/themes/images/dock-side@2x.png");
+ background-image: url("chrome://devtools/skin/images/dock-side@2x.png");
}
#toolbox-dock-window > image {
- background-image: url("chrome://devtools/skin/themes/images/undock@2x.png");
+ background-image: url("chrome://devtools/skin/images/undock@2x.png");
}
#toolbox-dock-bottom-minimize {
/* Bug 1177463 - The minimize button is currently hidden until we agree on
the UI for it, and until bug 1173849 is fixed too. */
display: none;
}
#toolbox-dock-bottom-minimize > image {
- background-image: url("chrome://devtools/skin/themes/images/dock-bottom-minimize@2x.png");
+ background-image: url("chrome://devtools/skin/images/dock-bottom-minimize@2x.png");
}
#toolbox-dock-bottom-minimize.minimized > image {
- background-image: url("chrome://devtools/skin/themes/images/dock-bottom-maximize@2x.png");
+ background-image: url("chrome://devtools/skin/images/dock-bottom-maximize@2x.png");
}
#toolbox-dock-window,
#toolbox-dock-bottom,
#toolbox-dock-side {
opacity: 0.8;
}
@@ -726,103 +726,103 @@
.command-button[checked=true] > image {
background-position: -48px center;
}
.command-button[open=true] > image {
background-position: 0 center;
}
#command-button-paintflashing > image {
- background-image: url("chrome://devtools/skin/themes/images/command-paintflashing.png");
+ background-image: url("chrome://devtools/skin/images/command-paintflashing.png");
}
#command-button-screenshot > image {
- background-image: url("chrome://devtools/skin/themes/images/command-screenshot.png");
+ background-image: url("chrome://devtools/skin/images/command-screenshot.png");
}
#command-button-responsive > image {
- background-image: url("chrome://devtools/skin/themes/images/command-responsivemode.png");
+ background-image: url("chrome://devtools/skin/images/command-responsivemode.png");
}
#command-button-tilt > image {
- background-image: url("chrome://devtools/skin/themes/images/command-tilt.png");
+ background-image: url("chrome://devtools/skin/images/command-tilt.png");
}
#command-button-scratchpad > image {
- background-image: url("chrome://devtools/skin/themes/images/command-scratchpad.png");
+ background-image: url("chrome://devtools/skin/images/command-scratchpad.png");
background-size: 48px 16px;
}
#command-button-pick > image {
- background-image: url("chrome://devtools/skin/themes/images/command-pick.png");
+ background-image: url("chrome://devtools/skin/images/command-pick.png");
}
#command-button-frames > image {
- background-image: url("chrome://devtools/skin/themes/images/command-frames.png");
+ background-image: url("chrome://devtools/skin/images/command-frames.png");
}
#command-button-splitconsole > image {
- background-image: url("chrome://devtools/skin/themes/images/command-console.png");
+ background-image: url("chrome://devtools/skin/images/command-console.png");
}
#command-button-eyedropper > image {
- background-image: url("chrome://devtools/skin/themes/images/command-eyedropper.png");
+ background-image: url("chrome://devtools/skin/images/command-eyedropper.png");
}
#command-button-rulers > image {
- background-image: url("chrome://devtools/skin/themes/images/command-rulers.png");
+ background-image: url("chrome://devtools/skin/images/command-rulers.png");
}
#command-button-measure > image {
- background-image: url("chrome://devtools/skin/themes/images/command-measure.png");
+ background-image: url("chrome://devtools/skin/images/command-measure.png");
}
@media (min-resolution: 1.1dppx) {
#command-button-paintflashing > image {
- background-image: url("chrome://devtools/skin/themes/images/command-paintflashing@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-paintflashing@2x.png");
}
#command-button-screenshot > image {
- background-image: url("chrome://devtools/skin/themes/images/command-screenshot@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-screenshot@2x.png");
}
#command-button-responsive > image {
- background-image: url("chrome://devtools/skin/themes/images/command-responsivemode@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-responsivemode@2x.png");
}
#command-button-tilt > image {
- background-image: url("chrome://devtools/skin/themes/images/command-tilt@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-tilt@2x.png");
}
#command-button-scratchpad > image {
- background-image: url("chrome://devtools/skin/themes/images/command-scratchpad@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-scratchpad@2x.png");
}
#command-button-pick > image {
- background-image: url("chrome://devtools/skin/themes/images/command-pick@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-pick@2x.png");
}
#command-button-frames > image {
- background-image: url("chrome://devtools/skin/themes/images/command-frames@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-frames@2x.png");
}
#command-button-splitconsole > image {
- background-image: url("chrome://devtools/skin/themes/images/command-console@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-console@2x.png");
}
#command-button-eyedropper > image {
- background-image: url("chrome://devtools/skin/themes/images/command-eyedropper@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-eyedropper@2x.png");
}
#command-button-rulers > image {
- background-image: url("chrome://devtools/skin/themes/images/command-rulers@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-rulers@2x.png");
}
#command-button-measure > image {
- background-image: url("chrome://devtools/skin/themes/images/command-measure@2x.png");
+ background-image: url("chrome://devtools/skin/images/command-measure@2x.png");
}
}
/* Tabs */
.devtools-tabbar {
-moz-appearance: none;
min-height: 24px;
--- a/devtools/client/themes/webaudioeditor.css
+++ b/devtools/client/themes/webaudioeditor.css
@@ -74,20 +74,20 @@ g.edgeLabel tspan {
fill: var(--theme-toolbar-background);
}
/**
* Bypassed Nodes
*/
.theme-light .nodes g.bypassed rect {
- fill: url(chrome://devtools/skin/themes/images/filters.svg#bypass-light);
+ fill: url(chrome://devtools/skin/images/filters.svg#bypass-light);
}
.theme-dark .nodes g.bypassed rect {
- fill: url(chrome://devtools/skin/themes/images/filters.svg#bypass-dark);
+ fill: url(chrome://devtools/skin/images/filters.svg#bypass-dark);
}
.nodes g.bypassed.selected rect {
stroke: var(--theme-selection-background);
}
/*
.nodes g.bypassed text {
opacity: 0.8;
--- a/devtools/client/themes/webconsole.css
+++ b/devtools/client/themes/webconsole.css
@@ -39,27 +39,27 @@ a {
margin: 3px 6px 0 0;
padding: 0 4px;
height: 1em;
align-self: flex-start;
}
.message > .icon::before {
content: "";
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg);
background-position: 12px 12px;
background-repeat: no-repeat;
background-size: 72px 60px;
width: 12px;
height: 12px;
display: inline-block;
}
.theme-light .message > .icon::before {
- background-image: url(chrome://devtools/skin/themes/images/webconsole.svg#light-icons);
+ background-image: url(chrome://devtools/skin/images/webconsole.svg#light-icons);
}
.message > .message-body-wrapper {
flex: 1 1 100%;
margin: 3px;
}
.message-body-wrapper .table-widget-body {
@@ -378,25 +378,25 @@ a {
.jsterm-complete-node {
color: var(--theme-comment);
}
.jsterm-input-node {
/* Always allow scrolling on input - it auto expands in js by setting height,
but don't want it to get bigger than the window. 24px = toolbar height. */
max-height: calc(90vh - 24px);
- background-image: -moz-image-rect(url("chrome://devtools/skin/themes/images/commandline-icon.png"), 0, 32, 16, 16);
+ background-image: -moz-image-rect(url("chrome://devtools/skin/images/commandline-icon.png"), 0, 32, 16, 16);
background-repeat: no-repeat;
background-size: 16px 16px;
color: var(--theme-content-color1);
}
@media (min-resolution: 1.1dppx) {
.jsterm-input-node {
- background-image: -moz-image-rect(url('chrome://devtools/skin/themes/images/commandline-icon@2x.png'), 0, 64, 32, 32);
+ background-image: -moz-image-rect(url('chrome://devtools/skin/images/commandline-icon@2x.png'), 0, 64, 32, 32);
}
}
:-moz-any(.jsterm-input-node,
.jsterm-complete-node) > .textbox-input-box > .textbox-textarea {
overflow-x: hidden;
}
@@ -514,17 +514,17 @@ a {
.cm-s-mozilla a[class]:hover,
.cm-s-mozilla a[class]:focus {
text-decoration: underline;
}
/* Open DOMNode in inspector button */
.open-inspector {
- background: url("chrome://devtools/skin/themes/images/vview-open-inspector.png") no-repeat 0 0;
+ background: url("chrome://devtools/skin/images/vview-open-inspector.png") no-repeat 0 0;
padding-left: 16px;
margin-left: 5px;
cursor: pointer;
}
.elementNode:hover .open-inspector,
.open-inspector:hover {
background-position: -32px 0;
--- a/devtools/client/themes/widgets.css
+++ b/devtools/client/themes/widgets.css
@@ -636,25 +636,25 @@
/* Custom configurable/enumerable/writable or frozen/sealed/extensible
* variables and properties */
.variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
opacity: 0.6;
}
.variable-or-property-non-writable-icon {
- background: url("chrome://devtools/skin/themes/images/vview-lock.png") no-repeat;
+ background: url("chrome://devtools/skin/images/vview-lock.png") no-repeat;
background-size: cover;
width: 16px;
height: 16px;
}
@media (min-resolution: 1.1dppx) {
.variable-or-property-non-writable-icon {
- background-image: url("chrome://devtools/skin/themes/images/vview-lock@2x.png");
+ background-image: url("chrome://devtools/skin/images/vview-lock@2x.png");
}
}
.variable-or-property-frozen-label,
.variable-or-property-sealed-label,
.variable-or-property-non-extensible-label {
height: 16px;
-moz-padding-end: 4px;
@@ -736,77 +736,77 @@
-moz-padding-start: 4px;
-moz-border-start: 1px dotted #000;
color: #080;
}
/* Variables and properties editing */
.variables-view-delete {
- background: url("chrome://devtools/skin/themes/images/vview-delete.png");
+ background: url("chrome://devtools/skin/images/vview-delete.png");
background-size: cover;
width: 16px;
height: 16px;
}
@media (min-resolution: 1.1dppx) {
.variables-view-delete {
- background-image: url("chrome://devtools/skin/themes/images/vview-delete@2x.png");
+ background-image: url("chrome://devtools/skin/images/vview-delete@2x.png");
}
}
.variables-view-delete:hover {
background-position: 16px;
}
.variables-view-delete:active {
background-position: 32px;
}
.variable-or-property:focus > .title > .variables-view-delete {
background-position: 0px;
}
.variables-view-edit {
- background: url("chrome://devtools/skin/themes/images/vview-edit.png");
+ background: url("chrome://devtools/skin/images/vview-edit.png");
background-size: cover;
width: 16px;
height: 16px;
cursor: pointer;
}
@media (min-resolution: 1.1dppx) {
.variables-view-edit {
- background-image: url("chrome://devtools/skin/themes/images/vview-edit@2x.png");
+ background-image: url("chrome://devtools/skin/images/vview-edit@2x.png");
}
}
.variables-view-edit:hover {
background-position: 16px;
}
.variables-view-edit:active {
background-position: 32px;
}
.variable-or-property:focus > .title > .variables-view-edit {
background-position: 0px;
}
.variables-view-open-inspector {
- background: url("chrome://devtools/skin/themes/images/vview-open-inspector.png");
+ background: url("chrome://devtools/skin/images/vview-open-inspector.png");
background-size: cover;
width: 16px;
height: 16px;
cursor: pointer;
}
@media (min-resolution: 1.1dppx) {
.variables-view-open-inspector {
- background-image: url("chrome://devtools/skin/themes/images/vview-open-inspector@2x.png");
+ background-image: url("chrome://devtools/skin/images/vview-open-inspector@2x.png");
}
}
.variables-view-open-inspector:hover {
background-position: 16px;
}
.variables-view-open-inspector:active {
@@ -1369,17 +1369,17 @@
/* Twisties */
.tree-widget-item::before {
content: "";
width: 14px;
height: 14px;
float: left;
margin: 3px 2px -3px;
background-repeat: no-repeat;
- background-image: url("chrome://devtools/skin/themes/images/controls.png");
+ background-image: url("chrome://devtools/skin/images/controls.png");
background-size: 56px 28px;
cursor: pointer;
background-position: -28px -14px;
}
.tree-widget-item:-moz-locale-dir(rtl)::before {
float: right;
transform: scaleX(-1);
@@ -1427,17 +1427,17 @@
}
to {
max-height: 500px;
}
}
@media (min-resolution: 1.1dppx) {
.tree-widget-item:before {
- background-image: url("chrome://devtools/skin/themes/images/controls@2x.png");
+ background-image: url("chrome://devtools/skin/images/controls@2x.png");
}
}
/* Indentation of child items in the tree */
/* For level > 6 */
.tree-widget-item[level] + ul > li > .tree-widget-item {
-moz-padding-start: 98px;
@@ -1497,23 +1497,23 @@
}
.theme-light .tree-widget-item.theme-selected[type]::after,
.theme-dark .tree-widget-item[type]::after {
filter: invert(1);
}
.tree-widget-item[type="dir"]::after {
- background-image: url(chrome://devtools/skin/themes/images/filetypes/dir-close.svg);
+ background-image: url(chrome://devtools/skin/images/filetypes/dir-close.svg);
background-position: 2px 0;
background-size: auto 16px;
width: 20px;
}
.tree-widget-item[type="dir"][expanded]:not([empty])::after {
- background-image: url(chrome://devtools/skin/themes/images/filetypes/dir-open.svg);
+ background-image: url(chrome://devtools/skin/images/filetypes/dir-open.svg);
}
.tree-widget-item[type="url"]::after {
- background-image: url(chrome://devtools/skin/themes/images/filetypes/globe.svg);
+ background-image: url(chrome://devtools/skin/images/filetypes/globe.svg);
background-size: auto 18px;
width: 18px;
}
--- a/devtools/client/tilt/tilt-utils.js
+++ b/devtools/client/tilt/tilt-utils.js
@@ -605,10 +605,10 @@ TiltUtils.clearCache = function TU_clear
TiltUtils.bindObjectFunc(TiltUtils.Output);
TiltUtils.bindObjectFunc(TiltUtils.Preferences);
TiltUtils.bindObjectFunc(TiltUtils.L10n);
TiltUtils.bindObjectFunc(TiltUtils.DOM);
// set the necessary string bundle
XPCOMUtils.defineLazyGetter(TiltUtils.L10n, "stringBundle", function() {
return Services.strings.createBundle(
- "chrome://browser/locale/devtools/tilt.properties");
+ "chrome://devtools/locale/tilt.properties");
});
--- a/devtools/client/webaudioeditor/includes.js
+++ b/devtools/client/webaudioeditor/includes.js
@@ -13,17 +13,17 @@ Cu.import("resource://devtools/client/fr
const { loader, require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
var { console } = Cu.import("resource://gre/modules/Console.jsm", {});
var { EventTarget } = require("sdk/event/target");
const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
const { Class } = require("sdk/core/heritage");
const EventEmitter = require("devtools/shared/event-emitter");
-const STRINGS_URI = "chrome://browser/locale/devtools/webaudioeditor.properties"
+const STRINGS_URI = "chrome://devtools/locale/webaudioeditor.properties"
const L10N = new ViewHelpers.L10N(STRINGS_URI);
const Telemetry = require("devtools/client/shared/telemetry");
const telemetry = new Telemetry();
const DevToolsUtils = require("devtools/shared/DevToolsUtils");
loader.lazyRequireGetter(this, "LineGraphWidget",
"devtools/client/shared/widgets/LineGraphWidget");
--- a/devtools/client/webaudioeditor/webaudioeditor.xul
+++ b/devtools/client/webaudioeditor/webaudioeditor.xul
@@ -1,19 +1,19 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/webaudioeditor.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/webaudioeditor.css" type="text/css"?>
<!DOCTYPE window [
- <!ENTITY % debuggerDTD SYSTEM "chrome://browser/locale/devtools/webaudioeditor.dtd">
+ <!ENTITY % debuggerDTD SYSTEM "chrome://devtools/locale/webaudioeditor.dtd">
%debuggerDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript;version=1.8"
src="chrome://devtools/content/shared/theme-switching.js"/>
--- a/devtools/client/webconsole/console-output.js
+++ b/devtools/client/webconsole/console-output.js
@@ -18,17 +18,17 @@ loader.lazyImporter(this, "PluralForm",
loader.lazyRequireGetter(this, "promise");
loader.lazyRequireGetter(this, "TableWidget", "devtools/client/shared/widgets/TableWidget", true);
loader.lazyRequireGetter(this, "ObjectClient", "devtools/shared/client/main", true);
const Heritage = require("sdk/core/heritage");
const URI = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
const XHTML_NS = "http://www.w3.org/1999/xhtml";
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
-const STRINGS_URI = "chrome://browser/locale/devtools/webconsole.properties";
+const STRINGS_URI = "chrome://devtools/locale/webconsole.properties";
const WebConsoleUtils = require("devtools/shared/webconsole/utils").Utils;
const l10n = new WebConsoleUtils.l10n(STRINGS_URI);
const MAX_STRING_GRIP_LENGTH = 36;
const ELLIPSIS = Services.prefs.getComplexValue("intl.ellipsis", Ci.nsIPrefLocalizedString).data;
// Constants for compatibility with the Web Console output implementation before
--- a/devtools/client/webconsole/hudservice.js
+++ b/devtools/client/webconsole/hudservice.js
@@ -18,17 +18,17 @@ loader.lazyGetter(this, "Telemetry", ()
loader.lazyGetter(this, "WebConsoleFrame", () => require("devtools/client/webconsole/webconsole").WebConsoleFrame);
loader.lazyImporter(this, "gDevTools", "resource://devtools/client/framework/gDevTools.jsm");
loader.lazyImporter(this, "Services", "resource://gre/modules/Services.jsm");
loader.lazyRequireGetter(this, "DebuggerServer", "devtools/server/main", true);
loader.lazyRequireGetter(this, "DebuggerClient", "devtools/shared/client/main", true);
loader.lazyGetter(this, "showDoorhanger", () => require("devtools/client/shared/doorhanger").showDoorhanger);
loader.lazyRequireGetter(this, "sourceUtils", "devtools/client/shared/source-utils");
-const STRINGS_URI = "chrome://browser/locale/devtools/webconsole.properties";
+const STRINGS_URI = "chrome://devtools/locale/webconsole.properties";
var l10n = new WebConsoleUtils.l10n(STRINGS_URI);
const BROWSER_CONSOLE_WINDOW_FEATURES = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
// The preference prefix for all of the Browser Console filters.
const BROWSER_CONSOLE_FILTER_PREFS_PREFIX = "devtools.browserconsole.filter.";
var gHudId = 0;
--- a/devtools/client/webconsole/test/head.js
+++ b/devtools/client/webconsole/test/head.js
@@ -31,17 +31,17 @@ const CATEGORY_SERVER = 7;
const SEVERITY_ERROR = 0;
const SEVERITY_WARNING = 1;
const SEVERITY_INFO = 2;
const SEVERITY_LOG = 3;
// The indent of a console group in pixels.
const GROUP_INDENT = 12;
-const WEBCONSOLE_STRINGS_URI = "chrome://browser/locale/devtools/" +
+const WEBCONSOLE_STRINGS_URI = "chrome://devtools/locale/" +
"webconsole.properties";
var WCUL10n = new WebConsoleUtils.l10n(WEBCONSOLE_STRINGS_URI);
DevToolsUtils.testing = true;
function asyncTest(generator) {
return () => {
Task.spawn(generator).then(finishTest);
--- a/devtools/client/webconsole/webconsole.js
+++ b/devtools/client/webconsole/webconsole.js
@@ -25,17 +25,17 @@ loader.lazyRequireGetter(this, "Environm
loader.lazyRequireGetter(this, "ObjectClient", "devtools/shared/client/main", true);
loader.lazyRequireGetter(this, "system", "devtools/shared/system");
loader.lazyRequireGetter(this, "Timers", "sdk/timers");
loader.lazyImporter(this, "VariablesView", "resource://devtools/client/shared/widgets/VariablesView.jsm");
loader.lazyImporter(this, "VariablesViewController", "resource://devtools/client/shared/widgets/VariablesViewController.jsm");
loader.lazyImporter(this, "PluralForm", "resource://gre/modules/PluralForm.jsm");
loader.lazyImporter(this, "gDevTools", "resource://devtools/client/framework/gDevTools.jsm");
-const STRINGS_URI = "chrome://browser/locale/devtools/webconsole.properties";
+const STRINGS_URI = "chrome://devtools/locale/webconsole.properties";
var l10n = new WebConsoleUtils.l10n(STRINGS_URI);
const XHTML_NS = "http://www.w3.org/1999/xhtml";
const MIXED_CONTENT_LEARN_MORE = "https://developer.mozilla.org/docs/Security/MixedContent";
const TRACKING_PROTECTION_LEARN_MORE = "https://developer.mozilla.org/Firefox/Privacy/Tracking_Protection";
--- a/devtools/client/webconsole/webconsole.xul
+++ b/devtools/client/webconsole/webconsole.xul
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
-<!ENTITY % webConsoleDTD SYSTEM "chrome://browser/locale/devtools/webConsole.dtd">
+<!ENTITY % webConsoleDTD SYSTEM "chrome://devtools/locale/webConsole.dtd">
%webConsoleDTD;
]>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css"
+<?xml-stylesheet href="chrome://devtools/skin/common.css"
type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/widgets.css"
+<?xml-stylesheet href="chrome://devtools/skin/widgets.css"
type="text/css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/webconsole.css"
+<?xml-stylesheet href="chrome://devtools/skin/webconsole.css"
type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="devtools-webconsole"
macanimationtype="document"
fullscreenbutton="true"
title="&window.title;"
browserConsoleTitle="&browserConsole.title;"
--- a/devtools/client/webide/content/addons.js
+++ b/devtools/client/webide/content/addons.js
@@ -1,17 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var Cu = Components.utils;
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {GetAvailableAddons, ForgetAddonsList} = require("devtools/client/webide/modules/addons");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
window.addEventListener("load", function onLoad() {
window.removeEventListener("load", onLoad);
document.querySelector("#aboutaddons").onclick = function() {
let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
browserWin.BrowserOpenAddonsMgr("addons://list/extension");
}
document.querySelector("#close").onclick = CloseUI;
--- a/devtools/client/webide/content/addons.xhtml
+++ b/devtools/client/webide/content/addons.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/addons.css" type="text/css"/>
--- a/devtools/client/webide/content/details.xhtml
+++ b/devtools/client/webide/content/details.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/details.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://webide/content/details.js"></script>
--- a/devtools/client/webide/content/devicepreferences.xhtml
+++ b/devtools/client/webide/content/devicepreferences.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/config-view.css" type="text/css"/>
--- a/devtools/client/webide/content/devicesettings.xhtml
+++ b/devtools/client/webide/content/devicesettings.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/config-view.css" type="text/css"/>
--- a/devtools/client/webide/content/logs.xhtml
+++ b/devtools/client/webide/content/logs.xhtml
@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
- <link rel="stylesheet" href="chrome://devtools/skin/themes/common.css" type="text/css"/>
+ <link rel="stylesheet" href="chrome://devtools/skin/common.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/logs.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://devtools/content/shared/theme-switching.js"></script>
<script type="application/javascript;version=1.8" src="logs.js"></script>
</head>
<body>
<div id="controls">
<a id="close">&deck_close;</a>
--- a/devtools/client/webide/content/monitor.xhtml
+++ b/devtools/client/webide/content/monitor.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
--- a/devtools/client/webide/content/newapp.xul
+++ b/devtools/client/webide/content/newapp.xul
@@ -1,16 +1,16 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<?xml-stylesheet href="chrome://global/skin/global.css"?>
<?xml-stylesheet href="chrome://webide/skin/newapp.css"?>
<dialog id="webide:newapp" title="&newAppWindowTitle;"
width="600" height="400"
--- a/devtools/client/webide/content/permissionstable.xhtml
+++ b/devtools/client/webide/content/permissionstable.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/permissionstable.css" type="text/css"/>
--- a/devtools/client/webide/content/prefs.xhtml
+++ b/devtools/client/webide/content/prefs.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://webide/content/prefs.js"></script>
--- a/devtools/client/webide/content/project-listing.xhtml
+++ b/devtools/client/webide/content/project-listing.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/panel-listing.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://webide/content/project-listing.js"></script>
--- a/devtools/client/webide/content/runtime-listing.xhtml
+++ b/devtools/client/webide/content/runtime-listing.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/panel-listing.css" type="text/css"/>
<script type="application/javascript;version=1.8" src="chrome://webide/content/runtime-listing.js"></script>
--- a/devtools/client/webide/content/runtimedetails.js
+++ b/devtools/client/webide/content/runtimedetails.js
@@ -3,17 +3,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var Cu = Components.utils;
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {AppManager} = require("devtools/client/webide/modules/app-manager");
const {Connection} = require("devtools/shared/client/connection-manager");
const {RuntimeTypes} = require("devtools/client/webide/modules/runtimes");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
const UNRESTRICTED_HELP_URL = "https://developer.mozilla.org/docs/Tools/WebIDE/Running_and_debugging_apps#Unrestricted_app_debugging_%28including_certified_apps_main_process_etc.%29";
window.addEventListener("load", function onLoad() {
window.removeEventListener("load", onLoad);
document.querySelector("#close").onclick = CloseUI;
document.querySelector("#devtools-check button").onclick = EnableCertApps;
document.querySelector("#adb-check button").onclick = RootADB;
--- a/devtools/client/webide/content/runtimedetails.xhtml
+++ b/devtools/client/webide/content/runtimedetails.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/runtimedetails.css" type="text/css"/>
--- a/devtools/client/webide/content/simulator.js
+++ b/devtools/client/webide/content/simulator.js
@@ -7,17 +7,17 @@ var Cu = Components.utils;
const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
const { GetDevices, GetDeviceString } = require("devtools/client/shared/devices");
const { Services } = Cu.import("resource://gre/modules/Services.jsm");
const { Simulators, Simulator } = require("devtools/client/webide/modules/simulators");
const EventEmitter = require('devtools/shared/event-emitter');
const promise = require("promise");
const utils = require("devtools/client/webide/modules/utils");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var SimulatorEditor = {
// Available Firefox OS Simulator addons (key: `addon.id`).
_addons: {},
// Available device simulation profiles (key: `device.name`).
_devices: {},
--- a/devtools/client/webide/content/simulator.xhtml
+++ b/devtools/client/webide/content/simulator.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/simulator.css" type="text/css"/>
--- a/devtools/client/webide/content/webide.js
+++ b/devtools/client/webide/content/webide.js
@@ -21,17 +21,17 @@ const ProjectEditor = require("devtools/
const {GetAvailableAddons} = require("devtools/client/webide/modules/addons");
const {getJSON} = require("devtools/client/shared/getjson");
const utils = require("devtools/client/webide/modules/utils");
const Telemetry = require("devtools/client/shared/telemetry");
const {RuntimeScanners} = require("devtools/client/webide/modules/runtimes");
const {showDoorhanger} = require("devtools/client/shared/doorhanger");
const {Simulators} = require("devtools/client/webide/modules/simulators");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
const HTML = "http://www.w3.org/1999/xhtml";
const HELP_URL = "https://developer.mozilla.org/docs/Tools/WebIDE/Troubleshooting";
const MAX_ZOOM = 1.4;
const MIN_ZOOM = 0.6;
const MS_PER_DAY = 86400000;
--- a/devtools/client/webide/content/webide.xul
+++ b/devtools/client/webide/content/webide.xul
@@ -1,23 +1,23 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<?xml-stylesheet href="chrome://global/skin/global.css"?>
-<?xml-stylesheet href="chrome://devtools/skin/themes/common.css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css"?>
<?xml-stylesheet href="chrome://webide/skin/webide.css"?>
<window id="webide" onclose="return UI.canCloseProject();"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="&windowTitle;"
windowtype="devtools:webide"
macanimationtype="document"
--- a/devtools/client/webide/content/wifi-auth.xhtml
+++ b/devtools/client/webide/content/wifi-auth.xhtml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
- <!ENTITY % webideDTD SYSTEM "chrome://browser/locale/devtools/webide.dtd" >
+ <!ENTITY % webideDTD SYSTEM "chrome://devtools/locale/webide.dtd" >
%webideDTD;
]>
<html id="devtools:wifi-auth" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf8"/>
<link rel="stylesheet" href="chrome://webide/skin/deck.css" type="text/css"/>
<link rel="stylesheet" href="chrome://webide/skin/wifi-auth.css" type="text/css"/>
--- a/devtools/client/webide/modules/app-manager.js
+++ b/devtools/client/webide/modules/app-manager.js
@@ -20,21 +20,21 @@ const {getPreferenceFront} = require("de
const {getSettingsFront} = require("devtools/server/actors/settings");
const {setTimeout} = require("sdk/timers");
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
const {RuntimeScanners, RuntimeTypes} = require("devtools/client/webide/modules/runtimes");
const {NetUtil} = Cu.import("resource://gre/modules/NetUtil.jsm", {});
const Telemetry = require("devtools/client/shared/telemetry");
const {ProjectBuilding} = require("./build");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var AppManager = exports.AppManager = {
- DEFAULT_PROJECT_ICON: "chrome://devtools/skin/themes/webide/default-app-icon.png",
+ DEFAULT_PROJECT_ICON: "chrome://webide/skin/default-app-icon.png",
DEFAULT_PROJECT_NAME: "--",
_initialized: false,
init: function() {
if (this._initialized) {
return;
}
--- a/devtools/client/webide/modules/app-validator.js
+++ b/devtools/client/webide/modules/app-validator.js
@@ -5,17 +5,17 @@
var {Ci,Cu,CC} = require("chrome");
const promise = require("devtools/shared/deprecated-sync-thenables");
const {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const Services = require("Services");
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
var XMLHttpRequest = CC("@mozilla.org/xmlextras/xmlhttprequest;1");
-var strings = Services.strings.createBundle("chrome://browser/locale/devtools/app-manager.properties");
+var strings = Services.strings.createBundle("chrome://devtools/locale/app-manager.properties");
function AppValidator({ type, location }) {
this.type = type;
this.location = location;
this.errors = [];
this.warnings = [];
}
--- a/devtools/client/webide/modules/config-view.js
+++ b/devtools/client/webide/modules/config-view.js
@@ -1,17 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const {Cu} = require("chrome");
const EventEmitter = require("devtools/shared/event-emitter");
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var ConfigView;
module.exports = ConfigView = function(window) {
EventEmitter.decorate(this);
this._doc = window.document;
this._keys = [];
return this;
--- a/devtools/client/webide/modules/project-list.js
+++ b/devtools/client/webide/modules/project-list.js
@@ -8,17 +8,17 @@ const Services = require("Services");
const {AppProjects} = require("devtools/client/webide/modules/app-projects");
const {AppManager} = require("devtools/client/webide/modules/app-manager");
const promise = require("promise");
const EventEmitter = require("devtools/shared/event-emitter");
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
const utils = require("devtools/client/webide/modules/utils");
const Telemetry = require("devtools/client/shared/telemetry");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var ProjectList;
module.exports = ProjectList = function(win, parentWindow) {
EventEmitter.decorate(this);
this._doc = win.document;
this._UI = parentWindow.UI;
this._parentWindow = parentWindow;
--- a/devtools/client/webide/modules/runtime-list.js
+++ b/devtools/client/webide/modules/runtime-list.js
@@ -7,17 +7,17 @@ const {Cu} = require("chrome");
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
const {AppManager} = require("devtools/client/webide/modules/app-manager");
const EventEmitter = require("devtools/shared/event-emitter");
const {RuntimeScanners, WiFiScanner} = require("devtools/client/webide/modules/runtimes");
const {Devices} = Cu.import("resource://devtools/shared/apps/Devices.jsm");
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
const utils = require("devtools/client/webide/modules/utils");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
var RuntimeList;
module.exports = RuntimeList = function(window, parentWindow) {
EventEmitter.decorate(this);
this._doc = window.document;
this._UI = parentWindow.UI;
this._Cmds = parentWindow.Cmds;
--- a/devtools/client/webide/modules/runtimes.js
+++ b/devtools/client/webide/modules/runtimes.js
@@ -11,17 +11,17 @@ const {Simulators} = require("devtools/c
const discovery = require("devtools/shared/discovery/discovery");
const EventEmitter = require("devtools/shared/event-emitter");
const promise = require("promise");
loader.lazyRequireGetter(this, "AuthenticationResult",
"devtools/shared/security/auth", true);
loader.lazyRequireGetter(this, "DevToolsUtils",
"devtools/shared/DevToolsUtils");
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
/**
* Runtime and Scanner API
*
* |RuntimeScanners| maintains a set of |Scanner| objects that produce one or
* more |Runtime|s to connect to. Add-ons can extend the set of known runtimes
* by registering additional |Scanner|s that emit them.
*
--- a/devtools/client/webide/modules/utils.js
+++ b/devtools/client/webide/modules/utils.js
@@ -1,16 +1,16 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const { Cc, Cu, Ci } = require("chrome");
const { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const { Services } = Cu.import("resource://gre/modules/Services.jsm", {});
-const Strings = Services.strings.createBundle("chrome://browser/locale/devtools/webide.properties");
+const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
function doesFileExist (location) {
let file = new FileUtils.File(location);
return file.exists();
}
exports.doesFileExist = doesFileExist;
function _getFile (location, ...pickerParams) {
--- a/devtools/client/webide/test/test_app_validator.html
+++ b/devtools/client/webide/test/test_app_validator.html
@@ -21,17 +21,17 @@
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {AppValidator} = require("devtools/client/webide/modules/app-validator");
const {Services} = Cu.import("resource://gre/modules/Services.jsm");
const nsFile = Components.Constructor("@mozilla.org/file/local;1",
"nsILocalFile", "initWithPath");
const cr = Cc["@mozilla.org/chrome/chrome-registry;1"]
.getService(Ci.nsIChromeRegistry);
- const strings = Services.strings.createBundle("chrome://browser/locale/devtools/app-manager.properties");
+ const strings = Services.strings.createBundle("chrome://devtools/locale/app-manager.properties");
let httpserver, origin;
window.onload = function() {
SimpleTest.waitForExplicitFinish();
httpserver = new HttpServer();
httpserver.start(-1);
origin = "http://localhost:" + httpserver.identity.primaryPort + "/";
--- a/devtools/server/actors/csscoverage.js
+++ b/devtools/server/actors/csscoverage.js
@@ -29,17 +29,17 @@ loader.lazyGetter(this, "CssLogic", () =
const CSSRule = Ci.nsIDOMCSSRule;
const MAX_UNUSED_RULES = 10000;
/**
* Allow: let foo = l10n.lookup("csscoverageFoo");
*/
const l10n = exports.l10n = {
- _URI: "chrome://global/locale/devtools/csscoverage.properties",
+ _URI: "chrome://devtools-shared/locale/csscoverage.properties",
lookup: function(msg) {
if (this._stringBundle == null) {
this._stringBundle = Services.strings.createBundle(this._URI);
}
return this._stringBundle.GetStringFromName(msg);
}
};
--- a/devtools/server/actors/webconsole.js
+++ b/devtools/server/actors/webconsole.js
@@ -2075,17 +2075,17 @@ NetworkEventActor.prototype =
this._longStringActors.add(aContent.text);
}
let packet = {
from: this.actorID,
type: "networkEventUpdate",
updateType: "responseContent",
mimeType: aContent.mimeType,
- contentSize: aContent.text.length,
+ contentSize: aContent.size,
transferredSize: aContent.transferredSize,
discardResponseBody: aDiscardedResponseBody,
};
this.conn.send(packet);
},
/**
--- a/devtools/server/tests/mochitest/test_css-logic-media-queries.html
+++ b/devtools/server/tests/mochitest/test_css-logic-media-queries.html
@@ -36,17 +36,17 @@ Test that css-logic handles media-querie
SimpleTest.waitForExplicitFinish();
let div = document.querySelector("div");
let cssLogic = new CssLogic();
cssLogic.highlight(div);
cssLogic.processMatchedSelectors();
let _strings = Services.strings
- .createBundle("chrome://global/locale/devtools/styleinspector.properties");
+ .createBundle("chrome://devtools-shared/locale/styleinspector.properties");
let inline = _strings.GetStringFromName("rule.sourceInline");
let source1 = inline + ":12";
let source2 = inline + ":19 @media screen and (min-width: 1px)";
is(cssLogic._matchedRules[0][0].source, source1,
"rule.source gives correct output for rule 1");
is(cssLogic._matchedRules[1][0].source, source2,
--- a/devtools/shared/gcli/commands/highlight.js
+++ b/devtools/shared/gcli/commands/highlight.js
@@ -7,17 +7,17 @@
const l10n = require("gcli/l10n");
require("devtools/server/actors/inspector");
const {
BoxModelHighlighter,
HighlighterEnvironment
} = require("devtools/server/actors/highlighters");
XPCOMUtils.defineLazyGetter(this, "nodesSelected", function() {
- return Services.strings.createBundle("chrome://global/locale/devtools/gclicommands.properties");
+ return Services.strings.createBundle("chrome://devtools-shared/locale/gclicommands.properties");
});
XPCOMUtils.defineLazyModuleGetter(this, "PluralForm", "resource://gre/modules/PluralForm.jsm");
// How many maximum nodes can be highlighted in parallel
const MAX_HIGHLIGHTED_ELEMENTS = 100;
// Store the environment object used to create highlighters so it can be
// destroyed later.
--- a/devtools/shared/gcli/source/lib/gcli/l10n.js
+++ b/devtools/shared/gcli/source/lib/gcli/l10n.js
@@ -21,17 +21,17 @@ var Ci = require('chrome').Ci;
var Cu = require('chrome').Cu;
var prefSvc = Cc['@mozilla.org/preferences-service;1']
.getService(Ci.nsIPrefService);
var prefBranch = prefSvc.getBranch(null).QueryInterface(Ci.nsIPrefBranch);
var Services = Cu.import('resource://gre/modules/Services.jsm', {}).Services;
var stringBundle = Services.strings.createBundle(
- 'chrome://global/locale/devtools/gclicommands.properties');
+ 'chrome://devtools-shared/locale/gclicommands.properties');
/**
* Lookup a string in the GCLI string bundle
*/
exports.lookup = function(name) {
try {
return stringBundle.GetStringFromName(name);
}
--- a/devtools/shared/gcli/source/lib/gcli/util/l10n.js
+++ b/devtools/shared/gcli/source/lib/gcli/util/l10n.js
@@ -18,17 +18,17 @@
var Cu = require('chrome').Cu;
var XPCOMUtils = Cu.import('resource://gre/modules/XPCOMUtils.jsm', {}).XPCOMUtils;
var Services = Cu.import('resource://gre/modules/Services.jsm', {}).Services;
var imports = {};
XPCOMUtils.defineLazyGetter(imports, 'stringBundle', function () {
- return Services.strings.createBundle('chrome://global/locale/devtools/gcli.properties');
+ return Services.strings.createBundle('chrome://devtools-shared/locale/gcli.properties');
});
/*
* Not supported when embedded - we're doing things the Mozilla way not the
* require.js way.
*/
exports.registerStringsSource = function(modulePath) {
throw new Error('registerStringsSource is not available in mozilla');
--- a/devtools/shared/heapsnapshot/HeapAnalysesClient.js
+++ b/devtools/shared/heapsnapshot/HeapAnalysesClient.js
@@ -67,16 +67,19 @@ HeapAnalysesClient.prototype.readHeapSna
* An object specifying options of this worker request.
* - {Boolean} asTreeNode
* Whether or not the census is returned as a CensusTreeNode,
* or just a breakdown report. Defaults to false.
* @see `devtools/shared/heapsnapshot/census-tree-node.js`
* - {Boolean} asInvertedTreeNode
* Whether or not the census is returned as an inverted
* CensusTreeNode. Defaults to false.
+ * - {String} filter
+ * A filter string to prune the resulting tree with. Only applies if
+ * either asTreeNode or asInvertedTreeNode is true.
*
* @returns Promise<census report|CensusTreeNode>
* The report generated by the given census breakdown, or
* a CensusTreeNode generated by the given census breakdown
* if `asTreeNode` is true.
*/
HeapAnalysesClient.prototype.takeCensus = function (snapshotFilePath,
censusOptions,
--- a/devtools/shared/heapsnapshot/HeapAnalysesWorker.js
+++ b/devtools/shared/heapsnapshot/HeapAnalysesWorker.js
@@ -31,25 +31,27 @@ workerHelper.createTask(self, "readHeapS
/**
* @see HeapAnalysesClient.prototype.takeCensus
*/
workerHelper.createTask(self, "takeCensus", ({ snapshotFilePath, censusOptions, requestOptions }) => {
if (!snapshots[snapshotFilePath]) {
throw new Error(`No known heap snapshot for '${snapshotFilePath}'`);
}
- let report = snapshots[snapshotFilePath].takeCensus(censusOptions);
+ const report = snapshots[snapshotFilePath].takeCensus(censusOptions);
- if (requestOptions.asTreeNode) {
- return censusReportToCensusTreeNode(censusOptions.breakdown, report);
- } else if (requestOptions.asInvertedTreeNode) {
- return censusReportToCensusTreeNode(censusOptions.breakdown, report, { invert: true });
- } else {
- return report;
+ if (requestOptions.asTreeNode || requestOptions.asInvertedTreeNode) {
+ const opts = { filter: requestOptions.filter || null };
+ if (requestOptions.asInvertedTreeNode) {
+ opts.invert = true;
+ }
+ return censusReportToCensusTreeNode(censusOptions.breakdown, report, opts);
}
+
+ return report;
});
/**
* @see HeapAnalysesClient.prototype.takeCensusDiff
*/
workerHelper.createTask(self, "takeCensusDiff", request => {
const {
firstSnapshotFilePath,
--- a/devtools/shared/heapsnapshot/census-tree-node.js
+++ b/devtools/shared/heapsnapshot/census-tree-node.js
@@ -269,18 +269,18 @@ function CensusTreeNodeVisitor() {
// To avoid unnecessary allocations, we reuse the same out parameter object
// passed to `makeCensusTreeNodeSubTree` every time we call it.
this._outParams = {
top: null,
bottom: null,
};
- // The stack of `CensusTreeNodeCache`s that we use to aggregate many SavedFrame stacks
- // into a single CensusTreeNode tree.
+ // The stack of `CensusTreeNodeCache`s that we use to aggregate many
+ // SavedFrame stacks into a single CensusTreeNode tree.
this._cacheStack = [new CensusTreeNodeCache()];
}
CensusTreeNodeVisitor.prototype = Object.create(Visitor);
/**
* Create the CensusTreeNode subtree for this sub-report and link it to the
* parent CensusTreeNode.
@@ -379,17 +379,17 @@ CensusTreeNodeVisitor.prototype.root = f
return this._root;
};
/**
* Create a single, uninitialized CensusTreeNode.
*
* @param {null|String|SavedFrame} name
*/
-function CensusTreeNode (name) {
+function CensusTreeNode(name) {
this.name = name;
this.bytes = 0;
this.totalBytes = 0;
this.count = 0;
this.totalCount = 0;
this.children = undefined;
this.id = ++INC;
this.parent = undefined;
@@ -427,16 +427,57 @@ function compareByTotal(node1, node2) {
function compareBySelf(node1, node2) {
return node2.bytes - node1.bytes
|| node2.count - node1.count
|| node2.totalBytes - node1.totalBytes
|| node2.totalCount - node1.totalCount;
}
/**
+ * Given a parent cache value from a tree we are building and a child node from
+ * a tree we are basing the new tree off of, if we already have a corresponding
+ * node in the parent's children cache, merge this node's counts with
+ * it. Otherwise, create the corresponding node, add it to the parent's children
+ * cache, and create the parent->child edge.
+ *
+ * @param {CensusTreeNodeCacheValue} parentCachevalue
+ * @param {CensusTreeNode} node
+ *
+ * @returns {CensusTreeNodeCacheValue}
+ * The new or extant child node's corresponding cache value.
+ */
+function insertOrMergeNode(parentCacheValue, node) {
+ if (!parentCacheValue.children) {
+ parentCacheValue.children = new CensusTreeNodeCache();
+ }
+
+ let val = CensusTreeNodeCache.lookupNode(parentCacheValue.children, node);
+
+ if (val) {
+ val.node.count += node.count;
+ val.node.totalCount += node.totalCount;
+ val.node.bytes += node.bytes;
+ val.node.totalBytes += node.totalBytes;
+ } else {
+ val = new CensusTreeNodeCacheValue();
+
+ val.node = new CensusTreeNode(node.name);
+ val.node.count = node.count;