Merge mozilla-central and mozilla-inbound
authorMatt Brubeck <mbrubeck@mozilla.com>
Tue, 13 Sep 2011 20:58:14 -0700
changeset 78244 6eb70de045e95a2a5f6b6dc8c79ee8fa749d412a
parent 78243 fb604eb73c35c77fd41ce9e78bcc4d69d985b9bb (current diff)
parent 78227 cfd1e3533f0fa335aaf5ca3a5904a07b41396ec4 (diff)
child 78245 1e7cfb65f1953e29a83080fffb5d4d912f270434
push id78
push userclegnitto@mozilla.com
push dateFri, 16 Dec 2011 17:32:24 +0000
treeherdermozilla-release@79d24e644fdd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone9.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-central and mozilla-inbound
--- a/accessible/src/base/NotificationController.h
+++ b/accessible/src/base/NotificationController.h
@@ -36,16 +36,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef NotificationController_h_
 #define NotificationController_h_
 
 #include "AccEvent.h"
 #include "nsCycleCollectionParticipant.h"
+#include "nsRefreshDriver.h"
 
 class nsAccessible;
 class nsDocAccessible;
 class nsIContent;
 
 // Uncomment to log notifications processing.
 //#define DEBUG_NOTIFICATIONS
 
--- a/ipc/ipdl/ipdl.py
+++ b/ipc/ipdl/ipdl.py
@@ -77,17 +77,17 @@ allprotocols = []
 
 def normalizedFilename(f):
     if f == '-':
         return '<stdin>'
     return f
 
 # First pass: parse and type-check all protocols
 for f in files:
-    log(1, os.path.basename(f))
+    log(2, os.path.basename(f))
     filename = normalizedFilename(f)
     if f == '-':
         fd = sys.stdin
     else:
         fd = open(f)
 
     specstring = fd.read()
     fd.close()
--- a/layout/base/nsPresShell.h
+++ b/layout/base/nsPresShell.h
@@ -68,16 +68,17 @@
 #include "nsCRT.h"
 #include "nsAutoPtr.h"
 #include "nsIWidget.h"
 #include "nsStyleSet.h"
 #include "nsPresArena.h"
 #include "nsFrameSelection.h"
 #include "nsGUIEvent.h"
 #include "nsContentUtils.h"
+#include "nsRefreshDriver.h"
 
 class nsIRange;
 class nsIDragService;
 class nsCSSStyleSheet;
 
 struct RangePaintInfo;
 struct nsCallbackEventRequest;
 #ifdef MOZ_REFLOW_PERF
--- a/xpcom/io/nsLocalFileWin.cpp
+++ b/xpcom/io/nsLocalFileWin.cpp
@@ -100,17 +100,16 @@ unsigned char *_mbsstr( const unsigned c
 }
 #endif
 
 #ifndef FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
 #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000
 #endif
 
 ILCreateFromPathWPtr nsLocalFile::sILCreateFromPathW = NULL;
