mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
5dc21d568c
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
63 lines
1.9 KiB
Objective-C
63 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_
|