mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
42ac5146bd
--HG-- rename : mobile/LICENSE => mobile/xul/LICENSE rename : mobile/Makefile.in => mobile/xul/Makefile.in rename : mobile/app/Makefile.in => mobile/xul/app/Makefile.in rename : mobile/app/android/drawable-hdpi/alertaddons.png => mobile/xul/app/android/drawable-hdpi/alertaddons.png rename : mobile/app/android/drawable-hdpi/alertdownloads.png => mobile/xul/app/android/drawable-hdpi/alertdownloads.png rename : mobile/app/android/drawable/alertaddons.png => mobile/xul/app/android/drawable/alertaddons.png rename : mobile/app/android/drawable/alertdownloads.png => mobile/xul/app/android/drawable/alertdownloads.png rename : mobile/app/application.ini => mobile/xul/app/application.ini rename : mobile/app/macbuild/Contents/Info.plist.in => mobile/xul/app/macbuild/Contents/Info.plist.in rename : mobile/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in => mobile/xul/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in rename : mobile/app/maemo/toolbar_splash.png => mobile/xul/app/maemo/toolbar_splash.png rename : mobile/app/mobile.ico => mobile/xul/app/mobile.ico rename : mobile/app/mobile.js => mobile/xul/app/mobile.js rename : mobile/app/nsBrowserApp.cpp => mobile/xul/app/nsBrowserApp.cpp rename : mobile/app/profile/extensions/Makefile.in => mobile/xul/app/profile/extensions/Makefile.in rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/chrome.manifest => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/chrome.manifest rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/content/content.js => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/content.js rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.js => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.js rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/defaults/preferences/preferences.js => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/defaults/preferences/preferences.js rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/install.rdf.in => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/install.rdf.in rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/skin/beta-hdpi.png => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/skin/beta-hdpi.png rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/skin/dino-32.png => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/skin/dino-32.png rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/skin/happy-32.png => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/skin/happy-32.png rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/skin/overlay.css => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/skin/overlay.css rename : mobile/app/profile/extensions/feedback@mobile.mozilla.org/skin/sad-32.png => mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/skin/sad-32.png rename : mobile/branding/aurora/Makefile.in => mobile/xul/branding/aurora/Makefile.in rename : mobile/branding/aurora/android-resources.mn => mobile/xul/branding/aurora/android-resources.mn rename : mobile/branding/aurora/configure.sh => mobile/xul/branding/aurora/configure.sh rename : mobile/branding/aurora/content/Makefile.in => mobile/xul/branding/aurora/content/Makefile.in rename : mobile/branding/aurora/content/about.png => mobile/xul/branding/aurora/content/about.png rename : mobile/branding/aurora/content/favicon32.png => mobile/xul/branding/aurora/content/favicon32.png rename : mobile/branding/aurora/content/fennec_26x26.png => mobile/xul/branding/aurora/content/fennec_26x26.png rename : mobile/branding/aurora/content/fennec_40x40.png => mobile/xul/branding/aurora/content/fennec_40x40.png rename : mobile/branding/aurora/content/fennec_48x48.png => mobile/xul/branding/aurora/content/fennec_48x48.png rename : mobile/branding/aurora/content/fennec_72x72.png => mobile/xul/branding/aurora/content/fennec_72x72.png rename : mobile/branding/aurora/content/fennec_maemo_icon26.txt => mobile/xul/branding/aurora/content/fennec_maemo_icon26.txt rename : mobile/branding/aurora/content/fennec_scalable.png => mobile/xul/branding/aurora/content/fennec_scalable.png rename : mobile/branding/aurora/content/jar.mn => mobile/xul/branding/aurora/content/jar.mn rename : mobile/branding/aurora/content/logo.png => mobile/xul/branding/aurora/content/logo.png rename : mobile/branding/aurora/content/logoWordmark.png => mobile/xul/branding/aurora/content/logoWordmark.png rename : mobile/branding/aurora/content/splash.png => mobile/xul/branding/aurora/content/splash.png rename : mobile/branding/aurora/content/splash_v8.9.png => mobile/xul/branding/aurora/content/splash_v8.9.png rename : mobile/branding/aurora/content/splash_v9.9.png => mobile/xul/branding/aurora/content/splash_v9.9.png rename : mobile/branding/aurora/locales/Makefile.in => mobile/xul/branding/aurora/locales/Makefile.in rename : mobile/branding/aurora/locales/en-US/brand.dtd => mobile/xul/branding/aurora/locales/en-US/brand.dtd rename : mobile/branding/aurora/locales/en-US/brand.properties => mobile/xul/branding/aurora/locales/en-US/brand.properties rename : mobile/branding/aurora/locales/jar.mn => mobile/xul/branding/aurora/locales/jar.mn rename : mobile/branding/beta/Makefile.in => mobile/xul/branding/beta/Makefile.in rename : mobile/branding/beta/android-resources.mn => mobile/xul/branding/beta/android-resources.mn rename : mobile/branding/beta/configure.sh => mobile/xul/branding/beta/configure.sh rename : mobile/branding/beta/content/Makefile.in => mobile/xul/branding/beta/content/Makefile.in rename : mobile/branding/beta/content/about.png => mobile/xul/branding/beta/content/about.png rename : mobile/branding/beta/content/favicon32.png => mobile/xul/branding/beta/content/favicon32.png rename : mobile/branding/beta/content/fennec_26x26.png => mobile/xul/branding/beta/content/fennec_26x26.png rename : mobile/branding/beta/content/fennec_40x40.png => mobile/xul/branding/beta/content/fennec_40x40.png rename : mobile/branding/beta/content/fennec_48x48.png => mobile/xul/branding/beta/content/fennec_48x48.png rename : mobile/branding/beta/content/fennec_72x72.png => mobile/xul/branding/beta/content/fennec_72x72.png rename : mobile/branding/beta/content/fennec_maemo_icon26.txt => mobile/xul/branding/beta/content/fennec_maemo_icon26.txt rename : mobile/branding/beta/content/fennec_scalable.png => mobile/xul/branding/beta/content/fennec_scalable.png rename : mobile/branding/beta/content/jar.mn => mobile/xul/branding/beta/content/jar.mn rename : mobile/branding/beta/content/logo.png => mobile/xul/branding/beta/content/logo.png rename : mobile/branding/beta/content/logoWordmark.png => mobile/xul/branding/beta/content/logoWordmark.png rename : mobile/branding/beta/content/splash.png => mobile/xul/branding/beta/content/splash.png rename : mobile/branding/beta/content/splash_v8.9.png => mobile/xul/branding/beta/content/splash_v8.9.png rename : mobile/branding/beta/content/splash_v9.9.png => mobile/xul/branding/beta/content/splash_v9.9.png rename : mobile/branding/beta/locales/Makefile.in => mobile/xul/branding/beta/locales/Makefile.in rename : mobile/branding/beta/locales/en-US/brand.dtd => mobile/xul/branding/beta/locales/en-US/brand.dtd rename : mobile/branding/beta/locales/en-US/brand.properties => mobile/xul/branding/beta/locales/en-US/brand.properties rename : mobile/branding/beta/locales/jar.mn => mobile/xul/branding/beta/locales/jar.mn rename : mobile/branding/nightly/Makefile.in => mobile/xul/branding/nightly/Makefile.in rename : mobile/branding/nightly/android-resources.mn => mobile/xul/branding/nightly/android-resources.mn rename : mobile/branding/nightly/configure.sh => mobile/xul/branding/nightly/configure.sh rename : mobile/branding/nightly/content/Makefile.in => mobile/xul/branding/nightly/content/Makefile.in rename : mobile/branding/nightly/content/about.png => mobile/xul/branding/nightly/content/about.png rename : mobile/branding/nightly/content/favicon32.png => mobile/xul/branding/nightly/content/favicon32.png rename : mobile/branding/nightly/content/fennec_26x26.png => mobile/xul/branding/nightly/content/fennec_26x26.png rename : mobile/branding/nightly/content/fennec_40x40.png => mobile/xul/branding/nightly/content/fennec_40x40.png rename : mobile/branding/nightly/content/fennec_48x48.png => mobile/xul/branding/nightly/content/fennec_48x48.png rename : mobile/branding/nightly/content/fennec_72x72.png => mobile/xul/branding/nightly/content/fennec_72x72.png rename : mobile/branding/nightly/content/fennec_maemo_icon26.txt => mobile/xul/branding/nightly/content/fennec_maemo_icon26.txt rename : mobile/branding/nightly/content/fennec_scalable.png => mobile/xul/branding/nightly/content/fennec_scalable.png rename : mobile/branding/nightly/content/jar.mn => mobile/xul/branding/nightly/content/jar.mn rename : mobile/branding/nightly/content/logo.png => mobile/xul/branding/nightly/content/logo.png rename : mobile/branding/nightly/content/logoWordmark.png => mobile/xul/branding/nightly/content/logoWordmark.png rename : mobile/branding/nightly/content/splash.png => mobile/xul/branding/nightly/content/splash.png rename : mobile/branding/nightly/content/splash_v8.9.png => mobile/xul/branding/nightly/content/splash_v8.9.png rename : mobile/branding/nightly/content/splash_v9.9.png => mobile/xul/branding/nightly/content/splash_v9.9.png rename : mobile/branding/nightly/locales/Makefile.in => mobile/xul/branding/nightly/locales/Makefile.in rename : mobile/branding/nightly/locales/en-US/brand.dtd => mobile/xul/branding/nightly/locales/en-US/brand.dtd rename : mobile/branding/nightly/locales/en-US/brand.properties => mobile/xul/branding/nightly/locales/en-US/brand.properties rename : mobile/branding/nightly/locales/jar.mn => mobile/xul/branding/nightly/locales/jar.mn rename : mobile/branding/official/Makefile.in => mobile/xul/branding/official/Makefile.in rename : mobile/branding/official/android-resources.mn => mobile/xul/branding/official/android-resources.mn rename : mobile/branding/official/configure.sh => mobile/xul/branding/official/configure.sh rename : mobile/branding/official/content/Makefile.in => mobile/xul/branding/official/content/Makefile.in rename : mobile/branding/official/content/about.png => mobile/xul/branding/official/content/about.png rename : mobile/branding/official/content/favicon32.png => mobile/xul/branding/official/content/favicon32.png rename : mobile/branding/official/content/fennec_26x26.png => mobile/xul/branding/official/content/fennec_26x26.png rename : mobile/branding/official/content/fennec_40x40.png => mobile/xul/branding/official/content/fennec_40x40.png rename : mobile/branding/official/content/fennec_48x48.png => mobile/xul/branding/official/content/fennec_48x48.png rename : mobile/branding/official/content/fennec_72x72.png => mobile/xul/branding/official/content/fennec_72x72.png rename : mobile/branding/official/content/fennec_maemo_icon26.txt => mobile/xul/branding/official/content/fennec_maemo_icon26.txt rename : mobile/branding/official/content/fennec_scalable.png => mobile/xul/branding/official/content/fennec_scalable.png rename : mobile/branding/official/content/jar.mn => mobile/xul/branding/official/content/jar.mn rename : mobile/branding/official/content/logo.png => mobile/xul/branding/official/content/logo.png rename : mobile/branding/official/content/logoWordmark.png => mobile/xul/branding/official/content/logoWordmark.png rename : mobile/branding/official/content/splash.png => mobile/xul/branding/official/content/splash.png rename : mobile/branding/official/content/splash_v8.9.png => mobile/xul/branding/official/content/splash_v8.9.png rename : mobile/branding/official/content/splash_v9.9.png => mobile/xul/branding/official/content/splash_v9.9.png rename : mobile/branding/official/locales/Makefile.in => mobile/xul/branding/official/locales/Makefile.in rename : mobile/branding/official/locales/en-US/brand.dtd => mobile/xul/branding/official/locales/en-US/brand.dtd rename : mobile/branding/official/locales/en-US/brand.properties => mobile/xul/branding/official/locales/en-US/brand.properties rename : mobile/branding/official/locales/jar.mn => mobile/xul/branding/official/locales/jar.mn rename : mobile/branding/unofficial/Makefile.in => mobile/xul/branding/unofficial/Makefile.in rename : mobile/branding/unofficial/android-resources.mn => mobile/xul/branding/unofficial/android-resources.mn rename : mobile/branding/unofficial/configure.sh => mobile/xul/branding/unofficial/configure.sh rename : mobile/branding/unofficial/content/Makefile.in => mobile/xul/branding/unofficial/content/Makefile.in rename : mobile/branding/unofficial/content/about.png => mobile/xul/branding/unofficial/content/about.png rename : mobile/branding/unofficial/content/favicon32.png => mobile/xul/branding/unofficial/content/favicon32.png rename : mobile/branding/unofficial/content/fennec_26x26.png => mobile/xul/branding/unofficial/content/fennec_26x26.png rename : mobile/branding/unofficial/content/fennec_40x40.png => mobile/xul/branding/unofficial/content/fennec_40x40.png rename : mobile/branding/unofficial/content/fennec_48x48.png => mobile/xul/branding/unofficial/content/fennec_48x48.png rename : mobile/branding/unofficial/content/fennec_72x72.png => mobile/xul/branding/unofficial/content/fennec_72x72.png rename : mobile/branding/unofficial/content/fennec_maemo_icon26.txt => mobile/xul/branding/unofficial/content/fennec_maemo_icon26.txt rename : mobile/branding/unofficial/content/fennec_scalable.png => mobile/xul/branding/unofficial/content/fennec_scalable.png rename : mobile/branding/unofficial/content/jar.mn => mobile/xul/branding/unofficial/content/jar.mn rename : mobile/branding/unofficial/content/logo.png => mobile/xul/branding/unofficial/content/logo.png rename : mobile/branding/unofficial/content/logoWordmark.png => mobile/xul/branding/unofficial/content/logoWordmark.png rename : mobile/branding/unofficial/content/splash.png => mobile/xul/branding/unofficial/content/splash.png rename : mobile/branding/unofficial/content/splash_v8.9.png => mobile/xul/branding/unofficial/content/splash_v8.9.png rename : mobile/branding/unofficial/content/splash_v9.9.png => mobile/xul/branding/unofficial/content/splash_v9.9.png rename : mobile/branding/unofficial/locales/Makefile.in => mobile/xul/branding/unofficial/locales/Makefile.in rename : mobile/branding/unofficial/locales/en-US/brand.dtd => mobile/xul/branding/unofficial/locales/en-US/brand.dtd rename : mobile/branding/unofficial/locales/en-US/brand.properties => mobile/xul/branding/unofficial/locales/en-US/brand.properties rename : mobile/branding/unofficial/locales/jar.mn => mobile/xul/branding/unofficial/locales/jar.mn rename : mobile/build.mk => mobile/xul/build.mk rename : mobile/chrome/Makefile.in => mobile/xul/chrome/Makefile.in rename : mobile/chrome/content/AlertsHelper.js => mobile/xul/chrome/content/AlertsHelper.js rename : mobile/chrome/content/AnimatedZoom.js => mobile/xul/chrome/content/AnimatedZoom.js rename : mobile/chrome/content/AppMenu.js => mobile/xul/chrome/content/AppMenu.js rename : mobile/chrome/content/AwesomePanel.js => mobile/xul/chrome/content/AwesomePanel.js rename : mobile/chrome/content/BookmarkHelper.js => mobile/xul/chrome/content/BookmarkHelper.js rename : mobile/chrome/content/BookmarkPopup.js => mobile/xul/chrome/content/BookmarkPopup.js rename : mobile/chrome/content/CaptureDialog.js => mobile/xul/chrome/content/CaptureDialog.js rename : mobile/chrome/content/CaptureDialog.xul => mobile/xul/chrome/content/CaptureDialog.xul rename : mobile/chrome/content/CapturePickerUI.js => mobile/xul/chrome/content/CapturePickerUI.js rename : mobile/chrome/content/CharsetMenu.js => mobile/xul/chrome/content/CharsetMenu.js rename : mobile/chrome/content/ContentPopupHelper.js => mobile/xul/chrome/content/ContentPopupHelper.js rename : mobile/chrome/content/ContextCommands.js => mobile/xul/chrome/content/ContextCommands.js rename : mobile/chrome/content/IndexedDB.js => mobile/xul/chrome/content/IndexedDB.js rename : mobile/chrome/content/LoginManagerChild.js => mobile/xul/chrome/content/LoginManagerChild.js rename : mobile/chrome/content/MasterPasswordUI.js => mobile/xul/chrome/content/MasterPasswordUI.js rename : mobile/chrome/content/MenuListHelperUI.js => mobile/xul/chrome/content/MenuListHelperUI.js rename : mobile/chrome/content/OfflineApps.js => mobile/xul/chrome/content/OfflineApps.js rename : mobile/chrome/content/PageActions.js => mobile/xul/chrome/content/PageActions.js rename : mobile/chrome/content/SelectHelperUI.js => mobile/xul/chrome/content/SelectHelperUI.js rename : mobile/chrome/content/SelectionHelper.js => mobile/xul/chrome/content/SelectionHelper.js rename : mobile/chrome/content/SharingUI.js => mobile/xul/chrome/content/SharingUI.js rename : mobile/chrome/content/TabletSidebar.js => mobile/xul/chrome/content/TabletSidebar.js rename : mobile/chrome/content/TabsPopup.js => mobile/xul/chrome/content/TabsPopup.js rename : mobile/chrome/content/Util.js => mobile/xul/chrome/content/Util.js rename : mobile/chrome/content/WebappsUI.js => mobile/xul/chrome/content/WebappsUI.js rename : mobile/chrome/content/about.xhtml => mobile/xul/chrome/content/about.xhtml rename : mobile/chrome/content/aboutCertError.xhtml => mobile/xul/chrome/content/aboutCertError.xhtml rename : mobile/chrome/content/aboutHome.xhtml => mobile/xul/chrome/content/aboutHome.xhtml rename : mobile/chrome/content/aboutRights.xhtml => mobile/xul/chrome/content/aboutRights.xhtml rename : mobile/chrome/content/bindings.xml => mobile/xul/chrome/content/bindings.xml rename : mobile/chrome/content/bindings/arrowbox.xml => mobile/xul/chrome/content/bindings/arrowbox.xml rename : mobile/chrome/content/bindings/browser.js => mobile/xul/chrome/content/bindings/browser.js rename : mobile/chrome/content/bindings/browser.xml => mobile/xul/chrome/content/bindings/browser.xml rename : mobile/chrome/content/bindings/checkbox.xml => mobile/xul/chrome/content/bindings/checkbox.xml rename : mobile/chrome/content/bindings/console.xml => mobile/xul/chrome/content/bindings/console.xml rename : mobile/chrome/content/bindings/dialog.xml => mobile/xul/chrome/content/bindings/dialog.xml rename : mobile/chrome/content/bindings/downloads.xml => mobile/xul/chrome/content/bindings/downloads.xml rename : mobile/chrome/content/bindings/extensions.xml => mobile/xul/chrome/content/bindings/extensions.xml rename : mobile/chrome/content/bindings/pageaction.xml => mobile/xul/chrome/content/bindings/pageaction.xml rename : mobile/chrome/content/blockedSite.xhtml => mobile/xul/chrome/content/blockedSite.xhtml rename : mobile/chrome/content/browser-scripts.js => mobile/xul/chrome/content/browser-scripts.js rename : mobile/chrome/content/browser-ui.js => mobile/xul/chrome/content/browser-ui.js rename : mobile/chrome/content/browser.css => mobile/xul/chrome/content/browser.css rename : mobile/chrome/content/browser.js => mobile/xul/chrome/content/browser.js rename : mobile/chrome/content/browser.xul => mobile/xul/chrome/content/browser.xul rename : mobile/chrome/content/commandUtil.js => mobile/xul/chrome/content/commandUtil.js rename : mobile/chrome/content/common-ui.js => mobile/xul/chrome/content/common-ui.js rename : mobile/chrome/content/config.js => mobile/xul/chrome/content/config.js rename : mobile/chrome/content/config.xul => mobile/xul/chrome/content/config.xul rename : mobile/chrome/content/console.js => mobile/xul/chrome/content/console.js rename : mobile/chrome/content/content.js => mobile/xul/chrome/content/content.js rename : mobile/chrome/content/cursor.css => mobile/xul/chrome/content/cursor.css rename : mobile/chrome/content/downloads.js => mobile/xul/chrome/content/downloads.js rename : mobile/chrome/content/exceptions.js => mobile/xul/chrome/content/exceptions.js rename : mobile/chrome/content/extensions.js => mobile/xul/chrome/content/extensions.js rename : mobile/chrome/content/forms.js => mobile/xul/chrome/content/forms.js rename : mobile/chrome/content/fullscreen-video.js => mobile/xul/chrome/content/fullscreen-video.js rename : mobile/chrome/content/fullscreen-video.xhtml => mobile/xul/chrome/content/fullscreen-video.xhtml rename : mobile/chrome/content/input.js => mobile/xul/chrome/content/input.js rename : mobile/chrome/content/languages.properties => mobile/xul/chrome/content/languages.properties rename : mobile/chrome/content/localePicker.js => mobile/xul/chrome/content/localePicker.js rename : mobile/chrome/content/localePicker.xul => mobile/xul/chrome/content/localePicker.xul rename : mobile/chrome/content/masterPassword.xul => mobile/xul/chrome/content/masterPassword.xul rename : mobile/chrome/content/netError.xhtml => mobile/xul/chrome/content/netError.xhtml rename : mobile/chrome/content/notification.xml => mobile/xul/chrome/content/notification.xml rename : mobile/chrome/content/preferences.js => mobile/xul/chrome/content/preferences.js rename : mobile/chrome/content/prompt/alert.xul => mobile/xul/chrome/content/prompt/alert.xul rename : mobile/chrome/content/prompt/confirm.xul => mobile/xul/chrome/content/prompt/confirm.xul rename : mobile/chrome/content/prompt/prompt.js => mobile/xul/chrome/content/prompt/prompt.js rename : mobile/chrome/content/prompt/prompt.xul => mobile/xul/chrome/content/prompt/prompt.xul rename : mobile/chrome/content/prompt/promptPassword.xul => mobile/xul/chrome/content/prompt/promptPassword.xul rename : mobile/chrome/content/prompt/select.xul => mobile/xul/chrome/content/prompt/select.xul rename : mobile/chrome/content/removeMasterPassword.xul => mobile/xul/chrome/content/removeMasterPassword.xul rename : mobile/chrome/content/sanitize.js => mobile/xul/chrome/content/sanitize.js rename : mobile/chrome/content/share.xul => mobile/xul/chrome/content/share.xul rename : mobile/chrome/content/sync.js => mobile/xul/chrome/content/sync.js rename : mobile/chrome/content/tabs.xml => mobile/xul/chrome/content/tabs.xml rename : mobile/chrome/content/webapps.xul => mobile/xul/chrome/content/webapps.xul rename : mobile/chrome/jar.mn => mobile/xul/chrome/jar.mn rename : mobile/chrome/tests/Makefile.in => mobile/xul/chrome/tests/Makefile.in rename : mobile/chrome/tests/addons/browser_install1_1/bootstrap.js => mobile/xul/chrome/tests/addons/browser_install1_1/bootstrap.js rename : mobile/chrome/tests/addons/browser_install1_1/install.rdf => mobile/xul/chrome/tests/addons/browser_install1_1/install.rdf rename : mobile/chrome/tests/addons/browser_install1_2/install.rdf => mobile/xul/chrome/tests/addons/browser_install1_2/install.rdf rename : mobile/chrome/tests/addons/browser_install1_3/install.rdf => mobile/xul/chrome/tests/addons/browser_install1_3/install.rdf rename : mobile/chrome/tests/addons/browser_locale1/boostrap.js => mobile/xul/chrome/tests/addons/browser_locale1/boostrap.js rename : mobile/chrome/tests/addons/browser_locale1/chrome.manifest => mobile/xul/chrome/tests/addons/browser_locale1/chrome.manifest rename : mobile/chrome/tests/addons/browser_locale1/install.rdf => mobile/xul/chrome/tests/addons/browser_locale1/install.rdf rename : mobile/chrome/tests/browser_addons.js => mobile/xul/chrome/tests/browser_addons.js rename : mobile/chrome/tests/browser_addons_locales.js => mobile/xul/chrome/tests/browser_addons_locales.js rename : mobile/chrome/tests/browser_appmenu.js => mobile/xul/chrome/tests/browser_appmenu.js rename : mobile/chrome/tests/browser_autocomplete.html => mobile/xul/chrome/tests/browser_autocomplete.html rename : mobile/chrome/tests/browser_autocomplete.js => mobile/xul/chrome/tests/browser_autocomplete.js rename : mobile/chrome/tests/browser_autocompletesearch.js => mobile/xul/chrome/tests/browser_autocompletesearch.js rename : mobile/chrome/tests/browser_awesomescreen.js => mobile/xul/chrome/tests/browser_awesomescreen.js rename : mobile/chrome/tests/browser_blank_01.html => mobile/xul/chrome/tests/browser_blank_01.html rename : mobile/chrome/tests/browser_blank_02.html => mobile/xul/chrome/tests/browser_blank_02.html rename : mobile/chrome/tests/browser_blank_03.html => mobile/xul/chrome/tests/browser_blank_03.html rename : mobile/chrome/tests/browser_bookmarks.js => mobile/xul/chrome/tests/browser_bookmarks.js rename : mobile/chrome/tests/browser_bookmarks_star.js => mobile/xul/chrome/tests/browser_bookmarks_star.js rename : mobile/chrome/tests/browser_bookmarks_tags.js => mobile/xul/chrome/tests/browser_bookmarks_tags.js rename : mobile/chrome/tests/browser_click_content.html => mobile/xul/chrome/tests/browser_click_content.html rename : mobile/chrome/tests/browser_click_content.js => mobile/xul/chrome/tests/browser_click_content.js rename : mobile/chrome/tests/browser_contacts.js => mobile/xul/chrome/tests/browser_contacts.js rename : mobile/chrome/tests/browser_contentpopup.html => mobile/xul/chrome/tests/browser_contentpopup.html rename : mobile/chrome/tests/browser_contentpopup.js => mobile/xul/chrome/tests/browser_contentpopup.js rename : mobile/chrome/tests/browser_dragger.js => mobile/xul/chrome/tests/browser_dragger.js rename : mobile/chrome/tests/browser_escape.js => mobile/xul/chrome/tests/browser_escape.js rename : mobile/chrome/tests/browser_find.js => mobile/xul/chrome/tests/browser_find.js rename : mobile/chrome/tests/browser_focus.html => mobile/xul/chrome/tests/browser_focus.html rename : mobile/chrome/tests/browser_focus.js => mobile/xul/chrome/tests/browser_focus.js rename : mobile/chrome/tests/browser_forms.html => mobile/xul/chrome/tests/browser_forms.html rename : mobile/chrome/tests/browser_forms.js => mobile/xul/chrome/tests/browser_forms.js rename : mobile/chrome/tests/browser_formsZoom.html => mobile/xul/chrome/tests/browser_formsZoom.html rename : mobile/chrome/tests/browser_formsZoom.js => mobile/xul/chrome/tests/browser_formsZoom.js rename : mobile/chrome/tests/browser_history.js => mobile/xul/chrome/tests/browser_history.js rename : mobile/chrome/tests/browser_install.xml => mobile/xul/chrome/tests/browser_install.xml rename : mobile/chrome/tests/browser_localepicker.js => mobile/xul/chrome/tests/browser_localepicker.js rename : mobile/chrome/tests/browser_localepicker_escape.js => mobile/xul/chrome/tests/browser_localepicker_escape.js rename : mobile/chrome/tests/browser_localerepository.js => mobile/xul/chrome/tests/browser_localerepository.js rename : mobile/chrome/tests/browser_localerepository_buildid.js => mobile/xul/chrome/tests/browser_localerepository_buildid.js rename : mobile/chrome/tests/browser_localerepository_pref.js => mobile/xul/chrome/tests/browser_localerepository_pref.js rename : mobile/chrome/tests/browser_mainui.js => mobile/xul/chrome/tests/browser_mainui.js rename : mobile/chrome/tests/browser_navigation.js => mobile/xul/chrome/tests/browser_navigation.js rename : mobile/chrome/tests/browser_preferences_fulltoggle.js => mobile/xul/chrome/tests/browser_preferences_fulltoggle.js rename : mobile/chrome/tests/browser_preferences_text.js => mobile/xul/chrome/tests/browser_preferences_text.js rename : mobile/chrome/tests/browser_rect.js => mobile/xul/chrome/tests/browser_rect.js rename : mobile/chrome/tests/browser_rememberPassword.js => mobile/xul/chrome/tests/browser_rememberPassword.js rename : mobile/chrome/tests/browser_scroll.html => mobile/xul/chrome/tests/browser_scroll.html rename : mobile/chrome/tests/browser_scroll.js => mobile/xul/chrome/tests/browser_scroll.js rename : mobile/chrome/tests/browser_scrollbar.js => mobile/xul/chrome/tests/browser_scrollbar.js rename : mobile/chrome/tests/browser_scrollbar.sjs => mobile/xul/chrome/tests/browser_scrollbar.sjs rename : mobile/chrome/tests/browser_select.html => mobile/xul/chrome/tests/browser_select.html rename : mobile/chrome/tests/browser_select.js => mobile/xul/chrome/tests/browser_select.js rename : mobile/chrome/tests/browser_sessionstore.js => mobile/xul/chrome/tests/browser_sessionstore.js rename : mobile/chrome/tests/browser_sidebars.js => mobile/xul/chrome/tests/browser_sidebars.js rename : mobile/chrome/tests/browser_tabs.js => mobile/xul/chrome/tests/browser_tabs.js rename : mobile/chrome/tests/browser_tap_content.html => mobile/xul/chrome/tests/browser_tap_content.html rename : mobile/chrome/tests/browser_tap_contentedit.html => mobile/xul/chrome/tests/browser_tap_contentedit.html rename : mobile/chrome/tests/browser_tapping.js => mobile/xul/chrome/tests/browser_tapping.js rename : mobile/chrome/tests/browser_tapping_edit.js => mobile/xul/chrome/tests/browser_tapping_edit.js rename : mobile/chrome/tests/browser_test.js => mobile/xul/chrome/tests/browser_test.js rename : mobile/chrome/tests/browser_thumbnails.js => mobile/xul/chrome/tests/browser_thumbnails.js rename : mobile/chrome/tests/browser_title.sjs => mobile/xul/chrome/tests/browser_title.sjs rename : mobile/chrome/tests/browser_upgrade.rdf => mobile/xul/chrome/tests/browser_upgrade.rdf rename : mobile/chrome/tests/browser_viewport.js => mobile/xul/chrome/tests/browser_viewport.js rename : mobile/chrome/tests/browser_viewport.sjs => mobile/xul/chrome/tests/browser_viewport.sjs rename : mobile/chrome/tests/browser_vkb.js => mobile/xul/chrome/tests/browser_vkb.js rename : mobile/chrome/tests/head.js => mobile/xul/chrome/tests/head.js rename : mobile/chrome/tests/locales_list.sjs => mobile/xul/chrome/tests/locales_list.sjs rename : mobile/chrome/tests/mock_autocomplete.json => mobile/xul/chrome/tests/mock_autocomplete.json rename : mobile/chrome/tests/remote_autocomplete.js => mobile/xul/chrome/tests/remote_autocomplete.js rename : mobile/chrome/tests/remote_contentpopup.js => mobile/xul/chrome/tests/remote_contentpopup.js rename : mobile/chrome/tests/remote_focus.js => mobile/xul/chrome/tests/remote_focus.js rename : mobile/chrome/tests/remote_forms.js => mobile/xul/chrome/tests/remote_forms.js rename : mobile/chrome/tests/remote_formsZoom.js => mobile/xul/chrome/tests/remote_formsZoom.js rename : mobile/chrome/tests/remote_head.js => mobile/xul/chrome/tests/remote_head.js rename : mobile/chrome/tests/remote_vkb.js => mobile/xul/chrome/tests/remote_vkb.js rename : mobile/components/AboutRedirector.js => mobile/xul/components/AboutRedirector.js rename : mobile/components/AddonUpdateService.js => mobile/xul/components/AddonUpdateService.js rename : mobile/components/AlertsService.js => mobile/xul/components/AlertsService.js rename : mobile/components/AutoCompleteCache.js => mobile/xul/components/AutoCompleteCache.js rename : mobile/components/BlocklistPrompt.js => mobile/xul/components/BlocklistPrompt.js rename : mobile/components/BrowserCLH.js => mobile/xul/components/BrowserCLH.js rename : mobile/components/BrowserStartup.js => mobile/xul/components/BrowserStartup.js rename : mobile/components/CapturePicker.js => mobile/xul/components/CapturePicker.js rename : mobile/components/ContentDispatchChooser.js => mobile/xul/components/ContentDispatchChooser.js rename : mobile/components/ContentPermissionPrompt.js => mobile/xul/components/ContentPermissionPrompt.js rename : mobile/components/DirectoryProvider.js => mobile/xul/components/DirectoryProvider.js rename : mobile/components/DownloadManagerUI.js => mobile/xul/components/DownloadManagerUI.js rename : mobile/components/FormAutoComplete.js => mobile/xul/components/FormAutoComplete.js rename : mobile/components/HelperAppDialog.js => mobile/xul/components/HelperAppDialog.js rename : mobile/components/LoginManager.js => mobile/xul/components/LoginManager.js rename : mobile/components/LoginManagerPrompter.idl => mobile/xul/components/LoginManagerPrompter.idl rename : mobile/components/LoginManagerPrompter.js => mobile/xul/components/LoginManagerPrompter.js rename : mobile/components/Makefile.in => mobile/xul/components/Makefile.in rename : mobile/components/MobileComponents.manifest => mobile/xul/components/MobileComponents.manifest rename : mobile/components/PromptService.js => mobile/xul/components/PromptService.js rename : mobile/components/SafeBrowsing.js => mobile/xul/components/SafeBrowsing.js rename : mobile/components/SessionStore.idl => mobile/xul/components/SessionStore.idl rename : mobile/components/SessionStore.js => mobile/xul/components/SessionStore.js rename : mobile/components/Sidebar.js => mobile/xul/components/Sidebar.js rename : mobile/components/UpdatePrompt.js => mobile/xul/components/UpdatePrompt.js rename : mobile/components/XPIDialogService.js => mobile/xul/components/XPIDialogService.js rename : mobile/components/build/Makefile.in => mobile/xul/components/build/Makefile.in rename : mobile/components/build/nsBrowserComponents.h => mobile/xul/components/build/nsBrowserComponents.h rename : mobile/components/build/nsBrowserModule.cpp => mobile/xul/components/build/nsBrowserModule.cpp rename : mobile/components/build/nsIShellService.idl => mobile/xul/components/build/nsIShellService.idl rename : mobile/components/build/nsShellService.cpp => mobile/xul/components/build/nsShellService.cpp rename : mobile/components/build/nsShellService.h => mobile/xul/components/build/nsShellService.h rename : mobile/config/mozconfigs/android/debug => mobile/xul/config/mozconfigs/android/debug rename : mobile/config/mozconfigs/android/nightly => mobile/xul/config/mozconfigs/android/nightly rename : mobile/config/mozconfigs/linux-desktop/l10n-mozconfig => mobile/xul/config/mozconfigs/linux-desktop/l10n-mozconfig rename : mobile/config/mozconfigs/linux-desktop/nightly => mobile/xul/config/mozconfigs/linux-desktop/nightly rename : mobile/config/mozconfigs/macosx-desktop/l10n-mozconfig => mobile/xul/config/mozconfigs/macosx-desktop/l10n-mozconfig rename : mobile/config/mozconfigs/macosx-desktop/nightly => mobile/xul/config/mozconfigs/macosx-desktop/nightly rename : mobile/config/mozconfigs/win32-desktop/l10n-mozconfig => mobile/xul/config/mozconfigs/win32-desktop/l10n-mozconfig rename : mobile/config/mozconfigs/win32-desktop/nightly => mobile/xul/config/mozconfigs/win32-desktop/nightly rename : mobile/confvars.sh => mobile/xul/confvars.sh rename : mobile/installer/Makefile.in => mobile/xul/installer/Makefile.in rename : mobile/installer/debian/backup.in => mobile/xul/installer/debian/backup.in rename : mobile/installer/debian/changelog.in => mobile/xul/installer/debian/changelog.in rename : mobile/installer/debian/compat.in => mobile/xul/installer/debian/compat.in rename : mobile/installer/debian/control.in => mobile/xul/installer/debian/control.in rename : mobile/installer/debian/fennec-cud.sh.in => mobile/xul/installer/debian/fennec-cud.sh.in rename : mobile/installer/debian/fennec-rfs.sh.in => mobile/xul/installer/debian/fennec-rfs.sh.in rename : mobile/installer/debian/fennec.aegis.in => mobile/xul/installer/debian/fennec.aegis.in rename : mobile/installer/debian/fennec.conf.in => mobile/xul/installer/debian/fennec.conf.in rename : mobile/installer/debian/fennec.desktop.in => mobile/xul/installer/debian/fennec.desktop.in rename : mobile/installer/debian/fennec.links.in => mobile/xul/installer/debian/fennec.links.in rename : mobile/installer/debian/fennec.policy.in => mobile/xul/installer/debian/fennec.policy.in rename : mobile/installer/debian/fennec.postinst.in => mobile/xul/installer/debian/fennec.postinst.in rename : mobile/installer/debian/fennec.preinst.in => mobile/xul/installer/debian/fennec.preinst.in rename : mobile/installer/debian/fennec.prerm.in => mobile/xul/installer/debian/fennec.prerm.in rename : mobile/installer/debian/fennec.service.in => mobile/xul/installer/debian/fennec.service.in rename : mobile/installer/debian/files.in => mobile/xul/installer/debian/files.in rename : mobile/installer/debian/menu.in => mobile/xul/installer/debian/menu.in rename : mobile/installer/debian/restore.in => mobile/xul/installer/debian/restore.in rename : mobile/installer/mobile-l10n.js => mobile/xul/installer/mobile-l10n.js rename : mobile/installer/package-manifest.in => mobile/xul/installer/package-manifest.in rename : mobile/installer/removed-files.in => mobile/xul/installer/removed-files.in rename : mobile/locales/Makefile.in => mobile/xul/locales/Makefile.in rename : mobile/locales/all-locales => mobile/xul/locales/all-locales rename : mobile/locales/en-US/chrome/about.dtd => mobile/xul/locales/en-US/chrome/about.dtd rename : mobile/locales/en-US/chrome/aboutCertError.dtd => mobile/xul/locales/en-US/chrome/aboutCertError.dtd rename : mobile/locales/en-US/chrome/aboutHome.dtd => mobile/xul/locales/en-US/chrome/aboutHome.dtd rename : mobile/locales/en-US/chrome/browser.dtd => mobile/xul/locales/en-US/chrome/browser.dtd rename : mobile/locales/en-US/chrome/browser.properties => mobile/xul/locales/en-US/chrome/browser.properties rename : mobile/locales/en-US/chrome/checkbox.dtd => mobile/xul/locales/en-US/chrome/checkbox.dtd rename : mobile/locales/en-US/chrome/config.dtd => mobile/xul/locales/en-US/chrome/config.dtd rename : mobile/locales/en-US/chrome/feedback.dtd => mobile/xul/locales/en-US/chrome/feedback.dtd rename : mobile/locales/en-US/chrome/localepicker.properties => mobile/xul/locales/en-US/chrome/localepicker.properties rename : mobile/locales/en-US/chrome/notification.dtd => mobile/xul/locales/en-US/chrome/notification.dtd rename : mobile/locales/en-US/chrome/overrides/appstrings.properties => mobile/xul/locales/en-US/chrome/overrides/appstrings.properties rename : mobile/locales/en-US/chrome/overrides/netError.dtd => mobile/xul/locales/en-US/chrome/overrides/netError.dtd rename : mobile/locales/en-US/chrome/overrides/passwordmgr.properties => mobile/xul/locales/en-US/chrome/overrides/passwordmgr.properties rename : mobile/locales/en-US/chrome/phishing.dtd => mobile/xul/locales/en-US/chrome/phishing.dtd rename : mobile/locales/en-US/chrome/preferences.dtd => mobile/xul/locales/en-US/chrome/preferences.dtd rename : mobile/locales/en-US/chrome/prompt.dtd => mobile/xul/locales/en-US/chrome/prompt.dtd rename : mobile/locales/en-US/chrome/region.properties => mobile/xul/locales/en-US/chrome/region.properties rename : mobile/locales/en-US/chrome/sync.dtd => mobile/xul/locales/en-US/chrome/sync.dtd rename : mobile/locales/en-US/chrome/sync.properties => mobile/xul/locales/en-US/chrome/sync.properties rename : mobile/locales/en-US/chrome/webapps.dtd => mobile/xul/locales/en-US/chrome/webapps.dtd rename : mobile/locales/en-US/crashreporter/crashreporter-override.ini => mobile/xul/locales/en-US/crashreporter/crashreporter-override.ini rename : mobile/locales/en-US/defines.inc => mobile/xul/locales/en-US/defines.inc rename : mobile/locales/en-US/installer/setup.ini => mobile/xul/locales/en-US/installer/setup.ini rename : mobile/locales/en-US/mobile-l10n.js => mobile/xul/locales/en-US/mobile-l10n.js rename : mobile/locales/en-US/profile/bookmarks.inc => mobile/xul/locales/en-US/profile/bookmarks.inc rename : mobile/locales/en-US/searchplugins/amazondotcom.xml => mobile/xul/locales/en-US/searchplugins/amazondotcom.xml rename : mobile/locales/en-US/searchplugins/google.xml => mobile/xul/locales/en-US/searchplugins/google.xml rename : mobile/locales/en-US/searchplugins/list.txt => mobile/xul/locales/en-US/searchplugins/list.txt rename : mobile/locales/en-US/searchplugins/twitter.xml => mobile/xul/locales/en-US/searchplugins/twitter.xml rename : mobile/locales/en-US/searchplugins/wikipedia.xml => mobile/xul/locales/en-US/searchplugins/wikipedia.xml rename : mobile/locales/en-US/searchplugins/yahoo.xml => mobile/xul/locales/en-US/searchplugins/yahoo.xml rename : mobile/locales/en-US/updater/updater.ini => mobile/xul/locales/en-US/updater/updater.ini rename : mobile/locales/filter.py => mobile/xul/locales/filter.py rename : mobile/locales/generic/install.rdf => mobile/xul/locales/generic/install.rdf rename : mobile/locales/generic/profile/bookmarks.json.in => mobile/xul/locales/generic/profile/bookmarks.json.in rename : mobile/locales/jar.mn => mobile/xul/locales/jar.mn rename : mobile/locales/l10n-central.ini => mobile/xul/locales/l10n-central.ini rename : mobile/locales/l10n-mozilla-1.9.2.ini => mobile/xul/locales/l10n-mozilla-1.9.2.ini rename : mobile/locales/l10n-mozilla-2.0.ini => mobile/xul/locales/l10n-mozilla-2.0.ini rename : mobile/locales/l10n.ini => mobile/xul/locales/l10n.ini rename : mobile/locales/maemo-locales => mobile/xul/locales/maemo-locales rename : mobile/makefiles.sh => mobile/xul/makefiles.sh rename : mobile/modules/LocaleRepository.jsm => mobile/xul/modules/LocaleRepository.jsm rename : mobile/modules/Makefile.in => mobile/xul/modules/Makefile.in rename : mobile/modules/contacts.jsm => mobile/xul/modules/contacts.jsm rename : mobile/modules/linuxTypes.jsm => mobile/xul/modules/linuxTypes.jsm rename : mobile/modules/video.jsm => mobile/xul/modules/video.jsm rename : mobile/themes/core/Makefile.in => mobile/xul/themes/core/Makefile.in rename : mobile/themes/core/about.css => mobile/xul/themes/core/about.css rename : mobile/themes/core/aboutHome.css => mobile/xul/themes/core/aboutHome.css rename : mobile/themes/core/aboutPage.css => mobile/xul/themes/core/aboutPage.css rename : mobile/themes/core/browser.css => mobile/xul/themes/core/browser.css rename : mobile/themes/core/config.css => mobile/xul/themes/core/config.css rename : mobile/themes/core/content.css => mobile/xul/themes/core/content.css rename : mobile/themes/core/defines.inc => mobile/xul/themes/core/defines.inc rename : mobile/themes/core/forms.css => mobile/xul/themes/core/forms.css rename : mobile/themes/core/gingerbread/browser.css => mobile/xul/themes/core/gingerbread/browser.css rename : mobile/themes/core/gingerbread/content.css => mobile/xul/themes/core/gingerbread/content.css rename : mobile/themes/core/gingerbread/defines.inc => mobile/xul/themes/core/gingerbread/defines.inc rename : mobile/themes/core/gingerbread/forms.css => mobile/xul/themes/core/gingerbread/forms.css rename : mobile/themes/core/gingerbread/images/aboutBackground.jpg => mobile/xul/themes/core/gingerbread/images/aboutBackground.jpg rename : mobile/themes/core/gingerbread/images/addons-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/addons-default-hdpi.png rename : mobile/themes/core/gingerbread/images/alert-addons-30.png => mobile/xul/themes/core/gingerbread/images/alert-addons-30.png rename : mobile/themes/core/gingerbread/images/alert-downloads-30.png => mobile/xul/themes/core/gingerbread/images/alert-downloads-30.png rename : mobile/themes/core/gingerbread/images/allpages-48.png => mobile/xul/themes/core/gingerbread/images/allpages-48.png rename : mobile/themes/core/gingerbread/images/appmenu-active-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-active-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-addons-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-addons-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-downloads-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-downloads-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-findinpage-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-findinpage-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-more-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-more-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-preferences-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-preferences-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-share-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-share-hdpi.png rename : mobile/themes/core/gingerbread/images/appmenu-site-hdpi.png => mobile/xul/themes/core/gingerbread/images/appmenu-site-hdpi.png rename : mobile/themes/core/gingerbread/images/arrowbox-down.png => mobile/xul/themes/core/gingerbread/images/arrowbox-down.png rename : mobile/themes/core/gingerbread/images/arrowbox-horiz.png => mobile/xul/themes/core/gingerbread/images/arrowbox-horiz.png rename : mobile/themes/core/gingerbread/images/arrowbox-up.png => mobile/xul/themes/core/gingerbread/images/arrowbox-up.png rename : mobile/themes/core/gingerbread/images/arrowdown-16.png => mobile/xul/themes/core/gingerbread/images/arrowdown-16.png rename : mobile/themes/core/gingerbread/images/arrowdowndark-16.png => mobile/xul/themes/core/gingerbread/images/arrowdowndark-16.png rename : mobile/themes/core/gingerbread/images/arrowleft-16.png => mobile/xul/themes/core/gingerbread/images/arrowleft-16.png rename : mobile/themes/core/gingerbread/images/arrowleftdark-16.png => mobile/xul/themes/core/gingerbread/images/arrowleftdark-16.png rename : mobile/themes/core/gingerbread/images/arrowright-16.png => mobile/xul/themes/core/gingerbread/images/arrowright-16.png rename : mobile/themes/core/gingerbread/images/arrowrightdark-16.png => mobile/xul/themes/core/gingerbread/images/arrowrightdark-16.png rename : mobile/themes/core/gingerbread/images/arrowup-16.png => mobile/xul/themes/core/gingerbread/images/arrowup-16.png rename : mobile/themes/core/gingerbread/images/arrowupdark-16.png => mobile/xul/themes/core/gingerbread/images/arrowupdark-16.png rename : mobile/themes/core/gingerbread/images/autocomplete-bookmarked-hdpi.png => mobile/xul/themes/core/gingerbread/images/autocomplete-bookmarked-hdpi.png rename : mobile/themes/core/gingerbread/images/autocomplete-desktop-hdpi.png => mobile/xul/themes/core/gingerbread/images/autocomplete-desktop-hdpi.png rename : mobile/themes/core/gingerbread/images/autocomplete-search-hdpi.png => mobile/xul/themes/core/gingerbread/images/autocomplete-search-hdpi.png rename : mobile/themes/core/gingerbread/images/back-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/back-default-hdpi.png rename : mobile/themes/core/gingerbread/images/bookmark-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/bookmark-default-hdpi.png rename : mobile/themes/core/gingerbread/images/bookmark-starred-hdpi.png => mobile/xul/themes/core/gingerbread/images/bookmark-starred-hdpi.png rename : mobile/themes/core/gingerbread/images/bookmarks-48.png => mobile/xul/themes/core/gingerbread/images/bookmarks-48.png rename : mobile/themes/core/gingerbread/images/browseaddons-bg.jpg => mobile/xul/themes/core/gingerbread/images/browseaddons-bg.jpg rename : mobile/themes/core/gingerbread/images/button-bg.png => mobile/xul/themes/core/gingerbread/images/button-bg.png rename : mobile/themes/core/gingerbread/images/check-30.png => mobile/xul/themes/core/gingerbread/images/check-30.png rename : mobile/themes/core/gingerbread/images/check-selected-hdpi.png => mobile/xul/themes/core/gingerbread/images/check-selected-hdpi.png rename : mobile/themes/core/gingerbread/images/check-unselected-hdpi.png => mobile/xul/themes/core/gingerbread/images/check-unselected-hdpi.png rename : mobile/themes/core/gingerbread/images/close-active-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-active-hdpi.png rename : mobile/themes/core/gingerbread/images/close-active-tablet-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-active-tablet-hdpi.png rename : mobile/themes/core/gingerbread/images/close-background-hdpi-rtl.png => mobile/xul/themes/core/gingerbread/images/close-background-hdpi-rtl.png rename : mobile/themes/core/gingerbread/images/close-background-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-background-hdpi.png rename : mobile/themes/core/gingerbread/images/close-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-default-hdpi.png rename : mobile/themes/core/gingerbread/images/close-default-tablet-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-default-tablet-hdpi.png rename : mobile/themes/core/gingerbread/images/close-inactive-tab-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-inactive-tab-hdpi.png rename : mobile/themes/core/gingerbread/images/close-inactive-tab-tablet-hdpi.png => mobile/xul/themes/core/gingerbread/images/close-inactive-tab-tablet-hdpi.png rename : mobile/themes/core/gingerbread/images/console-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/console-default-hdpi.png rename : mobile/themes/core/gingerbread/images/downloads-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/downloads-default-hdpi.png rename : mobile/themes/core/gingerbread/images/dropmarker-hdpi.png => mobile/xul/themes/core/gingerbread/images/dropmarker-hdpi.png rename : mobile/themes/core/gingerbread/images/endcap-active-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-active-bg.png rename : mobile/themes/core/gingerbread/images/endcap-default-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-default-bg.png rename : mobile/themes/core/gingerbread/images/endcap-ev-active-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-ev-active-bg.png rename : mobile/themes/core/gingerbread/images/endcap-ev-default-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-ev-default-bg.png rename : mobile/themes/core/gingerbread/images/endcap-ssl-active-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-ssl-active-bg.png rename : mobile/themes/core/gingerbread/images/endcap-ssl-default-bg.png => mobile/xul/themes/core/gingerbread/images/endcap-ssl-default-bg.png rename : mobile/themes/core/gingerbread/images/errorpage-larry-black.png => mobile/xul/themes/core/gingerbread/images/errorpage-larry-black.png rename : mobile/themes/core/gingerbread/images/errorpage-larry-white.png => mobile/xul/themes/core/gingerbread/images/errorpage-larry-white.png rename : mobile/themes/core/gingerbread/images/errorpage-warning.png => mobile/xul/themes/core/gingerbread/images/errorpage-warning.png rename : mobile/themes/core/gingerbread/images/favicon-default-32.png => mobile/xul/themes/core/gingerbread/images/favicon-default-32.png rename : mobile/themes/core/gingerbread/images/folder-32.png => mobile/xul/themes/core/gingerbread/images/folder-32.png rename : mobile/themes/core/gingerbread/images/forward-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/forward-default-hdpi.png rename : mobile/themes/core/gingerbread/images/handle-end.png => mobile/xul/themes/core/gingerbread/images/handle-end.png rename : mobile/themes/core/gingerbread/images/handle-start.png => mobile/xul/themes/core/gingerbread/images/handle-start.png rename : mobile/themes/core/gingerbread/images/history-48.png => mobile/xul/themes/core/gingerbread/images/history-48.png rename : mobile/themes/core/gingerbread/images/identity-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/identity-default-hdpi.png rename : mobile/themes/core/gingerbread/images/identity-ev-hdpi.png => mobile/xul/themes/core/gingerbread/images/identity-ev-hdpi.png rename : mobile/themes/core/gingerbread/images/identity-ssl-hdpi.png => mobile/xul/themes/core/gingerbread/images/identity-ssl-hdpi.png rename : mobile/themes/core/gingerbread/images/locked-hdpi.png => mobile/xul/themes/core/gingerbread/images/locked-hdpi.png rename : mobile/themes/core/gingerbread/images/mute-hdpi.png => mobile/xul/themes/core/gingerbread/images/mute-hdpi.png rename : mobile/themes/core/gingerbread/images/navigation-magnifier-30.png => mobile/xul/themes/core/gingerbread/images/navigation-magnifier-30.png rename : mobile/themes/core/gingerbread/images/newtab-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/newtab-default-hdpi.png rename : mobile/themes/core/gingerbread/images/newtab-default-tablet-hdpi.png => mobile/xul/themes/core/gingerbread/images/newtab-default-tablet-hdpi.png rename : mobile/themes/core/gingerbread/images/next-disabled-hdpi.png => mobile/xul/themes/core/gingerbread/images/next-disabled-hdpi.png rename : mobile/themes/core/gingerbread/images/next-hdpi.png => mobile/xul/themes/core/gingerbread/images/next-hdpi.png rename : mobile/themes/core/gingerbread/images/pause-hdpi.png => mobile/xul/themes/core/gingerbread/images/pause-hdpi.png rename : mobile/themes/core/gingerbread/images/play-hdpi.png => mobile/xul/themes/core/gingerbread/images/play-hdpi.png rename : mobile/themes/core/gingerbread/images/popup-selected-item-hdpi.png => mobile/xul/themes/core/gingerbread/images/popup-selected-item-hdpi.png rename : mobile/themes/core/gingerbread/images/preferences-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/preferences-default-hdpi.png rename : mobile/themes/core/gingerbread/images/previous-disabled-hdpi.png => mobile/xul/themes/core/gingerbread/images/previous-disabled-hdpi.png rename : mobile/themes/core/gingerbread/images/previous-hdpi.png => mobile/xul/themes/core/gingerbread/images/previous-hdpi.png rename : mobile/themes/core/gingerbread/images/radio-selected-hdpi.png => mobile/xul/themes/core/gingerbread/images/radio-selected-hdpi.png rename : mobile/themes/core/gingerbread/images/radio-unselected-hdpi.png => mobile/xul/themes/core/gingerbread/images/radio-unselected-hdpi.png rename : mobile/themes/core/gingerbread/images/reload-hdpi.png => mobile/xul/themes/core/gingerbread/images/reload-hdpi.png rename : mobile/themes/core/gingerbread/images/remotetabs-32.png => mobile/xul/themes/core/gingerbread/images/remotetabs-32.png rename : mobile/themes/core/gingerbread/images/remotetabs-48.png => mobile/xul/themes/core/gingerbread/images/remotetabs-48.png rename : mobile/themes/core/gingerbread/images/row-header-bg.png => mobile/xul/themes/core/gingerbread/images/row-header-bg.png rename : mobile/themes/core/gingerbread/images/scrubber-hdpi.png => mobile/xul/themes/core/gingerbread/images/scrubber-hdpi.png rename : mobile/themes/core/gingerbread/images/search-clear-30.png => mobile/xul/themes/core/gingerbread/images/search-clear-30.png rename : mobile/themes/core/gingerbread/images/search-glass-30.png => mobile/xul/themes/core/gingerbread/images/search-glass-30.png rename : mobile/themes/core/gingerbread/images/settings-default-hdpi.png => mobile/xul/themes/core/gingerbread/images/settings-default-hdpi.png rename : mobile/themes/core/gingerbread/images/stop-hdpi.png => mobile/xul/themes/core/gingerbread/images/stop-hdpi.png rename : mobile/themes/core/gingerbread/images/tab-active-hdpi.png => mobile/xul/themes/core/gingerbread/images/tab-active-hdpi.png rename : mobile/themes/core/gingerbread/images/tab-closed-hdpi.png => mobile/xul/themes/core/gingerbread/images/tab-closed-hdpi.png rename : mobile/themes/core/gingerbread/images/tab-inactive-hdpi.png => mobile/xul/themes/core/gingerbread/images/tab-inactive-hdpi.png rename : mobile/themes/core/gingerbread/images/tab-reopen-hdpi.png => mobile/xul/themes/core/gingerbread/images/tab-reopen-hdpi.png rename : mobile/themes/core/gingerbread/images/tab-reopen-tablet-hdpi.png => mobile/xul/themes/core/gingerbread/images/tab-reopen-tablet-hdpi.png rename : mobile/themes/core/gingerbread/images/task-back-hdpi.png => mobile/xul/themes/core/gingerbread/images/task-back-hdpi.png rename : mobile/themes/core/gingerbread/images/task-back-rtl-hdpi.png => mobile/xul/themes/core/gingerbread/images/task-back-rtl-hdpi.png rename : mobile/themes/core/gingerbread/images/task-close-hdpi.png => mobile/xul/themes/core/gingerbread/images/task-close-hdpi.png rename : mobile/themes/core/gingerbread/images/task-switch-hdpi.png => mobile/xul/themes/core/gingerbread/images/task-switch-hdpi.png rename : mobile/themes/core/gingerbread/images/textbox-bg.png => mobile/xul/themes/core/gingerbread/images/textbox-bg.png rename : mobile/themes/core/gingerbread/images/throbber.png => mobile/xul/themes/core/gingerbread/images/throbber.png rename : mobile/themes/core/gingerbread/images/toggle-off.png => mobile/xul/themes/core/gingerbread/images/toggle-off.png rename : mobile/themes/core/gingerbread/images/toggle-on.png => mobile/xul/themes/core/gingerbread/images/toggle-on.png rename : mobile/themes/core/gingerbread/images/unlocked-hdpi.png => mobile/xul/themes/core/gingerbread/images/unlocked-hdpi.png rename : mobile/themes/core/gingerbread/images/unmute-hdpi.png => mobile/xul/themes/core/gingerbread/images/unmute-hdpi.png rename : mobile/themes/core/gingerbread/images/urlbar-bg.png => mobile/xul/themes/core/gingerbread/images/urlbar-bg.png rename : mobile/themes/core/gingerbread/localePicker.css => mobile/xul/themes/core/gingerbread/localePicker.css rename : mobile/themes/core/gingerbread/platform.css => mobile/xul/themes/core/gingerbread/platform.css rename : mobile/themes/core/header.css => mobile/xul/themes/core/header.css rename : mobile/themes/core/honeycomb/browser.css => mobile/xul/themes/core/honeycomb/browser.css rename : mobile/themes/core/honeycomb/defines.inc => mobile/xul/themes/core/honeycomb/defines.inc rename : mobile/themes/core/honeycomb/forms.css => mobile/xul/themes/core/honeycomb/forms.css rename : mobile/themes/core/honeycomb/images/aboutBackground.jpg => mobile/xul/themes/core/honeycomb/images/aboutBackground.jpg rename : mobile/themes/core/honeycomb/images/addons-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/addons-default-hdpi.png rename : mobile/themes/core/honeycomb/images/alert-addons-30.png => mobile/xul/themes/core/honeycomb/images/alert-addons-30.png rename : mobile/themes/core/honeycomb/images/alert-downloads-30.png => mobile/xul/themes/core/honeycomb/images/alert-downloads-30.png rename : mobile/themes/core/honeycomb/images/allpages-48.png => mobile/xul/themes/core/honeycomb/images/allpages-48.png rename : mobile/themes/core/honeycomb/images/appmenu-active-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-active-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-addons-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-addons-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-addsearch-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-addsearch-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-downloads-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-downloads-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-findinpage-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-findinpage-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-more-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-more-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-preferences-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-preferences-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-saveas-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-saveas-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-share-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-share-hdpi.png rename : mobile/themes/core/honeycomb/images/appmenu-site-hdpi.png => mobile/xul/themes/core/honeycomb/images/appmenu-site-hdpi.png rename : mobile/themes/core/honeycomb/images/arrowbox-down.png => mobile/xul/themes/core/honeycomb/images/arrowbox-down.png rename : mobile/themes/core/honeycomb/images/arrowbox-horiz.png => mobile/xul/themes/core/honeycomb/images/arrowbox-horiz.png rename : mobile/themes/core/honeycomb/images/arrowbox-up.png => mobile/xul/themes/core/honeycomb/images/arrowbox-up.png rename : mobile/themes/core/honeycomb/images/arrowdown-16.png => mobile/xul/themes/core/honeycomb/images/arrowdown-16.png rename : mobile/themes/core/honeycomb/images/arrowdowndark-16.png => mobile/xul/themes/core/honeycomb/images/arrowdowndark-16.png rename : mobile/themes/core/honeycomb/images/arrowleft-16.png => mobile/xul/themes/core/honeycomb/images/arrowleft-16.png rename : mobile/themes/core/honeycomb/images/arrowleftdark-16.png => mobile/xul/themes/core/honeycomb/images/arrowleftdark-16.png rename : mobile/themes/core/honeycomb/images/arrowright-16.png => mobile/xul/themes/core/honeycomb/images/arrowright-16.png rename : mobile/themes/core/honeycomb/images/arrowrightdark-16.png => mobile/xul/themes/core/honeycomb/images/arrowrightdark-16.png rename : mobile/themes/core/honeycomb/images/arrowup-16.png => mobile/xul/themes/core/honeycomb/images/arrowup-16.png rename : mobile/themes/core/honeycomb/images/arrowupdark-16.png => mobile/xul/themes/core/honeycomb/images/arrowupdark-16.png rename : mobile/themes/core/honeycomb/images/autocomplete-all-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-all-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-all-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-all-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-bookmarked-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-bookmarked-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-bookmarked-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-bookmarked-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-desktop-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-desktop-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-desktop-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-desktop-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-history-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-history-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-history-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-history-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/autocomplete-search-hdpi.png => mobile/xul/themes/core/honeycomb/images/autocomplete-search-hdpi.png rename : mobile/themes/core/honeycomb/images/back-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/back-default-hdpi.png rename : mobile/themes/core/honeycomb/images/bookmark-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/bookmark-default-hdpi.png rename : mobile/themes/core/honeycomb/images/bookmark-starred-hdpi.png => mobile/xul/themes/core/honeycomb/images/bookmark-starred-hdpi.png rename : mobile/themes/core/honeycomb/images/bookmarks-48.png => mobile/xul/themes/core/honeycomb/images/bookmarks-48.png rename : mobile/themes/core/honeycomb/images/browseaddons-bg.jpg => mobile/xul/themes/core/honeycomb/images/browseaddons-bg.jpg rename : mobile/themes/core/honeycomb/images/button-bg.png => mobile/xul/themes/core/honeycomb/images/button-bg.png rename : mobile/themes/core/honeycomb/images/check-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/check-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/check-selected-tap-hdpi.png => mobile/xul/themes/core/honeycomb/images/check-selected-tap-hdpi.png rename : mobile/themes/core/honeycomb/images/check-unselected-hdpi.png => mobile/xul/themes/core/honeycomb/images/check-unselected-hdpi.png rename : mobile/themes/core/honeycomb/images/check-unselected-tap-hdpi.png => mobile/xul/themes/core/honeycomb/images/check-unselected-tap-hdpi.png rename : mobile/themes/core/honeycomb/images/close-active-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-active-hdpi.png rename : mobile/themes/core/honeycomb/images/close-active-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-active-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/close-background-hdpi-rtl.png => mobile/xul/themes/core/honeycomb/images/close-background-hdpi-rtl.png rename : mobile/themes/core/honeycomb/images/close-background-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-background-hdpi.png rename : mobile/themes/core/honeycomb/images/close-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-default-hdpi.png rename : mobile/themes/core/honeycomb/images/close-default-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-default-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/close-inactive-tab-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-inactive-tab-hdpi.png rename : mobile/themes/core/honeycomb/images/close-inactive-tab-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/close-inactive-tab-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/console-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/console-default-hdpi.png rename : mobile/themes/core/honeycomb/images/downloads-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/downloads-default-hdpi.png rename : mobile/themes/core/honeycomb/images/dropmarker-hdpi.png => mobile/xul/themes/core/honeycomb/images/dropmarker-hdpi.png rename : mobile/themes/core/honeycomb/images/errorpage-larry-black.png => mobile/xul/themes/core/honeycomb/images/errorpage-larry-black.png rename : mobile/themes/core/honeycomb/images/errorpage-larry-white.png => mobile/xul/themes/core/honeycomb/images/errorpage-larry-white.png rename : mobile/themes/core/honeycomb/images/errorpage-warning.png => mobile/xul/themes/core/honeycomb/images/errorpage-warning.png rename : mobile/themes/core/honeycomb/images/favicon-default-32.png => mobile/xul/themes/core/honeycomb/images/favicon-default-32.png rename : mobile/themes/core/honeycomb/images/folder-32.png => mobile/xul/themes/core/honeycomb/images/folder-32.png rename : mobile/themes/core/honeycomb/images/forward-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/forward-default-hdpi.png rename : mobile/themes/core/honeycomb/images/history-48.png => mobile/xul/themes/core/honeycomb/images/history-48.png rename : mobile/themes/core/honeycomb/images/identity-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/identity-default-hdpi.png rename : mobile/themes/core/honeycomb/images/identity-ev-hdpi.png => mobile/xul/themes/core/honeycomb/images/identity-ev-hdpi.png rename : mobile/themes/core/honeycomb/images/identity-ssl-hdpi.png => mobile/xul/themes/core/honeycomb/images/identity-ssl-hdpi.png rename : mobile/themes/core/honeycomb/images/locked-hdpi.png => mobile/xul/themes/core/honeycomb/images/locked-hdpi.png rename : mobile/themes/core/honeycomb/images/menu-hdpi.png => mobile/xul/themes/core/honeycomb/images/menu-hdpi.png rename : mobile/themes/core/honeycomb/images/menu-top-insideglow-green.png => mobile/xul/themes/core/honeycomb/images/menu-top-insideglow-green.png rename : mobile/themes/core/honeycomb/images/menu-top-insideglow-grey.png => mobile/xul/themes/core/honeycomb/images/menu-top-insideglow-grey.png rename : mobile/themes/core/honeycomb/images/menu-top-insideglow.png => mobile/xul/themes/core/honeycomb/images/menu-top-insideglow.png rename : mobile/themes/core/honeycomb/images/mute-hdpi.png => mobile/xul/themes/core/honeycomb/images/mute-hdpi.png rename : mobile/themes/core/honeycomb/images/navigation-magnifier-30.png => mobile/xul/themes/core/honeycomb/images/navigation-magnifier-30.png rename : mobile/themes/core/honeycomb/images/newtab-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/newtab-default-hdpi.png rename : mobile/themes/core/honeycomb/images/newtab-default-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/newtab-default-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/newtab-tabmenu-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/newtab-tabmenu-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/next-disabled-hdpi.png => mobile/xul/themes/core/honeycomb/images/next-disabled-hdpi.png rename : mobile/themes/core/honeycomb/images/next-hdpi.png => mobile/xul/themes/core/honeycomb/images/next-hdpi.png rename : mobile/themes/core/honeycomb/images/panelrow-active-hdpi.png => mobile/xul/themes/core/honeycomb/images/panelrow-active-hdpi.png rename : mobile/themes/core/honeycomb/images/panelrow-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/panelrow-default-hdpi.png rename : mobile/themes/core/honeycomb/images/panelrow-selected-hdpi.png => mobile/xul/themes/core/honeycomb/images/panelrow-selected-hdpi.png rename : mobile/themes/core/honeycomb/images/pause-hdpi.png => mobile/xul/themes/core/honeycomb/images/pause-hdpi.png rename : mobile/themes/core/honeycomb/images/play-hdpi.png => mobile/xul/themes/core/honeycomb/images/play-hdpi.png rename : mobile/themes/core/honeycomb/images/popup-bg-hdpi.png => mobile/xul/themes/core/honeycomb/images/popup-bg-hdpi.png rename : mobile/themes/core/honeycomb/images/popup-selected-item-hdpi.png => mobile/xul/themes/core/honeycomb/images/popup-selected-item-hdpi.png rename : mobile/themes/core/honeycomb/images/preferences-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/preferences-default-hdpi.png rename : mobile/themes/core/honeycomb/images/previous-disabled-hdpi.png => mobile/xul/themes/core/honeycomb/images/previous-disabled-hdpi.png rename : mobile/themes/core/honeycomb/images/previous-hdpi.png => mobile/xul/themes/core/honeycomb/images/previous-hdpi.png rename : mobile/themes/core/honeycomb/images/reload-hdpi.png => mobile/xul/themes/core/honeycomb/images/reload-hdpi.png rename : mobile/themes/core/honeycomb/images/remotetabs-32.png => mobile/xul/themes/core/honeycomb/images/remotetabs-32.png rename : mobile/themes/core/honeycomb/images/remotetabs-48.png => mobile/xul/themes/core/honeycomb/images/remotetabs-48.png rename : mobile/themes/core/honeycomb/images/row-header-bg.png => mobile/xul/themes/core/honeycomb/images/row-header-bg.png rename : mobile/themes/core/honeycomb/images/scrubber-hdpi.png => mobile/xul/themes/core/honeycomb/images/scrubber-hdpi.png rename : mobile/themes/core/honeycomb/images/search-clear-30.png => mobile/xul/themes/core/honeycomb/images/search-clear-30.png rename : mobile/themes/core/honeycomb/images/search-glass-30.png => mobile/xul/themes/core/honeycomb/images/search-glass-30.png rename : mobile/themes/core/honeycomb/images/settings-default-hdpi.png => mobile/xul/themes/core/honeycomb/images/settings-default-hdpi.png rename : mobile/themes/core/honeycomb/images/sidebarbutton-active-hdpi.png => mobile/xul/themes/core/honeycomb/images/sidebarbutton-active-hdpi.png rename : mobile/themes/core/honeycomb/images/stop-hdpi.png => mobile/xul/themes/core/honeycomb/images/stop-hdpi.png rename : mobile/themes/core/honeycomb/images/tab-active-hdpi.png => mobile/xul/themes/core/honeycomb/images/tab-active-hdpi.png rename : mobile/themes/core/honeycomb/images/tab-closed-hdpi.png => mobile/xul/themes/core/honeycomb/images/tab-closed-hdpi.png rename : mobile/themes/core/honeycomb/images/tab-inactive-hdpi.png => mobile/xul/themes/core/honeycomb/images/tab-inactive-hdpi.png rename : mobile/themes/core/honeycomb/images/tab-reopen-hdpi.png => mobile/xul/themes/core/honeycomb/images/tab-reopen-hdpi.png rename : mobile/themes/core/honeycomb/images/tab-reopen-tablet-hdpi.png => mobile/xul/themes/core/honeycomb/images/tab-reopen-tablet-hdpi.png rename : mobile/themes/core/honeycomb/images/tabs-default-bg-rtl.png => mobile/xul/themes/core/honeycomb/images/tabs-default-bg-rtl.png rename : mobile/themes/core/honeycomb/images/tabs-default-bg.png => mobile/xul/themes/core/honeycomb/images/tabs-default-bg.png rename : mobile/themes/core/honeycomb/images/tabs-hdpi.png => mobile/xul/themes/core/honeycomb/images/tabs-hdpi.png rename : mobile/themes/core/honeycomb/images/tabs-selected-bg-rtl.png => mobile/xul/themes/core/honeycomb/images/tabs-selected-bg-rtl.png rename : mobile/themes/core/honeycomb/images/tabs-selected-bg.png => mobile/xul/themes/core/honeycomb/images/tabs-selected-bg.png rename : mobile/themes/core/honeycomb/images/task-back-hdpi.png => mobile/xul/themes/core/honeycomb/images/task-back-hdpi.png rename : mobile/themes/core/honeycomb/images/task-back-rtl-hdpi.png => mobile/xul/themes/core/honeycomb/images/task-back-rtl-hdpi.png rename : mobile/themes/core/honeycomb/images/task-close-hdpi.png => mobile/xul/themes/core/honeycomb/images/task-close-hdpi.png rename : mobile/themes/core/honeycomb/images/task-switch-hdpi.png => mobile/xul/themes/core/honeycomb/images/task-switch-hdpi.png rename : mobile/themes/core/honeycomb/images/textbox-bg.png => mobile/xul/themes/core/honeycomb/images/textbox-bg.png rename : mobile/themes/core/honeycomb/images/throbber.png => mobile/xul/themes/core/honeycomb/images/throbber.png rename : mobile/themes/core/honeycomb/images/toggle-off.png => mobile/xul/themes/core/honeycomb/images/toggle-off.png rename : mobile/themes/core/honeycomb/images/toggle-on.png => mobile/xul/themes/core/honeycomb/images/toggle-on.png rename : mobile/themes/core/honeycomb/images/unlocked-hdpi.png => mobile/xul/themes/core/honeycomb/images/unlocked-hdpi.png rename : mobile/themes/core/honeycomb/images/unmute-hdpi.png => mobile/xul/themes/core/honeycomb/images/unmute-hdpi.png rename : mobile/themes/core/honeycomb/images/urlbar-border-bottom-active.png => mobile/xul/themes/core/honeycomb/images/urlbar-border-bottom-active.png rename : mobile/themes/core/honeycomb/images/urlbar-border-bottom.png => mobile/xul/themes/core/honeycomb/images/urlbar-border-bottom.png rename : mobile/themes/core/honeycomb/images/urlbar-border-side-active.png => mobile/xul/themes/core/honeycomb/images/urlbar-border-side-active.png rename : mobile/themes/core/honeycomb/images/urlbar-border-side.png => mobile/xul/themes/core/honeycomb/images/urlbar-border-side.png rename : mobile/themes/core/honeycomb/platform.css => mobile/xul/themes/core/honeycomb/platform.css rename : mobile/themes/core/images/aboutBackground.jpg => mobile/xul/themes/core/images/aboutBackground.jpg rename : mobile/themes/core/images/addons-32.png => mobile/xul/themes/core/images/addons-32.png rename : mobile/themes/core/images/addons-default-hdpi.png => mobile/xul/themes/core/images/addons-default-hdpi.png rename : mobile/themes/core/images/alert-addons-30.png => mobile/xul/themes/core/images/alert-addons-30.png rename : mobile/themes/core/images/alert-downloads-30.png => mobile/xul/themes/core/images/alert-downloads-30.png rename : mobile/themes/core/images/allpages-48.png => mobile/xul/themes/core/images/allpages-48.png rename : mobile/themes/core/images/appmenu-active-hdpi.png => mobile/xul/themes/core/images/appmenu-active-hdpi.png rename : mobile/themes/core/images/appmenu-addons-hdpi.png => mobile/xul/themes/core/images/appmenu-addons-hdpi.png rename : mobile/themes/core/images/appmenu-downloads-hdpi.png => mobile/xul/themes/core/images/appmenu-downloads-hdpi.png rename : mobile/themes/core/images/appmenu-findinpage-hdpi.png => mobile/xul/themes/core/images/appmenu-findinpage-hdpi.png rename : mobile/themes/core/images/appmenu-more-hdpi.png => mobile/xul/themes/core/images/appmenu-more-hdpi.png rename : mobile/themes/core/images/appmenu-preferences-hdpi.png => mobile/xul/themes/core/images/appmenu-preferences-hdpi.png rename : mobile/themes/core/images/appmenu-share-hdpi.png => mobile/xul/themes/core/images/appmenu-share-hdpi.png rename : mobile/themes/core/images/appmenu-site-hdpi.png => mobile/xul/themes/core/images/appmenu-site-hdpi.png rename : mobile/themes/core/images/arrowbox-down.png => mobile/xul/themes/core/images/arrowbox-down.png rename : mobile/themes/core/images/arrowbox-horiz.png => mobile/xul/themes/core/images/arrowbox-horiz.png rename : mobile/themes/core/images/arrowbox-up.png => mobile/xul/themes/core/images/arrowbox-up.png rename : mobile/themes/core/images/arrowdown-16.png => mobile/xul/themes/core/images/arrowdown-16.png rename : mobile/themes/core/images/arrowdowndark-16.png => mobile/xul/themes/core/images/arrowdowndark-16.png rename : mobile/themes/core/images/arrowleft-16.png => mobile/xul/themes/core/images/arrowleft-16.png rename : mobile/themes/core/images/arrowleftdark-16.png => mobile/xul/themes/core/images/arrowleftdark-16.png rename : mobile/themes/core/images/arrowright-16.png => mobile/xul/themes/core/images/arrowright-16.png rename : mobile/themes/core/images/arrowrightdark-16.png => mobile/xul/themes/core/images/arrowrightdark-16.png rename : mobile/themes/core/images/arrowup-16.png => mobile/xul/themes/core/images/arrowup-16.png rename : mobile/themes/core/images/arrowupdark-16.png => mobile/xul/themes/core/images/arrowupdark-16.png rename : mobile/themes/core/images/aurora-lightbox-bg.jpg => mobile/xul/themes/core/images/aurora-lightbox-bg.jpg rename : mobile/themes/core/images/aurora-lightbox-close.png => mobile/xul/themes/core/images/aurora-lightbox-close.png rename : mobile/themes/core/images/aurora-lightbox-logo.png => mobile/xul/themes/core/images/aurora-lightbox-logo.png rename : mobile/themes/core/images/autocomplete-bookmarked-hdpi.png => mobile/xul/themes/core/images/autocomplete-bookmarked-hdpi.png rename : mobile/themes/core/images/autocomplete-desktop-hdpi.png => mobile/xul/themes/core/images/autocomplete-desktop-hdpi.png rename : mobile/themes/core/images/autocomplete-search-hdpi.png => mobile/xul/themes/core/images/autocomplete-search-hdpi.png rename : mobile/themes/core/images/back-default-hdpi.png => mobile/xul/themes/core/images/back-default-hdpi.png rename : mobile/themes/core/images/bookmark-default-hdpi.png => mobile/xul/themes/core/images/bookmark-default-hdpi.png rename : mobile/themes/core/images/bookmark-starred-hdpi.png => mobile/xul/themes/core/images/bookmark-starred-hdpi.png rename : mobile/themes/core/images/bookmarks-48.png => mobile/xul/themes/core/images/bookmarks-48.png rename : mobile/themes/core/images/browseaddons-bg.jpg => mobile/xul/themes/core/images/browseaddons-bg.jpg rename : mobile/themes/core/images/button-bg.png => mobile/xul/themes/core/images/button-bg.png rename : mobile/themes/core/images/check-30.png => mobile/xul/themes/core/images/check-30.png rename : mobile/themes/core/images/check-selected-30.png => mobile/xul/themes/core/images/check-selected-30.png rename : mobile/themes/core/images/check-unselected-30.png => mobile/xul/themes/core/images/check-unselected-30.png rename : mobile/themes/core/images/checkmark-hdpi.png => mobile/xul/themes/core/images/checkmark-hdpi.png rename : mobile/themes/core/images/close-active-hdpi.png => mobile/xul/themes/core/images/close-active-hdpi.png rename : mobile/themes/core/images/close-active-tablet-hdpi.png => mobile/xul/themes/core/images/close-active-tablet-hdpi.png rename : mobile/themes/core/images/close-background-hdpi-rtl.png => mobile/xul/themes/core/images/close-background-hdpi-rtl.png rename : mobile/themes/core/images/close-background-hdpi.png => mobile/xul/themes/core/images/close-background-hdpi.png rename : mobile/themes/core/images/close-default-hdpi.png => mobile/xul/themes/core/images/close-default-hdpi.png rename : mobile/themes/core/images/close-default-tablet-hdpi.png => mobile/xul/themes/core/images/close-default-tablet-hdpi.png rename : mobile/themes/core/images/close-inactive-tab-hdpi.png => mobile/xul/themes/core/images/close-inactive-tab-hdpi.png rename : mobile/themes/core/images/close-inactive-tab-tablet-hdpi.png => mobile/xul/themes/core/images/close-inactive-tab-tablet-hdpi.png rename : mobile/themes/core/images/console-default-hdpi.png => mobile/xul/themes/core/images/console-default-hdpi.png rename : mobile/themes/core/images/downloads-default-hdpi.png => mobile/xul/themes/core/images/downloads-default-hdpi.png rename : mobile/themes/core/images/dropmarker-hdpi.png => mobile/xul/themes/core/images/dropmarker-hdpi.png rename : mobile/themes/core/images/endcap-active-bg.png => mobile/xul/themes/core/images/endcap-active-bg.png rename : mobile/themes/core/images/endcap-default-bg.png => mobile/xul/themes/core/images/endcap-default-bg.png rename : mobile/themes/core/images/endcap-ev-active-bg.png => mobile/xul/themes/core/images/endcap-ev-active-bg.png rename : mobile/themes/core/images/endcap-ev-default-bg.png => mobile/xul/themes/core/images/endcap-ev-default-bg.png rename : mobile/themes/core/images/endcap-ssl-active-bg.png => mobile/xul/themes/core/images/endcap-ssl-active-bg.png rename : mobile/themes/core/images/endcap-ssl-default-bg.png => mobile/xul/themes/core/images/endcap-ssl-default-bg.png rename : mobile/themes/core/images/errorpage-larry-black.png => mobile/xul/themes/core/images/errorpage-larry-black.png rename : mobile/themes/core/images/errorpage-larry-white.png => mobile/xul/themes/core/images/errorpage-larry-white.png rename : mobile/themes/core/images/errorpage-warning.png => mobile/xul/themes/core/images/errorpage-warning.png rename : mobile/themes/core/images/favicon-default-32.png => mobile/xul/themes/core/images/favicon-default-32.png rename : mobile/themes/core/images/folder-32.png => mobile/xul/themes/core/images/folder-32.png rename : mobile/themes/core/images/forward-default-hdpi.png => mobile/xul/themes/core/images/forward-default-hdpi.png rename : mobile/themes/core/images/handle-end.png => mobile/xul/themes/core/images/handle-end.png rename : mobile/themes/core/images/handle-start.png => mobile/xul/themes/core/images/handle-start.png rename : mobile/themes/core/images/history-48.png => mobile/xul/themes/core/images/history-48.png rename : mobile/themes/core/images/homescreen-blank-hdpi.png => mobile/xul/themes/core/images/homescreen-blank-hdpi.png rename : mobile/themes/core/images/homescreen-default-hdpi.png => mobile/xul/themes/core/images/homescreen-default-hdpi.png rename : mobile/themes/core/images/identity-default-hdpi.png => mobile/xul/themes/core/images/identity-default-hdpi.png rename : mobile/themes/core/images/identity-ev-hdpi.png => mobile/xul/themes/core/images/identity-ev-hdpi.png rename : mobile/themes/core/images/identity-ssl-hdpi.png => mobile/xul/themes/core/images/identity-ssl-hdpi.png rename : mobile/themes/core/images/locked-hdpi.png => mobile/xul/themes/core/images/locked-hdpi.png rename : mobile/themes/core/images/menu-hdpi.png => mobile/xul/themes/core/images/menu-hdpi.png rename : mobile/themes/core/images/mozilla-32.png => mobile/xul/themes/core/images/mozilla-32.png rename : mobile/themes/core/images/mute-hdpi.png => mobile/xul/themes/core/images/mute-hdpi.png rename : mobile/themes/core/images/navigation-magnifier-30.png => mobile/xul/themes/core/images/navigation-magnifier-30.png rename : mobile/themes/core/images/newtab-default-hdpi.png => mobile/xul/themes/core/images/newtab-default-hdpi.png rename : mobile/themes/core/images/newtab-default-tablet-hdpi.png => mobile/xul/themes/core/images/newtab-default-tablet-hdpi.png rename : mobile/themes/core/images/next-disabled-hdpi.png => mobile/xul/themes/core/images/next-disabled-hdpi.png rename : mobile/themes/core/images/next-hdpi.png => mobile/xul/themes/core/images/next-hdpi.png rename : mobile/themes/core/images/panelrow-active-hdpi.png => mobile/xul/themes/core/images/panelrow-active-hdpi.png rename : mobile/themes/core/images/panelrow-default-hdpi.png => mobile/xul/themes/core/images/panelrow-default-hdpi.png rename : mobile/themes/core/images/panelrow-selected-hdpi.png => mobile/xul/themes/core/images/panelrow-selected-hdpi.png rename : mobile/themes/core/images/pause-hdpi.png => mobile/xul/themes/core/images/pause-hdpi.png rename : mobile/themes/core/images/play-hdpi.png => mobile/xul/themes/core/images/play-hdpi.png rename : mobile/themes/core/images/popup-bg-hdpi.png => mobile/xul/themes/core/images/popup-bg-hdpi.png rename : mobile/themes/core/images/popup-selected-item-hdpi.png => mobile/xul/themes/core/images/popup-selected-item-hdpi.png rename : mobile/themes/core/images/preferences-default-hdpi.png => mobile/xul/themes/core/images/preferences-default-hdpi.png rename : mobile/themes/core/images/previous-disabled-hdpi.png => mobile/xul/themes/core/images/previous-disabled-hdpi.png rename : mobile/themes/core/images/previous-hdpi.png => mobile/xul/themes/core/images/previous-hdpi.png rename : mobile/themes/core/images/ratings-18.png => mobile/xul/themes/core/images/ratings-18.png rename : mobile/themes/core/images/reload-hdpi.png => mobile/xul/themes/core/images/reload-hdpi.png rename : mobile/themes/core/images/remotetabs-32.png => mobile/xul/themes/core/images/remotetabs-32.png rename : mobile/themes/core/images/remotetabs-48.png => mobile/xul/themes/core/images/remotetabs-48.png rename : mobile/themes/core/images/row-header-bg.png => mobile/xul/themes/core/images/row-header-bg.png rename : mobile/themes/core/images/scrubber-hdpi.png => mobile/xul/themes/core/images/scrubber-hdpi.png rename : mobile/themes/core/images/search-clear-30.png => mobile/xul/themes/core/images/search-clear-30.png rename : mobile/themes/core/images/search-glass-30.png => mobile/xul/themes/core/images/search-glass-30.png rename : mobile/themes/core/images/section-collapsed-16.png => mobile/xul/themes/core/images/section-collapsed-16.png rename : mobile/themes/core/images/section-expanded-16.png => mobile/xul/themes/core/images/section-expanded-16.png rename : mobile/themes/core/images/settings-default-hdpi.png => mobile/xul/themes/core/images/settings-default-hdpi.png rename : mobile/themes/core/images/sidebarbutton-active-hdpi.png => mobile/xul/themes/core/images/sidebarbutton-active-hdpi.png rename : mobile/themes/core/images/stop-hdpi.png => mobile/xul/themes/core/images/stop-hdpi.png rename : mobile/themes/core/images/tab-active-hdpi.png => mobile/xul/themes/core/images/tab-active-hdpi.png rename : mobile/themes/core/images/tab-closed-hdpi.png => mobile/xul/themes/core/images/tab-closed-hdpi.png rename : mobile/themes/core/images/tab-inactive-hdpi.png => mobile/xul/themes/core/images/tab-inactive-hdpi.png rename : mobile/themes/core/images/tab-reopen-hdpi.png => mobile/xul/themes/core/images/tab-reopen-hdpi.png rename : mobile/themes/core/images/tab-reopen-tablet-hdpi.png => mobile/xul/themes/core/images/tab-reopen-tablet-hdpi.png rename : mobile/themes/core/images/tabs-hdpi.png => mobile/xul/themes/core/images/tabs-hdpi.png rename : mobile/themes/core/images/task-back-hdpi.png => mobile/xul/themes/core/images/task-back-hdpi.png rename : mobile/themes/core/images/task-back-rtl-hdpi.png => mobile/xul/themes/core/images/task-back-rtl-hdpi.png rename : mobile/themes/core/images/task-close-hdpi.png => mobile/xul/themes/core/images/task-close-hdpi.png rename : mobile/themes/core/images/task-switch-hdpi.png => mobile/xul/themes/core/images/task-switch-hdpi.png rename : mobile/themes/core/images/textbox-bg.png => mobile/xul/themes/core/images/textbox-bg.png rename : mobile/themes/core/images/throbber.png => mobile/xul/themes/core/images/throbber.png rename : mobile/themes/core/images/toggle-off.png => mobile/xul/themes/core/images/toggle-off.png rename : mobile/themes/core/images/toggle-on.png => mobile/xul/themes/core/images/toggle-on.png rename : mobile/themes/core/images/unlocked-hdpi.png => mobile/xul/themes/core/images/unlocked-hdpi.png rename : mobile/themes/core/images/unmute-hdpi.png => mobile/xul/themes/core/images/unmute-hdpi.png rename : mobile/themes/core/jar.mn => mobile/xul/themes/core/jar.mn rename : mobile/themes/core/localePicker.css => mobile/xul/themes/core/localePicker.css rename : mobile/themes/core/netError.css => mobile/xul/themes/core/netError.css rename : mobile/themes/core/notification.css => mobile/xul/themes/core/notification.css rename : mobile/themes/core/platform.css => mobile/xul/themes/core/platform.css rename : mobile/themes/core/tablet.css => mobile/xul/themes/core/tablet.css rename : mobile/themes/core/touchcontrols.css => mobile/xul/themes/core/touchcontrols.css
1268 lines
41 KiB
JavaScript
1268 lines
41 KiB
JavaScript
// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
|
|
/*
|
|
* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
* for the specific language governing rights and limitations under the
|
|
* License.
|
|
*
|
|
* The Original Code is Mozilla Mobile Browser.
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* Mozilla Corporation.
|
|
* Portions created by the Initial Developer are Copyright (C) 2011
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file under
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
*
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
const kBrowserFormZoomLevelMin = 0.8;
|
|
const kBrowserFormZoomLevelMax = 2.0;
|
|
|
|
var BrowserSearch = {
|
|
get _popup() {
|
|
let popup = document.getElementById("search-engines-popup");
|
|
popup.addEventListener("TapSingle", function(aEvent) {
|
|
popup.hidden = true;
|
|
BrowserUI.doOpenSearch(aEvent.target.getAttribute("label"));
|
|
}, false);
|
|
|
|
delete this._popup;
|
|
return this._popup = popup;
|
|
},
|
|
|
|
get _list() {
|
|
delete this._list;
|
|
return this._list = document.getElementById("search-engines-list");
|
|
},
|
|
|
|
get _button() {
|
|
delete this._button;
|
|
return this._button = document.getElementById("tool-search");
|
|
},
|
|
|
|
toggle: function bs_toggle() {
|
|
if (this._popup.hidden)
|
|
this.show();
|
|
else
|
|
this.hide();
|
|
},
|
|
|
|
show: function bs_show() {
|
|
let popup = this._popup;
|
|
let list = this._list;
|
|
while (list.lastChild)
|
|
list.removeChild(list.lastChild);
|
|
|
|
this.engines.forEach(function(aEngine, aIndex, aArray) {
|
|
let button = document.createElement("button");
|
|
button.className = "action-button";
|
|
button.setAttribute("label", aEngine.name);
|
|
button.setAttribute("crop", "end");
|
|
button.setAttribute("pack", "start");
|
|
button.setAttribute("image", aEngine.iconURI ? aEngine.iconURI.spec : "");
|
|
list.appendChild(button);
|
|
});
|
|
|
|
popup.hidden = false;
|
|
popup.top = BrowserUI.toolbarH - popup.offset;
|
|
let searchButton = document.getElementById("tool-search");
|
|
let anchorPosition = "";
|
|
if (Util.isTablet())
|
|
anchorPosition = "after_start";
|
|
else if (popup.hasAttribute("left"))
|
|
popup.removeAttribute("left");
|
|
popup.anchorTo(searchButton, anchorPosition);
|
|
|
|
document.getElementById("urlbar-icons").setAttribute("open", "true");
|
|
BrowserUI.pushPopup(this, [popup, this._button]);
|
|
},
|
|
|
|
hide: function bs_hide() {
|
|
this._popup.hidden = true;
|
|
document.getElementById("urlbar-icons").removeAttribute("open");
|
|
BrowserUI.popPopup(this);
|
|
},
|
|
|
|
observe: function bs_observe(aSubject, aTopic, aData) {
|
|
if (aTopic != "browser-search-engine-modified")
|
|
return;
|
|
|
|
switch (aData) {
|
|
case "engine-added":
|
|
case "engine-removed":
|
|
// force a rebuild of the prefs list, if needed
|
|
// XXX this is inefficient, shouldn't have to rebuild the entire list
|
|
if (ExtensionsView._list)
|
|
ExtensionsView.getAddonsFromLocal();
|
|
|
|
// fall through
|
|
case "engine-changed":
|
|
// XXX we should probably also update the ExtensionsView list here once
|
|
// that's efficient, since the icon can change (happen during an async
|
|
// installs from the web)
|
|
|
|
// blow away our cache
|
|
this._engines = null;
|
|
break;
|
|
case "engine-current":
|
|
// Not relevant
|
|
break;
|
|
}
|
|
},
|
|
|
|
get engines() {
|
|
if (this._engines)
|
|
return this._engines;
|
|
|
|
this._engines = Services.search.getVisibleEngines({ });
|
|
return this._engines;
|
|
},
|
|
|
|
updatePageSearchEngines: function updatePageSearchEngines(aNode) {
|
|
let items = Browser.selectedBrowser.searchEngines.filter(this.isPermanentSearchEngine);
|
|
if (!items.length)
|
|
return false;
|
|
|
|
// XXX limit to the first search engine for now
|
|
let engine = items[0];
|
|
aNode.setAttribute("description", engine.title);
|
|
aNode.onclick = function(aEvent) {
|
|
BrowserSearch.addPermanentSearchEngine(engine);
|
|
PageActions.hideItem(aNode);
|
|
aEvent.stopPropagation(); // Don't hide the site menu.
|
|
};
|
|
return true;
|
|
},
|
|
|
|
addPermanentSearchEngine: function addPermanentSearchEngine(aEngine) {
|
|
let iconURL = BrowserUI._favicon.src;
|
|
Services.search.addEngine(aEngine.href, Ci.nsISearchEngine.DATA_XML, iconURL, false);
|
|
|
|
this._engines = null;
|
|
},
|
|
|
|
isPermanentSearchEngine: function isPermanentSearchEngine(aEngine) {
|
|
return !BrowserSearch.engines.some(function(item) {
|
|
return aEngine.title == item.name;
|
|
});
|
|
}
|
|
};
|
|
|
|
var NewTabPopup = {
|
|
_timeout: 0,
|
|
_tabs: [],
|
|
|
|
init: function init() {
|
|
Elements.tabs.addEventListener("TabOpen", this, true);
|
|
},
|
|
|
|
get box() {
|
|
delete this.box;
|
|
return this.box = document.getElementById("newtab-popup");
|
|
},
|
|
|
|
_updateLabel: function nt_updateLabel() {
|
|
let newtabStrings = Strings.browser.GetStringFromName("newtabpopup.opened");
|
|
let label = PluralForm.get(this._tabs.length, newtabStrings).replace("#1", this._tabs.length);
|
|
|
|
this.box.firstChild.setAttribute("value", label);
|
|
},
|
|
|
|
hide: function nt_hide() {
|
|
if (this._timeout) {
|
|
clearTimeout(this._timeout);
|
|
this._timeout = 0;
|
|
}
|
|
|
|
this._tabs = [];
|
|
this.box.hidden = true;
|
|
BrowserUI.popPopup(this);
|
|
},
|
|
|
|
show: function nt_show(aTab) {
|
|
if (Util.isTablet() && TabsPopup.visible)
|
|
return;
|
|
|
|
BrowserUI.pushPopup(this, this.box);
|
|
|
|
this._tabs.push(aTab);
|
|
this._updateLabel();
|
|
|
|
this.box.hidden = false;
|
|
let tabRect = aTab.getBoundingClientRect();
|
|
this.box.top = tabRect.top + (tabRect.height / 2);
|
|
|
|
// wait for layout to resolve the real size of the box
|
|
setTimeout((function() {
|
|
let boxRect = this.box.getBoundingClientRect();
|
|
this.box.top = tabRect.top + (tabRect.height / 2) - (boxRect.height / 2);
|
|
|
|
// We don't use anchorTo() here because the tab
|
|
// being anchored to might be overflowing the tabs
|
|
// scrollbox which confuses the dynamic arrow direction
|
|
// calculation (see bug 662520).
|
|
if (Util.isTablet()) {
|
|
let toolbarbutton = document.getElementById("tool-tabs");
|
|
this.box.anchorTo(toolbarbutton, "after_start");
|
|
} else if (Elements.tabList.getBoundingClientRect().left < 0)
|
|
this.box.pointLeftAt(aTab);
|
|
else
|
|
this.box.pointRightAt(aTab);
|
|
}).bind(this), 0);
|
|
|
|
if (this._timeout)
|
|
clearTimeout(this._timeout);
|
|
|
|
this._timeout = setTimeout(function(self) {
|
|
self.hide();
|
|
}, 2000, this);
|
|
},
|
|
|
|
selectTab: function nt_selectTab() {
|
|
BrowserUI.selectTab(this._tabs.pop());
|
|
this.hide();
|
|
},
|
|
|
|
handleEvent: function nt_handleEvent(aEvent) {
|
|
// Bail early and fast
|
|
if (!aEvent.detail)
|
|
return;
|
|
|
|
let [tabsVisibility,,,] = Browser.computeSidebarVisibility();
|
|
if (tabsVisibility != 1.0)
|
|
this.show(aEvent.originalTarget);
|
|
}
|
|
};
|
|
|
|
var FindHelperUI = {
|
|
type: "find",
|
|
commands: {
|
|
next: "cmd_findNext",
|
|
previous: "cmd_findPrevious",
|
|
close: "cmd_findClose"
|
|
},
|
|
|
|
_open: false,
|
|
_status: null,
|
|
|
|
get status() {
|
|
return this._status;
|
|
},
|
|
|
|
set status(val) {
|
|
if (val != this._status) {
|
|
this._status = val;
|
|
if (!val)
|
|
this._textbox.removeAttribute("status");
|
|
else
|
|
this._textbox.setAttribute("status", val);
|
|
this.updateCommands(this._textbox.value);
|
|
}
|
|
},
|
|
|
|
init: function findHelperInit() {
|
|
this._textbox = document.getElementById("find-helper-textbox");
|
|
this._container = document.getElementById("content-navigator");
|
|
|
|
this._cmdPrevious = document.getElementById(this.commands.previous);
|
|
this._cmdNext = document.getElementById(this.commands.next);
|
|
|
|
// Listen for find assistant messages from content
|
|
messageManager.addMessageListener("FindAssist:Show", this);
|
|
messageManager.addMessageListener("FindAssist:Hide", this);
|
|
|
|
// Listen for pan events happening on the browsers
|
|
Elements.browsers.addEventListener("PanBegin", this, false);
|
|
Elements.browsers.addEventListener("PanFinished", this, false);
|
|
|
|
// Listen for events where form assistant should be closed
|
|
Elements.tabList.addEventListener("TabSelect", this, true);
|
|
Elements.browsers.addEventListener("URLChanged", this, true);
|
|
},
|
|
|
|
receiveMessage: function findHelperReceiveMessage(aMessage) {
|
|
let json = aMessage.json;
|
|
switch(aMessage.name) {
|
|
case "FindAssist:Show":
|
|
this.status = json.result;
|
|
if (json.rect)
|
|
this._zoom(Rect.fromRect(json.rect));
|
|
break;
|
|
|
|
case "FindAssist:Hide":
|
|
if (this._container.getAttribute("type") == this.type)
|
|
this.hide();
|
|
break;
|
|
}
|
|
},
|
|
|
|
handleEvent: function findHelperHandleEvent(aEvent) {
|
|
switch (aEvent.type) {
|
|
case "TabSelect":
|
|
this.hide();
|
|
break;
|
|
|
|
case "URLChanged":
|
|
if (aEvent.detail && aEvent.target == getBrowser())
|
|
this.hide();
|
|
break;
|
|
|
|
case "PanBegin":
|
|
this._container.style.visibility = "hidden";
|
|
this._textbox.collapsed = true;
|
|
break;
|
|
|
|
case "PanFinished":
|
|
this._container.style.visibility = "visible";
|
|
this._textbox.collapsed = false;
|
|
break;
|
|
}
|
|
},
|
|
|
|
show: function findHelperShow() {
|
|
this._container.show(this);
|
|
this.search(this._textbox.value);
|
|
this._textbox.select();
|
|
this._textbox.focus();
|
|
this._open = true;
|
|
|
|
// Prevent the view to scroll automatically while searching
|
|
Browser.selectedBrowser.scrollSync = false;
|
|
},
|
|
|
|
hide: function findHelperHide() {
|
|
if (!this._open)
|
|
return;
|
|
|
|
this._textbox.value = "";
|
|
this.status = null;
|
|
this._textbox.blur();
|
|
this._container.hide(this);
|
|
this._open = false;
|
|
|
|
// Restore the scroll synchronisation
|
|
Browser.selectedBrowser.scrollSync = true;
|
|
},
|
|
|
|
goToPrevious: function findHelperGoToPrevious() {
|
|
Browser.selectedBrowser.messageManager.sendAsyncMessage("FindAssist:Previous", { });
|
|
},
|
|
|
|
goToNext: function findHelperGoToNext() {
|
|
Browser.selectedBrowser.messageManager.sendAsyncMessage("FindAssist:Next", { });
|
|
},
|
|
|
|
search: function findHelperSearch(aValue) {
|
|
this.updateCommands(aValue);
|
|
|
|
// Don't bother searching if the value is empty
|
|
if (aValue == "") {
|
|
this.status = null;
|
|
return;
|
|
}
|
|
|
|
Browser.selectedBrowser.messageManager.sendAsyncMessage("FindAssist:Find", { searchString: aValue });
|
|
},
|
|
|
|
updateCommands: function findHelperUpdateCommands(aValue) {
|
|
let disabled = (this._status == Ci.nsITypeAheadFind.FIND_NOTFOUND) || (aValue == "");
|
|
this._cmdPrevious.setAttribute("disabled", disabled);
|
|
this._cmdNext.setAttribute("disabled", disabled);
|
|
},
|
|
|
|
_zoom: function _findHelperZoom(aElementRect) {
|
|
let autozoomEnabled = Services.prefs.getBoolPref("findhelper.autozoom");
|
|
if (!aElementRect || !autozoomEnabled)
|
|
return;
|
|
|
|
if (Browser.selectedTab.allowZoom) {
|
|
let zoomLevel = Browser._getZoomLevelForRect(aElementRect);
|
|
|
|
// Clamp the zoom level relatively to the default zoom level of the page
|
|
let defaultZoomLevel = Browser.selectedTab.getDefaultZoomLevel();
|
|
zoomLevel = Util.clamp(zoomLevel, (defaultZoomLevel * kBrowserFormZoomLevelMin),
|
|
(defaultZoomLevel * kBrowserFormZoomLevelMax));
|
|
zoomLevel = Browser.selectedTab.clampZoomLevel(zoomLevel);
|
|
|
|
let zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, zoomLevel);
|
|
AnimatedZoom.animateTo(zoomRect);
|
|
} else {
|
|
// Even if zooming is disabled we could need to reposition the view in
|
|
// order to keep the element on-screen
|
|
let zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, getBrowser().scale);
|
|
AnimatedZoom.animateTo(zoomRect);
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Responsible for navigating forms and filling in information.
|
|
* - Navigating forms is handled by next and previous commands.
|
|
* - When an element is focused, the browser view zooms in to the control.
|
|
* - The caret positionning and the view are sync to keep the type
|
|
* in text into view for input fields (text/textarea).
|
|
* - Provides autocomplete box for input fields.
|
|
*/
|
|
var FormHelperUI = {
|
|
type: "form",
|
|
commands: {
|
|
next: "cmd_formNext",
|
|
previous: "cmd_formPrevious",
|
|
close: "cmd_formClose"
|
|
},
|
|
|
|
get enabled() {
|
|
return Services.prefs.getBoolPref("formhelper.enabled");
|
|
},
|
|
|
|
init: function formHelperInit() {
|
|
this._container = document.getElementById("content-navigator");
|
|
this._cmdPrevious = document.getElementById(this.commands.previous);
|
|
this._cmdNext = document.getElementById(this.commands.next);
|
|
|
|
// Listen for form assistant messages from content
|
|
messageManager.addMessageListener("FormAssist:Show", this);
|
|
messageManager.addMessageListener("FormAssist:Hide", this);
|
|
messageManager.addMessageListener("FormAssist:Update", this);
|
|
messageManager.addMessageListener("FormAssist:Resize", this);
|
|
messageManager.addMessageListener("FormAssist:AutoComplete", this);
|
|
messageManager.addMessageListener("FormAssist:ValidationMessage", this);
|
|
|
|
// Listen for events where form assistant should be closed or updated
|
|
let tabs = Elements.tabList;
|
|
tabs.addEventListener("TabSelect", this, true);
|
|
tabs.addEventListener("TabClose", this, true);
|
|
Elements.browsers.addEventListener("URLChanged", this, true);
|
|
Elements.browsers.addEventListener("SizeChanged", this, true);
|
|
|
|
// Listen for modal dialog to show/hide the UI
|
|
messageManager.addMessageListener("DOMWillOpenModalDialog", this);
|
|
messageManager.addMessageListener("DOMModalDialogClosed", this);
|
|
|
|
// Listen key events for fields that are non-editable
|
|
window.addEventListener("keydown", this, true);
|
|
window.addEventListener("keyup", this, true);
|
|
window.addEventListener("keypress", this, true);
|
|
|
|
// Listen some events to show/hide arrows
|
|
Elements.browsers.addEventListener("PanBegin", this, false);
|
|
Elements.browsers.addEventListener("PanFinished", this, false);
|
|
|
|
// Dynamically enabled/disabled the form helper if needed depending on
|
|
// the size of the screen
|
|
let mode = Services.prefs.getIntPref("formhelper.mode");
|
|
let state = (mode == 2) ? !Util.isTablet() : !!mode;
|
|
Services.prefs.setBoolPref("formhelper.enabled", state);
|
|
},
|
|
|
|
_currentBrowser: null,
|
|
show: function formHelperShow(aElement, aHasPrevious, aHasNext) {
|
|
// Delay the operation until all resize operations generated by the
|
|
// keyboard apparition are done. This avoid doing unuseful zooming
|
|
// operations.
|
|
if (aElement.editable && !ViewableAreaObserver.isKeyboardOpened) {
|
|
this._waitForKeyboard(aElement, aHasPrevious, aHasNext);
|
|
return;
|
|
}
|
|
|
|
this._currentBrowser = Browser.selectedBrowser;
|
|
this._currentCaretRect = null;
|
|
|
|
#ifndef ANDROID
|
|
// Update the next/previous commands
|
|
this._cmdPrevious.setAttribute("disabled", !aHasPrevious);
|
|
this._cmdNext.setAttribute("disabled", !aHasNext);
|
|
|
|
// If both next and previous are disabled don't bother showing arrows
|
|
if (aHasNext || aHasPrevious)
|
|
this._container.removeAttribute("disabled");
|
|
else
|
|
this._container.setAttribute("disabled", "true");
|
|
#else
|
|
// Always hide the arrows on Android
|
|
this._container.setAttribute("disabled", "true");
|
|
#endif
|
|
|
|
this._open = true;
|
|
|
|
let lastElement = this._currentElement || null;
|
|
this._currentElement = {
|
|
id: aElement.id,
|
|
name: aElement.name,
|
|
title: aElement.title,
|
|
value: aElement.value,
|
|
maxLength: aElement.maxLength,
|
|
type: aElement.type,
|
|
choices: aElement.choices,
|
|
isAutocomplete: aElement.isAutocomplete,
|
|
validationMessage: aElement.validationMessage,
|
|
list: aElement.list,
|
|
}
|
|
|
|
this._updateContainerForSelect(lastElement, this._currentElement);
|
|
this._zoom(Rect.fromRect(aElement.rect), Rect.fromRect(aElement.caretRect));
|
|
this._updatePopupsFor(this._currentElement);
|
|
|
|
// Prevent the view to scroll automatically while typing
|
|
this._currentBrowser.scrollSync = false;
|
|
},
|
|
|
|
hide: function formHelperHide() {
|
|
if (!this._open)
|
|
return;
|
|
|
|
// Restore the scroll synchonisation
|
|
this._currentBrowser.scrollSync = true;
|
|
|
|
// reset current Element and Caret Rect
|
|
this._currentElementRect = null;
|
|
this._currentCaretRect = null;
|
|
|
|
this._updateContainerForSelect(this._currentElement, null);
|
|
|
|
this._currentBrowser.messageManager.sendAsyncMessage("FormAssist:Closed", { });
|
|
this._open = false;
|
|
},
|
|
|
|
// for VKB that does not resize the window
|
|
_currentCaretRect: null,
|
|
_currentElementRect: null,
|
|
handleEvent: function formHelperHandleEvent(aEvent) {
|
|
if (!this._open)
|
|
return;
|
|
|
|
switch (aEvent.type) {
|
|
case "TabSelect":
|
|
case "TabClose":
|
|
this.hide();
|
|
break;
|
|
|
|
case "PanBegin":
|
|
// The previous/next buttons should be hidden during a manual panning
|
|
// operation but not doing a zoom operation since this happen on both
|
|
// manual dblClick and navigation between the fields by clicking the
|
|
// buttons
|
|
this._container.style.visibility = "hidden";
|
|
break;
|
|
|
|
|
|
case "PanFinished":
|
|
this._container.style.visibility = "visible";
|
|
break;
|
|
|
|
case "URLChanged":
|
|
if (aEvent.detail && aEvent.target == getBrowser())
|
|
this.hide();
|
|
break;
|
|
|
|
case "keydown":
|
|
case "keypress":
|
|
case "keyup":
|
|
// Ignore event that doesn't have a view, like generated keypress event
|
|
// from browser.js
|
|
if (!aEvent.view) {
|
|
aEvent.preventDefault();
|
|
aEvent.stopPropagation();
|
|
return;
|
|
}
|
|
|
|
// If the focus is not on the browser element, the key will not be sent
|
|
// to the content so do it ourself
|
|
let focusedElement = gFocusManager.getFocusedElementForWindow(window, true, {});
|
|
if (focusedElement && focusedElement.localName == "browser")
|
|
return;
|
|
|
|
Browser.keyFilter.handleEvent(aEvent);
|
|
break;
|
|
|
|
case "SizeChanged":
|
|
setTimeout(function(self) {
|
|
SelectHelperUI.sizeToContent();
|
|
self._zoom(self._currentElementRect, self._currentCaretRect);
|
|
}, 0, this);
|
|
break;
|
|
}
|
|
},
|
|
|
|
receiveMessage: function formHelperReceiveMessage(aMessage) {
|
|
let allowedMessages = ["FormAssist:Show", "FormAssist:Hide",
|
|
"FormAssist:AutoComplete", "FormAssist:ValidationMessage"];
|
|
if (!this._open && allowedMessages.indexOf(aMessage.name) == -1)
|
|
return;
|
|
|
|
let json = aMessage.json;
|
|
switch (aMessage.name) {
|
|
case "FormAssist:Show":
|
|
// if the user has manually disabled the Form Assistant UI we still
|
|
// want to show a UI for <select /> element and still want to show
|
|
// autocomplete suggestions but not managed by FormHelperUI
|
|
if (this.enabled) {
|
|
this.show(json.current, json.hasPrevious, json.hasNext)
|
|
} else if (json.current.choices) {
|
|
SelectHelperUI.show(json.current.choices, json.current.title);
|
|
} else {
|
|
this._currentElementRect = Rect.fromRect(json.current.rect);
|
|
this._currentBrowser = getBrowser();
|
|
this._updatePopupsFor(json.current);
|
|
}
|
|
break;
|
|
|
|
case "FormAssist:Hide":
|
|
if (this.enabled) {
|
|
this.hide();
|
|
} else {
|
|
SelectHelperUI.hide();
|
|
ContentPopupHelper.popup = null;
|
|
}
|
|
break;
|
|
|
|
case "FormAssist:Resize":
|
|
if (!ViewableAreaObserver.isKeyboardOpened)
|
|
return;
|
|
|
|
let element = json.current;
|
|
this._zoom(Rect.fromRect(element.rect), Rect.fromRect(element.caretRect));
|
|
break;
|
|
|
|
case "FormAssist:ValidationMessage":
|
|
this._updatePopupsFor(json.current, { fromInput: true });
|
|
break;
|
|
|
|
case "FormAssist:AutoComplete":
|
|
this._updatePopupsFor(json.current, { fromInput: true });
|
|
break;
|
|
|
|
case "FormAssist:Update":
|
|
if (!ViewableAreaObserver.isKeyboardOpened)
|
|
return;
|
|
|
|
Browser.hideSidebars();
|
|
Browser.hideTitlebar();
|
|
this._zoom(null, Rect.fromRect(json.caretRect));
|
|
break;
|
|
|
|
case "DOMWillOpenModalDialog":
|
|
if (aMessage.target == Browser.selectedBrowser && this._container.isActive)
|
|
this._container.style.display = "none";
|
|
break;
|
|
|
|
case "DOMModalDialogClosed":
|
|
if (aMessage.target == Browser.selectedBrowser && this._container.isActive)
|
|
this._container.style.display = "-moz-box";
|
|
break;
|
|
}
|
|
},
|
|
|
|
goToPrevious: function formHelperGoToPrevious() {
|
|
this._currentBrowser.messageManager.sendAsyncMessage("FormAssist:Previous", { });
|
|
},
|
|
|
|
goToNext: function formHelperGoToNext() {
|
|
this._currentBrowser.messageManager.sendAsyncMessage("FormAssist:Next", { });
|
|
},
|
|
|
|
doAutoComplete: function formHelperDoAutoComplete(aElement) {
|
|
// Suggestions are only in <label>s. Ignore the rest.
|
|
if (!(aElement instanceof Ci.nsIDOMXULLabelElement))
|
|
return;
|
|
|
|
this._currentBrowser.messageManager.sendAsyncMessage("FormAssist:AutoComplete", { value: aElement.getAttribute("data") });
|
|
ContentPopupHelper.popup = null;
|
|
},
|
|
|
|
get _open() {
|
|
return (this._container.getAttribute("type") == this.type);
|
|
},
|
|
|
|
set _open(aVal) {
|
|
if (aVal == this._open)
|
|
return;
|
|
|
|
this._container.hidden = !aVal;
|
|
if (aVal) {
|
|
this._zoomStart();
|
|
this._container.show(this);
|
|
} else {
|
|
this._zoomFinish();
|
|
this._currentElement = null;
|
|
this._container.hide(this);
|
|
|
|
ContentPopupHelper.popup = null;
|
|
this._container.removeAttribute("disabled");
|
|
|
|
// Since the style is overrided when a popup is shown, it needs to be
|
|
// resetted here to let the default CSS works
|
|
this._container.style.display = "";
|
|
}
|
|
|
|
let evt = document.createEvent("UIEvents");
|
|
evt.initUIEvent("FormUI", true, true, window, aVal);
|
|
this._container.dispatchEvent(evt);
|
|
},
|
|
|
|
_updatePopupsFor: function _formHelperUpdatePopupsFor(aElement, options) {
|
|
options = options || {};
|
|
|
|
let fromInput = 'fromInput' in options && options.fromInput;
|
|
|
|
// The order of the updates matters here. If the popup update was
|
|
// triggered from user input (e.g. key press in an input element),
|
|
// we first check if there are input suggestions then check for
|
|
// a validation message. The idea here is that the validation message
|
|
// will be shown straight away once the invalid element is focused
|
|
// and suggestions will be shown as user inputs data. Only one popup
|
|
// is shown at a time. If both are not shown, then we ensure any
|
|
// previous popups are hidden.
|
|
let noPopupsShown = fromInput ?
|
|
(!this._updateSuggestionsFor(aElement) &&
|
|
!this._updateFormValidationFor(aElement)) :
|
|
(!this._updateFormValidationFor(aElement) &&
|
|
!this._updateSuggestionsFor(aElement));
|
|
|
|
if (noPopupsShown)
|
|
ContentPopupHelper.popup = null;
|
|
},
|
|
|
|
_updateSuggestionsFor: function _formHelperUpdateSuggestionsFor(aElement) {
|
|
let suggestions = this._getAutocompleteSuggestions(aElement);
|
|
if (!suggestions.length)
|
|
return false;
|
|
|
|
// the scrollX/scrollY position can change because of the animated zoom so
|
|
// delay the suggestions positioning
|
|
if (AnimatedZoom.isZooming()) {
|
|
let self = this;
|
|
this._waitForZoom(function() {
|
|
self._updateSuggestionsFor(aElement);
|
|
});
|
|
return true;
|
|
}
|
|
|
|
// Declare which box is going to be the inside container of the content popup helper
|
|
let suggestionsContainer = document.getElementById("form-helper-suggestions-container");
|
|
let container = suggestionsContainer.firstChild;
|
|
while (container.hasChildNodes())
|
|
container.removeChild(container.lastChild);
|
|
|
|
let fragment = document.createDocumentFragment();
|
|
for (let i = 0; i < suggestions.length; i++) {
|
|
let suggestion = suggestions[i];
|
|
let button = document.createElement("label");
|
|
button.setAttribute("value", suggestion.label);
|
|
button.setAttribute("data", suggestion.value);
|
|
button.className = "form-helper-suggestions-label";
|
|
fragment.appendChild(button);
|
|
}
|
|
container.appendChild(fragment);
|
|
|
|
ContentPopupHelper.popup = suggestionsContainer;
|
|
ContentPopupHelper.anchorTo(this._currentElementRect);
|
|
|
|
return true;
|
|
},
|
|
|
|
_updateFormValidationFor: function _formHelperUpdateFormValidationFor(aElement) {
|
|
if (!aElement.validationMessage)
|
|
return false;
|
|
|
|
// the scrollX/scrollY position can change because of the animated zoom so
|
|
// delay the suggestions positioning
|
|
if (AnimatedZoom.isZooming()) {
|
|
let self = this;
|
|
this._waitForZoom(function() {
|
|
self._updateFormValidationFor(aElement);
|
|
});
|
|
return true;
|
|
}
|
|
|
|
let validationContainer = document.getElementById("form-helper-validation-container");
|
|
|
|
// Update label with form validation message
|
|
validationContainer.firstChild.value = aElement.validationMessage;
|
|
|
|
ContentPopupHelper.popup = validationContainer;
|
|
ContentPopupHelper.anchorTo(this._currentElementRect);
|
|
|
|
return true;
|
|
},
|
|
|
|
/** Retrieve the autocomplete list from the autocomplete service for an element */
|
|
_getAutocompleteSuggestions: function _formHelperGetAutocompleteSuggestions(aElement) {
|
|
if (!aElement.isAutocomplete)
|
|
return [];
|
|
|
|
let suggestions = [];
|
|
|
|
let autocompleteService = Cc["@mozilla.org/satchel/form-autocomplete;1"].getService(Ci.nsIFormAutoComplete);
|
|
let results = autocompleteService.autoCompleteSearch(aElement.name || aElement.id, aElement.value, aElement, null);
|
|
if (results.matchCount > 0) {
|
|
for (let i = 0; i < results.matchCount; i++) {
|
|
let value = results.getValueAt(i);
|
|
|
|
// Do not show the value if it is the current one in the input field
|
|
if (value == aElement.value)
|
|
continue;
|
|
|
|
suggestions.push({ "label": value, "value": value});
|
|
}
|
|
}
|
|
|
|
// Add the datalist elements provided by the website, note that the
|
|
// displayed value can differ from the real value of the element.
|
|
let options = aElement.list;
|
|
for (let i = 0; i < options.length; i++)
|
|
suggestions.push(options[i]);
|
|
|
|
return suggestions;
|
|
},
|
|
|
|
/** Helper for _updateContainer that handles the case where the new element is a select. */
|
|
_updateContainerForSelect: function _formHelperUpdateContainerForSelect(aLastElement, aCurrentElement) {
|
|
let lastHasChoices = aLastElement && (aLastElement.choices != null);
|
|
let currentHasChoices = aCurrentElement && (aCurrentElement.choices != null);
|
|
|
|
if (currentHasChoices)
|
|
SelectHelperUI.show(aCurrentElement.choices, aCurrentElement.title);
|
|
else if (lastHasChoices)
|
|
SelectHelperUI.hide();
|
|
},
|
|
|
|
/** Zoom and move viewport so that element is legible and touchable. */
|
|
_zoom: function _formHelperZoom(aElementRect, aCaretRect) {
|
|
let browser = getBrowser();
|
|
let zoomRect = Rect.fromRect(browser.getBoundingClientRect());
|
|
|
|
// Zoom to a specified Rect
|
|
let autozoomEnabled = Services.prefs.getBoolPref("formhelper.autozoom");
|
|
if (aElementRect && Browser.selectedTab.allowZoom && autozoomEnabled) {
|
|
this._currentElementRect = aElementRect;
|
|
|
|
// Zoom to an element by keeping the caret into view
|
|
let zoomLevel = Browser.selectedTab.clampZoomLevel(this._getZoomLevelForRect(aElementRect));
|
|
|
|
zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, zoomLevel);
|
|
AnimatedZoom.animateTo(zoomRect);
|
|
} else if (aElementRect && !Browser.selectedTab.allowZoom && autozoomEnabled) {
|
|
this._currentElementRect = aElementRect;
|
|
|
|
// Even if zooming is disabled we could need to reposition the view in
|
|
// order to keep the element on-screen
|
|
zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, browser.scale);
|
|
AnimatedZoom.animateTo(zoomRect);
|
|
}
|
|
|
|
this._ensureCaretVisible(aCaretRect);
|
|
},
|
|
|
|
_ensureCaretVisible: function _ensureCaretVisible(aCaretRect) {
|
|
if (!aCaretRect || !Services.prefs.getBoolPref("formhelper.autozoom.caret"))
|
|
return;
|
|
|
|
// the scrollX/scrollY position can change because of the animated zoom so
|
|
// delay the caret adjustment
|
|
if (AnimatedZoom.isZooming()) {
|
|
let self = this;
|
|
this._waitForZoom(function() {
|
|
self._ensureCaretVisible(aCaretRect);
|
|
});
|
|
return;
|
|
}
|
|
|
|
let browser = getBrowser();
|
|
let zoomRect = Rect.fromRect(browser.getBoundingClientRect());
|
|
|
|
this._currentCaretRect = aCaretRect;
|
|
let caretRect = aCaretRect.clone().scale(browser.scale, browser.scale);
|
|
|
|
let scroll = browser.getRootView().getPosition();
|
|
zoomRect = new Rect(scroll.x, scroll.y, zoomRect.width, zoomRect.height);
|
|
if (zoomRect.contains(caretRect))
|
|
return;
|
|
|
|
let [deltaX, deltaY] = this._getOffsetForCaret(caretRect, zoomRect);
|
|
if (deltaX != 0 || deltaY != 0) {
|
|
let view = browser.getRootView();
|
|
view.scrollBy(deltaX, deltaY);
|
|
}
|
|
},
|
|
|
|
/* Store the current zoom level, and scroll positions to restore them if needed */
|
|
_zoomStart: function _formHelperZoomStart() {
|
|
if (!Services.prefs.getBoolPref("formhelper.restore"))
|
|
return;
|
|
|
|
this._restore = {
|
|
scale: getBrowser().scale,
|
|
contentScrollOffset: Browser.getScrollboxPosition(Browser.contentScrollboxScroller),
|
|
pageScrollOffset: Browser.getScrollboxPosition(Browser.pageScrollboxScroller)
|
|
};
|
|
},
|
|
|
|
/** Element is no longer selected. Restore zoom level if setting is enabled. */
|
|
_zoomFinish: function _formHelperZoomFinish() {
|
|
if(!Services.prefs.getBoolPref("formhelper.restore"))
|
|
return;
|
|
|
|
let restore = this._restore;
|
|
getBrowser().scale = restore.scale;
|
|
Browser.contentScrollboxScroller.scrollTo(restore.contentScrollOffset.x, restore.contentScrollOffset.y);
|
|
Browser.pageScrollboxScroller.scrollTo(restore.pageScrollOffset.x, restore.pageScrollOffset.y);
|
|
},
|
|
|
|
_waitForZoom: function _formHelperWaitForZoom(aCallback) {
|
|
let currentElement = this._currentElement;
|
|
let self = this;
|
|
window.addEventListener("AnimatedZoomEnd", function() {
|
|
window.removeEventListener("AnimatedZoomEnd", arguments.callee, true);
|
|
// Ensure the current element has not changed during this interval
|
|
if (self._currentElement != currentElement)
|
|
return;
|
|
|
|
aCallback();
|
|
}, true);
|
|
},
|
|
|
|
_getZoomLevelForRect: function _getZoomLevelForRect(aRect) {
|
|
const margin = 30;
|
|
let zoomLevel = getBrowser().getBoundingClientRect().width / (aRect.width + margin);
|
|
|
|
// Clamp the zoom level relatively to the default zoom level of the page
|
|
let defaultZoomLevel = Browser.selectedTab.getDefaultZoomLevel();
|
|
return Util.clamp(zoomLevel, (defaultZoomLevel * kBrowserFormZoomLevelMin),
|
|
(defaultZoomLevel * kBrowserFormZoomLevelMax));
|
|
},
|
|
|
|
_getOffsetForCaret: function _formHelperGetOffsetForCaret(aCaretRect, aRect) {
|
|
// Determine if we need to move left or right to bring the caret into view
|
|
let deltaX = 0;
|
|
if (aCaretRect.right > aRect.right)
|
|
deltaX = aCaretRect.right - aRect.right;
|
|
if (aCaretRect.left < aRect.left)
|
|
deltaX = aCaretRect.left - aRect.left;
|
|
|
|
// Determine if we need to move up or down to bring the caret into view
|
|
let deltaY = 0;
|
|
if (aCaretRect.bottom > aRect.bottom)
|
|
deltaY = aCaretRect.bottom - aRect.bottom;
|
|
if (aCaretRect.top < aRect.top)
|
|
deltaY = aCaretRect.top - aRect.top;
|
|
|
|
return [deltaX, deltaY];
|
|
},
|
|
|
|
_waitForKeyboard: function formHelperWaitForKeyboard(aElement, aHasPrevious, aHasNext) {
|
|
let self = this;
|
|
window.addEventListener("KeyboardChanged", function(aEvent) {
|
|
window.removeEventListener("KeyboardChanged", arguments.callee, false);
|
|
|
|
if (AnimatedZoom.isZooming()) {
|
|
self._waitForZoom(function() {
|
|
self.show(aElement, aHasPrevious, aHasNext);
|
|
});
|
|
return;
|
|
}
|
|
|
|
self.show(aElement, aHasPrevious, aHasNext);
|
|
}, false);
|
|
}
|
|
};
|
|
|
|
var ContextHelper = {
|
|
popupState: null,
|
|
|
|
get _panel() {
|
|
delete this._panel;
|
|
return this._panel = document.getElementById("context-container");
|
|
},
|
|
|
|
get _popup() {
|
|
delete this._popup;
|
|
return this._popup = document.getElementById("context-popup");
|
|
},
|
|
|
|
showPopup: function ch_showPopup(aMessage) {
|
|
this.popupState = aMessage.json;
|
|
this.popupState.target = aMessage.target;
|
|
|
|
let first = null;
|
|
let last = null;
|
|
let commands = document.getElementById("context-commands");
|
|
for (let i=0; i<commands.childElementCount; i++) {
|
|
let command = commands.childNodes[i];
|
|
command.removeAttribute("selector");
|
|
command.hidden = true;
|
|
|
|
let types = command.getAttribute("type").split(/\s+/);
|
|
for (let i=0; i<types.length; i++) {
|
|
if (this.popupState.types.indexOf(types[i]) != -1) {
|
|
first = first || command;
|
|
last = command;
|
|
command.hidden = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!first) {
|
|
this.popupState = null;
|
|
return false;
|
|
}
|
|
|
|
// Allow the first and last *non-hidden* elements to be selected in CSS.
|
|
first.setAttribute("selector", "first-child");
|
|
last.setAttribute("selector", "last-child");
|
|
|
|
let label = document.getElementById("context-hint");
|
|
label.value = this.popupState.label || "";
|
|
|
|
this.sizeToContent();
|
|
this._panel.hidden = false;
|
|
window.addEventListener("resize", this, true);
|
|
window.addEventListener("keypress", this, true);
|
|
|
|
BrowserUI.pushPopup(this, [this._popup]);
|
|
|
|
let event = document.createEvent("Events");
|
|
event.initEvent("CancelTouchSequence", true, false);
|
|
this.popupState.target.dispatchEvent(event);
|
|
|
|
return true;
|
|
},
|
|
|
|
hide: function ch_hide() {
|
|
if (this._panel.hidden)
|
|
return;
|
|
this.popupState = null;
|
|
this._panel.hidden = true;
|
|
window.removeEventListener("resize", this, true);
|
|
window.removeEventListener("keypress", this, true);
|
|
|
|
BrowserUI.popPopup(this);
|
|
},
|
|
|
|
sizeToContent: function sizeToContent() {
|
|
let style = document.defaultView.getComputedStyle(this._panel, null);
|
|
this._popup.width = window.innerWidth - (parseInt(style.paddingLeft) + parseInt(style.paddingRight));
|
|
},
|
|
|
|
handleEvent: function handleEvent(aEvent) {
|
|
switch (aEvent.type) {
|
|
case "resize":
|
|
this.sizeToContent();
|
|
break;
|
|
case "keypress":
|
|
// Hide the context menu so you can't type behind it.
|
|
aEvent.stopPropagation();
|
|
aEvent.preventDefault();
|
|
if (aEvent.keyCode != aEvent.DOM_VK_ESCAPE)
|
|
this.hide();
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
|
|
var BadgeHandlers = {
|
|
_handlers: [
|
|
{
|
|
_lastUpdate: 0,
|
|
_lastCount: 0,
|
|
url: "https://mail.google.com/mail",
|
|
updateBadge: function(aBadge) {
|
|
// Use the cache if possible
|
|
let now = Date.now();
|
|
if (this._lastCount && this._lastUpdate > now - 1000) {
|
|
aBadge.set(this._lastCount);
|
|
return;
|
|
}
|
|
|
|
this._lastUpdate = now;
|
|
|
|
// Use any saved username and password. If we don't have any login and we are not
|
|
// currently logged into Gmail, we won't get any count.
|
|
let login = BadgeHandlers.getLogin("https://www.google.com");
|
|
|
|
// Get the feed and read the count, passing any saved username and password
|
|
// but do not show any security dialogs if we fail
|
|
let req = new XMLHttpRequest();
|
|
req.mozBackgroundRequest = true;
|
|
req.open("GET", "https://mail.google.com/mail/feed/atom", true, login.username, login.password);
|
|
req.onreadystatechange = function(aEvent) {
|
|
if (req.readyState == 4) {
|
|
if (req.status == 200 && req.responseXML) {
|
|
let count = req.responseXML.getElementsByTagName("fullcount");
|
|
this._lastCount = count ? count[0].childNodes[0].nodeValue : 0;
|
|
} else {
|
|
this._lastCount = 0;
|
|
}
|
|
this._lastCount = BadgeHandlers.setNumberBadge(aBadge, this._lastCount);
|
|
}
|
|
};
|
|
req.send(null);
|
|
}
|
|
}
|
|
],
|
|
|
|
register: function(aPopup) {
|
|
let handlers = this._handlers;
|
|
for (let i = 0; i < handlers.length; i++)
|
|
aPopup.registerBadgeHandler(handlers[i].url, handlers[i]);
|
|
},
|
|
|
|
get _pk11DB() {
|
|
delete this._pk11DB;
|
|
return this._pk11DB = Cc["@mozilla.org/security/pk11tokendb;1"].getService(Ci.nsIPK11TokenDB);
|
|
},
|
|
|
|
getLogin: function(aURL) {
|
|
let token = this._pk11DB.getInternalKeyToken();
|
|
if (!token.isLoggedIn())
|
|
return {username: "", password: ""};
|
|
|
|
let lm = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
|
|
let logins = lm.findLogins({}, aURL, aURL, null);
|
|
let username = logins.length > 0 ? logins[0].username : "";
|
|
let password = logins.length > 0 ? logins[0].password : "";
|
|
return { username: username, password: password };
|
|
},
|
|
|
|
clampBadge: function(aValue) {
|
|
if (aValue > 100)
|
|
aValue = "99+";
|
|
return aValue;
|
|
},
|
|
|
|
setNumberBadge: function(aBadge, aValue) {
|
|
if (parseInt(aValue) != 0) {
|
|
aValue = this.clampBadge(aValue);
|
|
aBadge.set(aValue);
|
|
} else {
|
|
aBadge.set("");
|
|
}
|
|
return aValue;
|
|
}
|
|
};
|
|
|
|
var FullScreenVideo = {
|
|
browser: null,
|
|
|
|
init: function fsv_init() {
|
|
messageManager.addMessageListener("Browser:FullScreenVideo:Start", this.show.bind(this));
|
|
messageManager.addMessageListener("Browser:FullScreenVideo:Close", this.hide.bind(this));
|
|
messageManager.addMessageListener("Browser:FullScreenVideo:Play", this.play.bind(this));
|
|
messageManager.addMessageListener("Browser:FullScreenVideo:Pause", this.pause.bind(this));
|
|
|
|
// If the screen supports brightness locks, we will utilize that, see checkBrightnessLocking()
|
|
try {
|
|
this.screen = null;
|
|
let screenManager = Cc["@mozilla.org/gfx/screenmanager;1"].getService(Ci.nsIScreenManager);
|
|
let screen = screenManager.primaryScreen.QueryInterface(Ci.nsIScreen_MOZILLA_2_0_BRANCH);
|
|
this.screen = screen;
|
|
}
|
|
catch (e) {} // The screen does not support brightness locks
|
|
},
|
|
|
|
play: function() {
|
|
this.playing = true;
|
|
this.checkBrightnessLocking();
|
|
},
|
|
|
|
pause: function() {
|
|
this.playing = false;
|
|
this.checkBrightnessLocking();
|
|
},
|
|
|
|
// We lock the screen brightness - prevent it from dimming or turning off - when
|
|
// we are fullscreen, and are playing (and the screen supports that feature).
|
|
checkBrightnessLocking: function() {
|
|
var shouldLock = !!this.screen && !!window.fullScreen && !!this.playing;
|
|
var locking = !!this.brightnessLocked;
|
|
if (shouldLock == locking)
|
|
return;
|
|
|
|
if (shouldLock)
|
|
this.screen.lockMinimumBrightness(this.screen.BRIGHTNESS_FULL);
|
|
else
|
|
this.screen.unlockMinimumBrightness(this.screen.BRIGHTNESS_FULL);
|
|
this.brightnessLocked = shouldLock;
|
|
},
|
|
|
|
show: function fsv_show() {
|
|
this.createBrowser();
|
|
window.fullScreen = true;
|
|
BrowserUI.pushPopup(this, this.browser);
|
|
this.checkBrightnessLocking();
|
|
},
|
|
|
|
hide: function fsv_hide() {
|
|
this.destroyBrowser();
|
|
window.fullScreen = false;
|
|
BrowserUI.popPopup(this);
|
|
this.checkBrightnessLocking();
|
|
},
|
|
|
|
createBrowser: function fsv_createBrowser() {
|
|
let browser = this.browser = document.createElement("browser");
|
|
browser.setAttribute("type", "content");
|
|
browser.setAttribute("remote", "true");
|
|
browser.setAttribute("src", "chrome://browser/content/fullscreen-video.xhtml");
|
|
document.getElementById("stack").appendChild(browser);
|
|
|
|
let mm = browser.messageManager;
|
|
mm.loadFrameScript("chrome://browser/content/fullscreen-video.js", true);
|
|
|
|
browser.addEventListener("TapDown", this, true);
|
|
browser.addEventListener("TapSingle", this, false);
|
|
|
|
return browser;
|
|
},
|
|
|
|
destroyBrowser: function fsv_destroyBrowser() {
|
|
let browser = this.browser;
|
|
browser.removeEventListener("TapDown", this, false);
|
|
browser.removeEventListener("TapSingle", this, false);
|
|
browser.parentNode.removeChild(browser);
|
|
this.browser = null;
|
|
},
|
|
|
|
handleEvent: function fsv_handleEvent(aEvent) {
|
|
switch (aEvent.type) {
|
|
case "TapDown":
|
|
this._dispatchMouseEvent("Browser:MouseDown", aEvent.clientX, aEvent.clientY);
|
|
break;
|
|
case "TapSingle":
|
|
this._dispatchMouseEvent("Browser:MouseClick", aEvent.clientX, aEvent.clientY);
|
|
break;
|
|
}
|
|
},
|
|
|
|
_dispatchMouseEvent: function fsv_dispatchMouseEvent(aName, aX, aY) {
|
|
let pos = this.browser.transformClientToBrowser(aX, aY);
|
|
this.browser.messageManager.sendAsyncMessage(aName, {
|
|
x: pos.x,
|
|
y: pos.y,
|
|
messageId: null
|
|
});
|
|
}
|
|
};
|