mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 11:15:34 +00:00
725df6c2ff
Differential Revision: https://phabricator.services.mozilla.com/D40929 --HG-- rename : devtools/client/responsive.html/actions/devices.js => devtools/client/responsive/actions/devices.js rename : devtools/client/responsive.html/actions/index.js => devtools/client/responsive/actions/index.js rename : devtools/client/responsive.html/actions/moz.build => devtools/client/responsive/actions/moz.build rename : devtools/client/responsive.html/actions/screenshot.js => devtools/client/responsive/actions/screenshot.js rename : devtools/client/responsive.html/actions/ui.js => devtools/client/responsive/actions/ui.js rename : devtools/client/responsive.html/actions/viewports.js => devtools/client/responsive/actions/viewports.js rename : devtools/client/responsive.html/browser/content.js => devtools/client/responsive/browser/content.js rename : devtools/client/responsive.html/browser/moz.build => devtools/client/responsive/browser/moz.build rename : devtools/client/responsive.html/browser/swap.js => devtools/client/responsive/browser/swap.js rename : devtools/client/responsive.html/browser/tunnel.js => devtools/client/responsive/browser/tunnel.js rename : devtools/client/responsive.html/browser/web-navigation.js => devtools/client/responsive/browser/web-navigation.js rename : devtools/client/responsive.html/components/App.js => devtools/client/responsive/components/App.js rename : devtools/client/responsive.html/components/Browser.js => devtools/client/responsive/components/Browser.js rename : devtools/client/responsive.html/components/Device.js => devtools/client/responsive/components/Device.js rename : devtools/client/responsive.html/components/DeviceAdder.js => devtools/client/responsive/components/DeviceAdder.js rename : devtools/client/responsive.html/components/DeviceForm.js => devtools/client/responsive/components/DeviceForm.js rename : devtools/client/responsive.html/components/DeviceList.js => devtools/client/responsive/components/DeviceList.js rename : devtools/client/responsive.html/components/DeviceModal.js => devtools/client/responsive/components/DeviceModal.js rename : devtools/client/responsive.html/components/DevicePixelRatioMenu.js => devtools/client/responsive/components/DevicePixelRatioMenu.js rename : devtools/client/responsive.html/components/DeviceSelector.js => devtools/client/responsive/components/DeviceSelector.js rename : devtools/client/responsive.html/components/ResizableViewport.js => devtools/client/responsive/components/ResizableViewport.js rename : devtools/client/responsive.html/components/SettingsMenu.js => devtools/client/responsive/components/SettingsMenu.js rename : devtools/client/responsive.html/components/Toolbar.js => devtools/client/responsive/components/Toolbar.js rename : devtools/client/responsive.html/components/UserAgentInput.js => devtools/client/responsive/components/UserAgentInput.js rename : devtools/client/responsive.html/components/ViewportDimension.js => devtools/client/responsive/components/ViewportDimension.js rename : devtools/client/responsive.html/components/Viewports.js => devtools/client/responsive/components/Viewports.js rename : devtools/client/responsive.html/components/moz.build => devtools/client/responsive/components/moz.build rename : devtools/client/responsive.html/constants.js => devtools/client/responsive/constants.js rename : devtools/client/responsive.html/images/grippers.svg => devtools/client/responsive/images/grippers.svg rename : devtools/client/responsive.html/images/moz.build => devtools/client/responsive/images/moz.build rename : devtools/client/responsive.html/images/rotate-viewport.svg => devtools/client/responsive/images/rotate-viewport.svg rename : devtools/client/responsive.html/images/touch-events.svg => devtools/client/responsive/images/touch-events.svg rename : devtools/client/responsive.html/index.css => devtools/client/responsive/index.css rename : devtools/client/responsive.html/index.js => devtools/client/responsive/index.js rename : devtools/client/responsive.html/index.xhtml => devtools/client/responsive/index.xhtml rename : devtools/client/responsive.html/manager.js => devtools/client/responsive/manager.js rename : devtools/client/responsive.html/moz.build => devtools/client/responsive/moz.build rename : devtools/client/responsive.html/reducers.js => devtools/client/responsive/reducers.js rename : devtools/client/responsive.html/reducers/devices.js => devtools/client/responsive/reducers/devices.js rename : devtools/client/responsive.html/reducers/moz.build => devtools/client/responsive/reducers/moz.build rename : devtools/client/responsive.html/reducers/screenshot.js => devtools/client/responsive/reducers/screenshot.js rename : devtools/client/responsive.html/reducers/ui.js => devtools/client/responsive/reducers/ui.js rename : devtools/client/responsive.html/reducers/viewports.js => devtools/client/responsive/reducers/viewports.js rename : devtools/client/responsive.html/setting-onboarding-tooltip.js => devtools/client/responsive/setting-onboarding-tooltip.js rename : devtools/client/responsive.html/store.js => devtools/client/responsive/store.js rename : devtools/client/responsive.html/test/browser/.eslintrc.js => devtools/client/responsive/test/browser/.eslintrc.js rename : devtools/client/responsive.html/test/browser/browser.ini => devtools/client/responsive/test/browser/browser.ini rename : devtools/client/responsive.html/test/browser/browser_cmd_click.js => devtools/client/responsive/test/browser/browser_cmd_click.js rename : devtools/client/responsive.html/test/browser/browser_container_tab.js => devtools/client/responsive/test/browser/browser_container_tab.js rename : devtools/client/responsive.html/test/browser/browser_contextmenu_inspect.js => devtools/client/responsive/test/browser/browser_contextmenu_inspect.js rename : devtools/client/responsive.html/test/browser/browser_contextual_identity.js => devtools/client/responsive/test/browser/browser_contextual_identity.js rename : devtools/client/responsive.html/test/browser/browser_device_change.js => devtools/client/responsive/test/browser/browser_device_change.js rename : devtools/client/responsive.html/test/browser/browser_device_custom.js => devtools/client/responsive/test/browser/browser_device_custom.js rename : devtools/client/responsive.html/test/browser/browser_device_custom_edit.js => devtools/client/responsive/test/browser/browser_device_custom_edit.js rename : devtools/client/responsive.html/test/browser/browser_device_custom_remove.js => devtools/client/responsive/test/browser/browser_device_custom_remove.js rename : devtools/client/responsive.html/test/browser/browser_device_modal_error.js => devtools/client/responsive/test/browser/browser_device_modal_error.js rename : devtools/client/responsive.html/test/browser/browser_device_modal_exit.js => devtools/client/responsive/test/browser/browser_device_modal_exit.js rename : devtools/client/responsive.html/test/browser/browser_device_modal_submit.js => devtools/client/responsive/test/browser/browser_device_modal_submit.js rename : devtools/client/responsive.html/test/browser/browser_device_pixel_ratio_change.js => devtools/client/responsive/test/browser/browser_device_pixel_ratio_change.js rename : devtools/client/responsive.html/test/browser/browser_device_state_restore.js => devtools/client/responsive/test/browser/browser_device_state_restore.js rename : devtools/client/responsive.html/test/browser/browser_device_width.js => devtools/client/responsive/test/browser/browser_device_width.js rename : devtools/client/responsive.html/test/browser/browser_exit_button.js => devtools/client/responsive/test/browser/browser_exit_button.js rename : devtools/client/responsive.html/test/browser/browser_ext_messaging.js => devtools/client/responsive/test/browser/browser_ext_messaging.js rename : devtools/client/responsive.html/test/browser/browser_favicon.js => devtools/client/responsive/test/browser/browser_favicon.js rename : devtools/client/responsive.html/test/browser/browser_frame_script_active.js => devtools/client/responsive/test/browser/browser_frame_script_active.js rename : devtools/client/responsive.html/test/browser/browser_hide_container.js => devtools/client/responsive/test/browser/browser_hide_container.js rename : devtools/client/responsive.html/test/browser/browser_menu_item_01.js => devtools/client/responsive/test/browser/browser_menu_item_01.js rename : devtools/client/responsive.html/test/browser/browser_menu_item_02.js => devtools/client/responsive/test/browser/browser_menu_item_02.js rename : devtools/client/responsive.html/test/browser/browser_mouse_resize.js => devtools/client/responsive/test/browser/browser_mouse_resize.js rename : devtools/client/responsive.html/test/browser/browser_navigation.js => devtools/client/responsive/test/browser/browser_navigation.js rename : devtools/client/responsive.html/test/browser/browser_network_throttling.js => devtools/client/responsive/test/browser/browser_network_throttling.js rename : devtools/client/responsive.html/test/browser/browser_orientationchange_event.js => devtools/client/responsive/test/browser/browser_orientationchange_event.js rename : devtools/client/responsive.html/test/browser/browser_page_state.js => devtools/client/responsive/test/browser/browser_page_state.js rename : devtools/client/responsive.html/test/browser/browser_page_style.js => devtools/client/responsive/test/browser/browser_page_style.js rename : devtools/client/responsive.html/test/browser/browser_permission_doorhanger.js => devtools/client/responsive/test/browser/browser_permission_doorhanger.js rename : devtools/client/responsive.html/test/browser/browser_preloaded_newtab.js => devtools/client/responsive/test/browser/browser_preloaded_newtab.js rename : devtools/client/responsive.html/test/browser/browser_prompts.js => devtools/client/responsive/test/browser/browser_prompts.js rename : devtools/client/responsive.html/test/browser/browser_screenshot_button.js => devtools/client/responsive/test/browser/browser_screenshot_button.js rename : devtools/client/responsive.html/test/browser/browser_scroll.js => devtools/client/responsive/test/browser/browser_scroll.js rename : devtools/client/responsive.html/test/browser/browser_state_restore.js => devtools/client/responsive/test/browser/browser_state_restore.js rename : devtools/client/responsive.html/test/browser/browser_tab_close.js => devtools/client/responsive/test/browser/browser_tab_close.js rename : devtools/client/responsive.html/test/browser/browser_tab_remoteness_change.js => devtools/client/responsive/test/browser/browser_tab_remoteness_change.js rename : devtools/client/responsive.html/test/browser/browser_target_blank.js => devtools/client/responsive/test/browser/browser_target_blank.js rename : devtools/client/responsive.html/test/browser/browser_telemetry_activate_rdm.js => devtools/client/responsive/test/browser/browser_telemetry_activate_rdm.js rename : devtools/client/responsive.html/test/browser/browser_toggle_zoom.js => devtools/client/responsive/test/browser/browser_toggle_zoom.js rename : devtools/client/responsive.html/test/browser/browser_toolbox_computed_view.js => devtools/client/responsive/test/browser/browser_toolbox_computed_view.js rename : devtools/client/responsive.html/test/browser/browser_toolbox_rule_view.js => devtools/client/responsive/test/browser/browser_toolbox_rule_view.js rename : devtools/client/responsive.html/test/browser/browser_toolbox_rule_view_reload.js => devtools/client/responsive/test/browser/browser_toolbox_rule_view_reload.js rename : devtools/client/responsive.html/test/browser/browser_toolbox_swap_browsers.js => devtools/client/responsive/test/browser/browser_toolbox_swap_browsers.js rename : devtools/client/responsive.html/test/browser/browser_toolbox_swap_inspector.js => devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js rename : devtools/client/responsive.html/test/browser/browser_tooltip.js => devtools/client/responsive/test/browser/browser_tooltip.js rename : devtools/client/responsive.html/test/browser/browser_touch_device.js => devtools/client/responsive/test/browser/browser_touch_device.js rename : devtools/client/responsive.html/test/browser/browser_touch_does_not_trigger_hover_states.js => devtools/client/responsive/test/browser/browser_touch_does_not_trigger_hover_states.js rename : devtools/client/responsive.html/test/browser/browser_touch_simulation.js => devtools/client/responsive/test/browser/browser_touch_simulation.js rename : devtools/client/responsive.html/test/browser/browser_typeahead_find.js => devtools/client/responsive/test/browser/browser_typeahead_find.js rename : devtools/client/responsive.html/test/browser/browser_user_agent_input.js => devtools/client/responsive/test/browser/browser_user_agent_input.js rename : devtools/client/responsive.html/test/browser/browser_viewport_basics.js => devtools/client/responsive/test/browser/browser_viewport_basics.js rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_fixed_width.js => devtools/client/responsive/test/browser/browser_viewport_resizing_fixed_width.js rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_fixed_width_and_zoom.js => devtools/client/responsive/test/browser/browser_viewport_resizing_fixed_width_and_zoom.js rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_minimum_scale.js => devtools/client/responsive/test/browser/browser_viewport_resizing_minimum_scale.js rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_scrollbar.js => devtools/client/responsive/test/browser/browser_viewport_resizing_scrollbar.js rename : devtools/client/responsive.html/test/browser/browser_window_close.js => devtools/client/responsive/test/browser/browser_window_close.js rename : devtools/client/responsive.html/test/browser/browser_window_sizing.js => devtools/client/responsive/test/browser/browser_window_sizing.js rename : devtools/client/responsive.html/test/browser/contextual_identity.html => devtools/client/responsive/test/browser/contextual_identity.html rename : devtools/client/responsive.html/test/browser/devices.json => devtools/client/responsive/test/browser/devices.json rename : devtools/client/responsive.html/test/browser/doc_contextmenu_inspect.html => devtools/client/responsive/test/browser/doc_contextmenu_inspect.html rename : devtools/client/responsive.html/test/browser/doc_page_state.html => devtools/client/responsive/test/browser/doc_page_state.html rename : devtools/client/responsive.html/test/browser/doc_toolbox_rule_view.css => devtools/client/responsive/test/browser/doc_toolbox_rule_view.css rename : devtools/client/responsive.html/test/browser/doc_toolbox_rule_view.html => devtools/client/responsive/test/browser/doc_toolbox_rule_view.html rename : devtools/client/responsive.html/test/browser/favicon.html => devtools/client/responsive/test/browser/favicon.html rename : devtools/client/responsive.html/test/browser/favicon.ico => devtools/client/responsive/test/browser/favicon.ico rename : devtools/client/responsive.html/test/browser/geolocation.html => devtools/client/responsive/test/browser/geolocation.html rename : devtools/client/responsive.html/test/browser/head.js => devtools/client/responsive/test/browser/head.js rename : devtools/client/responsive.html/test/browser/hover.html => devtools/client/responsive/test/browser/hover.html rename : devtools/client/responsive.html/test/browser/page_style.html => devtools/client/responsive/test/browser/page_style.html rename : devtools/client/responsive.html/test/browser/touch.html => devtools/client/responsive/test/browser/touch.html rename : devtools/client/responsive.html/test/unit/.eslintrc.js => devtools/client/responsive/test/unit/.eslintrc.js rename : devtools/client/responsive.html/test/unit/head.js => devtools/client/responsive/test/unit/head.js rename : devtools/client/responsive.html/test/unit/test_add_device.js => devtools/client/responsive/test/unit/test_add_device.js rename : devtools/client/responsive.html/test/unit/test_add_device_type.js => devtools/client/responsive/test/unit/test_add_device_type.js rename : devtools/client/responsive.html/test/unit/test_add_viewport.js => devtools/client/responsive/test/unit/test_add_viewport.js rename : devtools/client/responsive.html/test/unit/test_change_device.js => devtools/client/responsive/test/unit/test_change_device.js rename : devtools/client/responsive.html/test/unit/test_change_display_pixel_ratio.js => devtools/client/responsive/test/unit/test_change_display_pixel_ratio.js rename : devtools/client/responsive.html/test/unit/test_change_network_throttling.js => devtools/client/responsive/test/unit/test_change_network_throttling.js rename : devtools/client/responsive.html/test/unit/test_change_pixel_ratio.js => devtools/client/responsive/test/unit/test_change_pixel_ratio.js rename : devtools/client/responsive.html/test/unit/test_change_user_agent.js => devtools/client/responsive/test/unit/test_change_user_agent.js rename : devtools/client/responsive.html/test/unit/test_resize_viewport.js => devtools/client/responsive/test/unit/test_resize_viewport.js rename : devtools/client/responsive.html/test/unit/test_rotate_viewport.js => devtools/client/responsive/test/unit/test_rotate_viewport.js rename : devtools/client/responsive.html/test/unit/test_update_device_displayed.js => devtools/client/responsive/test/unit/test_update_device_displayed.js rename : devtools/client/responsive.html/test/unit/test_update_touch_simulation_enabled.js => devtools/client/responsive/test/unit/test_update_touch_simulation_enabled.js rename : devtools/client/responsive.html/test/unit/xpcshell.ini => devtools/client/responsive/test/unit/xpcshell.ini rename : devtools/client/responsive.html/types.js => devtools/client/responsive/types.js rename : devtools/client/responsive.html/utils/e10s.js => devtools/client/responsive/utils/e10s.js rename : devtools/client/responsive.html/utils/key.js => devtools/client/responsive/utils/key.js rename : devtools/client/responsive.html/utils/l10n.js => devtools/client/responsive/utils/l10n.js rename : devtools/client/responsive.html/utils/message.js => devtools/client/responsive/utils/message.js rename : devtools/client/responsive.html/utils/moz.build => devtools/client/responsive/utils/moz.build rename : devtools/client/responsive.html/utils/notification.js => devtools/client/responsive/utils/notification.js rename : devtools/client/responsive.html/utils/orientation.js => devtools/client/responsive/utils/orientation.js rename : devtools/client/responsive.html/utils/window.js => devtools/client/responsive/utils/window.js extra : moz-landing-system : lando
108 lines
2.9 KiB
JavaScript
108 lines
2.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const TEST_URI =
|
|
"data:text/html;charset=utf-8," +
|
|
"<p>browser_telemetry_button_responsive.js</p>";
|
|
|
|
// Because we need to gather stats for the period of time that a tool has been
|
|
// opened we make use of setTimeout() to create tool active times.
|
|
const TOOL_DELAY = 200;
|
|
|
|
const asyncStorage = require("devtools/shared/async-storage");
|
|
|
|
// Toggling the RDM UI involves several docShell swap operations, which are somewhat slow
|
|
// on debug builds. Usually we are just barely over the limit, so a blanket factor of 2
|
|
// should be enough.
|
|
requestLongerTimeout(2);
|
|
|
|
Services.prefs.setBoolPref("devtools.testing", true);
|
|
Services.prefs.clearUserPref("devtools.responsive.html.displayedDeviceList");
|
|
Services.prefs.setCharPref(
|
|
"devtools.devices.url",
|
|
"http://example.com/browser/devtools/client/responsive/test/browser/devices.json"
|
|
);
|
|
|
|
registerCleanupFunction(() => {
|
|
Services.prefs.clearUserPref("devtools.testing");
|
|
Services.prefs.clearUserPref("devtools.devices.url");
|
|
Services.prefs.clearUserPref("devtools.responsive.html.displayedDeviceList");
|
|
asyncStorage.removeItem("devtools.devices.url_cache");
|
|
asyncStorage.removeItem("devtools.devices.local");
|
|
});
|
|
|
|
loader.lazyRequireGetter(
|
|
this,
|
|
"ResponsiveUIManager",
|
|
"devtools/client/responsive/manager",
|
|
true
|
|
);
|
|
|
|
add_task(async function() {
|
|
await addTab(TEST_URI);
|
|
startTelemetry();
|
|
|
|
const target = await TargetFactory.forTab(gBrowser.selectedTab);
|
|
const toolbox = await gDevTools.showToolbox(target, "inspector");
|
|
info("inspector opened");
|
|
|
|
info("testing the responsivedesign button");
|
|
await testButton(toolbox);
|
|
|
|
await toolbox.destroy();
|
|
gBrowser.removeCurrentTab();
|
|
});
|
|
|
|
async function testButton(toolbox) {
|
|
info("Testing command-button-responsive");
|
|
|
|
const button = toolbox.doc.querySelector("#command-button-responsive");
|
|
ok(button, "Captain, we have the button");
|
|
|
|
await delayedClicks(button, 4);
|
|
|
|
checkResults();
|
|
}
|
|
|
|
function waitForToggle() {
|
|
return new Promise(resolve => {
|
|
const handler = () => {
|
|
ResponsiveUIManager.off("on", handler);
|
|
ResponsiveUIManager.off("off", handler);
|
|
resolve();
|
|
};
|
|
ResponsiveUIManager.on("on", handler);
|
|
ResponsiveUIManager.on("off", handler);
|
|
});
|
|
}
|
|
|
|
var delayedClicks = async function(node, clicks) {
|
|
for (let i = 0; i < clicks; i++) {
|
|
info("Clicking button " + node.id);
|
|
const toggled = waitForToggle();
|
|
node.click();
|
|
await toggled;
|
|
// See TOOL_DELAY for why we need setTimeout here
|
|
await DevToolsUtils.waitForTime(TOOL_DELAY);
|
|
}
|
|
};
|
|
|
|
function checkResults() {
|
|
// For help generating these tests use generateTelemetryTests("DEVTOOLS_RESPONSIVE_")
|
|
// here.
|
|
checkTelemetry(
|
|
"DEVTOOLS_RESPONSIVE_OPENED_COUNT",
|
|
"",
|
|
{ 0: 2, 1: 0 },
|
|
"array"
|
|
);
|
|
checkTelemetry(
|
|
"DEVTOOLS_RESPONSIVE_TIME_ACTIVE_SECONDS",
|
|
"",
|
|
null,
|
|
"hasentries"
|
|
);
|
|
}
|