Commit 6cb81bdc authored by Markus Stange's avatar Markus Stange
Browse files

Move "ensureWindowData" to the window map, where it belongs. b=420491 r=josh

parent 349d2f74
Loading
Loading
Loading
Loading
+1 −24
Original line number Diff line number Diff line
@@ -179,7 +179,6 @@ PRUint32 nsChildView::sLastInputEventCount = 0;
- (void) convertCocoaKeyEvent:(NSEvent*)aKeyEvent toGeckoEvent:(nsKeyEvent*)outGeckoEvent;

- (NSMenu*)contextMenu;
- (TopLevelWindowData*)ensureWindowData;

- (void)setIsPluginView:(BOOL)aIsPlugin;
- (BOOL)isPluginView;
@@ -636,7 +635,7 @@ nsresult nsChildView::StandardCreate(nsIWidget *aParent,
  // if this is a ChildView, make sure that our per-window data
  // is set up
  if ([mView isKindOfClass:[ChildView class]])
    [(ChildView*)mView ensureWindowData];
    [[WindowDataMap sharedWindowDataMap] ensureDataForWindow:[mView window]];

  return NS_OK;

@@ -4061,28 +4060,6 @@ static nsEventStatus SendGeckoMouseEnterOrExitEvent(PRBool isTrusted,
}


- (TopLevelWindowData*)ensureWindowData
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;

  if (!mWindow)
    return nil;

  WindowDataMap* windowMap = [WindowDataMap sharedWindowDataMap];

  TopLevelWindowData* windowData = [windowMap dataForWindow:mWindow];
  if (!windowData)
  {
    windowData = [[TopLevelWindowData alloc] initWithWindow:mWindow];
    [windowMap setData:windowData forWindow:mWindow]; // takes ownership
    [windowData release];
  }
  return windowData;

  NS_OBJC_END_TRY_ABORT_BLOCK_NIL;
}


static PRBool ConvertUnicodeToCharCode(PRUnichar inUniChar, unsigned char* outChar)
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_RETURN;
+3 −1
Original line number Diff line number Diff line
@@ -432,6 +432,8 @@ nsresult nsCocoaWindow::StandardCreate(nsIWidget *aParent,
    mWindow = (NSWindow*)aNativeWindow;
  }

  [[WindowDataMap sharedWindowDataMap] ensureDataForWindow:mWindow];

  return NS_OK;

  NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@

+ (WindowDataMap*)sharedWindowDataMap;

- (void)ensureDataForWindow:(NSWindow*)inWindow;
- (id)dataForWindow:(NSWindow*)inWindow;

// set data for a given window. inData is retained (and any previously set data
+14 −0
Original line number Diff line number Diff line
@@ -95,6 +95,20 @@
  NS_OBJC_END_TRY_ABORT_BLOCK;
}

- (void)ensureDataForWindow:(NSWindow*)inWindow
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK;

  if (!inWindow || [self dataForWindow:inWindow])
    return;

  TopLevelWindowData* windowData = [[TopLevelWindowData alloc] initWithWindow:inWindow];
  [self setData:windowData forWindow:inWindow]; // takes ownership
  [windowData release];

  NS_OBJC_END_TRY_ABORT_BLOCK;
}

- (id)dataForWindow:(NSWindow*)inWindow
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;