mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 10:18:41 +02:00 
			
		
		
		
	For some reason, its value in the Google style we use is 80... except for Objective-C, where it's 100, which led to things like: https://hg.mozilla.org/mozilla-central/rev/31bf68247e6e https://hg.mozilla.org/mozilla-central/rev/64ceb33533a4. There's probably a discussion to have about whether 80 is the right limit, but since it's what's used for everything except ObjC, let's roll with it. # ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D187409
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
 | 
						|
/* 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/. */
 | 
						|
 | 
						|
#import <Cocoa/Cocoa.h>
 | 
						|
 | 
						|
#include "nsStandaloneNativeMenu.h"
 | 
						|
 | 
						|
#include "mozilla/dom/Element.h"
 | 
						|
#include "NativeMenuMac.h"
 | 
						|
#include "nsISupports.h"
 | 
						|
#include "nsGkAtoms.h"
 | 
						|
 | 
						|
using namespace mozilla;
 | 
						|
 | 
						|
using mozilla::dom::Element;
 | 
						|
 | 
						|
NS_IMPL_ISUPPORTS(nsStandaloneNativeMenu, nsIStandaloneNativeMenu)
 | 
						|
 | 
						|
nsStandaloneNativeMenu::nsStandaloneNativeMenu() = default;
 | 
						|
 | 
						|
nsStandaloneNativeMenu::~nsStandaloneNativeMenu() = default;
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsStandaloneNativeMenu::Init(Element* aElement) {
 | 
						|
  NS_ASSERTION(mMenu == nullptr, "nsNativeMenu::Init - mMenu not null!");
 | 
						|
 | 
						|
  NS_ENSURE_ARG(aElement);
 | 
						|
 | 
						|
  if (!aElement->IsAnyOfXULElements(nsGkAtoms::menu, nsGkAtoms::menupopup)) {
 | 
						|
    return NS_ERROR_FAILURE;
 | 
						|
  }
 | 
						|
 | 
						|
  mMenu = new mozilla::widget::NativeMenuMac(aElement);
 | 
						|
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsStandaloneNativeMenu::MenuWillOpen(bool* aResult) {
 | 
						|
  NS_ASSERTION(mMenu != nullptr,
 | 
						|
               "nsStandaloneNativeMenu::OnOpen - mMenu is null!");
 | 
						|
 | 
						|
  mMenu->MenuWillOpen();
 | 
						|
 | 
						|
  *aResult = true;
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsStandaloneNativeMenu::ActivateNativeMenuItemAt(
 | 
						|
    const nsAString& aIndexString) {
 | 
						|
  if (!mMenu) {
 | 
						|
    return NS_ERROR_NOT_INITIALIZED;
 | 
						|
  }
 | 
						|
 | 
						|
  if (mMenu->ActivateNativeMenuItemAt(aIndexString)) {
 | 
						|
    return NS_OK;
 | 
						|
  }
 | 
						|
 | 
						|
  return NS_ERROR_FAILURE;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsStandaloneNativeMenu::ForceUpdateNativeMenuAt(const nsAString& aIndexString) {
 | 
						|
  if (!mMenu) {
 | 
						|
    return NS_ERROR_NOT_INITIALIZED;
 | 
						|
  }
 | 
						|
 | 
						|
  mMenu->ForceUpdateNativeMenuAt(aIndexString);
 | 
						|
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsStandaloneNativeMenu::Dump() {
 | 
						|
  mMenu->Dump();
 | 
						|
 | 
						|
  return NS_OK;
 | 
						|
}
 |