| Index: Source/core/page/NavigatorID.cpp
|
| diff --git a/Source/core/page/DOMWindowTimers.cpp b/Source/core/page/NavigatorID.cpp
|
| similarity index 54%
|
| copy from Source/core/page/DOMWindowTimers.cpp
|
| copy to Source/core/page/NavigatorID.cpp
|
| index 499a7981588b53667b198322dfdde02062f07e74..593d59ed532cd4433398c1f45d97600182fa6ec5 100644
|
| --- a/Source/core/page/DOMWindowTimers.cpp
|
| +++ b/Source/core/page/NavigatorID.cpp
|
| @@ -1,6 +1,5 @@
|
| /*
|
| - * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
|
| - * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
|
| + * Copyright (C) 2008 Apple Inc. All Rights Reserved.
|
| * Copyright (C) 2013 Samsung Electronics. All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| @@ -31,37 +30,58 @@
|
| */
|
|
|
| #include "config.h"
|
| -#include "core/page/DOMWindowTimers.h"
|
| +#include "NavigatorID.h"
|
|
|
| -#include "core/dom/EventTarget.h"
|
| -#include "core/page/DOMTimer.h"
|
| +#include "core/page/NavigatorBase.h"
|
| +#include "wtf/CPU.h"
|
|
|
| -namespace WebCore {
|
| +#if OS(LINUX)
|
| +#include "sys/utsname.h"
|
| +#include "wtf/StdLibExtras.h"
|
| +#endif
|
| +
|
| +#ifndef WEBCORE_NAVIGATOR_PLATFORM
|
| +#if OS(DARWIN) && (CPU(PPC) || CPU(PPC64))
|
| +#define WEBCORE_NAVIGATOR_PLATFORM "MacPPC"
|
| +#elif OS(DARWIN) && (CPU(X86) || CPU(X86_64))
|
| +#define WEBCORE_NAVIGATOR_PLATFORM "MacIntel"
|
| +#elif OS(WINDOWS)
|
| +#define WEBCORE_NAVIGATOR_PLATFORM "Win32"
|
| +#else
|
| +#define WEBCORE_NAVIGATOR_PLATFORM ""
|
| +#endif
|
| +#endif // ifndef WEBCORE_NAVIGATOR_PLATFORM
|
|
|
| -namespace DOMWindowTimers {
|
| +namespace WebCore {
|
|
|
| -int setTimeout(EventTarget* eventTarget, PassOwnPtr<ScheduledAction> action, int timeout)
|
| +String NavigatorID::appName(const NavigatorBase*)
|
| {
|
| - return DOMTimer::install(eventTarget->scriptExecutionContext(), action, timeout, true);
|
| + return "Netscape";
|
| }
|
|
|
| -int setInterval(EventTarget* eventTarget, PassOwnPtr<ScheduledAction> action, int timeout)
|
| +String NavigatorID::appVersion(const NavigatorBase* navigator)
|
| {
|
| - return DOMTimer::install(eventTarget->scriptExecutionContext(), action, timeout, false);
|
| + // Version is everything in the user agent string past the "Mozilla/" prefix.
|
| + const String& agent = navigator->userAgent();
|
| + return agent.substring(agent.find('/') + 1);
|
| }
|
|
|
| -void clearTimeout(EventTarget* eventTarget, int timeoutID)
|
| +String NavigatorID::userAgent(const NavigatorBase* navigator)
|
| {
|
| - if (ScriptExecutionContext* context = eventTarget->scriptExecutionContext())
|
| - DOMTimer::removeByID(context, timeoutID);
|
| + return navigator->userAgent();
|
| }
|
|
|
| -void clearInterval(EventTarget* eventTarget, int timeoutID)
|
| +String NavigatorID::platform(const NavigatorBase*)
|
| {
|
| - if (ScriptExecutionContext* context = eventTarget->scriptExecutionContext())
|
| - DOMTimer::removeByID(context, timeoutID);
|
| +#if OS(LINUX)
|
| + if (!String(WEBCORE_NAVIGATOR_PLATFORM).isEmpty())
|
| + return WEBCORE_NAVIGATOR_PLATFORM;
|
| + struct utsname osname;
|
| + DEFINE_STATIC_LOCAL(String, platformName, (uname(&osname) >= 0 ? String(osname.sysname) + String(" ") + String(osname.machine) : emptyString()));
|
| + return platformName;
|
| +#else
|
| + return WEBCORE_NAVIGATOR_PLATFORM;
|
| +#endif
|
| }
|
|
|
| -} // namespace DOMWindowTimers
|
| -
|
| } // namespace WebCore
|
|
|