-ILFreePtr nsLocalFile::sILFree = NULL;
 SHOpenFolderAndSelectItemsPtr nsLocalFile::sSHOpenFolderAndSelectItems = NULL;
 PRLibrary *nsLocalFile::sLibShell = NULL;
 
 class nsDriveEnumerator : public nsISimpleEnumerator
 {
 public:
     nsDriveEnumerator();
     virtual ~nsDriveEnumerator();
@@ -2734,39 +2733,38 @@ nsLocalFile::RevealClassic()
   return NS_OK;
 }
 
 nsresult 
 nsLocalFile::RevealUsingShell()
 {
   // All of these shell32.dll related pointers should be non NULL 
   // on XP and later.
-  if (!sLibShell || !sILCreateFromPathW || 
-      !sILFree || !sSHOpenFolderAndSelectItems) {
+  if (!sLibShell || !sILCreateFromPathW || !sSHOpenFolderAndSelectItems) {
     return NS_ERROR_FAILURE;
   }
 
   PRBool isDirectory;
   nsresult rv = IsDirectory(&isDirectory);
   NS_ENSURE_SUCCESS(rv, rv);
 
   HRESULT hr;
   if (isDirectory) {
     // We have a directory so we should open the directory itself.
     ITEMIDLIST *dir = sILCreateFromPathW(mResolvedPath.get());
     if (!dir) {
       return NS_ERROR_FAILURE;
     }
 
     const ITEMIDLIST* selection[] = { dir };
-    UINT count = sizeof(selection) / sizeof(ITEMIDLIST);
+    UINT count = PR_ARRAY_SIZE(selection);
 
     //Perform the open of the directory.
     hr = sSHOpenFolderAndSelectItems(dir, count, selection, 0);
-    sILFree(dir);
+    CoTaskMemFree(dir);
   }
   else {
     // Obtain the parent path of the item we are revealing.
     nsCOMPtr<nsIFile> parentDirectory;
     rv = GetParent(getter_AddRefs(parentDirectory));
     NS_ENSURE_SUCCESS(rv, rv);
     nsAutoString parentDirectoryPath;
     rv = parentDirectory->GetPath(parentDirectoryPath);
@@ -2776,28 +2774,28 @@ nsLocalFile::RevealUsingShell()
     ITEMIDLIST *dir = sILCreateFromPathW(parentDirectoryPath.get());
     if (!dir) {
       return NS_ERROR_FAILURE;
     }
 
     // Set the item in the directory to select to the file we want to reveal.
     ITEMIDLIST *item = sILCreateFromPathW(mResolvedPath.get());
     if (!item) {
-      sILFree(dir);
+      CoTaskMemFree(dir);
       return NS_ERROR_FAILURE;
     }
     
     const ITEMIDLIST* selection[] = { item };
-    UINT count = sizeof(selection) / sizeof(ITEMIDLIST);
+    UINT count = PR_ARRAY_SIZE(selection);
 
     //Perform the selection of the file.
     hr = sSHOpenFolderAndSelectItems(dir, count, selection, 0);
 
-    sILFree(dir);
-    sILFree(item);
+    CoTaskMemFree(dir);
+    CoTaskMemFree(item);
   }
   
   if (SUCCEEDED(hr)) {
     return NS_OK;
   }
   else {
     return NS_ERROR_FAILURE;
   }
@@ -3101,19 +3099,16 @@ nsLocalFile::GlobalInit()
     // loading the library here.
     sLibShell = PR_LoadLibrary("shell32.dll");
     if (sLibShell) {
       // ILCreateFromPathW is available in XP and up.
       sILCreateFromPathW = (ILCreateFromPathWPtr) 
                            PR_FindFunctionSymbol(sLibShell, 
                                                  "ILCreateFromPathW");
 
-      // ILFree is available in XP and up.
-      sILFree = (ILFreePtr) PR_FindFunctionSymbol(sLibShell, "ILFree");
-
       // SHOpenFolderAndSelectItems is available in XP and up.
       sSHOpenFolderAndSelectItems = (SHOpenFolderAndSelectItemsPtr) 
                                      PR_FindFunctionSymbol(sLibShell, 
                                                            "SHOpenFolderAndSelectItems");
     }
 }
 
 void
--- a/xpcom/io/nsLocalFileWin.h
+++ b/xpcom/io/nsLocalFileWin.h
@@ -59,18 +59,17 @@
 DEFINE_OLEGUID(IID_IPersistFile, 0x0000010BL, 0, 0);
 #endif
 
 #include "shlobj.h"
 
 #include <sys/stat.h>
 
 typedef LPITEMIDLIST (WINAPI *ILCreateFromPathWPtr)(PCWSTR);
-typedef void (WINAPI *ILFreePtr)(LPITEMIDLIST);
-typedef HRESULT (WINAPI *SHOpenFolderAndSelectItemsPtr)(LPCITEMIDLIST, UINT, 
+typedef HRESULT (WINAPI *SHOpenFolderAndSelectItemsPtr)(PCIDLIST_ABSOLUTE, UINT, 
                                                         PCUITEMID_CHILD_ARRAY,
                                                         DWORD);
 
 class nsLocalFile : public nsILocalFileWin,
                     public nsIHashable
 {
 public:
     NS_DEFINE_STATIC_CID_ACCESSOR(NS_LOCAL_FILE_CID)
@@ -135,14 +134,13 @@ private:
     nsresult SetModDate(PRInt64 aLastModifiedTime, const PRUnichar *filePath);
     nsresult HasFileAttribute(DWORD fileAttrib, PRBool *_retval);
     nsresult AppendInternal(const nsAFlatString &node,
                             PRBool multipleComponents);
     nsresult RevealClassic(); // Reveals the path using explorer.exe cmdline
     nsresult RevealUsingShell(); // Uses newer shell API to reveal the path
 
     static ILCreateFromPathWPtr sILCreateFromPathW;
-    static ILFreePtr sILFree;
     static SHOpenFolderAndSelectItemsPtr sSHOpenFolderAndSelectItems;
     static PRLibrary *sLibShell;
 };
 
 #endif