зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
96dc937bbb
Коммит
5c7a5ab290
|
@ -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 <>
|
||||
|
|
Загрузка…
Ссылка в новой задаче