mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
e9ba40cf6b
- Bug 1178833 - Fix for unified builds when a new file is added to layout/base. r=mstange (bf961c00fd) - Bug 1178847 - Add a MobileViewportManager to manage setting the CSS viewport on B2G. r=botond,tn (937ba486fa) - Bug 1178847 - Don't use the MobileViewportManager code on Mulet or Fennec yet. r=botond (3061b2c617) - Bug 1168950. Add the document to DoProcessRestyles profile label. r=dbaron (2347b76411) - Bug 1187792 - Don't set the SPCSPS unless meta-viewport or zooming is enabled. r=botond (a8f5ed1006) - Bug 1193062 - Don't double-send target APZC confirmations that might race each other. r=kats (de48467401) - Bug 1186004 - Add a pref to enable/disable APZ zooming behaviour. r=botond (fc3653c979) - Bug 1193062 - Add a PAN_MOMENTUM state. r=kats (10c8bb1a5e) - Bug 1148350 - Have ConvertToGecko use a live screen-to-apzc transform to avoid transform mismatches. r=botond (9eee9ea6f2) - Bug 1169844 - Remove incorrect assertion and properly untransform wheel events for overscroll situations. r=botond (9b101b53bb) - Bug 1169690 - Accelerate flings correctly in the presence of overscroll handoff. r=kats (49d55c05f4) - Bug 1158424 - Extract a BreadthFirstSearch() helper function. r=kats (6a49498185) - Bug 1158424 - Add APZCTreeManager::FindRootContentApzcForLayersId(). r=kats (d6c7ecf781) - Bug 1158424 - Fix APZCTreeManager::GetMultitouchTarget(). r=kats (bf8571a4ca) - Bug 1174205 - Make sure to acquire the tree lock before finding the multitouch target. r=botond (bdbd98f2c7) - Bug 1211660 - Remove dead obj argument from two functions. r=Waldo. (efba5a2f8d) - Bug 1158424 - Undeprecate HasNoParentWithSameLayersId(). r=kats (d994ea28f8) - Fix AsyncCompositionManager not comparing layer tree IDs when finding scrollbar targets. (bug 1151169, r=kats) (c7dbc4776a) - Bug 1163259. Make sure we don't look at the parent ref layer when looking for a layer with the frame metrics for a scrollbar. r=kats (8b99d2c830) - Bug 1164340. Convert the scrollbar thumb ratio to a unitless ratio properly for non-zoomable scrollframes. r=botond (27f56cab56) - Bug 1164340. Fix up some scrollbar related comments in AsyncCompositionManager. r=botond (b9d540bea9) - Bug 1164767. Modify async scrollbar positioning code to deal with containerless root scrollables. r=botond (501d07592e) - Bug 1158424 - Remove FrameMetrics::IsRootScrollable() (it just duplicated IsRootContent()). r=kats (672fd034b3) - Bug 1120683 - Properly handle unapplying 3D projective transforms throughout APZ code. r=botond (a46612811a) - Bug 1148868 - Make APZ wheel handling handle pixel scrolling on OS X. r=dvander, r=kats (da3bd34135) - Bug 1193062 - Add fields to PanGestureInput and ScrollWheelInput. r=kats (716ba34e18) - Bug 1189565 - Send resize events when backing scale factor changes. r=mstange (4e81a7bbf7) - Bug 1193062 - Add nsCocoaUtils::ModifiersForEvent. r=smichaud (da67b22ff7) - Bug 1016035 - Remove the ability to swipe vertically. r=kats (fa315e0b97) - Bug 1016035 - Refactor the code that decides whether we want to start a swipe. r=kats (3091961328) - Bug 1016035 - Make the threshold in AxisPhysicsMSDModel::IsFinished controllable by the caller. r=kip (76df4d85a2) - Bug 1016035 - More swipe refactoring. r=kats (2abcd05b33) - Bug 1016035 - Implement the swipe animation ourselves instead of calling the NSEvent trackSwipe API. r=kats (4842b2a728) - Bug 1016035 - Move swipe tracking code into DispatchAPZWheelInputEvent. r=kats (bb1052b87c) - Bug 1016035 - Also mark widgetWheelEvents that are handled by APZ with mCanStartSwipe. r=kats (21809b902d) - Bug 1016035 - Put PanGestureInput events into a queue if they can end up as a swipe. r=kats (2ebac59047) - Bug 1016035 - Split up MaybeTrackScrollEventAsSwipe into SendMayStartSwipe and TrackScrollEventAsSwipe. r=kats (ced10d9671) - Bug 1016035 - Send MayStartSwipe event before sending the wheel event. r=kats (b3346b81fb) - Fix some fields missing in the widget event IPC glue. (bug 1139711, r=kats) (1298b25705) - Bug 1016035 - Add mCanTriggerSwipe and TriggersSwipe(). r=masayuki (664a059972) - Bug 1016035 - Make APZEventState report defaultPrevented=true when the event started a swipe. r=kats (128d627ac7) - Bug 1016035 - Set scroll overflow information on potential swipe start events that have been processed by APZ. r=masayuki (b5931f6320) - Bug 1206801 - fix broken CONFIG['DEBUG'] checks in moz.build files; r=mshal (292d5ac709) - Bug 1186424: Refactor AsmJSValidate.cpp in preparation for parallelization; r=luke (4868bc66ca) - Bug 1129267 - Fix by backing out patch for bug 1118615. r=mstange (ea8aaba04e) - Bug 1182411 Part 1: Make plugin quirks available to the Parent as well as the Child. r=jimm (1f2551a6b7) - Bug 1228462 - "PluginQuirks.* uses DOS CRLF". r=jmathies (b569a6c6c8) - Bug 1152300 - When focus shifts from a native plugin window to content, content needs to forward the request for focus change to chrome. r=enn (5bd811fadd) - Bug 1185529: On Windows, ensure that NPAPI child window has the correct parent before setwindow is called. r=jimm (9d94fdf2ff) - Bug 1182411 Part 2: Change winless popup surrogate to have its parent set in the chrome process. r=jimm (adee9bb012)
263 lines
9.3 KiB
Plaintext
263 lines
9.3 KiB
Plaintext
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
include protocol PPluginBackgroundDestroyer;
|
|
include protocol PPluginModule;
|
|
include protocol PPluginScriptableObject;
|
|
include protocol PBrowserStream;
|
|
include protocol PPluginStream;
|
|
include protocol PStreamNotify;
|
|
include protocol PPluginSurface;
|
|
|
|
include "mozilla/GfxMessageUtils.h";
|
|
|
|
using NPError from "npapi.h";
|
|
using struct mozilla::plugins::NPRemoteWindow from "mozilla/plugins/PluginMessageUtils.h";
|
|
using struct mozilla::plugins::NPRemoteEvent from "mozilla/plugins/PluginMessageUtils.h";
|
|
using NPRect from "npapi.h";
|
|
using NPNURLVariable from "npapi.h";
|
|
using NPCoordinateSpace from "npapi.h";
|
|
using NPNVariable from "npapi.h";
|
|
using mozilla::plugins::NativeWindowHandle from "mozilla/plugins/PluginMessageUtils.h";
|
|
using gfxSurfaceType from "gfxTypes.h";
|
|
using gfxIntSize from "nsSize.h";
|
|
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
|
|
using mozilla::plugins::WindowsSharedMemoryHandle from "mozilla/plugins/PluginMessageUtils.h";
|
|
using mozilla::layers::SurfaceDescriptorX11 from "gfxipc/ShadowLayerUtils.h";
|
|
using nsIntRect from "nsRect.h";
|
|
|
|
namespace mozilla {
|
|
namespace plugins {
|
|
|
|
struct IOSurfaceDescriptor {
|
|
uint32_t surfaceId;
|
|
double contentsScaleFactor;
|
|
};
|
|
|
|
union SurfaceDescriptor {
|
|
Shmem;
|
|
SurfaceDescriptorX11;
|
|
PPluginSurface; // used on Windows
|
|
IOSurfaceDescriptor; // used on OSX 10.5+
|
|
// Descriptor can be null here in case
|
|
// 1) of first Show call (prevSurface is null)
|
|
// 2) when child is going to destroy
|
|
// and it just want to grab prevSurface
|
|
// back without giving new surface
|
|
null_t;
|
|
};
|
|
|
|
union OptionalShmem {
|
|
Shmem;
|
|
null_t;
|
|
};
|
|
|
|
intr protocol PPluginInstance
|
|
{
|
|
manager PPluginModule;
|
|
|
|
manages PPluginBackgroundDestroyer;
|
|
manages PPluginScriptableObject;
|
|
manages PBrowserStream;
|
|
manages PPluginStream;
|
|
manages PStreamNotify;
|
|
manages PPluginSurface;
|
|
|
|
child:
|
|
intr __delete__();
|
|
|
|
// This is only used on Windows and, for windowed plugins, must be called
|
|
// before the first call to NPP_SetWindow.
|
|
intr CreateChildPluginWindow()
|
|
returns (NativeWindowHandle childPluginWindow);
|
|
|
|
// This is only used on Windows and, for windowless plugins.
|
|
async CreateChildPopupSurrogate(NativeWindowHandle netscapeWindow);
|
|
|
|
intr NPP_SetWindow(NPRemoteWindow window);
|
|
|
|
intr NPP_GetValue_NPPVpluginWantsAllNetworkStreams()
|
|
returns (bool value, NPError result);
|
|
|
|
// this message is not used on non-X platforms
|
|
intr NPP_GetValue_NPPVpluginNeedsXEmbed()
|
|
returns (bool value, NPError result);
|
|
|
|
intr NPP_GetValue_NPPVpluginScriptableNPObject()
|
|
returns (nullable PPluginScriptableObject value, NPError result);
|
|
|
|
intr NPP_SetValue_NPNVprivateModeBool(bool value) returns (NPError result);
|
|
intr NPP_GetValue_NPPVpluginNativeAccessibleAtkPlugId()
|
|
returns (nsCString plug_id, NPError result);
|
|
|
|
intr NPP_HandleEvent(NPRemoteEvent event)
|
|
returns (int16_t handled);
|
|
// special cases where we need to a shared memory buffer
|
|
intr NPP_HandleEvent_Shmem(NPRemoteEvent event, Shmem buffer)
|
|
returns (int16_t handled, Shmem rtnbuffer);
|
|
// special cases where we need an iosurface
|
|
intr NPP_HandleEvent_IOSurface(NPRemoteEvent event, uint32_t surfaceid)
|
|
returns (int16_t handled);
|
|
// special cases of HandleEvent to make mediating races simpler
|
|
intr Paint(NPRemoteEvent event)
|
|
returns (int16_t handled);
|
|
// this is only used on windows to forward WM_WINDOWPOSCHANGE
|
|
async WindowPosChanged(NPRemoteEvent event);
|
|
// used on OS X to tell the child the contents scale factor
|
|
// of its parent has changed
|
|
async ContentsScaleFactorChanged(double aContentsScaleFactor);
|
|
|
|
// ********************** Async plugins rendering
|
|
// see https://wiki.mozilla.org/Gecko:AsyncPluginPainting
|
|
// **********************
|
|
|
|
// Async version of SetWindow call
|
|
// @param surfaceType - gfxASurface::gfxSurfaceType
|
|
// plugin child must create offscreen buffer
|
|
// with type equals to surfaceType
|
|
async AsyncSetWindow(gfxSurfaceType surfaceType, NPRemoteWindow window);
|
|
|
|
// There is now an opaque background behind this instance (or the
|
|
// background was updated). The changed area is |rect|. The
|
|
// browser owns the background surface, and it's read-only from
|
|
// within the plugin process. |background| is either null_t to
|
|
// refer to the existing background or a fresh descriptor.
|
|
async UpdateBackground(SurfaceDescriptor background, nsIntRect rect);
|
|
|
|
async NPP_DidComposite();
|
|
|
|
intr NPP_Destroy()
|
|
returns (NPError rv);
|
|
|
|
parent:
|
|
intr NPN_GetValue_NPNVWindowNPObject()
|
|
returns (nullable PPluginScriptableObject value, NPError result);
|
|
intr NPN_GetValue_NPNVPluginElementNPObject()
|
|
returns (nullable PPluginScriptableObject value, NPError result);
|
|
intr NPN_GetValue_NPNVprivateModeBool()
|
|
returns (bool value, NPError result);
|
|
intr NPN_GetValue_NPNVnetscapeWindow()
|
|
returns (NativeWindowHandle value, NPError result);
|
|
intr NPN_GetValue_NPNVdocumentOrigin()
|
|
returns (nsCString value, NPError result);
|
|
intr NPN_GetValue_DrawingModelSupport(NPNVariable model)
|
|
returns (bool value);
|
|
|
|
intr NPN_SetValue_NPPVpluginWindow(bool windowed)
|
|
returns (NPError result);
|
|
intr NPN_SetValue_NPPVpluginTransparent(bool transparent)
|
|
returns (NPError result);
|
|
intr NPN_SetValue_NPPVpluginUsesDOMForCursor(bool useDOMForCursor)
|
|
returns (NPError result);
|
|
intr NPN_SetValue_NPPVpluginDrawingModel(int drawingModel)
|
|
returns (NPError result);
|
|
intr NPN_SetValue_NPPVpluginEventModel(int eventModel)
|
|
returns (NPError result);
|
|
|
|
intr NPN_GetURL(nsCString url, nsCString target)
|
|
returns (NPError result);
|
|
intr NPN_PostURL(nsCString url, nsCString target, nsCString buffer, bool file)
|
|
returns (NPError result);
|
|
|
|
/**
|
|
* Covers both NPN_GetURLNotify and NPN_PostURLNotify.
|
|
* @TODO This would be more readable as an overloaded method,
|
|
* but IPDL doesn't allow that for constructors.
|
|
*/
|
|
intr PStreamNotify(nsCString url, nsCString target, bool post,
|
|
nsCString buffer, bool file)
|
|
returns (NPError result);
|
|
|
|
async NPN_InvalidateRect(NPRect rect);
|
|
|
|
// Give |newSurface|, containing this instance's updated pixels, to
|
|
// the browser for compositing. When this method returns, any surface
|
|
// previously passed to Show may be destroyed.
|
|
//
|
|
// @param rect - actually updated rectangle, comparing to prevSurface content
|
|
// could be used for partial render of layer to topLevel context
|
|
// @param newSurface - remotable surface
|
|
// @param prevSurface - if the previous surface was shared-memory, returns
|
|
// the shmem for reuse
|
|
sync Show(NPRect updatedRect, SurfaceDescriptor newSurface)
|
|
returns (SurfaceDescriptor prevSurface);
|
|
|
|
async PPluginSurface(WindowsSharedMemoryHandle handle,
|
|
gfxIntSize size,
|
|
bool transparent);
|
|
|
|
intr NPN_PushPopupsEnabledState(bool aState);
|
|
|
|
intr NPN_PopPopupsEnabledState();
|
|
|
|
intr NPN_GetValueForURL(NPNURLVariable variable, nsCString url)
|
|
returns (nsCString value, NPError result);
|
|
|
|
intr NPN_SetValueForURL(NPNURLVariable variable, nsCString url,
|
|
nsCString value)
|
|
returns (NPError result);
|
|
|
|
intr NPN_GetAuthenticationInfo(nsCString protocol_, nsCString host,
|
|
int32_t port, nsCString scheme,
|
|
nsCString realm)
|
|
returns (nsCString username, nsCString password, NPError result);
|
|
|
|
intr NPN_ConvertPoint(double sourceX, bool ignoreDestX, double sourceY, bool ignoreDestY, NPCoordinateSpace sourceSpace,
|
|
NPCoordinateSpace destSpace)
|
|
returns (double destX, double destY, bool result);
|
|
|
|
async RedrawPlugin();
|
|
|
|
// Send notification that a plugin tried to negotiate Carbon NPAPI so that
|
|
// users can be notified that restarting the browser in i386 mode may allow
|
|
// them to use the plugin.
|
|
sync NegotiatedCarbon();
|
|
|
|
// Notifies the parent of its NPP_New result code.
|
|
async AsyncNPP_NewResult(NPError aResult);
|
|
|
|
// Sends a native window to be adopted by the native window that would be
|
|
// returned by NPN_GetValue_NPNVnetscapeWindow. Only used on Windows.
|
|
async SetNetscapeWindowAsParent(NativeWindowHandle childWindow);
|
|
|
|
both:
|
|
async PPluginScriptableObject();
|
|
|
|
child:
|
|
/* NPP_NewStream */
|
|
async PBrowserStream(nsCString url,
|
|
uint32_t length,
|
|
uint32_t lastmodified,
|
|
nullable PStreamNotify notifyData,
|
|
nsCString headers);
|
|
|
|
// Implements the legacy (synchronous) version of NPP_NewStream for when
|
|
// async plugin init is preffed off.
|
|
intr NPP_NewStream(PBrowserStream actor, nsCString mimeType, bool seekable)
|
|
returns (NPError rv,
|
|
uint16_t stype);
|
|
|
|
// Implements the async plugin init version of NPP_NewStream.
|
|
async AsyncNPP_NewStream(PBrowserStream actor, nsCString mimeType, bool seekable);
|
|
|
|
parent:
|
|
/* NPN_NewStream */
|
|
intr PPluginStream(nsCString mimeType,
|
|
nsCString target)
|
|
returns (NPError result);
|
|
|
|
parent:
|
|
intr PluginFocusChange(bool gotFocus);
|
|
|
|
child:
|
|
intr SetPluginFocus();
|
|
intr UpdateWindow();
|
|
|
|
async PPluginBackgroundDestroyer();
|
|
};
|
|
|
|
} // namespace plugins
|
|
} // namespace mozilla
|