Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
[macOS] Mark move-only classes as such
Applies the FML_DISALLOW_COPY_AND_ASSIGN to non-POD types in the macOS
embedder. Specifically the following three accessibility-related
classes:
* FlutterPlatformNodeDelegateMac
* FlutterTextPlatformNode
* AccessibilityBridgeMac

No new tests since no semantic change. Only has the compile-time effect
of preventing copying of classes intended to be move-only.
  • Loading branch information
cbracken committed Feb 18, 2023
commit c3d7c87ed04ca63a51f6aa9291eeddc614731146
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#import <Cocoa/Cocoa.h>

#include "flutter/fml/macros.h"
#include "flutter/shell/platform/common/accessibility_bridge.h"

@class FlutterEngine;
Expand Down Expand Up @@ -94,6 +95,8 @@ class AccessibilityBridgeMac : public AccessibilityBridge {

__weak FlutterEngine* flutter_engine_;
__weak FlutterViewController* view_controller_;

FML_DISALLOW_COPY_AND_ASSIGN(AccessibilityBridgeMac);
};

} // namespace flutter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

#import "flutter/shell/platform/darwin/macos/framework/Headers/FlutterViewController.h"

#include "flutter/fml/macros.h"
#include "flutter/shell/platform/common/accessibility_bridge.h"
#include "flutter/shell/platform/common/flutter_platform_node_delegate.h"
#include "flutter/shell/platform/embedder/embedder.h"
Expand Down Expand Up @@ -56,6 +57,8 @@ class FlutterPlatformNodeDelegateMac : public FlutterPlatformNodeDelegate {
const gfx::RectF& local_bounds) const;
gfx::RectF ConvertBoundsFromScreenToGlobal(
const gfx::RectF& window_bounds) const;

FML_DISALLOW_COPY_AND_ASSIGN(FlutterPlatformNodeDelegateMac);
};

} // namespace flutter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

#import "flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.h"

#include "flutter/fml/macros.h"
#include "flutter/third_party/accessibility/ax/platform/ax_platform_node_base.h"

@class FlutterTextField;
Expand Down Expand Up @@ -56,6 +57,8 @@ class FlutterTextPlatformNode : public ui::AXPlatformNodeBase {
/// @brief Detaches the FlutterTextField from the FlutterView if it is not
/// already detached.
void EnsureDetachedFromView();

FML_DISALLOW_COPY_AND_ASSIGN(FlutterTextPlatformNode);
};

} // namespace flutter
Expand Down