mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Revert this CLOSED TREE to changeset 4d3e221584a0.
This commit is contained in:
parent
6f8e4fc6e1
commit
944d17423c
@ -190,7 +190,6 @@ destroying the MediaDecoder object.
|
||||
#include "gfxRect.h"
|
||||
#include "MediaResource.h"
|
||||
#include "mozilla/ReentrantMonitor.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "MediaStreamGraph.h"
|
||||
#include "MediaDecoderOwner.h"
|
||||
#include "AudioChannelCommon.h"
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "nsIInterfaceRequestor.h"
|
||||
#include "MediaCache.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
// For HTTP seeking, if number of bytes needing to be
|
||||
// seeked forward is less than this value then a read is
|
||||
|
@ -4,6 +4,7 @@
|
||||
* 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 "mozilla/Preferences.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/dom/TimeRanges.h"
|
||||
#include "MediaResource.h"
|
||||
#include "mozilla/dom/HTMLMediaElement.h"
|
||||
|
@ -8,8 +8,8 @@
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsIScriptSecurityManager.h"
|
||||
#include "prtime.h"
|
||||
#include "TimeStamp.h"
|
||||
#include "nsIURI.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
nsDOMNavigationTiming::nsDOMNavigationTiming()
|
||||
{
|
||||
|
@ -4,6 +4,7 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "nsPerformance.h"
|
||||
#include "TimeStamp.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsITimedChannel.h"
|
||||
#include "nsDOMNavigationTiming.h"
|
||||
@ -12,7 +13,6 @@
|
||||
#include "mozilla/dom/PerformanceBinding.h"
|
||||
#include "mozilla/dom/PerformanceTimingBinding.h"
|
||||
#include "mozilla/dom/PerformanceNavigationBinding.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
|
@ -17,10 +17,12 @@
|
||||
#include "nsICharsetConverterManager.h"
|
||||
#include "nsPluginLogging.h"
|
||||
#include "nsNPAPIPlugin.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include <cctype>
|
||||
|
||||
using namespace mozilla;
|
||||
using mozilla::TimeStamp;
|
||||
|
||||
// These legacy flags are used in the plugin registry. The states are now
|
||||
// stored in prefs, but we still need to be able to import them.
|
||||
|
@ -14,6 +14,7 @@ include protocol PLayer;
|
||||
include protocol PRenderFrame;
|
||||
|
||||
include "mozilla/WidgetUtils.h";
|
||||
include "mozilla/TimeStamp.h";
|
||||
include "mozilla/dom/ScreenOrientation.h";
|
||||
include "nsCSSProperty.h";
|
||||
include "gfxipc/ShadowLayerUtils.h";
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
|
||||
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE, MOZ_FINAL
|
||||
#include "mozilla/RefPtr.h" // for TemporaryRef, RefPtr
|
||||
#include "mozilla/TimeStamp.h" // for TimeStamp
|
||||
#include "mozilla/gfx/BaseSize.h" // for BaseSize
|
||||
#include "mozilla/gfx/Point.h" // for IntSize, Point
|
||||
#include "mozilla/gfx/Rect.h" // for Rect, IntRect
|
||||
@ -41,8 +42,6 @@ class nsIWidget;
|
||||
struct gfxMatrix;
|
||||
|
||||
namespace mozilla {
|
||||
class TimeStamp;
|
||||
|
||||
namespace gfx {
|
||||
class Matrix4x4;
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
#define mozilla_imagelib_FrameBlender_h_
|
||||
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "gfxASurface.h"
|
||||
#include "imgFrame.h"
|
||||
#include "FrameSequence.h"
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "nsIStreamListener.h"
|
||||
#include "nsIRequest.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/WeakPtr.h"
|
||||
|
||||
class imgDecoderObserver;
|
||||
|
@ -0,0 +1,36 @@
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait">
|
||||
<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=879682 -->
|
||||
<script>
|
||||
|
||||
var NS_SVG = 'http://www.w3.org/2000/svg';
|
||||
|
||||
function run_test() {
|
||||
var gNode = document.createElementNS(NS_SVG, "g");
|
||||
gNode.setAttribute('filter', 'url(#filter)');
|
||||
|
||||
var rect = document.createElementNS(NS_SVG, 'rect');
|
||||
rect.setAttribute('width', '100');
|
||||
rect.setAttribute('height', '100');
|
||||
rect.setAttribute('fill', 'white');
|
||||
gNode.appendChild(rect);
|
||||
|
||||
document.documentElement.appendChild(gNode);
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
|
||||
document.addEventListener("MozReftestInvalidate", run_test);
|
||||
setTimeout(run_test, 4000); // fallback for running outside reftest
|
||||
|
||||
</script>
|
||||
<filter id="filter" x="20" y="20" width="100" height="100"
|
||||
filterUnits="userSpaceOnUse"
|
||||
primitiveUnits="userSpaceOnUse">
|
||||
<feFlood flood-color="lime"/>
|
||||
</filter>
|
||||
<rect width="100%" height="100%" fill="lime"/>
|
||||
<rect x="20" y="20" width="100" height="100" fill="red"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,22 @@
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait" onload="run_test();">
|
||||
<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=769942 -->
|
||||
<script>
|
||||
|
||||
function run_test() {
|
||||
document.documentElement.getBoundingClientRect();
|
||||
document.getElementById("setFilterOnThis").setAttribute('filter', 'url(#filter)');
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
|
||||
</script>
|
||||
<filter id="filter" x="20%" y="20%" width="100%" height="100%">
|
||||
<feFlood flood-color="lime"/>
|
||||
</filter>
|
||||
<rect width="100%" height="100%" fill="lime"/>
|
||||
<rect x="20" y="20" width="100" height="100" fill="red"/>
|
||||
<rect width="100" height="100" fill="white" id="setFilterOnThis"/>
|
||||
</svg>
|
After Width: | Height: | Size: 805 B |
@ -3,6 +3,8 @@
|
||||
# the automatic optimal surface-size computation a bit more).
|
||||
|
||||
skip-if(B2G) == dynamic-filtered-foreignObject-01.svg pass.svg # bug 773482
|
||||
== dynamic-filter-invalidation-01.svg pass.svg
|
||||
== dynamic-filter-invalidation-02.svg pass.svg
|
||||
|
||||
== feBlend-1.svg feBlend-1-ref.svg
|
||||
== feBlend-2.svg feBlend-2-ref.svg
|
||||
|
@ -1154,6 +1154,7 @@ nsChangeHint nsStyleSVGReset::CalcDifference(const nsStyleSVGReset& aOther) cons
|
||||
!EqualURIs(mMask, aOther.mMask) ||
|
||||
mFilters != aOther.mFilters) {
|
||||
NS_UpdateHint(hint, nsChangeHint_UpdateEffects);
|
||||
NS_UpdateHint(hint, nsChangeHint_UpdateOverflow); // for filters only
|
||||
NS_UpdateHint(hint, nsChangeHint_RepaintFrame);
|
||||
}
|
||||
|
||||
|
@ -2346,7 +2346,8 @@ struct nsStyleSVGReset {
|
||||
|
||||
nsChangeHint CalcDifference(const nsStyleSVGReset& aOther) const;
|
||||
static nsChangeHint MaxDifference() {
|
||||
return NS_CombineHint(nsChangeHint_UpdateEffects, NS_STYLE_HINT_REFLOW);
|
||||
return NS_CombineHint(nsChangeHint_UpdateEffects,
|
||||
NS_CombineHint(nsChangeHint_UpdateOverflow, NS_STYLE_HINT_REFLOW));
|
||||
}
|
||||
|
||||
// The backend only supports one SVG reference right now.
|
||||
|
@ -313,6 +313,8 @@ nsSVGDisplayContainerFrame::ReflowSVG()
|
||||
// need to remove it _after_ recursing over our children so that they know
|
||||
// the initial reflow is currently underway.
|
||||
|
||||
bool isFirstReflow = (mState & NS_FRAME_FIRST_REFLOW);
|
||||
|
||||
bool outerSVGHasHadFirstReflow =
|
||||
(GetParent()->GetStateBits() & NS_FRAME_FIRST_REFLOW) == 0;
|
||||
|
||||
@ -363,7 +365,7 @@ nsSVGDisplayContainerFrame::ReflowSVG()
|
||||
mRect.IsEqualEdges(nsRect()),
|
||||
"Only inner-<svg>/<use> is expected to have mRect set");
|
||||
|
||||
if (mState & NS_FRAME_FIRST_REFLOW) {
|
||||
if (isFirstReflow) {
|
||||
// Make sure we have our filter property (if any) before calling
|
||||
// FinishAndStoreOverflow (subsequent filter changes are handled off
|
||||
// nsChangeHint_UpdateEffects):
|
||||
|
@ -177,6 +177,8 @@ nsSVGSwitchFrame::ReflowSVG()
|
||||
// need to remove it _after_ recursing over our children so that they know
|
||||
// the initial reflow is currently underway.
|
||||
|
||||
bool isFirstReflow = (mState & NS_FRAME_FIRST_REFLOW);
|
||||
|
||||
bool outerSVGHasHadFirstReflow =
|
||||
(GetParent()->GetStateBits() & NS_FRAME_FIRST_REFLOW) == 0;
|
||||
|
||||
@ -201,7 +203,7 @@ nsSVGSwitchFrame::ReflowSVG()
|
||||
}
|
||||
}
|
||||
|
||||
if (mState & NS_FRAME_FIRST_REFLOW) {
|
||||
if (isFirstReflow) {
|
||||
// Make sure we have our filter property (if any) before calling
|
||||
// FinishAndStoreOverflow (subsequent filter changes are handled off
|
||||
// nsChangeHint_UpdateEffects):
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "nsProxyRelease.h"
|
||||
#include "prinrval.h"
|
||||
#include "ASpdySession.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
#include "nsIStreamListener.h"
|
||||
#include "nsISocketTransport.h"
|
||||
|
@ -37,8 +37,8 @@
|
||||
#include "nsNetUtil.h"
|
||||
#include "mozilla/Atomics.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "TimeStamp.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
#include "plbase64.h"
|
||||
#include "prmem.h"
|
||||
|
@ -7,8 +7,6 @@
|
||||
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
|
||||
|
||||
Cu.import("resource://gre/modules/PageThumbs.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
const backgroundPageThumbsContent = {
|
||||
|
||||
@ -28,14 +26,9 @@ const backgroundPageThumbsContent = {
|
||||
|
||||
docShell.allowMedia = false;
|
||||
docShell.allowPlugins = false;
|
||||
docShell.allowContentRetargeting = false;
|
||||
|
||||
addMessageListener("BackgroundPageThumbs:capture",
|
||||
this._onCapture.bind(this));
|
||||
docShell.
|
||||
QueryInterface(Ci.nsIInterfaceRequestor).
|
||||
getInterface(Ci.nsIWebProgress).
|
||||
addProgressListener(this, Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
|
||||
},
|
||||
|
||||
get _webNav() {
|
||||
@ -43,64 +36,52 @@ const backgroundPageThumbsContent = {
|
||||
},
|
||||
|
||||
_onCapture: function (msg) {
|
||||
this._webNav.loadURI(msg.json.url,
|
||||
Ci.nsIWebNavigation.LOAD_FLAGS_STOP_CONTENT,
|
||||
this._webNav.stop(Ci.nsIWebNavigation.STOP_NETWORK);
|
||||
if (this._onLoad)
|
||||
removeEventListener("load", this._onLoad, true);
|
||||
|
||||
this._onLoad = function onLoad(event) {
|
||||
if (event.target != content.document)
|
||||
return;
|
||||
let pageLoadTime = new Date() - loadDate;
|
||||
removeEventListener("load", this._onLoad, true);
|
||||
delete this._onLoad;
|
||||
|
||||
let canvas = PageThumbs._createCanvas(content);
|
||||
let captureDate = new Date();
|
||||
PageThumbs._captureToCanvas(content, canvas);
|
||||
let captureTime = new Date() - captureDate;
|
||||
|
||||
let channel = docShell.currentDocumentChannel;
|
||||
let isErrorResponse = PageThumbs._isChannelErrorResponse(channel);
|
||||
let finalURL = this._webNav.currentURI.spec;
|
||||
let fileReader = Cc["@mozilla.org/files/filereader;1"].
|
||||
createInstance(Ci.nsIDOMFileReader);
|
||||
fileReader.onloadend = function onArrayBufferLoad() {
|
||||
sendAsyncMessage("BackgroundPageThumbs:didCapture", {
|
||||
id: msg.json.id,
|
||||
imageData: fileReader.result,
|
||||
finalURL: finalURL,
|
||||
telemetry: {
|
||||
CAPTURE_PAGE_LOAD_TIME_MS: pageLoadTime,
|
||||
CAPTURE_CANVAS_DRAW_TIME_MS: captureTime,
|
||||
},
|
||||
wasErrorResponse: isErrorResponse,
|
||||
});
|
||||
};
|
||||
canvas.toBlob(blob => fileReader.readAsArrayBuffer(blob));
|
||||
|
||||
// Load about:blank to cause the captured window to be collected...
|
||||
// eventually.
|
||||
this._webNav.loadURI("about:blank", Ci.nsIWebNavigation.LOAD_FLAGS_NONE,
|
||||
null, null, null);
|
||||
}.bind(this);
|
||||
|
||||
addEventListener("load", this._onLoad, true);
|
||||
this._webNav.loadURI(msg.json.url, Ci.nsIWebNavigation.LOAD_FLAGS_NONE,
|
||||
null, null, null);
|
||||
// If a page was already loading, onStateChange is synchronously called at
|
||||
// this point by loadURI.
|
||||
this._requestID = msg.json.id;
|
||||
this._requestDate = new Date();
|
||||
let loadDate = new Date();
|
||||
},
|
||||
|
||||
onStateChange: function (webProgress, req, flags, status) {
|
||||
if (!webProgress.isTopLevel ||
|
||||
!(flags & Ci.nsIWebProgressListener.STATE_STOP) ||
|
||||
req.name == "about:blank")
|
||||
return;
|
||||
|
||||
let requestID = this._requestID;
|
||||
let pageLoadTime = new Date() - this._requestDate;
|
||||
delete this._requestID;
|
||||
|
||||
let canvas = PageThumbs._createCanvas(content);
|
||||
let captureDate = new Date();
|
||||
PageThumbs._captureToCanvas(content, canvas);
|
||||
let captureTime = new Date() - captureDate;
|
||||
|
||||
let channel = docShell.currentDocumentChannel;
|
||||
let isErrorResponse = PageThumbs._isChannelErrorResponse(channel);
|
||||
let finalURL = this._webNav.currentURI.spec;
|
||||
let fileReader = Cc["@mozilla.org/files/filereader;1"].
|
||||
createInstance(Ci.nsIDOMFileReader);
|
||||
fileReader.onloadend = () => {
|
||||
sendAsyncMessage("BackgroundPageThumbs:didCapture", {
|
||||
id: requestID,
|
||||
imageData: fileReader.result,
|
||||
finalURL: finalURL,
|
||||
wasErrorResponse: isErrorResponse,
|
||||
telemetry: {
|
||||
CAPTURE_PAGE_LOAD_TIME_MS: pageLoadTime,
|
||||
CAPTURE_CANVAS_DRAW_TIME_MS: captureTime,
|
||||
},
|
||||
});
|
||||
};
|
||||
canvas.toBlob(blob => fileReader.readAsArrayBuffer(blob));
|
||||
|
||||
// If no other pages are loading, load about:blank to cause the captured
|
||||
// window to be collected... eventually. Calling loadURI at this point
|
||||
// trips an assertion in nsLoadGroup::Cancel, so do it on another stack.
|
||||
Services.tm.mainThread.dispatch(() => {
|
||||
if (!("_requestID" in this))
|
||||
this._webNav.loadURI("about:blank",
|
||||
Ci.nsIWebNavigation.LOAD_FLAGS_STOP_CONTENT,
|
||||
null, null, null);
|
||||
}, Ci.nsIEventTarget.DISPATCH_NORMAL);
|
||||
},
|
||||
|
||||
QueryInterface: XPCOMUtils.generateQI([
|
||||
Ci.nsIWebProgressListener,
|
||||
Ci.nsISupportsWeakReference,
|
||||
]),
|
||||
};
|
||||
|
||||
backgroundPageThumbsContent.init();
|
||||
|
@ -54,7 +54,7 @@ let tests = [
|
||||
let files = urls.map(fileForURL);
|
||||
files.forEach(f => ok(!f.exists(), "Thumbnail should not be cached yet."));
|
||||
urls.forEach(function (url) {
|
||||
let isTimeoutTest = url.indexOf("wait") >= 0;
|
||||
let isTimeoutTest = url.indexOf("?wait") >= 0;
|
||||
imports.BackgroundPageThumbs.capture(url, {
|
||||
timeout: isTimeoutTest ? 100 : 30000,
|
||||
onDone: function onDone(capturedURL) {
|
||||
|
@ -50,10 +50,7 @@
|
||||
#define SAMPLER_H
|
||||
|
||||
#include "mozilla/NullPtr.h"
|
||||
|
||||
namespace mozilla {
|
||||
class TimeStamp;
|
||||
}
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
#ifndef MOZ_ENABLE_PROFILER_SPS
|
||||
|
||||
|
@ -8,11 +8,7 @@
|
||||
|
||||
#include "mozilla/NullPtr.h"
|
||||
#include <stdint.h>
|
||||
|
||||
namespace mozilla {
|
||||
class TimeDuration;
|
||||
class TimeStamp;
|
||||
}
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
using mozilla::TimeStamp;
|
||||
using mozilla::TimeDuration;
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <algorithm>
|
||||
#include "mozilla/ThreadLocal.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/Util.h"
|
||||
#include "nsAlgorithm.h"
|
||||
#include "nscore.h"
|
||||
@ -36,10 +37,6 @@ struct PseudoStack;
|
||||
class TableTicker;
|
||||
class JSCustomObject;
|
||||
|
||||
namespace mozilla {
|
||||
class TimeStamp;
|
||||
}
|
||||
|
||||
extern mozilla::ThreadLocal<PseudoStack *> tlsPseudoStack;
|
||||
extern mozilla::ThreadLocal<TableTicker *> tlsTicker;
|
||||
extern bool stack_key_initialized;
|
||||
|
@ -397,7 +397,6 @@ static nsDefaultMimeTypeEntry defaultMimeEntries [] =
|
||||
{ TEXT_CSS, "css" },
|
||||
{ IMAGE_JPEG, "jpeg" },
|
||||
{ IMAGE_JPEG, "jpg" },
|
||||
{ IMAGE_SVG_XML, "svg" },
|
||||
{ TEXT_HTML, "html" },
|
||||
{ TEXT_HTML, "htm" },
|
||||
{ APPLICATION_XPINSTALL, "xpi" },
|
||||
@ -481,7 +480,7 @@ static nsExtraMimeTypeEntry extraMimeEntries [] =
|
||||
{ IMAGE_PNG, "png", "PNG Image" },
|
||||
{ IMAGE_TIFF, "tiff,tif", "TIFF Image" },
|
||||
{ IMAGE_XBM, "xbm", "XBM Image" },
|
||||
{ IMAGE_SVG_XML, "svg", "Scalable Vector Graphics" },
|
||||
{ "image/svg+xml", "svg", "Scalable Vector Graphics" },
|
||||
{ MESSAGE_RFC822, "eml", "RFC-822 data" },
|
||||
{ TEXT_PLAIN, "txt,text", "Text File" },
|
||||
{ TEXT_HTML, "html,htm,shtml,ehtml", "HyperText Markup Language" },
|
||||
|
@ -6,6 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "nsGUIEvent.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "MetroWidget.h"
|
||||
#include "gfxWindowsPlatform.h"
|
||||
#include "gfxD2DSurface.h"
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "nsBaseAppShell.h"
|
||||
#include <windows.h>
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "nsWindowsHelpers.h"
|
||||
#include "nsIObserver.h"
|
||||
|
||||
|
@ -54,6 +54,7 @@
|
||||
#include "nsInterfaceHashtable.h"
|
||||
#include "nsClassHashtable.h"
|
||||
#include "nsRefPtrHashtable.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
// interfaces that inherit directly from nsISupports
|
||||
|
||||
|
@ -18,10 +18,7 @@
|
||||
#include "mozilla/Atomics.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/Monitor.h"
|
||||
|
||||
namespace mozilla {
|
||||
class TimeStamp;
|
||||
}
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
class TimerThread MOZ_FINAL : public nsIRunnable,
|
||||
public nsIObserver
|
||||
|
Loading…
Reference in New Issue
Block a user