Another webkit fix, icons

This commit is contained in:
siana
2010-12-25 20:40:09 +01:00
parent 9581509948
commit bc0e5d29a5
15 changed files with 368 additions and 408 deletions

19
indra/media_plugins/webkit/CMakeLists.txt Normal file → Executable file
View File

@@ -27,11 +27,19 @@ include_directories(
${LLIMAGE_INCLUDE_DIRS} ${LLIMAGE_INCLUDE_DIRS}
${LLRENDER_INCLUDE_DIRS} ${LLRENDER_INCLUDE_DIRS}
${LLWINDOW_INCLUDE_DIRS} ${LLWINDOW_INCLUDE_DIRS}
${LLQTWEBKIT_INCLUDE_DIR}
) )
### media_plugin_webkit ### media_plugin_webkit
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)
endif(NOT WORD_SIZE EQUAL 32)
set(media_plugin_webkit_SOURCE_FILES set(media_plugin_webkit_SOURCE_FILES
media_plugin_webkit.cpp media_plugin_webkit.cpp
) )
@@ -51,9 +59,11 @@ set(media_plugin_webkit_LINK_LIBRARIES
# Select which VolumeCatcher implementation to use # Select which VolumeCatcher implementation to use
if (LINUX) if (LINUX)
if (PULSEAUDIO) if (PULSEAUDIO_FOUND)
list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp) list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp)
endif (PULSEAUDIO) else (PULSEAUDIO_FOUND)
list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp)
endif (PULSEAUDIO_FOUND)
list(APPEND media_plugin_webkit_LINK_LIBRARIES list(APPEND media_plugin_webkit_LINK_LIBRARIES
${UI_LIBRARIES} # for glib/GTK ${UI_LIBRARIES} # for glib/GTK
) )
@@ -67,9 +77,6 @@ elseif (DARWIN)
) )
elseif (WINDOWS) elseif (WINDOWS)
list(APPEND media_plugin_webkit_SOURCE_FILES windows_volume_catcher.cpp) list(APPEND media_plugin_webkit_SOURCE_FILES windows_volume_catcher.cpp)
else (LINUX)
# All other platforms use the dummy volume catcher for now.
list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp)
endif (LINUX) endif (LINUX)
set_source_files_properties(${media_plugin_webkit_HEADER_FILES} set_source_files_properties(${media_plugin_webkit_HEADER_FILES}

37
indra/media_plugins/webkit/dummy_volume_catcher.cpp Normal file → Executable file
View File

@@ -3,33 +3,26 @@
* @brief A null implementation of the "VolumeCatcher" class for platforms where it's not implemented yet. * @brief A null implementation of the "VolumeCatcher" class for platforms where it's not implemented yet.
* *
* @cond * @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code * Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab * Copyright (C) 2010, Linden Research, Inc.
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
* *
* There are special exceptions to the terms and conditions of the GPL as * This library is free software; you can redistribute it and/or
* it is applied to this Source Code. View the full text of the exception * modify it under the terms of the GNU Lesser General Public
* in the file doc/FLOSS-exception.txt in this software distribution, or * License as published by the Free Software Foundation;
* online at * version 2.1 of the License only.
* http://secondlife.com/developers/opensource/flossexception
* *
* By copying, modifying or distributing this software, you acknowledge * This library is distributed in the hope that it will be useful,
* that you have read and understood your obligations described above, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* and agree to abide by those obligations. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO * You should have received a copy of the GNU Lesser General Public
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, * License along with this library; if not, write to the Free Software
* COMPLETENESS OR PERFORMANCE. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*
* @endcond * @endcond
*/ */

40
indra/media_plugins/webkit/linux_volume_catcher.cpp Normal file → Executable file
View File

@@ -3,33 +3,26 @@
* @brief A Linux-specific, PulseAudio-specific hack to detect and volume-adjust new audio sources * @brief A Linux-specific, PulseAudio-specific hack to detect and volume-adjust new audio sources
* *
* @cond * @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code * Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab * Copyright (C) 2010, Linden Research, Inc.
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
* *
* There are special exceptions to the terms and conditions of the GPL as * This library is free software; you can redistribute it and/or
* it is applied to this Source Code. View the full text of the exception * modify it under the terms of the GNU Lesser General Public
* in the file doc/FLOSS-exception.txt in this software distribution, or * License as published by the Free Software Foundation;
* online at * version 2.1 of the License only.
* http://secondlife.com/developers/opensource/flossexception
* *
* By copying, modifying or distributing this software, you acknowledge * This library is distributed in the hope that it will be useful,
* that you have read and understood your obligations described above, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* and agree to abide by those obligations. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO * You should have received a copy of the GNU Lesser General Public
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, * License along with this library; if not, write to the Free Software
* COMPLETENESS OR PERFORMANCE. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*
* @endcond * @endcond
*/ */
@@ -42,9 +35,8 @@
5) Keep a list of all living audio players that we care about, adjust the volumes of all of them when we get a new setVolume() call 5) Keep a list of all living audio players that we care about, adjust the volumes of all of them when we get a new setVolume() call
*/ */
# include <set> //imprudence
#include "linden_common.h" #include "linden_common.h"
#include <set>
#include "volume_catcher.h" #include "volume_catcher.h"

