mac builds and runs with --enable-ipc, but the subprocess nsAppShell dies for an apparently Cocoa-related reason. IPC is fine though

This commit is contained in:
Chris Jones 2009-11-10 20:25:10 -06:00
Родитель 96dc937bbb
Коммит 5c7a5ab290
9 изменённых файлов: 39 добавлений и 6 удалений

Просмотреть файл

@ -679,6 +679,8 @@ nsFrameLoader::ShowRemoteFrame(nsIFrameFrame* frame, nsIView* view)
gtk_widget_show(mRemoteSocket);
GdkNativeWindow id = gtk_socket_get_id(GTK_SOCKET(mRemoteSocket));
mChildProcess->SendcreateWidget(id);
#elif defined(XP_MACOSX)
# warning IMPLEMENT ME
#else
#error TODO for this platform

Просмотреть файл

@ -246,13 +246,17 @@ TabChild::RecvcreateWidget(const MagicWindowHandle& parentWidget)
gtk_widget_show(win);
#elif defined(XP_WIN)
HWND win = parentWidget;
#elif defined(XP_MACOSX)
# warning IMPLEMENT ME
#else
#error You lose!
#endif
#if !defined(XP_MACOSX)
baseWindow->InitWindow(win, 0, 0, 0, 0, 0);
baseWindow->Create();
baseWindow->SetVisibility(PR_TRUE);
#endif
return true;
}

Просмотреть файл

@ -14,6 +14,11 @@ typedef HWND MagicWindowHandle;
#include <X11/X.h>
typedef XID MagicWindowHandle;
#elif defined(XP_MACOSX)
# warning This is a placeholder
typedef long MagicWindowHandle;
#else
#error Not implemented, stooge
#endif

Просмотреть файл

@ -41,13 +41,24 @@
#include "npapi.h"
#include "IPC/IPCMessageUtils.h"
#warning This is only a stub implementation IMPLEMENT ME
namespace mozilla {
namespace plugins {
struct NPRemoteEvent {
NPEvent event;
};
}
}
namespace IPC {
template <>
struct ParamTraits<NPEvent>
struct ParamTraits<mozilla::plugins::NPRemoteEvent>
{
typedef NPEvent paramType;
typedef mozilla::plugins::NPRemoteEvent paramType;
static void Write(Message* aMsg, const paramType& aParam)
{
@ -63,5 +74,6 @@ struct ParamTraits<NPEvent>
}
};
} // namespace IPC
#endif // ifndef mozilla_dom_plugins_NPEventOSX_h

Просмотреть файл

@ -422,6 +422,9 @@ PluginInstanceChild::AnswerNPP_SetWindow(const NPRemoteWindow& aWindow,
}
}
#elif defined(OS_MACOSX)
# warning This is only a stub implementation IMPLEMENT ME
#else
# error Implement me for your OS
#endif

Просмотреть файл

@ -164,6 +164,9 @@ PluginModuleChild::Init(const std::string& aPluginFilename,
mInitializeFunc =
(NP_PLUGININIT)PR_FindFunctionSymbol(mLibrary, "NP_Initialize");
NS_ENSURE_TRUE(mInitializeFunc, false);
#elif defined(OS_MACOSX)
# warning IMPLEMENT ME
#else
# error Please copy the initialization code from nsNPAPIPlugin.cpp
@ -1252,6 +1255,10 @@ PluginModuleChild::AnswerNP_Initialize(NPError* _retval)
*_retval = mInitializeFunc(&sBrowserFuncs);
return true;
#elif defined(OS_MACOSX)
# warning IMPLEMENT ME
return false;
#else
# error Please implement me for your platform
#endif

Просмотреть файл

@ -155,7 +155,7 @@ private:
PRLibrary* mLibrary;
// we get this from the plugin
#ifdef OS_LINUX
#ifdef OS_POSIX
NP_PLUGINUNIXINIT mInitializeFunc;
#elif OS_WIN
NP_PLUGININIT mInitializeFunc;

Просмотреть файл

@ -244,7 +244,7 @@ class Message : public Pickle {
}
#endif
#if defined(CHROMIUM_MOZILLA_BUILD)
#if defined(CHROMIUM_MOZILLA_BUILD) && !defined(OS_MACOSX)
protected:
#endif

Просмотреть файл

@ -219,7 +219,7 @@ struct ParamTraits<unsigned long> {
}
};
#if !(defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))
#if !(defined(OS_MACOSX) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)))
// There size_t is a synonym for |unsigned long| ...
template <>
struct ParamTraits<size_t> {
@ -235,7 +235,7 @@ struct ParamTraits<size_t> {
}
};
#else
#elif !defined(OS_MACOSX)
// ... so we need to define traits for |unsigned int|.
// XXX duplicating OS_MACOSX version below so as not to conflict
template <>