Merge m-c to m-i.

This commit is contained in:
Ms2ger 2012-10-21 10:36:35 +02:00
commit 191bb9812c
11 changed files with 196 additions and 45 deletions

View File

@ -190,12 +190,6 @@ Accessible::~Accessible()
{
}
void
Accessible::SetRoleMapEntry(nsRoleMapEntry* aRoleMapEntry)
{
mRoleMapEntry = aRoleMapEntry;
}
void
Accessible::Init()
{

View File

@ -311,7 +311,8 @@ public:
* @param aRoleMapEntry The ARIA nsRoleMapEntry* for the accessible, or
* nullptr if none.
*/
virtual void SetRoleMapEntry(nsRoleMapEntry* aRoleMapEntry);
void SetRoleMapEntry(nsRoleMapEntry* aRoleMapEntry)
{ mRoleMapEntry = aRoleMapEntry; }
/**
* Update the children cache.

View File

@ -243,29 +243,6 @@ DocAccessible::NativeRole()
return roles::PANE; // Fall back;
}
// Accessible public method
void
DocAccessible::SetRoleMapEntry(nsRoleMapEntry* aRoleMapEntry)
{
NS_ASSERTION(mDocument, "No document during initialization!");
if (!mDocument)
return;
mRoleMapEntry = aRoleMapEntry;
nsIDocument *parentDoc = mDocument->GetParentDocument();
if (!parentDoc)
return; // No parent document for the root document
// Allow use of ARIA role from outer to override
nsIContent *ownerContent = parentDoc->FindContentForSubDocument(mDocument);
if (ownerContent) {
nsRoleMapEntry* roleMapEntry = aria::GetRoleMap(ownerContent);
if (roleMapEntry)
mRoleMapEntry = roleMapEntry; // Override
}
}
void
DocAccessible::Description(nsString& aDescription)
{

View File

@ -95,8 +95,6 @@ public:
virtual void ApplyARIAState(uint64_t* aState) const;
virtual already_AddRefed<nsIPersistentProperties> Attributes();
virtual void SetRoleMapEntry(nsRoleMapEntry* aRoleMapEntry);
#ifdef A11Y_LOG
virtual nsresult HandleAccEvent(AccEvent* aEvent);
#endif

View File

@ -1898,7 +1898,9 @@ HyperTextAccessible::ScrollSubstringToPoint(int32_t aStartIndex,
rv = HypertextOffsetsToDOMRange(aStartIndex, aEndIndex, range);
NS_ENSURE_SUCCESS(rv, rv);
nsPresContext *presContext = frame->PresContext();
nsPresContext* presContext = frame->PresContext();
nsPoint coordsInAppUnits =
coords.ToAppUnits(presContext->AppUnitsPerDevPixel());
bool initialScrolled = false;
nsIFrame *parentFrame = frame;
@ -1908,12 +1910,9 @@ HyperTextAccessible::ScrollSubstringToPoint(int32_t aStartIndex,
if (!initialScrolled) {
// Scroll substring to the given point. Turn the point into percents
// relative scrollable area to use nsCoreUtils::ScrollSubstringTo.
nsIntRect frameRect = parentFrame->GetScreenRectExternal();
int32_t devOffsetX = coords.x - frameRect.x;
int32_t devOffsetY = coords.y - frameRect.y;
nsPoint offsetPoint(presContext->DevPixelsToAppUnits(devOffsetX),
presContext->DevPixelsToAppUnits(devOffsetY));
nsRect frameRect = parentFrame->GetScreenRectInAppUnits();
nscoord offsetPointX = coordsInAppUnits.x - frameRect.x;
nscoord offsetPointY = coordsInAppUnits.y - frameRect.y;
nsSize size(parentFrame->GetSize());
@ -1921,8 +1920,8 @@ HyperTextAccessible::ScrollSubstringToPoint(int32_t aStartIndex,
size.width = size.width ? size.width : 1;
size.height = size.height ? size.height : 1;
int16_t hPercent = offsetPoint.x * 100 / size.width;
int16_t vPercent = offsetPoint.y * 100 / size.height;
int16_t hPercent = offsetPointX * 100 / size.width;
int16_t vPercent = offsetPointY * 100 / size.height;
rv = nsCoreUtils::ScrollSubstringTo(frame, range, vPercent, hPercent);
NS_ENSURE_SUCCESS(rv, rv);

View File

@ -131,6 +131,24 @@ function testBounds(aID, aRect)
is(height, expectedHeight, "Wrong height of " + prettyName(aID));
}
/**
* Test text position at the given offset.
*/
function testTextPos(aID, aOffset, aPoint, aCoordOrigin)
{
var [expectedX, expectedY] = aPoint;
var xObj = {}, yObj = {};
var hyperText = getAccessible(aID, [nsIAccessibleText]);
hyperText.getCharacterExtents(aOffset, xObj, yObj, {}, {}, aCoordOrigin);
is(xObj.value, expectedX,
"Wrong x coordinate at offset " + aOffset + " for " + prettyName(aID));
ok(yObj.value - expectedY < 2 && expectedY - yObj.value < 2,
"Wrong y coordinate at offset " + aOffset + " for " + prettyName(aID) +
" - got " + yObj.value + ", expected " + expectedY +
"The difference doesn't exceed 1.");
}
/**
* Test text bounds that is enclosed betwene the given offsets.
*/

View File

@ -12,6 +12,7 @@ relativesrcdir = accessible/scroll
include $(DEPTH)/config/autoconf.mk
MOCHITEST_A11Y_FILES =\
test_zoom_text.html \
test_zoom.html \
$(NULL)

View File

@ -0,0 +1,158 @@
<!DOCTYPE html>
<html>
<head>
<title>Test scrollSubstringToPoint when page is zoomed</title>
<link rel="stylesheet" type="text/css"
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../layout.js"></script>
<script type="application/javascript"
src="../browser.js"></script>
<script type="application/javascript">
function doTest()
{
var tabDocument = currentTabDocument();
var paragraphNode = tabDocument.getElementById("paragraph");
var paragraph = getAccessible(paragraphNode, [nsIAccessibleText]);
var offset = 64; // beginning of 4th stanza
var [x, y] = getPos(paragraph);
var [docX, docY] = getPos(tabDocument);
paragraph.scrollSubstringToPoint(offset, offset,
COORDTYPE_SCREEN_RELATIVE, docX, docY);
testTextPos(paragraph, offset, [x, docY], COORDTYPE_SCREEN_RELATIVE);
zoomDocument(tabDocument, 2.0);
paragraphNode = tabDocument.getElementById("paragraph2");
paragraph = getAccessible(paragraphNode, [nsIAccessibleText]);
offset = 52; // // beginning of 4th stanza
var [x, y] = getPos(paragraph);
paragraph.scrollSubstringToPoint(offset, offset,
COORDTYPE_SCREEN_RELATIVE, docX, docY);
testTextPos(paragraph, offset, [x, docY], COORDTYPE_SCREEN_RELATIVE);
closeBrowserWindow();
SimpleTest.finish();
}
var url = "data:text/html,<html>" +
"<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />" +
"<body>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br><hr>" +
"<p id='paragraph'>" +
" Пошел котик на торжок<br>" +
" Купил котик пирожок<br>" +
" Пошел котик на улочку<br>" +
" Купил котик булочку<br>" +
"</p>" +
"<hr><br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br><hr>" +
"<p id='paragraph2'>" +
" Самому ли съесть<br>" +
" Либо Сашеньке снесть<br>" +
" Я и сам укушу<br>" +
" Я и Сашеньке снесу<br>" +
"</p>" +
"<hr><br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"<br><br><br><br><br><br><br><br><br><br>" +
"</body></html>";
SimpleTest.waitForExplicitFinish();
openBrowserWindow(doTest,
url,
{ left: 0, top: 0, width: 600, height: 600 });
</script>
</head>
<body>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=727942"
title="scrollSubstringToPoint is broken when page is zoomed">
Mozilla Bug 727942
</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
</body>
</html>

View File

@ -3,7 +3,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/.
llvm_revision = "164411"
llvm_revision = "166095"
moz_version = "moz0"
##############################################

View File

@ -28,7 +28,7 @@ void
nsWindowMemoryReporter::Init()
{
// The memory reporter manager will own this object.
nsWindowMemoryReporter *windowReporter = new nsWindowMemoryReporter();
nsRefPtr<nsWindowMemoryReporter> windowReporter = new nsWindowMemoryReporter();
NS_RegisterMemoryMultiReporter(windowReporter);
nsCOMPtr<nsIObserverService> os = services::GetObserverService();
@ -41,11 +41,11 @@ nsWindowMemoryReporter::Init()
/* weakRef = */ true);
}
GhostURLsReporter *ghostMultiReporter =
nsRefPtr<GhostURLsReporter> ghostMultiReporter =
new GhostURLsReporter(windowReporter);
NS_RegisterMemoryMultiReporter(ghostMultiReporter);
NumGhostsReporter *ghostReporter =
nsRefPtr<NumGhostsReporter> ghostReporter =
new NumGhostsReporter(windowReporter);
NS_RegisterMemoryReporter(ghostReporter);
}

View File

@ -123,6 +123,7 @@ function PeerConnection() {
this._pc = null;
this._observer = null;
this._closed = false;
this._onCreateOfferSuccess = null;
this._onCreateOfferFailure = null;
@ -203,6 +204,9 @@ PeerConnection.prototype = {
* call _executeNext, false if it doesn't have a callback.
*/
_queueOrRun: function(obj) {
if (this._closed) {
return;
}
if (!this._pending) {
obj.func.apply(this, obj.args);
if (obj.wait) {
@ -420,6 +424,7 @@ PeerConnection.prototype = {
args: [],
wait: false
});
this._closed = true;
},
get localStreams() {