зеркало из https://github.com/mozilla/gecko-dev.git
Bug 713381 - Commit backout. r=backout
This commit is contained in:
Коммит
351ff8bb7e
|
@ -1271,7 +1271,7 @@ InplaceEditor.prototype = {
|
|||
// Replace spaces with non-breaking spaces. Otherwise setting
|
||||
// the span's textContent will collapse spaces and the measurement
|
||||
// will be wrong.
|
||||
this._measurement.textContent = this.input.value.replace(' ', '\u00a0', 'g');
|
||||
this._measurement.textContent = this.input.value.replace(/ /g, '\u00a0');
|
||||
|
||||
// We add a bit of padding to the end. Should be enough to fit
|
||||
// any letter that could be typed, otherwise we'll scroll before
|
||||
|
|
|
@ -29,4 +29,4 @@ fi
|
|||
|
||||
# Note, the version (10) is used by libffi's configure.
|
||||
ac_add_options --target=i386-apple-darwin10
|
||||
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk
|
||||
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.6.sdk
|
||||
|
|
|
@ -42,8 +42,7 @@ mk_add_options MOZ_POSTFLIGHT_ALL+=build/macosx/universal/flight.mk
|
|||
ac_add_app_options i386 --target=i386-apple-darwin10
|
||||
ac_add_app_options x86_64 --target=x86_64-apple-darwin10
|
||||
|
||||
ac_add_app_options i386 --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk
|
||||
ac_add_app_options x86_64 --with-macos-sdk=/Developer/SDKs/MacOSX10.6.sdk
|
||||
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.6.sdk
|
||||
|
||||
. $topsrcdir/build/macosx/common
|
||||
|
||||
|
|
|
@ -566,6 +566,11 @@ if test -n "$CROSS_COMPILE" -a "$target" != "$host"; then
|
|||
AC_DEFINE(CROSS_COMPILE)
|
||||
else
|
||||
AC_PROG_CC
|
||||
case "$target" in
|
||||
*-mingw*)
|
||||
# Work around the conftest.exe access problem on Windows
|
||||
sleep 1
|
||||
esac
|
||||
AC_PROG_CXX
|
||||
AC_PROG_RANLIB
|
||||
MOZ_PATH_PROGS(AS, $AS as, $CC)
|
||||
|
|
|
@ -1551,9 +1551,8 @@ nsGenericHTMLElement::GetPrimaryPresState(nsGenericHTMLElement* aContent,
|
|||
|
||||
nsresult result = NS_OK;
|
||||
|
||||
nsCOMPtr<nsILayoutHistoryState> history;
|
||||
nsCAutoString key;
|
||||
GetLayoutHistoryAndKey(aContent, false, getter_AddRefs(history), key);
|
||||
nsCOMPtr<nsILayoutHistoryState> history = GetLayoutHistoryAndKey(aContent, false, key);
|
||||
|
||||
if (history) {
|
||||
// Get the pres state for this key, if it doesn't exist, create one
|
||||
|
@ -1568,10 +1567,9 @@ nsGenericHTMLElement::GetPrimaryPresState(nsGenericHTMLElement* aContent,
|
|||
}
|
||||
|
||||
|
||||
nsresult
|
||||
already_AddRefed<nsILayoutHistoryState>
|
||||
nsGenericHTMLElement::GetLayoutHistoryAndKey(nsGenericHTMLElement* aContent,
|
||||
bool aRead,
|
||||
nsILayoutHistoryState** aHistory,
|
||||
nsACString& aKey)
|
||||
{
|
||||
//
|
||||
|
@ -1579,20 +1577,19 @@ nsGenericHTMLElement::GetLayoutHistoryAndKey(nsGenericHTMLElement* aContent,
|
|||
//
|
||||
nsCOMPtr<nsIDocument> doc = aContent->GetDocument();
|
||||
if (!doc) {
|
||||
return NS_OK;
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
//
|
||||
// Get the history (don't bother with the key if the history is not there)
|
||||
//
|
||||
*aHistory = doc->GetLayoutHistoryState().get();
|
||||
if (!*aHistory) {
|
||||
return NS_OK;
|
||||
nsCOMPtr<nsILayoutHistoryState> history = doc->GetLayoutHistoryState();
|
||||
if (!history) {
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
if (aRead && !(*aHistory)->HasStates()) {
|
||||
NS_RELEASE(*aHistory);
|
||||
return NS_OK;
|
||||
if (aRead && !history->HasStates()) {
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -1602,31 +1599,27 @@ nsGenericHTMLElement::GetLayoutHistoryAndKey(nsGenericHTMLElement* aContent,
|
|||
nsIStatefulFrame::eNoID,
|
||||
aKey);
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_RELEASE(*aHistory);
|
||||
return rv;
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
// If the state key is blank, this is anonymous content or for
|
||||
// whatever reason we are not supposed to save/restore state.
|
||||
if (aKey.IsEmpty()) {
|
||||
NS_RELEASE(*aHistory);
|
||||
return NS_OK;
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
// Add something unique to content so layout doesn't muck us up
|
||||
aKey += "-C";
|
||||
|
||||
return rv;
|
||||
return history.forget();
|
||||
}
|
||||
|
||||
bool
|
||||
nsGenericHTMLElement::RestoreFormControlState(nsGenericHTMLElement* aContent,
|
||||
nsIFormControl* aControl)
|
||||
{
|
||||
nsCOMPtr<nsILayoutHistoryState> history;
|
||||
nsCAutoString key;
|
||||
GetLayoutHistoryAndKey(aContent, true,
|
||||
getter_AddRefs(history), key);
|
||||
nsCOMPtr<nsILayoutHistoryState> history = GetLayoutHistoryAndKey(aContent, true, key);
|
||||
if (!history) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -471,10 +471,10 @@ public:
|
|||
* @param aState the history state object (out param)
|
||||
* @param aKey the key (out param)
|
||||
*/
|
||||
static nsresult GetLayoutHistoryAndKey(nsGenericHTMLElement* aContent,
|
||||
bool aRead,
|
||||
nsILayoutHistoryState** aState,
|
||||
nsACString& aKey);
|
||||
static already_AddRefed<nsILayoutHistoryState>
|
||||
GetLayoutHistoryAndKey(nsGenericHTMLElement* aContent,
|
||||
bool aRead,
|
||||
nsACString& aKey);
|
||||
/**
|
||||
* Restore the state for a form control. Ends up calling
|
||||
* nsIFormControl::RestoreState().
|
||||
|
@ -869,7 +869,7 @@ public:
|
|||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
virtual bool RestoreState(nsPresState* aState)
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -757,10 +757,10 @@ var WifiManager = (function() {
|
|||
}
|
||||
|
||||
function ipToString(n) {
|
||||
return String((n & (0xff << 24)) >> 24) + "." +
|
||||
((n & (0xff << 16)) >> 16) + "." +
|
||||
((n & (0xff << 8)) >> 8) + "." +
|
||||
((n & (0xff << 0)) >> 0);
|
||||
return String((n >> 0) & 0xFF) + "." +
|
||||
((n >> 8) & 0xFF) + "." +
|
||||
((n >> 16) & 0xFF) + "." +
|
||||
((n >> 24) & 0xFF);
|
||||
}
|
||||
|
||||
manager.enableNetwork = function(netId, disableOthers, callback) {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<span>
|
||||
<script contenteditable="true"></script>
|
||||
<blockquote>
|
||||
<input>
|
||||
<code style="display: table-row;">
|
||||
<html contenteditable="true">
|
||||
</blockquote>
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<script>
|
||||
<![CDATA[
|
||||
|
||||
function boom()
|
||||
{
|
||||
while (document.documentElement.firstChild) {
|
||||
document.documentElement.removeChild(document.documentElement.firstChild);
|
||||
}
|
||||
|
||||
var td = document.createElementNS("http://www.w3.org/1999/xhtml", "td");
|
||||
td.setAttributeNS(null, "contenteditable", "true");
|
||||
(document.documentElement).appendChild(td);
|
||||
var head = document.createElementNS("http://www.w3.org/1999/xhtml", "head");
|
||||
(document.documentElement).appendChild(head);
|
||||
|
||||
head.appendChild(td);
|
||||
}
|
||||
|
||||
window.addEventListener("load", boom, false);
|
||||
|
||||
]]>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body></body>
|
||||
</html>
|
|
@ -8,3 +8,5 @@ load 459613.html
|
|||
load 475132-1.xhtml
|
||||
asserts-if(!Android,1) load 633709.xhtml # Bug 695364
|
||||
asserts-if(!Android,6) load 636074-1.html # Bug 439258, charged to the wrong test due to bug 635550
|
||||
load 713427-1.html
|
||||
load 713427-2.xhtml
|
||||
|
|
|
@ -3605,32 +3605,37 @@ IsElementVisible(dom::Element* aElement)
|
|||
|
||||
nsIContent *cur = aElement;
|
||||
for (; ;) {
|
||||
// Walk up the tree looking for the nearest ancestor with a frame.
|
||||
// The state of the child right below it will determine whether
|
||||
// we might possibly have a frame or not.
|
||||
bool haveLazyBitOnChild = cur->HasFlag(NODE_NEEDS_FRAME);
|
||||
cur = cur->GetFlattenedTreeParent();
|
||||
if (!cur) {
|
||||
// None of our ancestors have lazy bits set, so we shouldn't have a frame
|
||||
return false;
|
||||
if (!haveLazyBitOnChild) {
|
||||
// None of our ancestors have lazy bits set, so we shouldn't
|
||||
// have a frame
|
||||
return false;
|
||||
}
|
||||
|
||||
// The root has a lazy frame construction bit. We need to check
|
||||
// our style.
|
||||
break;
|
||||
}
|
||||
|
||||
if (cur->GetPrimaryFrame()) {
|
||||
// None of our ancestors up to the nearest ancestor with a frame have
|
||||
// lazy bits; that means we won't get a frame
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cur->HasFlag(NODE_NEEDS_FRAME)) {
|
||||
// Double-check that the parent doesn't have a leaf frame
|
||||
nsIContent *parent = cur->GetFlattenedTreeParent();
|
||||
if (parent) {
|
||||
NS_ASSERTION(parent->GetPrimaryFrame(),
|
||||
"Why does our parent not have a frame?");
|
||||
if (parent->GetPrimaryFrame()->IsLeaf()) {
|
||||
// No frame for us
|
||||
return false;
|
||||
}
|
||||
if (!haveLazyBitOnChild) {
|
||||
// Our ancestor directly under |cur| doesn't have lazy bits;
|
||||
// that means we won't get a frame
|
||||
return false;
|
||||
}
|
||||
|
||||
// |cur| will get a frame sometime. What does that mean for us?
|
||||
// |We have to figure that out!
|
||||
if (cur->GetPrimaryFrame()->IsLeaf()) {
|
||||
// Nothing under here will ever get frames
|
||||
return false;
|
||||
}
|
||||
|
||||
// Otherwise, we might end up with a frame when that lazy bit is
|
||||
// processed. Figure out our actual style.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -431,6 +431,36 @@ gfxDWriteFontEntry::CreateFontFace(IDWriteFontFace **aFontFace,
|
|||
HRESULT hr;
|
||||
if (mFont) {
|
||||
hr = mFont->CreateFontFace(aFontFace);
|
||||
if (SUCCEEDED(hr) && (aSimulations & DWRITE_FONT_SIMULATIONS_BOLD) &&
|
||||
!((*aFontFace)->GetSimulations() & DWRITE_FONT_SIMULATIONS_BOLD)) {
|
||||
// need to replace aFontFace with a version that has the Bold
|
||||
// simulation - unfortunately, DWrite doesn't provide a simple API
|
||||
// for this
|
||||
nsRefPtr<IDWriteFontFace> origFace = (*aFontFace);
|
||||
(*aFontFace)->Release();
|
||||
*aFontFace = NULL;
|
||||
UINT32 numberOfFiles = 0;
|
||||
hr = origFace->GetFiles(&numberOfFiles, NULL);
|
||||
if (FAILED(hr)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
nsAutoTArray<IDWriteFontFile*,1> files;
|
||||
files.AppendElements(numberOfFiles);
|
||||
hr = origFace->GetFiles(&numberOfFiles, files.Elements());
|
||||
if (FAILED(hr)) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
hr = gfxWindowsPlatform::GetPlatform()->GetDWriteFactory()->
|
||||
CreateFontFace(origFace->GetType(),
|
||||
numberOfFiles,
|
||||
files.Elements(),
|
||||
origFace->GetIndex(),
|
||||
aSimulations,
|
||||
aFontFace);
|
||||
for (UINT32 i = 0; i < numberOfFiles; ++i) {
|
||||
files[i]->Release();
|
||||
}
|
||||
}
|
||||
} else if (mFontFile) {
|
||||
IDWriteFontFile *fontFile = mFontFile.get();
|
||||
hr = gfxWindowsPlatform::GetPlatform()->GetDWriteFactory()->
|
||||
|
|
|
@ -215,10 +215,8 @@ Execute(JSContext *cx, JSScript *script, JSObject &scopeChain, Value *rval);
|
|||
enum InterpMode
|
||||
{
|
||||
JSINTERP_NORMAL = 0, /* interpreter is running normally */
|
||||
JSINTERP_RECORD = 1, /* interpreter has been started to record/run traces */
|
||||
JSINTERP_PROFILE = 2, /* interpreter should profile a loop */
|
||||
JSINTERP_REJOIN = 3, /* as normal, but the frame has already started */
|
||||
JSINTERP_SKIP_TRAP = 4 /* as REJOIN, but skip trap at first opcode */
|
||||
JSINTERP_REJOIN = 1, /* as normal, but the frame has already started */
|
||||
JSINTERP_SKIP_TRAP = 2 /* as REJOIN, but skip trap at first opcode */
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -50,6 +50,7 @@ skip-if(!(d2d||cocoaWidget)) random-if(d2d) != subpixel-glyphs-x-2a.html subpixe
|
|||
== subpixel-lineheight-1a.html subpixel-lineheight-1b.html
|
||||
== swash-1.html swash-1-ref.html
|
||||
HTTP(..) != synthetic-bold-metrics-01.html synthetic-bold-metrics-01-notref.html
|
||||
== synthetic-bold-papyrus-01.html synthetic-bold-papyrus-01-ref.html
|
||||
# Tests for text-align-last
|
||||
== text-align-last-start.html text-align-last-start-ref.html
|
||||
== text-align-last-end.html text-align-last-end-ref.html
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
margin: 50px;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
#test1 { font-family: Papyrus, serif; }
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p id="test1">Test for Papyrus font <b>within a bold tag</b>.</p>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
margin: 50px;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: test;
|
||||
src: local(Papyrus);
|
||||
}
|
||||
|
||||
#test2 { font-family: test, serif; }
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p id="test2">Test for Papyrus font <b>within a bold tag</b>.</p>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -556,7 +556,8 @@ var BrowserApp = {
|
|||
let ms = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
|
||||
let mimeInfo = ms.getFromTypeAndExtension("application/pdf", "pdf");
|
||||
|
||||
let webBrowserPrint = content.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebBrowserPrint);
|
||||
let webBrowserPrint = aBrowser.contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIWebBrowserPrint);
|
||||
|
||||
let cancelable = {
|
||||
cancel: function (aReason) {
|
||||
|
|
|
@ -648,7 +648,7 @@ let TPS =
|
|||
.createInstance(CI.nsILocalFile);
|
||||
if (hh.oscpu.toLowerCase().indexOf('windows') > -1) {
|
||||
let re = /\/(\w)\/(.*)/;
|
||||
this.config.testdir = this.config.testdir.replace(re, "$1://$2").replace("/", "\\", "g");
|
||||
this.config.testdir = this.config.testdir.replace(re, "$1://$2").replace(/\//g, "\\");
|
||||
}
|
||||
mozmillfile.initWithPath(this.config.testdir);
|
||||
mozmillfile.appendRelativePath(testfile);
|
||||
|
|
|
@ -108,7 +108,7 @@ LightweightThemeConsumer.prototype = {
|
|||
|
||||
function _setImage(aElement, aActive, aURL) {
|
||||
aElement.style.backgroundImage =
|
||||
(aActive && aURL) ? 'url("' + aURL.replace('"', '\\"', "g") + '")' : "";
|
||||
(aActive && aURL) ? 'url("' + aURL.replace(/"/g, '\\"') + '")' : "";
|
||||
}
|
||||
|
||||
function _parseRGB(aColorString) {
|
||||
|
|
|
@ -56,11 +56,11 @@ var expectedResults = {
|
|||
// "pastetofirst" strips leading newlines
|
||||
"pastetofirst": testString.replace(/^\n/, '').split(/\n/)[0],
|
||||
// "replacewithspaces" strips trailing newlines first - bug 432415
|
||||
"replacewithspaces": testString.replace(/\n$/, '').replace('\n',' ','g'),
|
||||
"replacewithspaces": testString.replace(/\n$/, '').replace(/\n/g,' '),
|
||||
// "strip" is pretty straightforward
|
||||
"strip": testString.replace('\n','','g'),
|
||||
"strip": testString.replace(/\n/g,''),
|
||||
// "replacewithcommas" strips leading and trailing newlines first
|
||||
"replacewithcommas": testString.replace(/^\n/, '').replace(/\n$/, '').replace('\n',',','g'),
|
||||
"replacewithcommas": testString.replace(/^\n/, '').replace(/\n$/, '').replace(/\n/g,','),
|
||||
// "stripsurroundingwhitespace" strips all newlines and whitespace around them
|
||||
"stripsurroundingwhitespace": testString.replace(/\s*\n\s*/g,'')
|
||||
};
|
||||
|
|
|
@ -67,7 +67,7 @@ function parseKeyValuePairs(text) {
|
|||
let [key, value] = [lines[i].substring(0, eq),
|
||||
lines[i].substring(eq + 1)];
|
||||
if (key && value)
|
||||
data[key] = value.replace("\\n", "\n", "g").replace("\\\\", "\\", "g");
|
||||
data[key] = value.replace(/\\n/g, "\n").replace(/\\\\/g, "\\");
|
||||
}
|
||||
}
|
||||
return data;
|
||||
|
|
|
@ -148,14 +148,14 @@ function convertHTMLToPlainText(html) {
|
|||
|
||||
var input = Cc["@mozilla.org/supports-string;1"].
|
||||
createInstance(Ci.nsISupportsString);
|
||||
input.data = html.replace("\n", "<br>", "g");
|
||||
input.data = html.replace(/\n/g, "<br>");
|
||||
|
||||
var output = {};
|
||||
converter.convert("text/html", input, input.data.length, "text/unicode",
|
||||
output, {});
|
||||
|
||||
if (output.value instanceof Ci.nsISupportsString)
|
||||
return output.value.data.replace("\r\n", "\n", "g");
|
||||
return output.value.data.replace(/\r\n/g, "\n");
|
||||
return html;
|
||||
}
|
||||
|
||||
|
|
|
@ -828,8 +828,8 @@ function loadManifestFromRDF(aUri, aStream) {
|
|||
let byte_string = [String.fromCharCode(byte) for each (byte in bytes)]
|
||||
.join("");
|
||||
// Base64 encode
|
||||
addon.syncGUID = btoa(byte_string).replace('+', '-', 'g')
|
||||
.replace('/', '_', 'g');
|
||||
addon.syncGUID = btoa(byte_string).replace(/\+/g, '-')
|
||||
.replace(/\//g, '_');
|
||||
|
||||
return addon;
|
||||
}
|
||||
|
|
|
@ -592,7 +592,7 @@ char* mozilla_sampler_get_profile()
|
|||
const char** mozilla_sampler_get_features()
|
||||
{
|
||||
static const char* features[] = {
|
||||
#if defined(MOZ_PROFILING) && defined(USE_BACKTRACE)
|
||||
#if defined(MOZ_PROFILING) && (defined(USE_BACKTRACE) || defined(USE_NS_STACKWALK))
|
||||
"stackwalk",
|
||||
#endif
|
||||
NULL
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "android/log.h"
|
||||
#include "ui/FramebufferNativeWindow.h"
|
||||
|
||||
#include "mozilla/Hal.h"
|
||||
#include "Framebuffer.h"
|
||||
#include "gfxContext.h"
|
||||
#include "gfxUtils.h"
|
||||
|
@ -101,6 +102,11 @@ nsWindow::~nsWindow()
|
|||
void
|
||||
nsWindow::DoDraw(void)
|
||||
{
|
||||
if (!hal::GetScreenEnabled()) {
|
||||
gDrawRequest = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!gWindowToRedraw) {
|
||||
LOG(" no window to draw, bailing");
|
||||
return;
|
||||
|
@ -296,8 +302,7 @@ nsWindow::ConfigureChildren(const nsTArray<nsIWidget::Configuration>&)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Invalidate(const nsIntRect &aRect,
|
||||
bool aIsSynchronous)
|
||||
nsWindow::Invalidate(const nsIntRect &aRect)
|
||||
{
|
||||
nsWindow *parent = mParent;
|
||||
while (parent && parent != sTopWindows[0])
|
||||
|
@ -307,20 +312,8 @@ nsWindow::Invalidate(const nsIntRect &aRect,
|
|||
|
||||
mDirtyRegion.Or(mDirtyRegion, aRect);
|
||||
gWindowToRedraw = this;
|
||||
if (aIsSynchronous) {
|
||||
gDrawRequest = false;
|
||||
DoDraw();
|
||||
} else {
|
||||
gDrawRequest = true;
|
||||
mozilla::NotifyEvent();
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Update()
|
||||
{
|
||||
Invalidate(gScreenBounds, false);
|
||||
gDrawRequest = true;
|
||||
mozilla::NotifyEvent();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -442,7 +435,7 @@ nsWindow::BringToTop()
|
|||
|
||||
nsGUIEvent event(true, NS_ACTIVATE, this);
|
||||
(*mEventCallback)(&event);
|
||||
Update();
|
||||
Invalidate(gScreenBounds);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -98,9 +98,7 @@ public:
|
|||
NS_IMETHOD IsEnabled(bool *aState);
|
||||
NS_IMETHOD SetFocus(bool aRaise = false);
|
||||
NS_IMETHOD ConfigureChildren(const nsTArray<nsIWidget::Configuration>&);
|
||||
NS_IMETHOD Invalidate(const nsIntRect &aRect,
|
||||
bool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
NS_IMETHOD Invalidate(const nsIntRect &aRect);
|
||||
virtual void* GetNativeData(PRUint32 aDataType);
|
||||
NS_IMETHOD SetTitle(const nsAString& aTitle)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче