Add support for 8.1 view size preference when launching the metro browser

RESOLVED INCOMPLETE

Status

RESOLVED INCOMPLETE
5 years ago
a year ago

People

(Reporter: jimm, Unassigned)

Tracking

Trunk
x86_64
Windows 8.1

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [feature] p=0, URL)

(Reporter)

Description

5 years ago
We should add support for this setting in our ceh when we launch the metro browser.

Note we can also control 3rd party apps through a similar interface. I'm not sure if that's something we'd be interested in doing when we launch content handlers.

--

"Both the source app and target app in an app activation sequence may (optionally) specify preferences that help determine how the two apps are arranged on screen. When the browser is the source (meaning the browser wants to activate another app), set the source size preference interface on the site chain before calling Activation Manager to launch an app. When the browser is the target (meaning the browser is being launched by another app), set the target view size preference interface on the site chain before calling activation manager to activate the browser app. The browser can do this because the activation sequence first goes through the browser’s IExecuteCommand handler."

// Implemented by browser (source app), which uses
// CLSID_ApplicationActivationManager to launch a Window Store app
// (target app). The object that implements ILaunchSourceViewSizePreference
// must be set on the site chain of CLSID_ApplicationActivationManager before
// any method on IApplicationActivationManager is called. The size preference
// information is used by Windows in placing the source app window after
// the target app is shown on screen.

interface ILaunchSourceViewSizePreference : IUnknown
{
    HRESULT GetSourceViewToPosition([out] HWND *hwnd);
    HRESULT GetSourceViewSizePreference([out] APPLICATION_VIEW_SIZE_PREFERENCE *sourceSizeAfterLaunch);
}

// This enum exactly matches the WinRT enum Windows.UI.ViewManagement.ViewSizePreference.
typedef [v1_enum] enum APPLICATION_VIEW_SIZE_PREFERENCE
{
    AVSP_DEFAULT     = 0,
    AVSP_USE_LESS    = 1,
    AVSP_USE_HALF    = 2,
    AVSP_USE_MORE    = 3,
    AVSP_USE_MINIMUM = 4,
    AVSP_USE_NONE    = 5,
} APPLICATION_VIEW_SIZE_PREFERENCE;

// Implemented by a browser and set on the site chain of
// CLSID_ApplicationActivationManager when the browser's IExecuteCommand
// handler receives the invocation and is about to call
// IApplicationActivationManager to launch itself. Windows 
// uses the size preference information to decide how the browser window
// should be shown after it’s launched.

interface ILaunchTargetViewSizePreference : IUnknown
{
    HRESULT GetTargetViewSizePreference([out] APPLICATION_VIEW_SIZE_PREFERENCE *targetSizeOnLaunch);
}

Updated

5 years ago
Blocks: 861680
Whiteboard: [feature] p=0
Mass close of bugs in obsolete product https://bugzilla.mozilla.org/show_bug.cgi?id=1350354
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.