mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-08 12:19:05 +02:00
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.
find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
if [ -n "$interfaces" ]; then
if [[ "$interfaces" == *$'\n'* ]]; then
regexp="\("
for i in $interfaces; do regexp="$regexp$i\|"; done
regexp="${regexp%%\\\|}\)"
else
regexp="$interfaces"
fi
interface=$(basename "$path")
rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
if [ $hits -eq 0 ]; then
echo "Removing ${interface} from ${path2}"
grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
mv -f "$path2".tmp "$path2"
fi
done
fi
done
Differential Revision: https://phabricator.services.mozilla.com/D55444
--HG--
extra : moz-landing-system : lando
62 lines
1.9 KiB
Objective-C
62 lines
1.9 KiB
Objective-C
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/*
|
|
* Retrieves and displays icons in native menu items on Mac OS X.
|
|
*/
|
|
|
|
#ifndef nsMenuItemIconX_h_
|
|
#define nsMenuItemIconX_h_
|
|
|
|
#include "nsIconLoaderService.h"
|
|
|
|
class nsIconLoaderService;
|
|
class nsIURI;
|
|
class nsIContent;
|
|
class nsIPrincipal;
|
|
class imgRequestProxy;
|
|
class nsMenuObjectX;
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
class nsMenuItemIconX : public nsIconLoaderObserver {
|
|
public:
|
|
nsMenuItemIconX(nsMenuObjectX* aMenuItem, nsIContent* aContent,
|
|
NSMenuItem* aNativeMenuItem);
|
|
|
|
private:
|
|
virtual ~nsMenuItemIconX();
|
|
|
|
public:
|
|
// SetupIcon succeeds if it was able to set up the icon, or if there should
|
|
// be no icon, in which case it clears any existing icon but still succeeds.
|
|
nsresult SetupIcon();
|
|
|
|
// GetIconURI fails if the item should not have any icon.
|
|
nsresult GetIconURI(nsIURI** aIconURI);
|
|
|
|
// Overrides nsIconLoaderObserver::OnComplete. Handles the NSImage* created
|
|
// by nsIconLoaderService.
|
|
nsresult OnComplete(NSImage* aImage) override;
|
|
|
|
// Unless we take precautions, we may outlive the object that created us
|
|
// (mMenuObject, which owns our native menu item (mNativeMenuItem)).
|
|
// Destroy() should be called from mMenuObject's destructor to prevent
|
|
// this from happening. See bug 499600.
|
|
void Destroy();
|
|
|
|
protected:
|
|
nsCOMPtr<nsIContent> mContent;
|
|
nsContentPolicyType mContentType;
|
|
nsMenuObjectX* mMenuObject; // [weak]
|
|
nsIntRect mImageRegionRect;
|
|
bool mSetIcon;
|
|
NSMenuItem* mNativeMenuItem; // [weak]
|
|
// The icon loader object should never outlive its creating nsMenuItemIconX
|
|
// object.
|
|
RefPtr<nsIconLoaderService> mIconLoader;
|
|
};
|
|
|
|
#endif // nsMenuItemIconX_h_
|