View File

@@ -1,56 +0,0 @@
/**
* @file linux_volume_catcher.h
* @brief A Linux-specific, PulseAudio-specific hack to detect and volume-adjust new audio sources
*
* @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlife.com/developers/opensource/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*
* @endcond
*/
#ifndef LINUX_VOLUME_CATCHER_H
#define LINUX_VOLUME_CATCHER_H
#include "linden_common.h"
class LinuxVolumeCatcherImpl;
class LinuxVolumeCatcher
{
public:
LinuxVolumeCatcher();
~LinuxVolumeCatcher();
void setVolume(F32 volume); // 0.0 - 1.0
void pump(); // call this at least a few times a second if you can - it affects how quickly we can 'catch' a new audio source and adjust its volume
private:
LinuxVolumeCatcherImpl *pimpl;
};
#endif // LINUX_VOLUME_CATCHER_H

View File

View File

37
indra/media_plugins/webkit/mac_volume_catcher.cpp Normal file → Executable file
View File

@@ -3,33 +3,26 @@
* @brief A Mac OS X specific hack to control the volume level of all audio channels opened by a process. * @brief A Mac OS X specific hack to control the volume level of all audio channels opened by a process.
* *
* @cond * @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code * Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab * Copyright (C) 2010, Linden Research, Inc.
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
* *
* There are special exceptions to the terms and conditions of the GPL as * This library is free software; you can redistribute it and/or
* it is applied to this Source Code. View the full text of the exception * modify it under the terms of the GNU Lesser General Public
* in the file doc/FLOSS-exception.txt in this software distribution, or * License as published by the Free Software Foundation;
* online at * version 2.1 of the License only.
* http://secondlife.com/developers/opensource/flossexception
* *
* By copying, modifying or distributing this software, you acknowledge * This library is distributed in the hope that it will be useful,
* that you have read and understood your obligations described above, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* and agree to abide by those obligations. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO * You should have received a copy of the GNU Lesser General Public
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, * License along with this library; if not, write to the Free Software
* COMPLETENESS OR PERFORMANCE. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*
* @endcond * @endcond
*/ */

View File

