Browse files

Merging m-c into GECKO20b7pre_20101029_RELBRANCH per stuart/aki a=me

--HG--
branch : GECKO20b7pre_20101029_RELBRANCH
  • Loading branch information...
2 parents c8adff5 + 06e304f commit b8c2e51ab0b8119416d5f87e90507ccb3cc76778 @dougt dougt committed Nov 2, 2010
Showing with 7,693 additions and 5,348 deletions.
  1. +1 −0 browser/base/content/aboutHome.css
  2. +0 −1 browser/base/content/aboutHome.xhtml
  3. +409 −0 browser/base/content/browser-appmenu.inc
  4. +1 −365 browser/base/content/browser.xul
  5. +1 −1 browser/base/content/test/browser_bug553455.js
  6. +21 −6 browser/base/content/test/tabview/browser_tabview_launch.js
  7. +6 −0 browser/locales/all-locales
  8. +1 −1 browser/locales/en-US/chrome/browser/browser.dtd
  9. +4 −0 browser/locales/shipped-locales
  10. +3 −0 build/mobile/sutagent/android/AndroidManifest.xml
  11. +466 −156 build/mobile/sutagent/android/DoCommand.java
  12. +1 −1 build/mobile/sutagent/android/SUTAgentAndroid.java
  13. +3 −13 client.mk
  14. +13 −0 config/autoconf.mk.in
  15. +29 −29 config/rules.mk
  16. +57 −0 content/base/public/FromParser.h
  17. +3 −2 content/base/public/Makefile.in
  18. +6 −12 content/base/public/nsContentCreatorFunctions.h
  19. +9 −7 content/base/public/nsIScriptElement.h
  20. +4 −2 content/base/src/nsDocument.cpp
  21. +1 −1 content/base/src/nsInProcessTabChildGlobal.cpp
  22. +3 −1 content/base/src/nsNameSpaceManager.cpp
  23. +1 −1 content/base/src/nsScriptElement.h
  24. +57 −14 content/base/src/nsScriptLoader.cpp
  25. +1 −0 content/base/src/nsScriptLoader.h
  26. +7 −0 content/base/test/Makefile.in
  27. +3 −0 content/base/test/file_bug604660-1.xml
  28. +19 −0 content/base/test/file_bug604660-2.xsl
  29. +1 −0 content/base/test/file_bug604660-3.js
  30. +1 −0 content/base/test/file_bug604660-4.js
  31. +2 −0 content/base/test/file_bug604660-5.xml
  32. +9 −0 content/base/test/file_bug604660-6.xsl
  33. +77 −0 content/base/test/test_bug604660.html
  34. +1 −1 content/canvas/src/WebGLContextGL.cpp
  35. +1 −1 content/html/content/public/nsHTMLAudioElement.h
  36. +1 −1 content/html/content/public/nsHTMLMediaElement.h
  37. +1 −1 content/html/content/public/nsHTMLVideoElement.h
  38. +29 −28 content/html/content/src/nsGenericHTMLElement.h
  39. +4 −2 content/html/content/src/nsHTMLAudioElement.cpp
  40. +2 −1 content/html/content/src/nsHTMLCanvasElement.cpp
  41. +2 −1 content/html/content/src/nsHTMLElement.cpp
  42. +3 −4 content/html/content/src/nsHTMLFormElement.cpp
  43. +3 −2 content/html/content/src/nsHTMLFrameElement.cpp
  44. +7 −5 content/html/content/src/nsHTMLIFrameElement.cpp
  45. +3 −1 content/html/content/src/nsHTMLImageElement.cpp
  46. +5 −6 content/html/content/src/nsHTMLInputElement.cpp
  47. +1 −1 content/html/content/src/nsHTMLInputElement.h
  48. +2 −1 content/html/content/src/nsHTMLMediaElement.cpp
  49. +9 −8 content/html/content/src/nsHTMLObjectElement.cpp
  50. +3 −1 content/html/content/src/nsHTMLOptionElement.cpp
  51. +6 −6 content/html/content/src/nsHTMLScriptElement.cpp
  52. +2 −2 content/html/content/src/nsHTMLSelectElement.cpp
  53. +1 −1 content/html/content/src/nsHTMLSelectElement.h
  54. +9 −7 content/html/content/src/nsHTMLSharedObjectElement.cpp
  55. +5 −3 content/html/content/src/nsHTMLTextAreaElement.cpp
  56. +3 −1 content/html/content/src/nsHTMLVideoElement.cpp
  57. +4 −2 content/html/content/src/nsTextEditorState.cpp
  58. +8 −6 content/html/document/src/nsHTMLContentSink.cpp
  59. +5 −2 content/html/document/src/nsHTMLFragmentContentSink.cpp
  60. +1 −1 content/html/document/src/nsPluginDocument.cpp
  61. +1 −1 content/html/document/src/nsVideoDocument.cpp
  62. +9 −2 content/html/document/test/test_bug404320.html
  63. +5 −0 content/media/test/test_error_in_video_document.html
  64. +1 −1 content/svg/content/src/nsSVGElement.h
  65. +5 −3 content/svg/content/src/nsSVGElementFactory.cpp
  66. +4 −6 content/svg/content/src/nsSVGSVGElement.cpp
  67. +4 −2 content/svg/content/src/nsSVGSVGElement.h
  68. +6 −7 content/svg/content/src/nsSVGScriptElement.cpp
  69. +2 −1 content/svg/content/src/nsSVGUseElement.cpp
  70. +2 −1 content/svg/content/src/nsSVGUseElement.h
  71. +1 −1 content/xbl/src/nsXBLContentSink.cpp
  72. +1 −1 content/xbl/src/nsXBLContentSink.h
  73. +1 −3 content/xbl/src/nsXBLDocumentInfo.cpp
  74. +5 −2 content/xml/document/src/nsXMLContentSink.cpp
  75. +2 −1 content/xml/document/src/nsXMLContentSink.h
  76. +5 −3 content/xml/document/src/nsXMLFragmentContentSink.cpp
  77. +3 −2 content/xslt/src/xslt/txMozillaTextOutput.cpp
  78. +40 −8 content/xslt/src/xslt/txMozillaXMLOutput.cpp
  79. +3 −2 content/xul/document/src/nsXULDocument.cpp
  80. +1 −3 content/xul/document/src/nsXULPrototypeDocument.cpp
  81. +1 −1 content/xul/templates/src/nsXULContentBuilder.cpp
  82. +33 −30 dom/base/nsDOMClassInfo.cpp
  83. +2 −0 dom/base/nsDOMClassInfo.h
  84. +1 −0 dom/base/nsHistory.h
  85. +1 −5 dom/base/nsJSEnvironment.cpp
  86. +1 −1 dom/ipc/TabChild.cpp
  87. +1 −1 dom/plugins/PluginInstanceParent.cpp
  88. +29 −11 dom/plugins/PluginModuleParent.cpp
  89. +2 −2 dom/plugins/PluginModuleParent.h
  90. +2 −5 dom/src/threads/nsDOMWorker.cpp
  91. +1 −1 extensions/jssh/nsJSSh.cpp
  92. +2 −1 gfx/thebes/GLContext.h
  93. +1 −1 ipc/testshell/XPCShellEnvironment.cpp
  94. +32 −7 js/jsd/idl/jsdIDebuggerService.idl
  95. +1 −6 js/jsd/jsd_scpt.c
  96. +1 −0 js/jsd/jsd_val.c
  97. +56 −12 js/jsd/jsd_xpc.cpp
  98. +1 −1 js/jsd/jsd_xpc.h
  99. +1 −0 js/jsd/test/Makefile.in
  100. +25 −0 js/jsd/test/bug507448.js
  101. +69 −28 js/jsd/test/test_bug507448.html
  102. +9 −3 js/src/Makefile.in
  103. +13 −0 js/src/config/autoconf.mk.in
  104. +29 −29 js/src/config/rules.mk
  105. +3 −0 js/src/jit-test/tests/basic/testBug606138.js
  106. +27 −0 js/src/jit-test/tests/basic/testReplaceMap.js
  107. +1 −1 js/src/jsapi-tests/testBug604087.cpp
  108. +7 −45 js/src/jsapi.cpp
  109. +2 −2 js/src/jsapi.h
  110. +3 −3 js/src/jsarray.cpp
  111. +6 −35 js/src/jsatom.cpp
  112. +0 −91 js/src/jsbuiltins.h
  113. +0 −6 js/src/jscntxt.cpp
  114. +10 −38 js/src/jscntxt.h
  115. +57 −10 js/src/jscntxtinlines.h
  116. +15 −2 js/src/jscompartment.cpp
  117. +23 −14 js/src/jscompartment.h
  118. +31 −4 js/src/jsdbgapi.cpp
  119. +7 −0 js/src/jsdbgapi.h
  120. +2 −2 js/src/jsfun.cpp
  121. +70 −28 js/src/jsinterp.cpp
  122. +16 −8 js/src/jsinterp.h
  123. +6 −4 js/src/jsinterpinlines.h
  124. +1 −0 js/src/jsiter.h
  125. +13 −14 js/src/jsmath.cpp
  126. +3 −0 js/src/jsmath.h
  127. +143 −113 js/src/jsobj.cpp
  128. +33 −6 js/src/jsobj.h
  129. +2 −2 js/src/jsopcode.cpp
  130. +0 −8 js/src/jsotypes.h
  131. +19 −0 js/src/jsprobes.h
  132. +12 −26 js/src/jsproxy.cpp
  133. +139 −43 js/src/jsstr.cpp
  134. +2 −0 js/src/jsstr.h
  135. +37 −0 js/src/jsstrinlines.h
  136. +9 −0 js/src/jstl.h
  137. +894 −1,850 js/src/jstracer.cpp
  138. +39 −94 js/src/jstracer.h
  139. +1 −1 js/src/jstypedarray.cpp
  140. +4 −2 js/src/jsvalue.h
  141. +2 −0 js/src/jsvector.h
  142. +6 −3 js/src/jswrapper.cpp
  143. +3 −3 js/src/jsxml.cpp
  144. +24 −3 js/src/methodjit/BaseAssembler.h
  145. +24 −17 js/src/methodjit/BaseCompiler.h
  146. +121 −174 js/src/methodjit/Compiler.cpp
  147. +41 −30 js/src/methodjit/Compiler.h
  148. +19 −12 js/src/methodjit/FastArithmetic.cpp
  149. +124 −177 js/src/methodjit/FastOps.cpp
  150. +6 −0 js/src/methodjit/FrameEntry.h
  151. +25 −1 js/src/methodjit/InvokeHelpers.cpp
  152. +9 −12 js/src/methodjit/MethodJIT.cpp
  153. +68 −0 js/src/methodjit/MethodJIT.h
  154. +8 −15 js/src/methodjit/NunboxAssembler.h
  155. +606 −720 js/src/methodjit/PolyIC.cpp
  156. +140 −62 js/src/methodjit/PolyIC.h
  157. +4 −10 js/src/methodjit/PunboxAssembler.h
  158. +1 −1 js/src/methodjit/Retcon.cpp
  159. +9 −9 js/src/methodjit/StubCalls.cpp
  160. +1 −0 js/src/methodjit/StubCalls.h
  161. +6 −4 js/src/methodjit/StubCompiler.cpp
  162. +2 −1 js/src/methodjit/StubCompiler.h
  163. +1 −1 js/src/nanojit-import-rev
  164. +7 −1 js/src/nanojit/Assembler.cpp
  165. +29 −2 js/src/nanojit/LIR.cpp
  166. +13 −9 js/src/nanojit/LIR.h
  167. +1 −1 js/src/nanojit/LIRopcode.tbl
  168. +3 −0 js/src/nanojit/Native.h
  169. +101 −59 js/src/nanojit/NativeARM.cpp
  170. +65 −38 js/src/nanojit/NativeARM.h
  171. +1 −0 js/src/nanojit/NativePPC.h
  172. +85 −28 js/src/nanojit/NativeSparc.cpp
  173. +21 −5 js/src/nanojit/NativeSparc.h
  174. +1 −0 js/src/nanojit/NativeX64.h
  175. +123 −107 js/src/nanojit/Nativei386.cpp
  176. +25 −14 js/src/nanojit/Nativei386.h
  177. +32 −0 js/src/tests/ecma_5/Global/eval-native-callback-is-indirect.js
  178. +1 −0 js/src/tests/ecma_5/Global/jstests.list
  179. +12 −0 js/src/tests/ecma_5/Object/freeze-global-eval-const.js
  180. +1 −0 js/src/tests/ecma_5/Object/jstests.list
  181. +43 −0 js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js
  182. +1 −0 js/src/tests/ecma_5/extensions/jstests.list
  183. +1 −0 js/src/tests/js1_8_5/extensions/jstests.list
  184. +49 −0 js/src/tests/js1_8_5/extensions/proxy-proto-setter.js
  185. +2 −1 js/src/tests/js1_8_5/regress/jstests.list
  186. +13 −0 js/src/tests/js1_8_5/regress/regress-607863.js
  187. +548 −0 js/src/tracejit/Writer.cpp
  188. +1,187 −0 js/src/tracejit/Writer.h
  189. +1 −5 js/src/xpconnect/idl/nsIXPCScriptable.idl
  190. +15 −8 js/src/xpconnect/idl/nsIXPConnect.idl
  191. +1 −1 js/src/xpconnect/loader/mozJSComponentLoader.cpp
  192. +0 −9 js/src/xpconnect/public/xpc_map_end.h
  193. +1 −1 js/src/xpconnect/shell/xpcshell.cpp
  194. +1 −3 js/src/xpconnect/src/XPCWrapper.h
  195. +138 −55 js/src/xpconnect/src/nsXPConnect.cpp
  196. +1 −0 js/src/xpconnect/src/xpc.msg
  197. +12 −16 js/src/xpconnect/src/xpccomponents.cpp
  198. +13 −0 js/src/xpconnect/src/xpcinlines.h
  199. +73 −19 js/src/xpconnect/src/xpcjsruntime.cpp
  200. +116 −7 js/src/xpconnect/src/xpcprivate.h
  201. +9 −3 js/src/xpconnect/src/xpcpublic.h
  202. +6 −6 js/src/xpconnect/src/xpcthreadcontext.cpp
  203. +7 −1 js/src/xpconnect/src/xpcwrappedjs.cpp
  204. +3 −45 js/src/xpconnect/src/xpcwrappednativejsops.cpp
  205. +10 −5 js/src/xpconnect/src/xpcwrappednativescope.cpp
  206. +7 −0 js/src/xpconnect/tests/chrome/test_evalInSandbox.xul
  207. +1 −0 js/src/xpconnect/tests/mochitest/Makefile.in
  208. +19 −0 js/src/xpconnect/tests/mochitest/test_bug601299.html
  209. +51 −0 js/src/xpconnect/tests/unit/test_bug608142.js
  210. +32 −10 js/src/xpconnect/wrappers/WrapperFactory.cpp
  211. +3 −3 layout/forms/nsComboboxControlFrame.cpp
  212. +8 −3 layout/forms/nsFileControlFrame.cpp
  213. +7 −3 layout/forms/nsIsIndexFrame.cpp
  214. +19 −12 netwerk/cookie/nsCookieService.cpp
  215. +1 −0 netwerk/cookie/nsCookieService.h
  216. +4 −3 netwerk/cookie/nsICookieService.idl
  217. +8 −4 parser/html/nsHtml5TreeOperation.cpp
  218. +2 −2 security/manager/locales/en-US/chrome/pippki/certManager.dtd
  219. +2 −2 security/manager/pki/resources/content/exceptionDialog.xul
  220. +6 −1 testing/mochitest/browser-test.js
  221. +1 −1 testing/mozmill/jsbridge/jsbridge/extension/install.rdf
  222. +2 −2 testing/mozmill/jsbridge/setup.py
  223. +3 −2 testing/mozmill/mozmill/mozmill/__init__.py
  224. +1 −1 testing/mozmill/mozmill/mozmill/extension/install.rdf
  225. +9 −3 testing/mozmill/mozmill/mozmill/extension/resource/modules/init.js
  226. +12 −6 testing/mozmill/mozmill/mozmill/extension/resource/modules/utils.js
  227. +2 −2 testing/mozmill/mozmill/setup.py
  228. +17 −12 testing/mozmill/mozrunner/mozrunner/winprocess.py
  229. +1 −1 testing/mozmill/mozrunner/setup.py
  230. +0 −172 testing/mozmill/tests/firefox/testPrivateBrowsing/testStartStopPBMode.js
  231. +2 −2 ...onents/console/hudservice/tests/browser/browser_webconsole_bug_580030_errors_after_page_reload.js
  232. +1 −0 toolkit/mozapps/extensions/test/browser/Makefile.in
  233. +1 −0 toolkit/mozapps/extensions/test/browser/addon_prefs.xul
  234. +7 −7 toolkit/mozapps/extensions/test/browser/browser_bug557956.js
  235. +11 −10 toolkit/mozapps/extensions/test/browser/browser_bug562797.js
  236. +21 −11 toolkit/mozapps/extensions/test/browser/browser_bug562890.js
  237. +4 −4 toolkit/mozapps/extensions/test/browser/head.js
  238. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_signed_naming.js
  239. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_signed_trigger.js
  240. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_signed_untrusted.js
  241. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_signed_url.js
  242. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_trigger_redirect.js
  243. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_unsigned_trigger.js
  244. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_unsigned_trigger_iframe.js
  245. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_unsigned_url.js
  246. +1 −1 toolkit/mozapps/extensions/test/xpinstall/browser_whitelist.js
  247. +4 −0 xpcom/base/nsError.h
