mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-14 12:13:22 +00:00
![Masayuki Nakano](/assets/img/avatar_default.png)
This patch marks `ScrollContentIntoView()` as `MOZ_CAN_RUN_SCRIPT` and changing some callers of them to guarantee thar their parent callers are also safe. Additionally, this patch moves it from `nsIPresShell` to `PresShell` because all callers can refer `PresShell` directly. Unfortunately, this patch changes a lot of methods in autocomplete and satchel since this patch needs to mark some interface methods as `can_run_script` and they are called each other. This means that autocomplete module is really sensitive like editor module. Perhaps, autocomplete and satchel should do scroll asynchronously and unmark some of them as `MOZ_CAN_RUN_SCRIPT` again. Differential Revision: https://phabricator.services.mozilla.com/D28320 --HG-- extra : moz-landing-system : lando
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
/* -*- Mode: C++; tab-width: 4; 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/. */
|
|
|
|
#ifndef mozilla_a11y_XULComboboxAccessible_h__
|
|
#define mozilla_a11y_XULComboboxAccessible_h__
|
|
|
|
#include "XULMenuAccessible.h"
|
|
|
|
namespace mozilla {
|
|
namespace a11y {
|
|
|
|
/**
|
|
* Used for XUL comboboxes like xul:menulist and autocomplete textbox.
|
|
*/
|
|
class XULComboboxAccessible : public AccessibleWrap {
|
|
public:
|
|
enum { eAction_Click = 0 };
|
|
|
|
XULComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
|
|
|
|
// Accessible
|
|
virtual void Description(nsString& aDescription) override;
|
|
virtual void Value(nsString& aValue) const override;
|
|
virtual a11y::role NativeRole() const override;
|
|
virtual uint64_t NativeState() const override;
|
|
|
|
// ActionAccessible
|
|
virtual uint8_t ActionCount() const override;
|
|
virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
|
|
virtual bool DoAction(uint8_t aIndex) const override;
|
|
|
|
// Widgets
|
|
virtual bool IsActiveWidget() const override;
|
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY virtual bool AreItemsOperable() const override;
|
|
};
|
|
|
|
} // namespace a11y
|
|
} // namespace mozilla
|
|
|
|
#endif
|