@@ -44,7 +44,6 @@
#include "llpluginmessage.h" #include "llpluginmessage.h"
#include "llpluginmessageclasses.h" #include "llpluginmessageclasses.h"
#include "media_plugin_base.h" #include "media_plugin_base.h"
#include <iomanip>
// set to 1 if you're using the version of llqtwebkit that's QPixmap-ified // set to 1 if you're using the version of llqtwebkit that's QPixmap-ified
#if LL_LINUX #if LL_LINUX
@@ -65,6 +64,7 @@ extern "C" {
# include <unistd.h> # include <unistd.h>
# include <stdlib.h> # include <stdlib.h>
#endif #endif
#include <iomanip>
#if LL_WINDOWS #if LL_WINDOWS
// *NOTE:Mani - This captures the module handle for the dll. This is used below // *NOTE:Mani - This captures the module handle for the dll. This is used below
@@ -78,20 +78,6 @@ extern "C" {
} }
#endif #endif
#ifdef LL_STANDALONE
#include <qglobal.h>
#elif defined(LL_LINUX)
// We don't provide Qt headers for non-standalone, therefore define this here.
// Our prebuilt is built with QT_NAMESPACE undefined.
#define QT_MANGLE_NAMESPACE(name) name
#define Q_INIT_RESOURCE(name) \
do { extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); \
QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); } while (0)
#else
// Apparently this symbol doesn't exist in the windows and Mac tar balls provided by LL.
#define Q_INIT_RESOURCE(name) /*nothing*/
#endif
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
class MediaPluginWebKit : class MediaPluginWebKit :
@@ -137,6 +123,7 @@ private:
F32 mBackgroundR; F32 mBackgroundR;
F32 mBackgroundG; F32 mBackgroundG;
F32 mBackgroundB; F32 mBackgroundB;
std::string mTarget;
VolumeCatcher mVolumeCatcher; VolumeCatcher mVolumeCatcher;
@@ -325,11 +312,7 @@ private:
LLQtWebKit::getInstance()->enableJavascript( mJavascriptEnabled ); LLQtWebKit::getInstance()->enableJavascript( mJavascriptEnabled );
// create single browser window // create single browser window
#if LLQTWEBKIT_API_VERSION >= 2 mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow( mWidth, mHeight, mTarget);
mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow(mWidth, mHeight /*, mTarget*/ ); // We don't have mTarget yet.
#else
mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow( mWidth, mHeight );
#endif
// tell LLQtWebKit about the size of the browser window // tell LLQtWebKit about the size of the browser window
LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight ); LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight );
@@ -340,12 +323,6 @@ private:
// append details to agent string // append details to agent string
LLQtWebKit::getInstance()->setBrowserAgentId( mUserAgent ); LLQtWebKit::getInstance()->setBrowserAgentId( mUserAgent );
// Viewer 2+ -- MC
#if LL_WINDOWS
// Set up window open behavior
LLQtWebKit::getInstance()->setWindowOpenBehavior(mBrowserWindowId, LLQtWebKit::WOB_SIMULATE_BLANK_HREF_CLICK);
#endif
#if !LL_QTWEBKIT_USES_PIXMAPS #if !LL_QTWEBKIT_USES_PIXMAPS
// don't flip bitmap // don't flip bitmap
LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true ); LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true );
@@ -536,16 +513,9 @@ private:
void onClickLinkHref(const EventType& event) void onClickLinkHref(const EventType& event)
{ {
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "click_href"); LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "click_href");
#if LLQTWEBKIT_API_VERSION >= 2
message.setValue("uri", event.getEventUri()); message.setValue("uri", event.getEventUri());
message.setValue("target", event.getStringValue()); message.setValue("target", event.getStringValue());
message.setValue("uuid", event.getStringValue2()); message.setValue("uuid", event.getStringValue2());
#else
// This will work as long as we don't need "uuid", which will be needed for MoaP.
message.setValue("uri", event.getStringValue());
message.setValue("target", event.getStringValue2());
message.setValueU32("target_type", event.getLinkType());
#endif
sendMessage(message); sendMessage(message);
} }
@@ -554,14 +524,11 @@ private:
void onClickLinkNoFollow(const EventType& event) void onClickLinkNoFollow(const EventType& event)
{ {
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "click_nofollow"); LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "click_nofollow");
#if LLQTWEBKIT_API_VERSION >= 2
message.setValue("uri", event.getEventUri()); message.setValue("uri", event.getEventUri());
#else
message.setValue("uri", event.getStringValue());
#endif
sendMessage(message); sendMessage(message);
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// virtual // virtual
void onCookieChanged(const EventType& event) void onCookieChanged(const EventType& event)
@@ -574,6 +541,42 @@ private:
sendMessage(message); sendMessage(message);
} }
////////////////////////////////////////////////////////////////////////////////
// virtual
void onWindowCloseRequested(const EventType& event)
{
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "close_request");
message.setValue("uuid", event.getStringValue());
sendMessage(message);
}
////////////////////////////////////////////////////////////////////////////////
// virtual
void onWindowGeometryChangeRequested(const EventType& event)
{
int x, y, width, height;
event.getRectValue(x, y, width, height);
// This sometimes gets called with a zero-size request. Don't pass these along.
if(width > 0 && height > 0)
{
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "geometry_change");
message.setValue("uuid", event.getStringValue());
message.setValueS32("x", x);
message.setValueS32("y", y);
message.setValueS32("width", width);
message.setValueS32("height", height);
sendMessage(message);
}
}
////////////////////////////////////////////////////////////////////////////////
// virtual
std::string onRequestFilePicker( const EventType& eventIn )
{
return blockingPickFile();
}
LLQtWebKit::EKeyboardModifier decodeModifiers(std::string &modifiers) LLQtWebKit::EKeyboardModifier decodeModifiers(std::string &modifiers)
{ {
int result = 0; int result = 0;
@@ -719,6 +722,26 @@ private:
} }
} }
std::string mPickedFile;
std::string blockingPickFile(void)
{
mPickedFile.clear();
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "pick_file");
message.setValueBoolean("blocking_request", true);
// The "blocking_request" key in the message means this sendMessage call will block until a response is received.
sendMessage(message);
return mPickedFile;
}
void onPickFileResponse(const std::string &file)
{
mPickedFile = file;
}
}; };
MediaPluginWebKit::MediaPluginWebKit(LLPluginInstance::sendMessageFunction host_send_func, void *host_user_data) : MediaPluginWebKit::MediaPluginWebKit(LLPluginInstance::sendMessageFunction host_send_func, void *host_user_data) :
@@ -743,9 +766,6 @@ MediaPluginWebKit::MediaPluginWebKit(LLPluginInstance::sendMessageFunction host_
mJavascriptEnabled = true; // default to on mJavascriptEnabled = true; // default to on
mPluginsEnabled = true; // default to on mPluginsEnabled = true; // default to on
mUserAgent = "LLPluginMedia Web Browser"; mUserAgent = "LLPluginMedia Web Browser";
// Initialize WebCore resource.
Q_INIT_RESOURCE(WebCore);
} }
MediaPluginWebKit::~MediaPluginWebKit() MediaPluginWebKit::~MediaPluginWebKit()
@@ -859,6 +879,8 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
{ {
if(message_name == "init") if(message_name == "init")
{ {
mTarget = message_in.getValue("target");
// This is the media init message -- all necessary data for initialization should have been received. // This is the media init message -- all necessary data for initialization should have been received.
if(initBrowser()) if(initBrowser())
{ {
@@ -1078,10 +1100,14 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_EDIT_PASTE ); LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_EDIT_PASTE );
checkEditState(); checkEditState();
} }
if(message_name == "pick_file_response")
{
onPickFileResponse(message_in.getValue("file"));
}
else else
{ {
// std::cerr << "MediaPluginWebKit::receiveMessage: unknown media message: " << message_string << std::endl; // std::cerr << "MediaPluginWebKit::receiveMessage: unknown media message: " << message_string << std::endl;
}; }
} }
else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER) else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER)
{ {
@@ -1181,6 +1207,17 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
} }
} }
} }
else if(message_name == "proxy_window_opened")
{
std::string target = message_in.getValue("target");
std::string uuid = message_in.getValue("uuid");
LLQtWebKit::getInstance()->proxyWindowOpened(mBrowserWindowId, target, uuid);
}
else if(message_name == "proxy_window_closed")
{
std::string uuid = message_in.getValue("uuid");
LLQtWebKit::getInstance()->proxyWindowClosed(mBrowserWindowId, uuid);
}
else else
{ {
// std::cerr << "MediaPluginWebKit::receiveMessage: unknown media_browser message: " << message_string << std::endl; // std::cerr << "MediaPluginWebKit::receiveMessage: unknown media_browser message: " << message_string << std::endl;

37
indra/media_plugins/webkit/volume_catcher.h Normal file → Executable file
View File

@@ -3,33 +3,26 @@
* @brief Interface to a class with platform-specific implementations that allows control of the audio volume of all sources in the current process. * @brief Interface to a class with platform-specific implementations that allows control of the audio volume of all sources in the current process.
* *
* @cond * @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code * Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab * Copyright (C) 2010, Linden Research, Inc.
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
* *
* There are special exceptions to the terms and conditions of the GPL as * This library is free software; you can redistribute it and/or
* it is applied to this Source Code. View the full text of the exception * modify it under the terms of the GNU Lesser General Public
* in the file doc/FLOSS-exception.txt in this software distribution, or * License as published by the Free Software Foundation;
* online at * version 2.1 of the License only.
* http://secondlife.com/developers/opensource/flossexception
* *
* By copying, modifying or distributing this software, you acknowledge * This library is distributed in the hope that it will be useful,
* that you have read and understood your obligations described above, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* and agree to abide by those obligations. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO * You should have received a copy of the GNU Lesser General Public
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, * License along with this library; if not, write to the Free Software
* COMPLETENESS OR PERFORMANCE. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*
* @endcond * @endcond
*/ */

37
indra/media_plugins/webkit/windows_volume_catcher.cpp Normal file → Executable file
View File

@@ -3,33 +3,26 @@
* @brief A Windows implementation of volume level control of all audio channels opened by a process. * @brief A Windows implementation of volume level control of all audio channels opened by a process.
* *
* @cond * @cond
* $LicenseInfo:firstyear=2010&license=viewergpl$ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
*
* Copyright (c) 2010, Linden Research, Inc.
*
* Second Life Viewer Source Code * Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab * Copyright (C) 2010, Linden Research, Inc.
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlife.com/developers/opensource/gplv2
* *
* There are special exceptions to the terms and conditions of the GPL as * This library is free software; you can redistribute it and/or
* it is applied to this Source Code. View the full text of the exception * modify it under the terms of the GNU Lesser General Public
* in the file doc/FLOSS-exception.txt in this software distribution, or * License as published by the Free Software Foundation;
* online at * version 2.1 of the License only.
* http://secondlife.com/developers/opensource/flossexception
* *
* By copying, modifying or distributing this software, you acknowledge * This library is distributed in the hope that it will be useful,
* that you have read and understood your obligations described above, * but WITHOUT ANY WARRANTY; without even the implied warranty of
* and agree to abide by those obligations. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO * You should have received a copy of the GNU Lesser General Public
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, * License along with this library; if not, write to the Free Software
* COMPLETENESS OR PERFORMANCE. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*
* @endcond * @endcond
*/ */

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

View File

@@ -61,7 +61,7 @@ END
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDI_LL_ICON ICON "snowglobe_icon.ico" IDI_LL_ICON ICON "singularity_icon.ico"
IDI_LCD_LL_ICON ICON "icon1.ico" IDI_LCD_LL_ICON ICON "icon1.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@@ -158,9 +158,9 @@ BEGIN
VALUE "FileDescription", "Singularity Viewer" VALUE "FileDescription", "Singularity Viewer"
VALUE "FileVersion", "1.5.0.0" VALUE "FileVersion", "1.5.0.0"
VALUE "InternalName", "Second Life" VALUE "InternalName", "Second Life"
VALUE "LegalCopyright", "Copyright <20> 2001-2010, Linden Research, Inc." VALUE "LegalCopyright", "Copyright <20> 2001-2010, Linden Research, Inc., Copyright 2010 Siana Gearz"
VALUE "OriginalFilename", "singularity.exe" VALUE "OriginalFilename", "singularity.exe"
VALUE "ProductName", "Ascent" VALUE "ProductName", "Singularity Viewer"
VALUE "ProductVersion", "1.5.0.0" VALUE "ProductVersion", "1.5.0.0"
END END
END END

View File

@@ -229,6 +229,7 @@ class WindowsManifest(ViewerManifest):
self.path("qtnetwork4.dll") self.path("qtnetwork4.dll")
self.path("qtopengl4.dll") self.path("qtopengl4.dll")
self.path("qtwebkit4.dll") self.path("qtwebkit4.dll")
self.path("qtxmlpatterns4.dll")
self.path("ssleay32.dll") self.path("ssleay32.dll")
self.end_prefix() self.end_prefix()
@@ -242,6 +243,13 @@ class WindowsManifest(ViewerManifest):
self.path("qtiff4.dll") self.path("qtiff4.dll")
self.end_prefix() self.end_prefix()
if self.prefix(src="../../libraries/i686-win32/lib/release/codecs", dst="llplugin/codecs"):
self.path("qcncodecs4.dll")
self.path("qjpcodecs4.dll")
self.path("qkrcodecs4.dll")
self.path("qtwcodecs4.dll")
self.end_prefix()
# Per platform MIME config on the cheap. See SNOW-307 / DEV-41388 # Per platform MIME config on the cheap. See SNOW-307 / DEV-41388
self.path("skins/default/xui/en-us/mime_types_windows.xml", "skins/default/xui/en-us/mime_types.xml") self.path("skins/default/xui/en-us/mime_types_windows.xml", "skins/default/xui/en-us/mime_types.xml")