View
1 browser/base/content/aboutHome.css
@@ -104,6 +104,7 @@ body[dir="rtl"] #searchEngineLinks {
}
#searchText {
+ margin-bottom: 10px;
width: 100%;
}
View
1 browser/base/content/aboutHome.xhtml
@@ -72,7 +72,6 @@
<img id="searchEngineLogo"/>
<form name="searchForm" onsubmit="onSearchSubmit(event)">
<input type="text" name="searchText" value="" id="searchText" maxLength="256"/>
- <br/>
<input type="submit" value="&abouthome.searchEngineButton.label;"/>
<span id="searchEngineLinks">
<a hidden="true" id="searchEngineAdvancedLink">&abouthome.searchEngineLinks.advanced;</a>
View
409 browser/base/content/browser-appmenu.inc
@@ -0,0 +1,409 @@
+# -*- Mode: HTML -*-
+# ***** 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 Firefox Application Menu.
+#
+# The Initial Developer of the Original Code is
+# The Mozilla Foundation.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Dão Gottwald <dao@mozilla.com>
+# Joshua M. <soapyhamhocks@gmail.com>
+# Margaret Leibovic <margaret.leibovic@gmail.com>
+#
+# 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 *****
+
+<menupopup id="appmenu-popup"
+#ifdef MOZ_SERVICES_SYNC
+ onpopupshowing="updateEditUIVisibility();gSyncUI.updateUI();">
+#else
+ onpopupshowing="updateEditUIVisibility();">
+#endif
+ <hbox>
+ <vbox id="appmenuPrimaryPane">
+ <hbox flex="1"
+ class="split-menuitem">
+ <menuitem id="appmenu_newTab"
+ class="menuitem-tooltip split-menuitem-item"
+ flex="1"
+ label="&tabCmd.label;"
+ command="cmd_newNavigatorTab"
+ key="key_newNavigatorTab"/>
+ <menu class="split-menuitem-menu">
+ <menupopup>
+ <menuitem id="appmenu_newTab_popup"
+ label="&tabCmd.label;"
+ command="cmd_newNavigatorTab"
+ key="key_newNavigatorTab"/>
+ <menuitem id="appmenu_newNavigator"
+ label="&newNavigatorCmd.label;"
+ command="cmd_newNavigator"
+ key="key_newNavigator"/>
+ <menuseparator/>
+ <menuitem id="appmenu_openFile"
+ label="&openFileCmd.label;"
+ command="Browser:OpenFile"
+ key="openFileKb"/>
+ </menupopup>
+ </menu>
+ </hbox>
+ <menuitem id="appmenu_privateBrowsing"
+ class="menuitem-iconic menuitem-iconic-tooltip"
+ label="&privateBrowsingCmd.start.label;"
+ startlabel="&privateBrowsingCmd.start.label;"
+ stoplabel="&privateBrowsingCmd.stop.label;"
+ command="Tools:PrivateBrowsing"
+ key="key_privatebrowsing"/>
+ <menuitem label="&goOfflineCmd.label;"
+ id="appmenu_offlineModeRecovery"
+ type="checkbox"
+ observes="workOfflineMenuitemState"
+ oncommand="BrowserOffline.toggleOfflineStatus();"/>
+ <menuseparator class="appmenu-menuseparator"/>
+ <hbox>
+ <menuitem id="appmenu-edit-label"
+ label="&appMenuEdit.label;"
+ disabled="true"/>
+ <toolbarbutton id="appmenu-cut"
+ class="appmenu-edit-button"
+ command="cmd_cut"
+ onclick="if (!this.disabled) hidePopup();"
+ tooltiptext="&cutButton.tooltip;"/>
+ <toolbarbutton id="appmenu-copy"
+ class="appmenu-edit-button"
+ command="cmd_copy"
+ onclick="if (!this.disabled) hidePopup();"
+ tooltiptext="&copyButton.tooltip;"/>
+ <toolbarbutton id="appmenu-paste"
+ class="appmenu-edit-button"
+ command="cmd_paste"
+ onclick="if (!this.disabled) hidePopup();"
+ tooltiptext="&pasteButton.tooltip;"/>
+ </hbox>
+ <menuitem id="appmenu_find"
+ class="menuitem-tooltip"
+ label="&appMenuFind.label;"
+ command="cmd_find"
+ key="key_find"/>
+ <menuseparator class="appmenu-menuseparator"/>
+ <menuitem id="appmenu_savePage"
+ class="menuitem-tooltip"
+ label="&savePageCmd.label;"
+ command="Browser:SavePage"
+ key="key_savePage"/>
+ <menuitem id="appmenu_sendLink"
+ label="&sendPageCmd.label;"
+ command="Browser:SendLink"/>
+ <hbox flex="1"
+ class="split-menuitem">
+ <menuitem id="appmenu_print"
+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
+ flex="1"
+ label="&printCmd.label;"
+ command="cmd_print"
+ key="printKb"/>
+ <menu class="split-menuitem-menu">
+ <menupopup>
+ <menuitem id="appmenu_print_popup"
+ class="menuitem-iconic"
+ label="&printCmd.label;"
+ command="cmd_print"
+ key="printKb"/>
+ <menuitem id="appmenu_printPreview"
+ label="&printPreviewCmd.label;"
+ command="cmd_printPreview"/>
+ <menuitem id="appmenu_printSetup"
+ label="&printSetupCmd.label;"
+ command="cmd_pageSetup"/>
+ </menupopup>
+ </menu>
+ </hbox>
+ <menuseparator class="appmenu-menuseparator"/>
+ <menu id="appmenu_webDeveloper"
+ label="&appMenuWebDeveloper.label;">
+ <menupopup id="appmenu_webDeveloper_popup">
+ <menuitem id="appmenu_webConsole"
+ label="&webConsoleCmd.label;"
+ oncommand="HUDConsoleUI.toggleHUD();"
+ key="key_webConsole"/>
+ <menuitem id="appmenu_pageInspect"
+ hidden="true"
+ label="&inspectMenu.label;"
+ type="checkbox"
+ command="Tools:Inspect"
+ key="key_inspect"/>
+ <menuseparator/>
+ <menuitem id="appmenu_pageSource"
+ label="&viewPageSourceCmd.label;"
+ command="View:PageSource"
+ key="key_viewSource"/>
+ <menuseparator/>
+#define ID_PREFIX appmenu_developer_
+#include browser-charsetmenu.inc
+#undef ID_PREFIX
+ <menuseparator/>
+ <menuitem label="&goOfflineCmd.label;"
+ type="checkbox"
+ observes="workOfflineMenuitemState"
+ oncommand="BrowserOffline.toggleOfflineStatus();"/>
+ </menupopup>
+ </menu>
+ <menuseparator class="appmenu-menuseparator"/>
+#define ID_PREFIX appmenu_
+#include browser-charsetmenu.inc
+#undef ID_PREFIX
+ <menuitem id="appmenu_fullScreen"
+ class="menuitem-tooltip"
+ label="&fullScreenCmd.label;"
+ type="checkbox"
+ observes="View:FullScreen"
+ key="key_fullScreen"/>
+ <menuitem id="appmenu-quit"
+ class="menuitem-iconic"
+#ifdef XP_WIN
+ label="&quitApplicationCmdWin.label;"
+#else
+ label="&quitApplicationCmd.label;"
+#endif
+ command="cmd_quitApplication"/>
+ </vbox>
+ <vbox id="appmenuSecondaryPane">
+ <hbox class="split-menuitem">
+ <menuitem id="appmenu_bookmarks"
+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
+ flex="1"
+ label="&bookmarksMenu.label;"
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menu id="appmenu_bookmarksMenu"
+ class="split-menuitem-menu">
+ <menupopup id="appmenu_bookmarksPopup"
+ placespopup="true"
+ context="placesContext"
+ openInTabs="children"
+ oncommand="BookmarksEventHandler.onCommand(event);"
+ onclick="BookmarksEventHandler.onClick(event);"
+ onpopupshowing="BookmarksMenuButton.onPopupShowing(event);
+ if (!this.parentNode._placesView)
+ new PlacesMenu(event, 'place:folder=BOOKMARKS_MENU');"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <menuitem id="appmenu_showAllBookmarks"
+ label="&showAllBookmarks.label;"
+ command="Browser:ShowAllBookmarks"
+ context=""
+ key="manBookmarkKb"/>
+ <menuseparator/>
+ <menuitem id="appmenu_bookmarkThisPage"
+ class="menuitem-iconic"
+ label="&bookmarkThisPageCmd.label;"
+ command="Browser:AddBookmarkAs"
+ key="addBookmarkAsKb"/>
+ <menuitem id="appmenu_subscribeToPage"
+ class="menuitem-iconic"
+ label="&subscribeToPageMenuitem.label;"
+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
+ onclick="checkForMiddleClick(this, event);"
+ observes="singleFeedMenuitemState"/>
+ <menu id="appmenu_subscribeToPageMenu"
+ class="menu-iconic"
+ label="&subscribeToPageMenupopup.label;"
+ observes="multipleFeedsMenuState">
+ <menupopup id="appmenu_subscribeToPageMenupopup"
+ onpopupshowing="return FeedHandler.buildFeedList(event.target);"
+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
+ onclick="checkForMiddleClick(this, event);"/>
+ </menu>
+ <menuseparator/>
+ <menu id="appmenu_bookmarksToolbar"
+ placesanonid="toolbar-autohide"
+ class="menu-iconic bookmark-item"
+ label="&personalbarCmd.label;"
+ container="true">
+ <menupopup id="appmenu_bookmarksToolbarPopup"
+ placespopup="true"
+ context="placesContext"
+ onpopupshowing="if (!this.parentNode._placesView)
+ new PlacesMenu(event, 'place:folder=TOOLBAR');"/>
+ </menu>
+ <menuseparator/>
+ <!-- Bookmarks menu items -->
+ <menuseparator builder="end"
+ class="hide-if-empty-places-result"/>
+ <menuitem id="appmenu_unsortedBookmarks"
+ label="&appMenuUnsorted.label;"
+ oncommand="PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks');"
+ class="menuitem-iconic"/>
+ </menupopup>
+ </menu>
+ </hbox>
+ <hbox class="split-menuitem">
+ <menuitem id="appmenu_history"
+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
+ flex="1"
+ label="&historyMenu.label;"
+ command="Browser:ShowAllHistory"
+ key="showAllHistoryKb"/>
+ <menu id="appmenu_historyMenu"
+ class="split-menuitem-menu">
+ <menupopup id="appmenu_historyMenupopup"
+ placespopup="true"
+ oncommand="this.parentNode._placesView._onCommand(event);"
+ onclick="checkForMiddleClick(this, event);"
+ onpopupshowing="if (!this.parentNode._placesView)
+ new HistoryMenu(event);"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <menuitem id="appmenu_showAllHistory"
+ label="&showAllHistoryCmd2.label;"
+ command="Browser:ShowAllHistory"
+ key="showAllHistoryKb"/>
+ <menuseparator/>
+ <menuitem id="appmenu_sanitizeHistory"
+ label="&clearRecentHistory.label;"
+ key="key_sanitize"
+ command="Tools:Sanitize"/>
+ <menuseparator class="hide-if-empty-places-result"/>
+ <menuitem id="appmenu_restoreLastSession"
+ class="restoreLastSession"
+ label="&historyRestoreLastSession.label;"
+ oncommand="restoreLastSession();"
+ disabled="true"/>
+ <menu id="appmenu_recentlyClosedTabsMenu"
+ class="recentlyClosedTabsMenu"
+ label="&historyUndoMenu.label;"
+ disabled="true">
+ <menupopup id="appmenu_recentlyClosedTabsMenupopup"
+ onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoSubmenu();"/>
+ </menu>
+ <menu id="appmenu_recentlyClosedWindowsMenu"
+ class="recentlyClosedWindowsMenu"
+ label="&historyUndoWindowMenu.label;"
+ disabled="true">
+ <menupopup id="appmenu_recentlyClosedWindowsMenupopup"
+ onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoWindowSubmenu();"/>
+ </menu>
+ <menuseparator/>
+ </menupopup>
+ </menu>
+ </hbox>
+ <menuitem id="appmenu_downloads"
+ class="menuitem-tooltip"
+ label="&downloads.label;"
+ command="Tools:Downloads"
+ key="key_openDownloads"/>
+ <spacer id="appmenuSecondaryPane-spacer"/>
+ <menuitem id="appmenu_addons"
+ class="menuitem-iconic menuitem-iconic-tooltip"
+ label="&addons.label;"
+ command="Tools:Addons"
+ key="key_openAddons"/>
+ <hbox class="split-menuitem">
+ <menuitem id="appmenu_customize"
+#ifdef XP_UNIX
+ label="&preferencesCmdUnix.label;"
+#else
+ label="&preferencesCmd.label;"
+#endif
+ class="split-menuitem-item"
+ flex="1"
+ oncommand="openPreferences();"/>
+ <menu class="split-menuitem-menu"
+ label="&preferencesCmd.label;">
+ <menupopup id="appmenu_customizeMenu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('appmenu_toggleTabsOnTop').previousSibling);">
+ <menuitem id="appmenu_preferences"
+#ifdef XP_UNIX
+ label="&preferencesCmdUnix.label;"
+#else
+ label="&preferencesCmd.label;"
+#endif
+ oncommand="openPreferences();"/>
+ <menuseparator/>
+ <menuseparator/>
+ <menuitem id="appmenu_toggleTabsOnTop"
+ label="&viewTabsOnTop.label;"
+ type="checkbox"
+ command="cmd_ToggleTabsOnTop"/>
+ <menuitem id="appmenu_toolbarLayout"
+ label="&appMenuToolbarLayout.label;"
+ command="cmd_CustomizeToolbars"/>
+ </menupopup>
+ </menu>
+ </hbox>
+ <hbox class="split-menuitem">
+ <menuitem id="appmenu_help"
+ class="split-menuitem-item"
+ flex="1"
+ label="&helpMenu.label;"
+ oncommand="openHelpLink('firefox-help')"/>
+ <menu class="split-menuitem-menu">
+ <menupopup id="appmenu_helpMenupopup">
+ <menuitem id="appmenu_openHelp"
+ label="&helpMenu.label;"
+ oncommand="openHelpLink('firefox-help')"
+ onclick="checkForMiddleClick(this, event);"/>
+ <menuitem id="appmenu_gettingStarted"
+ label="&appMenuGettingStarted.label;"
+ oncommand="gBrowser.loadOneTab('http://www.mozilla.com/firefox/central/', {inBackground: false});"
+ onclick="checkForMiddleClick(this, event);"/>
+ <menuitem id="appmenu_troubleshootingInfo"
+ label="&helpTroubleshootingInfo.label;"
+ oncommand="openTroubleshootingPage()"
+ onclick="checkForMiddleClick(this,event);"/>
+ <menuitem id="appmenu_feedbackPage"
+ label="&helpFeedbackPage.label;"
+ oncommand="openFeedbackPage()"
+ onclick="checkForMiddleClick(this, event);"/>
+ <menuseparator/>
+ <menuitem id="appmenu_safeMode"
+ accesskey="&appMenuSafeMode.accesskey;"
+ label="&appMenuSafeMode.label;"
+ oncommand="safeModeRestart();"/>
+ <menuseparator/>
+ <menuitem id="appmenu_about"
+ label="&aboutProduct.label;"
+ oncommand="openAboutDialog();"/>
+ </menupopup>
+ </menu>
+ </hbox>
+#ifdef MOZ_SERVICES_SYNC
+ <spacer flex="1"/>
+ <!-- only one of sync-setup or sync-syncnow will be showing at once -->
+ <menuitem id="sync-setup-appmenu"
+ label="&syncSetup.label;"
+ observes="sync-setup-state"
+ oncommand="gSyncUI.openSetup()"/>
+ <menuitem id="sync-syncnowitem-appmenu"
+ label="&syncSyncNowItem.label;"
+ observes="sync-syncnow-state"
+ oncommand="gSyncUI.doSync(event);"/>
+#endif
+ </vbox>
+ </hbox>
+</menupopup>
View
366 browser/base/content/browser.xul
@@ -441,371 +441,7 @@
label="&appMenuButton.label;"
#endif
style="-moz-user-focus: ignore;">
- <menupopup id="appmenu-popup"
-#ifdef MOZ_SERVICES_SYNC
- onpopupshowing="updateEditUIVisibility();gSyncUI.updateUI();">
-#else
- onpopupshowing="updateEditUIVisibility();">
-#endif
- <hbox>
- <vbox id="appmenuPrimaryPane">
- <hbox flex="1"
- class="split-menuitem">
- <menuitem id="appmenu_newTab"
- class="menuitem-tooltip split-menuitem-item"
- flex="1"
- label="&tabCmd.label;"
- command="cmd_newNavigatorTab"
- key="key_newNavigatorTab"/>
- <menu class="split-menuitem-menu">
- <menupopup>
- <menuitem id="appmenu_newTab_popup"
- label="&tabCmd.label;"
- command="cmd_newNavigatorTab"
- key="key_newNavigatorTab"/>
- <menuitem id="appmenu_newNavigator"
- label="&newNavigatorCmd.label;"
- command="cmd_newNavigator"
- key="key_newNavigator"/>
- <menuseparator/>
- <menuitem id="appmenu_openFile"
- label="&openFileCmd.label;"
- command="Browser:OpenFile"
- key="openFileKb"/>
- </menupopup>
- </menu>
- </hbox>
- <menuitem id="appmenu_privateBrowsing"
- class="menuitem-iconic menuitem-iconic-tooltip"
- label="&privateBrowsingCmd.start.label;"
- startlabel="&privateBrowsingCmd.start.label;"
- stoplabel="&privateBrowsingCmd.stop.label;"
- command="Tools:PrivateBrowsing"
- key="key_privatebrowsing"/>
- <menuitem label="&goOfflineCmd.label;"
- id="appmenu_offlineModeRecovery"
- type="checkbox"
- observes="workOfflineMenuitemState"
- oncommand="BrowserOffline.toggleOfflineStatus();"/>
- <menuseparator class="appmenu-menuseparator"/>
- <hbox>
- <menuitem id="appmenu-edit-label"
- label="&appMenuEdit.label;"
- disabled="true"/>
- <toolbarbutton id="appmenu-cut"
- class="appmenu-edit-button"
- command="cmd_cut"
- onclick="if (!this.disabled) hidePopup();"
- tooltiptext="&cutButton.tooltip;"/>
- <toolbarbutton id="appmenu-copy"
- class="appmenu-edit-button"
- command="cmd_copy"
- onclick="if (!this.disabled) hidePopup();"
- tooltiptext="&copyButton.tooltip;"/>
- <toolbarbutton id="appmenu-paste"
- class="appmenu-edit-button"
- command="cmd_paste"
- onclick="if (!this.disabled) hidePopup();"
- tooltiptext="&pasteButton.tooltip;"/>
- </hbox>
- <menuitem id="appmenu_find"
- class="menuitem-tooltip"
- label="&appMenuFind.label;"
- command="cmd_find"
- key="key_find"/>
- <menuseparator class="appmenu-menuseparator"/>
- <menuitem id="appmenu_savePage"
- class="menuitem-tooltip"
- label="&savePageCmd.label;"
- command="Browser:SavePage"
- key="key_savePage"/>
- <menuitem id="appmenu_sendLink"
- label="&sendPageCmd.label;"
- command="Browser:SendLink"/>
- <hbox flex="1"
- class="split-menuitem">
- <menuitem id="appmenu_print"
- class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
- flex="1"
- label="&printCmd.label;"
- command="cmd_print"
- key="printKb"/>
- <menu class="split-menuitem-menu">
- <menupopup>
- <menuitem id="appmenu_print_popup"
- class="menuitem-iconic"
- label="&printCmd.label;"
- command="cmd_print"
- key="printKb"/>
- <menuitem id="appmenu_printPreview"
- label="&printPreviewCmd.label;"
- command="cmd_printPreview"/>
- <menuitem id="appmenu_printSetup"
- label="&printSetupCmd.label;"
- command="cmd_pageSetup"/>
- </menupopup>
- </menu>
- </hbox>
- <menuseparator class="appmenu-menuseparator"/>
- <menu id="appmenu_webDeveloper"
- label="&appMenuWebDeveloper.label;">
- <menupopup id="appmenu_webDeveloper_popup">
- <menuitem id="appmenu_webConsole"
- label="&webConsoleCmd.label;"
- oncommand="HUDConsoleUI.toggleHUD();"
- key="key_webConsole"/>
- <menuitem id="appmenu_pageInspect"
- hidden="true"
- label="&inspectMenu.label;"
- type="checkbox"
- command="Tools:Inspect"
- key="key_inspect"/>
- <menuseparator/>
- <menuitem id="appmenu_pageSource"
- label="&viewPageSourceCmd.label;"
- command="View:PageSource"
- key="key_viewSource"/>
- <menuseparator/>
-#define ID_PREFIX appmenu_developer_
-#include browser-charsetmenu.inc
-#undef ID_PREFIX
- <menuseparator/>
- <menuitem label="&goOfflineCmd.label;"
- type="checkbox"
- observes="workOfflineMenuitemState"
- oncommand="BrowserOffline.toggleOfflineStatus();"/>
- </menupopup>
- </menu>
- <menuseparator class="appmenu-menuseparator"/>
-#define ID_PREFIX appmenu_
-#include browser-charsetmenu.inc
-#undef ID_PREFIX
- <menuitem id="appmenu_fullScreen"
- class="menuitem-tooltip"
- label="&fullScreenCmd.label;"
- type="checkbox"
- observes="View:FullScreen"
- key="key_fullScreen"/>
- <menuitem id="appmenu-quit"
- class="menuitem-iconic"
-#ifdef XP_WIN
- label="&quitApplicationCmdWin.label;"
-#else
- label="&quitApplicationCmd.label;"
-#endif
- command="cmd_quitApplication"/>
- </vbox>
- <vbox id="appmenuSecondaryPane">
- <hbox class="split-menuitem">
- <menuitem id="appmenu_bookmarks"
- class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
- flex="1"
- label="&bookmarksMenu.label;"
- command="Browser:ShowAllBookmarks"
- key="manBookmarkKb"/>
- <menu id="appmenu_bookmarksMenu"
- class="split-menuitem-menu">
- <menupopup id="appmenu_bookmarksPopup"
- placespopup="true"
- context="placesContext"
- openInTabs="children"
- oncommand="BookmarksEventHandler.onCommand(event);"
- onclick="BookmarksEventHandler.onClick(event);"
- onpopupshowing="BookmarksMenuButton.onPopupShowing(event);
- if (!this.parentNode._placesView)
- new PlacesMenu(event, 'place:folder=BOOKMARKS_MENU');"
- tooltip="bhTooltip"
- popupsinherittooltip="true">
- <menuitem id="appmenu_showAllBookmarks"
- label="&showAllBookmarks.label;"
- command="Browser:ShowAllBookmarks"
- context=""
- key="manBookmarkKb"/>
- <menuseparator/>
- <menuitem id="appmenu_bookmarkThisPage"
- class="menuitem-iconic"
- label="&bookmarkThisPageCmd.label;"
- command="Browser:AddBookmarkAs"
- key="addBookmarkAsKb"/>
- <menuitem id="appmenu_subscribeToPage"
- class="menuitem-iconic"
- label="&subscribeToPageMenuitem.label;"
- oncommand="return FeedHandler.subscribeToFeed(null, event);"
- onclick="checkForMiddleClick(this, event);"
- observes="singleFeedMenuitemState"/>
- <menu id="appmenu_subscribeToPageMenu"
- class="menu-iconic"
- label="&subscribeToPageMenupopup.label;"
- observes="multipleFeedsMenuState">
- <menupopup id="appmenu_subscribeToPageMenupopup"
- onpopupshowing="return FeedHandler.buildFeedList(event.target);"
- oncommand="return FeedHandler.subscribeToFeed(null, event);"
- onclick="checkForMiddleClick(this, event);"/>
- </menu>
- <menuseparator/>
- <menu id="appmenu_bookmarksToolbar"
- placesanonid="toolbar-autohide"
- class="menu-iconic bookmark-item"
- label="&personalbarCmd.label;"
- container="true">
- <menupopup id="appmenu_bookmarksToolbarPopup"
- placespopup="true"
- context="placesContext"
- onpopupshowing="if (!this.parentNode._placesView)
- new PlacesMenu(event, 'place:folder=TOOLBAR');"/>
- </menu>
- <menuseparator/>
- <!-- Bookmarks menu items -->
- <menuseparator builder="end"
- class="hide-if-empty-places-result"/>
- <menuitem id="appmenu_unsortedBookmarks"
- label="&appMenuUnsorted.label;"
- oncommand="PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks');"
- class="menuitem-iconic"/>
- </menupopup>
- </menu>
- </hbox>
- <hbox class="split-menuitem">
- <menuitem id="appmenu_history"
- class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
- flex="1"
- label="&historyMenu.label;"
- command="Browser:ShowAllHistory"
- key="showAllHistoryKb"/>
- <menu id="appmenu_historyMenu"
- class="split-menuitem-menu">
- <menupopup id="appmenu_historyMenupopup"
- placespopup="true"
- oncommand="this.parentNode._placesView._onCommand(event);"
- onclick="checkForMiddleClick(this, event);"
- onpopupshowing="if (!this.parentNode._placesView)
- new HistoryMenu(event);"
- tooltip="bhTooltip"
- popupsinherittooltip="true">
- <menuitem id="appmenu_showAllHistory"
- label="&showAllHistoryCmd2.label;"
- command="Browser:ShowAllHistory"
- key="showAllHistoryKb"/>
- <menuseparator/>
- <menuitem id="appmenu_sanitizeHistory"
- label="&clearRecentHistory.label;"
- key="key_sanitize"
- command="Tools:Sanitize"/>
- <menuseparator class="hide-if-empty-places-result"/>
- <menuitem id="appmenu_restoreLastSession"
- class="restoreLastSession"
- label="&historyRestoreLastSession.label;"
- oncommand="restoreLastSession();"
- disabled="true"/>
- <menu id="appmenu_recentlyClosedTabsMenu"
- class="recentlyClosedTabsMenu"
- label="&historyUndoMenu.label;"
- disabled="true">
- <menupopup id="appmenu_recentlyClosedTabsMenupopup"
- onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoSubmenu();"/>
- </menu>
- <menu id="appmenu_recentlyClosedWindowsMenu"
- class="recentlyClosedWindowsMenu"
- label="&historyUndoWindowMenu.label;"
- disabled="true">
- <menupopup id="appmenu_recentlyClosedWindowsMenupopup"
- onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoWindowSubmenu();"/>
- </menu>
- <menuseparator/>
- </menupopup>
- </menu>
- </hbox>
- <menuitem id="appmenu_downloads"
- class="menuitem-tooltip"
- label="&downloads.label;"
- command="Tools:Downloads"
- key="key_openDownloads"/>
- <spacer id="appmenuSecondaryPane-spacer"/>
- <menuitem id="appmenu_addons"
- class="menuitem-iconic menuitem-iconic-tooltip"
- label="&addons.label;"
- command="Tools:Addons"
- key="key_openAddons"/>
- <hbox class="split-menuitem">
- <menuitem id="appmenu_customize"
- label="&preferencesCmd.label;"
- class="split-menuitem-item"
- flex="1"
- oncommand="openPreferences();"/>
- <menu class="split-menuitem-menu"
- label="&preferencesCmd.label;">
- <menupopup id="appmenu_customizeMenu"
- onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('appmenu_toggleTabsOnTop').previousSibling);">
- <menuitem id="appmenu_preferences"
-#ifdef XP_UNIX
- label="&preferencesCmdUnix.label;"
-#else
- label="&preferencesCmd.label;"
-#endif
- oncommand="openPreferences();"/>
- <menuseparator/>
- <menuseparator/>
- <menuitem id="appmenu_toggleTabsOnTop"
- label="&viewTabsOnTop.label;"
- type="checkbox"
- command="cmd_ToggleTabsOnTop"/>
- <menuitem id="appmenu_toolbarLayout"
- label="&appMenuToolbarLayout.label;"
- command="cmd_CustomizeToolbars"/>
- </menupopup>
- </menu>
- </hbox>
- <hbox class="split-menuitem">
- <menuitem id="appmenu_help"
- class="split-menuitem-item"
- flex="1"
- label="&helpMenu.label;"
- oncommand="openHelpLink('firefox-help')"/>
- <menu class="split-menuitem-menu">
- <menupopup id="appmenu_helpMenupopup">
- <menuitem id="appmenu_openHelp"
- label="&helpMenu.label;"
- oncommand="openHelpLink('firefox-help')"
- onclick="checkForMiddleClick(this, event);"/>
- <menuitem id="appmenu_gettingStarted"
- label="&appMenuGettingStarted.label;"
- oncommand="gBrowser.loadOneTab('http://www.mozilla.com/firefox/central/', {inBackground: false});"
- onclick="checkForMiddleClick(this, event);"/>
- <menuitem id="appmenu_troubleshootingInfo"
- label="&helpTroubleshootingInfo.label;"
- oncommand="openTroubleshootingPage()"
- onclick="checkForMiddleClick(this,event);"/>
- <menuitem id="appmenu_feedbackPage"
- label="&helpFeedbackPage.label;"
- oncommand="openFeedbackPage()"
- onclick="checkForMiddleClick(this, event);"/>
- <menuseparator/>
- <menuitem id="appmenu_safeMode"
- accesskey="&appMenuSafeMode.accesskey;"
- label="&appMenuSafeMode.label;"
- oncommand="safeModeRestart();"/>
- <menuseparator/>
- <menuitem id="appmenu_about"
- label="&aboutProduct.label;"
- oncommand="openAboutDialog();"/>
- </menupopup>
- </menu>
- </hbox>
-#ifdef MOZ_SERVICES_SYNC
- <spacer flex="1"/>
- <!-- only one of sync-setup or sync-syncnow will be showing at once -->
- <menuitem id="sync-setup-appmenu"
- label="&syncSetup.label;"
- observes="sync-setup-state"
- oncommand="gSyncUI.openSetup()"/>
- <menuitem id="sync-syncnowitem-appmenu"
- label="&syncSyncNowItem.label;"
- observes="sync-syncnow-state"
- oncommand="gSyncUI.doSync(event);"/>
-#endif
- </vbox>
- </hbox>
- </menupopup>
+#include browser-appmenu.inc
</button>
</hbox>
<spacer id="titlebar-spacer" flex="1"/>
View
2 browser/base/content/test/browser_bug553455.js
@@ -597,7 +597,7 @@ var XPInstallObserver = {
};
function test() {
- requestLongerTimeout(2);
+ requestLongerTimeout(4);
waitForExplicitFinish();
Services.prefs.setBoolPref("extensions.logging.enabled", true);
View
27 browser/base/content/test/tabview/browser_tabview_launch.js
@@ -55,13 +55,28 @@ function test() {
function onTabViewLoadedAndShown() {
window.removeEventListener("tabviewshown", onTabViewLoadedAndShown, false);
- ok(TabView.isVisible(), "Tab View is visible. Count: " + tabViewShownCount);
- tabViewShownCount++;
+ // Evidently sometimes isVisible (which is based on the selectedIndex of the
+ // tabview deck) isn't updated immediately when called from button.doCommand,
+ // so we add a little timeout here to get outside of the doCommand call.
+ // If the initial timeout isn't enough, we keep waiting in case it's taking
+ // longer than expected.
+ // See bug 594909.
+ let deck = document.getElementById("tab-view-deck");
+ function waitForSwitch() {
+ if (deck.selectedIndex == 1) {
+ ok(TabView.isVisible(), "Tab View is visible. Count: " + tabViewShownCount);
+ tabViewShownCount++;
+
+ // kick off the series
+ window.addEventListener("tabviewshown", onTabViewShown, false);
+ window.addEventListener("tabviewhidden", onTabViewHidden, false);
+ TabView.toggle();
+ } else {
+ setTimeout(waitForSwitch, 10);
+ }
+ }
- // kick off the series
- window.addEventListener("tabviewshown", onTabViewShown, false);
- window.addEventListener("tabviewhidden", onTabViewHidden, false);
- TabView.toggle();
+ setTimeout(waitForSwitch, 1);
}
// ----------
View
6 browser/locales/all-locales
@@ -2,6 +2,7 @@ af
ak
ar
as
+ast
be
bg
bn-BD
@@ -18,6 +19,7 @@ en-GB
en-ZA
eo
es-AR
+es-CL
es-ES
es-MX
et
@@ -27,6 +29,7 @@ fi
fr
fy-NL
ga-IE
+gd
gl
gu-IN
he
@@ -40,12 +43,14 @@ it
ja
ja-JP-mac
ka
+km
kn
ko
ku
lg
lt
lv
+mai
mk
ml
mn
@@ -71,6 +76,7 @@ sq
sr
sv-SE
ta
+ta-LK
te
th
tr
View
2 browser/locales/en-US/chrome/browser/browser.dtd
@@ -71,7 +71,7 @@ can reach it easily. -->
<!ENTITY personalbarCmd.accesskey "B">
<!ENTITY bookmarksToolbarItem.label "Bookmarks Toolbar Items">
<!ENTITY addonBarCmd.label "Add-on Bar">
-<!ENTITY addonBarCmd.accesskey "B">
+<!ENTITY addonBarCmd.accesskey "A">
<!ENTITY pageSourceCmd.label "Page Source">
<!ENTITY pageSourceCmd.accesskey "o">
View
4 browser/locales/shipped-locales
@@ -17,10 +17,12 @@ eo
es-AR
es-ES
et
+eu
fi
fr
fy-NL
ga-IE
+gd
he
hu
hy-AM
@@ -34,6 +36,7 @@ ku
lg
lt
lv
+mk
nb-NO
nl
nn-NO
@@ -42,6 +45,7 @@ pa-IN
pl
pt-BR
pt-PT
+rm
ro
ru
sk
View
3 build/mobile/sutagent/android/AndroidManifest.xml
@@ -65,4 +65,7 @@
<uses-permission android:name="android.permission.SET_TIME"></uses-permission>
+
+<uses-permission android:name="android.permission.SET_TIME_ZONE"></uses-permission>
+
</manifest>
View
622 build/mobile/sutagent/android/DoCommand.java
@@ -51,6 +51,7 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.lang.reflect.Field;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
@@ -59,9 +60,12 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Date;
import java.util.GregorianCalendar;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.TimeZone;
import java.util.Timer;
import java.util.zip.Adler32;
@@ -87,6 +91,7 @@
import android.app.Activity;
import android.app.ActivityManager;
+import android.app.AlarmManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.ContextWrapper;
@@ -95,12 +100,14 @@
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Configuration;
import android.net.Uri;
import android.os.Build;
import android.os.Debug;
import android.os.Environment;
import android.os.StatFs;
import android.os.SystemClock;
+import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.WindowManager;
@@ -118,13 +125,13 @@
String currentDir = "/";
String sErrorPrefix = "##AGENT-WARNING## ";
- private final String prgVersion = "SUTAgentAndroid Version 0.85";
+ private final String prgVersion = "SUTAgentAndroid Version 0.87";
public enum Command
{
RUN ("run"),
EXEC ("exec"),
- ARUN ("arun"),
+ ENVRUN ("envrun"),
KILL ("kill"),
PS ("ps"),
DEVINFO ("info"),
@@ -173,6 +180,8 @@
UNINST ("uninst"),
TEST ("test"),
VER ("ver"),
+ TZGET ("tzget"),
+ TZSET ("tzset"),
UNKNOWN ("unknown");
private final String theCmd;
@@ -207,7 +216,7 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
Command cCmd = null;
Command cSubCmd = null;
- String [] Argv = parseCmdLine(theCmdLine);
+ String [] Argv = parseCmdLine2(theCmdLine);
int Argc = Argv.length;
@@ -223,6 +232,17 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
strReturn = GetClok();
break;
+ case TZGET:
+ strReturn = GetTimeZone();
+ break;
+
+ case TZSET:
+ if (Argc == 2)
+ strReturn = SetTimeZone(Argv[1]);
+ else
+ strReturn = sErrorPrefix + "Wrong number of arguments for settz command!";
+ break;
+
case UPDT:
strReturn = StartUpdateOMatic(Argv[1], Argv[2]);
break;
@@ -327,16 +347,6 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
break;
case REBT:
-// try {
-// reboot(null);
-// Power.reboot(null);
-// Power.shutdown();
-// }
-// catch (IOException e)
-// {
- // TODO Auto-generated catch block
-// e.printStackTrace();
-// }
RunReboot(cmdOut);
break;
@@ -498,6 +508,25 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
case TEST:
// boolean bRet = false;
/*
+ Configuration userConfig = new Configuration();
+ Settings.System.getConfiguration( contextWrapper.getContentResolver(), userConfig );
+ Calendar cal = Calendar.getInstance( userConfig.locale);
+ TimeZone ctz = cal.getTimeZone();
+ String sctzLongName = ctz.getDisplayName();
+ String pstzName = TimeZone.getDefault().getDisplayName();
+*/
+ String sTimeZoneName = GetTimeZone();
+
+ TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
+ TimeZone tz2 = TimeZone.getTimeZone("GMT-08:00");
+ int nOffset = (-8 * 3600000);
+ String [] zoneNames = TimeZone.getAvailableIDs(nOffset);
+ int nNumMatches = zoneNames.length;
+ TimeZone.setDefault(tz);
+
+ String sOldTZ = System.setProperty("persist.sys.timezone", "America/Los_Angeles");
+
+/*
byte[] buffer = new byte [4096];
int nRead = 0;
long lTotalRead = 0;
@@ -591,7 +620,7 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
}
*/
// strReturn = InstallApplication();
- strReturn = InstallApp(Argv[1], cmdOut);
+// strReturn = InstallApp(Argv[1], cmdOut);
// strReturn = UninstallApplication();
// String sPingCheck = SendPing("www.mozilla.org",null);
@@ -653,6 +682,24 @@ public String processCommand(String theCmdLine, PrintWriter out, BufferedInputSt
*/
break;
+ case ENVRUN:
+ if (Argc >= 2)
+ {
+ String [] theArgs = new String [Argc - 1];
+
+ for (int lcv = 1; lcv < Argc; lcv++)
+ {
+ theArgs[lcv - 1] = Argv[lcv];
+ }
+
+ strReturn = StartPrg2(theArgs, cmdOut);
+ }
+ else
+ {
+ strReturn = sErrorPrefix + "Wrong number of arguments for " + Argv[0] + " command!";
+ }
+ break;
+
case EXEC:
case RUN:
if (Argc >= 2)
@@ -828,12 +875,28 @@ public void StopAlert()
}
}
- public String [] parseCmdLine(String theCmdLine) {
+ public String [] parseCmdLine2(String theCmdLine)
+ {
+ String cmdString;
String workingString;
String workingString2;
+ String workingString3;
List<String> lst = new ArrayList<String>();
- int nLength = theCmdLine.length();
- int nFirstSpace = theCmdLine.indexOf(' ');
+ int nLength = 0;
+ int nFirstSpace = -1;
+
+ // Null cmd line
+ if (theCmdLine == null)
+ {
+ String [] theArgs = new String [1];
+ theArgs[0] = new String("");
+ return(theArgs);
+ }
+ else
+ {
+ nLength = theCmdLine.length();
+ nFirstSpace = theCmdLine.indexOf(' ');
+ }
if (nFirstSpace == -1)
{
@@ -843,7 +906,8 @@ public void StopAlert()
}
// Get the command
- lst.add(new String(theCmdLine.substring(0, nFirstSpace)));
+ cmdString = new String(theCmdLine.substring(0, nFirstSpace));
+ lst.add(cmdString);
// Jump past the command and trim
workingString = (theCmdLine.substring(nFirstSpace + 1, nLength)).trim();
@@ -860,6 +924,26 @@ public void StopAlert()
nStart = 1;
// find the matching quote
nEnd = workingString.indexOf('"', nStart);
+
+ char prevChar;
+
+ while(nEnd != -1)
+ {
+ // check to see if the quotation mark has been escaped
+ prevChar = workingString.charAt(nEnd - 1);
+ if (prevChar == '\\')
+ {
+ // if escaped, point past this quotation mark and find the next
+ nEnd++;
+ if (nEnd < nLength)
+ nEnd = workingString.indexOf('"', nEnd);
+ else
+ nEnd = -1;
+ }
+ else
+ break;
+ }
+
// there isn't one
if (nEnd == -1)
{
@@ -882,7 +966,19 @@ public void StopAlert()
// get the substring
workingString2 = workingString.substring(nStart, nEnd);
-
+
+ // if we have escaped quotes
+ if (workingString2.contains("\\\""))
+ {
+ do
+ {
+ // replace escaped quote with embedded quote
+ workingString3 = workingString2.replace("\\\"", "\"");
+ workingString2 = workingString3;
+ }
+ while(workingString2.contains("\\\""));
+ }
+
// add it to the list
lst.add(new String(workingString2));
@@ -894,6 +990,105 @@ public void StopAlert()
workingString = (workingString.substring(nEnd)).trim();
}
+ // ok we're done package up the results
+ int nItems = lst.size();
+
+ String [] theArgs = new String [nItems];
+
+ for (int lcv = 0; lcv < nItems; lcv++)
+ {
+ theArgs[lcv] = lst.get(lcv);
+ }
+
+ return(theArgs);
+ }
+
+ public String [] parseCmdLine(String theCmdLine) {
+ String cmdString;
+ String workingString;
+ String workingString2;
+ List<String> lst = new ArrayList<String>();
+ int nLength = 0;
+ int nFirstSpace = -1;
+
+ // Null cmd line
+ if (theCmdLine == null)
+ {
+ String [] theArgs = new String [1];
+ theArgs[0] = new String("");
+ return(theArgs);
+ }
+ else
+ {
+ nLength = theCmdLine.length();
+ nFirstSpace = theCmdLine.indexOf(' ');
+ }
+
+ if (nFirstSpace == -1)
+ {
+ String [] theArgs = new String [1];
+ theArgs[0] = new String(theCmdLine);
+ return(theArgs);
+ }
+
+ // Get the command
+ cmdString = new String(theCmdLine.substring(0, nFirstSpace));
+ lst.add(cmdString);
+
+ // Jump past the command and trim
+ workingString = (theCmdLine.substring(nFirstSpace + 1, nLength)).trim();
+
+ while ((nLength = workingString.length()) > 0)
+ {
+ int nEnd = 0;
+ int nStart = 0;
+
+ // if we have a quote
+ if (workingString.startsWith("\""))
+ {
+ // point to the first non quote char
+ nStart = 1;
+ // find the matching quote
+ nEnd = workingString.indexOf('"', nStart);
+ // there isn't one
+ if (nEnd == -1)
+ {
+ // point at the quote
+ nStart = 0;
+ // so find the next space
+ nEnd = workingString.indexOf(' ', nStart);
+ // there isn't one of those either
+ if (nEnd == -1)
+ nEnd = nLength; // Just grab the rest of the cmdline
+ }
+ else
+ {
+ nStart = 0;
+ nEnd++;
+ }
+ }
+ else // no quote so find the next space
+ {
+ nEnd = workingString.indexOf(' ', nStart);
+ // there isn't one of those
+ if (nEnd == -1)
+ nEnd = nLength; // Just grab the rest of the cmdline
+ }
+
+ // get the substring
+ workingString2 = workingString.substring(nStart, nEnd);
+
+ // add it to the list
+ lst.add(new String(workingString2));
+
+ // if we are dealing with a quote
+// if (nStart > 0)
+// nEnd++; // point past the end one
+
+ // jump past the substring and trim it
+ workingString = (workingString.substring(nEnd)).trim();
+ }
+
int nItems = lst.size();
String [] theArgs = new String [nItems];
@@ -1116,7 +1311,6 @@ public String Unzip(String zipFileName, String dstDirectory)
public String StatProcess(String string)
{
String sRet = "";
-// ActivityManager aMgr = (ActivityManager) SUTAgentAndroid.me.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager aMgr = (ActivityManager) contextWrapper.getSystemService(Activity.ACTIVITY_SERVICE);
int [] nPids = new int [1];
@@ -1160,7 +1354,6 @@ public String GetTestRoot()
public String GetAppRoot(String AppName)
{
String sRet = "";
-// Context ctx = SUTAgentAndroid.me.getApplicationContext();
Context ctx = contextWrapper.getApplicationContext();
if (ctx != null)
@@ -1234,8 +1427,8 @@ public String HashFile(String fileName)
try {
digest = java.security.MessageDigest.getInstance("MD5");
}
- catch (NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
+ catch (NoSuchAlgorithmException e)
+ {
e.printStackTrace();
}
@@ -1420,12 +1613,10 @@ public String CopyFile(String srcFileName, String dstFileName)
}
catch (FileNotFoundException e)
{
- // TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
- // TODO Auto-generated catch block
e.printStackTrace();
}
@@ -1534,12 +1725,6 @@ public String FTPGetFile(String sServer, String sSrcFileName, String sDstFileNam
@SuppressWarnings("unused")
boolean bRet = ftp.completePendingCommand();
outStream.flush();
- /*
- if (ftp.retrieveFile("pub/mozilla.org/firefox/releases/3.6b4/wince-arm/en-US/firefox-3.6b4.cab", outStream))
- {
- outStream.flush();
- }
- */
outStream.close();
strRet = ftp.getReplyString();
reply = ftp.getReplyCode();
@@ -1564,7 +1749,6 @@ public String FTPGetFile(String sServer, String sSrcFileName, String sDstFileNam
}
catch (SocketException e)
{
- // TODO Auto-generated catch block
sRet = e.getMessage();
strRet = ftp.getReplyString();
reply = ftp.getReplyCode();
@@ -1573,7 +1757,6 @@ public String FTPGetFile(String sServer, String sSrcFileName, String sDstFileNam
}
catch (IOException e)
{
- // TODO Auto-generated catch block
sRet = e.getMessage();
strRet = ftp.getReplyString();
reply = ftp.getReplyCode();
@@ -1652,7 +1835,6 @@ public String KillProcess(String sProcName, OutputStream out)
theArgs[2] = "kill";
String sRet = sErrorPrefix + "Unable to kill " + sProcName + "\n";
-// ActivityManager aMgr = (ActivityManager) SUTAgentAndroid.me.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager aMgr = (ActivityManager) contextWrapper.getSystemService(Activity.ACTIVITY_SERVICE);
List <ActivityManager.RunningAppProcessInfo> lProcesses = aMgr.getRunningAppProcesses();
int lcv = 0;
@@ -1661,7 +1843,6 @@ public String KillProcess(String sProcName, OutputStream out)
for (lcv = 0; lcv < lProcesses.size(); lcv++)
{
-// if (lProcesses.get(lcv).processName.contentEquals(sProcName))
if (lProcesses.get(lcv).processName.contains(sProcName))
{
strProcName = lProcesses.get(lcv).processName;
@@ -1684,12 +1865,9 @@ public String KillProcess(String sProcName, OutputStream out)
}
catch (InterruptedException e)
{
- // TODO Auto-generated catch block
e.printStackTrace();
}
-// SUTAgentAndroid.me.finishActivity(SUTAgentAndroid.START_PRG);
-
// Give the messages a chance to be processed
try {
Thread.sleep(2000);
@@ -1698,7 +1876,6 @@ public String KillProcess(String sProcName, OutputStream out)
{
e.printStackTrace();
}
-// aMgr.restartPackage(strProcName);
break;
}
}
@@ -1709,7 +1886,6 @@ public String KillProcess(String sProcName, OutputStream out)
lProcesses = aMgr.getRunningAppProcesses();
for (lcv = 0; lcv < lProcesses.size(); lcv++)
{
-// if (lProcesses.get(lcv).processName.contentEquals(sProcName))
if (lProcesses.get(lcv).processName.contains(sProcName))
{
sRet = sErrorPrefix + "Unable to kill " + nPID + " " + strProcName + "\n";
@@ -1724,12 +1900,9 @@ public String KillProcess(String sProcName, OutputStream out)
public boolean IsProcessDead(String sProcName)
{
boolean bRet = false;
-// ActivityManager aMgr = (ActivityManager) SUTAgentAndroid.me.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager aMgr = (ActivityManager) contextWrapper.getSystemService(Activity.ACTIVITY_SERVICE);
List <ActivityManager.ProcessErrorStateInfo> lProcesses = aMgr.getProcessesInErrorState();
int lcv = 0;
-// String strProcName = "";
-// int nPID = 0;
if (lProcesses != null)
{
@@ -1738,8 +1911,6 @@ public boolean IsProcessDead(String sProcName)
if (lProcesses.get(lcv).processName.contentEquals(sProcName) &&
lProcesses.get(lcv).condition != ActivityManager.ProcessErrorStateInfo.NO_ERROR)
{
-// strProcName = lProcesses.get(lcv).processName;
-// nPID = lProcesses.get(lcv).pid;
bRet = true;
break;
}
@@ -1752,7 +1923,6 @@ public boolean IsProcessDead(String sProcName)
public String GetProcessInfo()
{
String sRet = "";
-// ActivityManager aMgr = (ActivityManager) SUTAgentAndroid.me.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager aMgr = (ActivityManager) contextWrapper.getSystemService(Activity.ACTIVITY_SERVICE);
List <ActivityManager.RunningAppProcessInfo> lProcesses = aMgr.getRunningAppProcesses();
int nProcs = lProcesses.size();
@@ -1817,12 +1987,10 @@ public String GetMemoryInfo()
public long GetMemoryConfig()
{
-// ActivityManager aMgr = (ActivityManager) SUTAgentAndroid.me.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager aMgr = (ActivityManager) contextWrapper.getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
aMgr.getMemoryInfo(outInfo);
long lMem = outInfo.availMem;
-// float fMem = (float) lMem / (float)(1024.0 * 1024.0);
return (lMem);
}
@@ -1866,12 +2034,10 @@ public String RegisterTheDevice(String sSrvr, String sPort, String sData)
}
catch (UnknownHostException e)
{
- // TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
- // TODO Auto-generated catch block
sRet += "reg exception thrown";
e.printStackTrace();
}
@@ -1911,25 +2077,76 @@ public String GetInternetData(String sHost, String sPort, String sURL)
}
catch (IllegalArgumentException e)
{
- // TODO Auto-generated catch block
sRet = e.getLocalizedMessage();
e.printStackTrace();
}
catch (ClientProtocolException e)
{
- // TODO Auto-generated catch block
sRet = e.getLocalizedMessage();
e.printStackTrace();
}
catch (IOException e)
{
- // TODO Auto-generated catch block
sRet = e.getLocalizedMessage();
e.printStackTrace();
}
return(sRet);
}
+
+ public String GetTimeZone()
+ {
+ String sRet = "";
+ TimeZone tz;
+
+ tz = TimeZone.getDefault();
+ Date now = new Date();
+ sRet = tz.getDisplayName(tz.inDaylightTime(now), TimeZone.LONG);
+
+ return(sRet);
+ }
+
+ public String SetTimeZone(String sTimeZone)
+ {
+ String sRet = "Unable to set timezone to " + sTimeZone;
+ TimeZone tz = null;
+ AlarmManager amgr = null;
+
+ if ((sTimeZone.length() > 0) && (sTimeZone.startsWith("GMT")))
+ {
+ amgr = (AlarmManager) contextWrapper.getSystemService(Context.ALARM_SERVICE);
+ if (amgr != null)
+ amgr.setTimeZone(sTimeZone);
+ }
+ else
+ {
+ String [] zoneNames = TimeZone.getAvailableIDs();
+ int nNumMatches = zoneNames.length;
+ int lcv = 0;
+
+ for (lcv = 0; lcv < nNumMatches; lcv++)
+ {
+ if (zoneNames[lcv].equalsIgnoreCase(sTimeZone))
+ break;
+ }
+
+ if (lcv < nNumMatches)
+ {
+ amgr = (AlarmManager) contextWrapper.getSystemService(Context.ALARM_SERVICE);
+ if (amgr != null)
+ amgr.setTimeZone(zoneNames[lcv]);
+ }
+ }
+
+ if (amgr != null)
+ {
+ tz = TimeZone.getDefault();
+ Date now = new Date();
+ sRet = tz.getDisplayName(tz.inDaylightTime(now), TimeZone.LONG);
+ }
+
+ return(sRet);
+ }
public String GetSystemTime()
{
@@ -1943,17 +2160,8 @@ public String GetSystemTime()
public String SetSystemTime(String sDate, String sTime, OutputStream