Hook up the event loop changes and fix the build

--HG--
rename : ipc/chromium/src/base/file_version_info_linux.h.version => ipc/chromium/base/file_version_info_linux.h
This commit is contained in:
Benjamin Smedberg 2009-06-30 12:02:37 -04:00
Родитель 08c3ca4c7b
Коммит 0a5070dd8a
7 изменённых файлов: 64 добавлений и 16 удалений

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

@ -41,8 +41,12 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
OS_CXXFLAGS := $(filter-out -fshort-wchar,$(OS_CXXFLAGS))
LIBRARY_NAME = chromium_s
FORCE_STATIC_LIB = 1
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1
ENABLE_CXX_EXCEPTIONS = 1
ACDEFINES =
@ -64,6 +68,9 @@ vpath %.mm \
$(srcdir)/src/chrome/common \
$(NULL)
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
CPPSRCS += \
dtoa.cc \
g_fmt.cc \
@ -254,7 +261,7 @@ endif # } OS_LINUX
ifdef OS_POSIX # {
LOCAL_INCLUDES += $(srcdir)/src/third_party/libevent
LOCAL_INCLUDES += -I$(srcdir)/src/third_party/libevent
DEFINES += -DHAVE_CONFIG_H
CSRCS += \
@ -274,12 +281,12 @@ CSRCS += \
$(NULL)
ifdef OS_MACOSX # {
LOCAL_INCLUDES += $(srcdir)/src/third_party/libevent/mac
LOCAL_INCLUDES += -I$(srcdir)/src/third_party/libevent/mac
CSRCS += kqueue.c
endif # }
ifdef OS_LINUX # {
LOCAL_INCLUDES += $(srcdir)/src/third_party/libevent/linux
LOCAL_INCLUDES += -I$(srcdir)/src/third_party/libevent/linux
CSRCS += \
epoll.c \
epoll_sub.c \
@ -288,6 +295,4 @@ endif # }
endif # }
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk

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

@ -0,0 +1,26 @@
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BASE_FILE_VERSION_INFO_LINUX_H_
#define BASE_FILE_VERSION_INFO_LINUX_H_
#define COMPANY_NAME L"@COMPANY_FULLNAME@"
#define FILE_DESCRIPTION L"@PRODUCT_FULLNAME@"
#define FILE_VERSION L"@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
#define LEGAL_COPYRIGHT L"@COPYRIGHT@"
#define PRODUCT_NAME L"@PRODUCT_FULLNAME@"
#define PRODUCT_VERSION L"@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
#define COMPANY_SHORT_NAME L"@COMPANY_SHORTNAME@"
#define PRODUCT_SHORT_NAME L"@PRODUCT_SHORTNAME@"
#define LAST_CHANGE L"@LASTCHANGE@"
#define OFFICIAL_BUILD 1
// TODO(mmoss) Do these have values for Linux?
#define INTERNAL_NAME L""
#define ORIGINAL_FILENAME L""
#define PRIVATE_BUILD L""
#define SPECIAL_BUILD L""
#define COMMENTS L""
#define LEGAL_TRADEMARKS L""
#endif // BASE_FILE_VERSION_INFO_LINUX_H_

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

@ -45,6 +45,7 @@ MODULE = ipc
LIBRARY_NAME = mozipc_s
FORCE_STATIC_LIB = 1
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1
EXPORTS_NAMESPACES = IPC mozilla/ipc

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

@ -91,6 +91,13 @@ LOCAL_INCLUDES += -I$(topsrcdir)/widget/src/os2
endif
# dependent libraries
ifdef MOZ_IPC
STATIC_LIBS += \
mozipc_s \
chromium_s \
$(NULL)
endif
STATIC_LIBS += \
xpcom_core \
ucvutil_s \

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

@ -65,7 +65,11 @@ REQUIRES = xpcom \
thebes \
$(NULL)
DEFINES += -D_IMPL_NS_WIDGET -DUSE_TLS_FOR_TOOLKIT
DEFINES += \
-D_IMPL_NS_WIDGET \
-DUSE_TLS_FOR_TOOLKIT \
-DNO_NSPR_10_SUPPORT=1 \
$(NULL)
CPPSRCS = \
nsBaseAppShell.cpp \
@ -97,7 +101,7 @@ ifneq (,$(filter qt gtk2 windows cocoa,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS += nsNativeTheme.cpp
endif
LOCAL_INCLUDES = \
LOCAL_INCLUDES += \
-I$(srcdir)/../$(MOZ_WIDGET_TOOLKIT) \
-I$(srcdir) \
$(NULL)
@ -105,7 +109,8 @@ LOCAL_INCLUDES = \
# we don't want the shared lib, but we want to force the creation of a static lib.
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk
CXXFLAGS += $(TK_CFLAGS)

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

@ -41,6 +41,8 @@
#include "nsIObserverService.h"
#include "nsServiceManagerUtils.h"
#include "base/message_loop.h"
// When processing the next thread event, the appshell may process native
// events (if not in performance mode), which can result in suppressing the
// next thread event for at most this many ticks:
@ -59,7 +61,7 @@ nsBaseAppShell::nsBaseAppShell()
, mSwitchTime(0)
, mLastNativeEventTime(0)
, mEventloopNestingState(eEventloopNone)
, mRunWasCalled(PR_FALSE)
, mRunning(PR_FALSE)
, mExiting(PR_FALSE)
, mBlockNativeEvent(PR_FALSE)
{
@ -161,21 +163,23 @@ nsBaseAppShell::DoProcessNextNativeEvent(PRBool mayWait)
NS_IMETHODIMP
nsBaseAppShell::Run(void)
{
nsIThread *thread = NS_GetCurrentThread();
NS_ENSURE_STATE(!mRunning); // should not call Run twice
mRunning = PR_TRUE;
NS_ENSURE_STATE(!mRunWasCalled); // should not call Run twice
mRunWasCalled = PR_TRUE;
MessageLoop::current()->Run();
while (!mExiting)
NS_ProcessNextEvent(thread);
NS_ProcessPendingEvents(NS_GetCurrentThread());
NS_ProcessPendingEvents(thread);
mRunning = PR_FALSE;
return NS_OK;
}
NS_IMETHODIMP
nsBaseAppShell::Exit(void)
{
if (mRunning && !mExiting) {
MessageLoop::current()->Quit();
}
mExiting = PR_TRUE;
return NS_OK;
}

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

@ -119,7 +119,7 @@ private:
eEventloopOther // innermost native event loop is a native library/plugin etc
};
EventloopNestingState mEventloopNestingState;
PRPackedBool mRunWasCalled;
PRPackedBool mRunning;
PRPackedBool mExiting;
/**
* mBlockNativeEvent blocks the appshell from processing native events.