Commit Graph

225915 Commits

Author SHA1 Message Date
Masayuki Nakano
d972563d7a Bug 917322 part.14 Remove sendCompositionEvent() and createCompositionStringSynthesizer() of nsIDOMWindowUtils and nsICompositionStringSynthesizer r=smaug, sr=smaug 2015-01-28 15:27:32 +09:00
Masayuki Nakano
458541ab50 Bug 917322 part.13 B2G should use nsITextInputProcessor in forms.js r=smaug+xyuan 2015-01-28 15:27:32 +09:00
Masayuki Nakano
8b50f36970 Bug 917322 part.12 EventUtils.js should use nsITextInputProcessor for synthesizing composition r=smaug 2015-01-28 15:27:32 +09:00
Masayuki Nakano
df28389cf4 Bug 917322 part.11 Create nsITextInputProcessor and implement it as mozilla::TextInputProcessor r=smaug, sr=smaug
--HG--
rename : dom/base/CompositionStringSynthesizer.cpp => dom/base/TextInputProcessor.cpp
rename : dom/base/CompositionStringSynthesizer.h => dom/base/TextInputProcessor.h
2015-01-28 15:27:32 +09:00
Masayuki Nakano
9569996b4b Bug 917322 part.10 Remove unnecessary synthesizeComposition(compositionstart) from all tests r=smaug 2015-01-28 15:27:32 +09:00
Masayuki Nakano
cce1cd32da Bug 917322 part.9 TextEventDispatcher::CommitComposition() should return error if caller tries to commit composition non-existing composition with the last data or empty string r=smaug 2015-01-28 15:27:32 +09:00
Masayuki Nakano
61602d9ad0 Bug 917322 part.8 TextEventDispatcher should start composition automatically even if StartComposition() isn't called explicitly r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
3a205a6e4e Bug 917322 part.7 TextEventDispatcher should manage if it has composition r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
903159243b Bug 917322 part.6 Implement TextEventDispatcher::CommitComposition() and nsDOMWindowUtils should use it r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
b62b8f5a42 Bug 917322 part.5 Implement TextEventDispatcher::StartComposition() and nsDOMWindowUtils should use it r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
3ce97bbc6b Bug 917322 part.4 Create utility methods of TextEventDispatcher r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
6394c1dc0a Bug 917322 part.3 Pending composition string data should be cleared immediately before flushing a pending composition string r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
16b59a9345 Bug 917322 part.2 Make CompositionStringSynthesizer just a wrapper of TextEventDispatcher r=smaug 2015-01-28 15:27:31 +09:00
Masayuki Nakano
bc810e710e Bug 917322 part.1 Create mozilla::widget::TextEventDispatcher class r=smaug, sr=smaug
--HG--
rename : dom/base/CompositionStringSynthesizer.cpp => widget/TextEventDispatcher.cpp
rename : dom/base/CompositionStringSynthesizer.h => widget/TextEventDispatcher.h
2015-01-28 15:27:30 +09:00
Benoit Girard
ce118bc3bc Bug 1121871 - Properly compute the invalid region when painting using the tiling fast path. r=nical 2015-01-27 16:24:11 -05:00
Aaron Klotz
7306fb2bf2 Bug 1122602: Correctly handle submission of empty chrome hang objects; r=vladan
--HG--
extra : rebase_source : 622f0165d3bb6d7b07d48ba5ae2486975948d718
2015-01-27 13:59:49 -07:00
Nicholas Nethercote
7acda68310 Bug 1124973 (part 7) - Remove PL_DHashTableLookup. r=froydnj.
This patch:

- Removes PL_DHashTableLookup().

- Removes PL_DHASH_ENTRY_IS_BUSY(). It's barely used and
  PL_DHASH_ENTRY_IS_FREE() suffices.

- Removes a non-useful, non-sequitur comment ("However, use...").

--HG--
extra : rebase_source : 8ee03b52f78e726515902d59af633f9ad015affa
2015-01-26 16:02:05 -08:00
Nicholas Nethercote
8f8e17a611 Bug 1124973 (part 6) - Delete some incorrect comments about PL_DHashTableLookup. r=froydnj.
The comments about PL_DHashTableLookup in nsContentList.cpp aren't quite
correct -- Add() can OOM even if the looked-for key is already in the table.
More generally, they don't seem worth correcting, so I just removed them.

--HG--
extra : rebase_source : c2509f39876471a7948cb3a50dd041702fbc903f
2015-01-26 15:13:56 -08:00
Nicholas Nethercote
cf9236371a Bug 1124973 (part 5) - Use PL_DHashTableSearch() in gfxFT2FontList.cpp. r=froydnj,jkew.
Because PL_DHashTableLookup() never returns null, GetInfoForFile() features not
one but *two* can-never-fail null checks on its result.

Having said that, the code as written works, at least for non-zero-sized files,
because |entry->mFileSize| will always be zero if the lookup fails (thanks to
PLDHashTable always being zeroed at construction, and |mMap| using
PL_DHashClearEntryStub which also zeroes).

But for zero-sized files the current code will act like they don't exist. Maybe
this can't happen in practice, but it seems dangerous and so I've changed it so
the new code will treat zero-sized files just like non-zero-sized files.

--HG--
extra : rebase_source : c617862c23babb1726480faff771a8dfe586bfa1
2015-01-26 14:25:13 -08:00
Nicholas Nethercote
7107663e7b Bug 1124973 (part 4) - Remove erroneous uses of PL_DHASH_ENTRY_IS_{BUSY,FREE} in nsJSNPRuntime.cpp. r=froydnj.
The BUSY check is merely useless, because BUSY is always true for a non-null
entry returned by PL_DHashTableAdd.

The FREE check is downright dangerous because it dereferences |entry| and
PL_DHashTableAdd() returns nullptr on OOM. A null check makes more sense here.

--HG--
extra : rebase_source : bbafb351b9a700724004916801fd9ef9415fb031
2015-01-26 14:05:06 -08:00
Nicholas Nethercote
bfd5398e4f Bug 1124973 (part 3) - Use PL_DHashTableSearch() in nsHostResolver.cpp. r=froydnj,sworkman.
Currently nsHostResolver.cpp uses PL_DHashTableLookup() and fails to use
PL_DHASH_ENTRY_IS_{FREE,BUSY} on the result the way it should. However, I think
it gets away with this because it always does this on the result:

  if (!he || !he->rec) { /* do stuff with |he->rec| */ }

The |!he| test is useless and always fails, but the |!he->rec| does the right
thing because (a) entry storage is always zeroed when the table is created, (b)
HostDB_ClearEntry() zeroes the |rec| field (via NS_RELEASE). So unused entries
always have a null |rec| field.

Furthermore, |he->rec| is never zero in a used entry because HostDB_InitEntry
always assigns it with a nsHostRecord assigned with infallible new in
nsHostRecord::Create (and there are existing assertions to this effect).

All this means that when this patch switches PL_DHashTableLookup to
PL_DHashTableSearch it can drop the |!he->rec| test and just do this:

  if (!he) { /* do stuff with |he->rec| */ }

Finally, there's a comment about HostDB_InitEntry failing which is bogus
because HostDB_InitEntry cannot fail. This patch fixes that too.

--HG--
extra : rebase_source : ded6f8ff404cb160d89bbe7deeb3b863249bdb94
2015-01-22 21:25:44 -08:00
Nicholas Nethercote
70b1eacc9e Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.

For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.

I'll do the trickier ones in subsequent patches.

--HG--
extra : rebase_source : ab37a7a30be563861ded8631771181aacf054fd4
2015-01-22 21:06:55 -08:00
Nicholas Nethercote
8f48f04d55 Bug 1124973 (part 1) - Always use inheritance rather than composition for PLDHashTable entries. r=froydnj.
Because (a) this is how it's usually done, (b) it allows static_cast<> instead
of reinterpret_cast<>, and (c) it will make subsequent patches easier.

--HG--
extra : rebase_source : 76e67d4b6ec0e5dc898a8214b6a6b562f9e08380
2015-01-22 21:05:52 -08:00
Ehsan Akhgari
05c25dce64 Bug 1108547 - Part 3: Automated tests; r=jdm 2015-01-27 23:17:38 -05:00
Ehsan Akhgari
4617e361da Bug 1108547 - Part 2: Create a dummy channel for accessing the document's cookie when we don't have one already; r=jdm
This ensures that the cookie service can know which cookie database
to query from.  This is a gross hack, please see the discussion on
the bug as to why we did this.
2015-01-27 23:17:35 -05:00
Ehsan Akhgari
540ba83a99 Bug 1108547 - Part 1: Inherit the correct private browsing status on new windows created for targeted navigations; r=jdm 2015-01-27 23:17:33 -05:00
Ehsan Akhgari
87b3431373 Bug 989012 - Part 2: Don't get stuck when seeing an image without a src or alt attribute; r=roc
We do not want to traverse inside native anonymous elements, but we
should still be able to skip over generated content, to avoid getting
stuck on such images.
2015-01-27 23:11:29 -05:00
Ehsan Akhgari
8746c1322e Bug 989012 - Part 1: Stop after passing over a non-selectable frame if one is found during the frame traversal; r=roc
The caret movement code already handles unselectable text frames if we
happen to land in the middle of one in nsTextFrame::PeekOffsetCharacter/Word.
However, when performing frame traversal to find the next frame to jump
to, we don't remember if we skipped over an unselectable frame, which causes
us to jump one offset too much when the caret is on the boundary of
selectable and unselectable content.  The test cases demonstrate the
scenario.  Note that an <img alt=foo> is implemented by adding a
generated content to the inline frame representing it, so as far as
the caret movement code is concerned, both test cases are treated similarly.

Note that we need to do this only when moving the selection, and not
when extending it.  We are adding an aExtend argument to
nsPeekOffsetStruct's constructor in order to be able to special case
that.
2015-01-27 23:11:26 -05:00
Tooru Fujisawa
63d91ed309 Bug 1069416 - Part 8: Remove JS_HAS_SYMBOLS from Promise-backend.js. r=paolo 2015-01-28 13:06:38 +09:00
Tooru Fujisawa
1a673bc891 Bug 1069416 - Part 7: Remove JS_HAS_SYMBOLS from dom. r=smaug 2015-01-28 13:06:38 +09:00
Tooru Fujisawa
624130c6e6 Bug 1069416 - Part 6: Remove JS_HAS_SYMBOLS from devtools. r=fitzgen 2015-01-28 13:06:38 +09:00
Tooru Fujisawa
354ec4c525 Bug 1069416 - Part 5: Remove JS_HAS_SYMBOLS from CustomizableUI.jsm. r=Unfocused 2015-01-28 13:06:37 +09:00
Tooru Fujisawa
2a9cb981a7 Bug 1069416 - Part 4: Remove JS_HAS_SYMBOLS support from make_opcode_doc.py. r=Waldo 2015-01-28 13:06:37 +09:00
Tooru Fujisawa
65903b957a Bug 1069416 - Part 3: Remove std_iterator from js tests. r=evilpie 2015-01-28 13:06:37 +09:00
Tooru Fujisawa
c6ae19c92b Bug 1069416 - Part 2: Remove JS_HAS_SYMBOLS from js tests. r=evilpie,mrbkap 2015-01-28 13:06:37 +09:00
Tooru Fujisawa
316d0c25be Bug 1069416 - Part 1: Remove JS_HAS_SYMBOLS. r=evilpie 2015-01-28 13:06:37 +09:00
Cameron McCormack
9f61e758bd Bug 621351 - Test that border widths and colors set by logical border shorthands can be transitioned. r=dbaron 2015-01-28 14:41:31 +11:00
David Parks
f726fe6ce3 Bug 1075670 - Update window position in TabParent when window widget is moved. r=smaug
TabParents now register for the MozUpdateWindowPos event on the chrome
TopWindowRoot.  When the window is moved, the OS widget calls WindowMoved on
its listener (the nsWebShellWindow), which sends a MozUpdateWindowPos
event.
2015-01-26 11:45:54 -08:00
David Parks
b9369a9f65 Bug 1075670 - Make PuppetWidget::WidgetToScreenOffset report proper screen coords. r=josh
PuppetWidget::WidgetToScreenOffset now reports proper widget screen location.  Previously, in the content process, all widgets were defined to be located at the screen origin.  This also repairs mac e10s OOP plugin coordinate calculations that would be broken by this change.
2015-01-26 15:17:58 -08:00
Alfredo Yang
a3976a949a Bug 980622 - Free media element node to release decoder. r=cajbir 2015-01-27 02:27:00 -05:00
Eric Faust
8997972444 Bug 1072760. r=jorendorff 2015-01-27 22:36:01 -05:00
Ryan VanderMeulen
fc7e02c5d8 Backed out changeset fad4fd21ab1d (bug 1123452) for Windows w-p-t failures and Linux mochitest orange.
CLOSED TREE
2015-01-27 22:00:41 -05:00
Ryan VanderMeulen
0243a841b8 Backed out changeset 525b62ea9132 (bug 1125472) 2015-01-27 22:00:17 -05:00
Ryan VanderMeulen
11761727b0 Backed out 4 changesets (bug 1123535)
Backed out changeset b4eb1cc07186 (bug 1123535)
Backed out changeset dab05b7115f6 (bug 1123535)
Backed out changeset c2efa0319f04 (bug 1123535)
Backed out changeset 29304c69eff6 (bug 1123535)
2015-01-27 22:00:11 -05:00
Ryan VanderMeulen
6b143430fb Backed out changeset 1c324316ea7a (bug 1124847) for Win7 crashes.
CLOSED TREE
2015-01-27 21:59:52 -05:00
Gijs Kruitbosch
60cc51fd47 Bug 1125372 - use nsISupports as first param of asyncResolve instead of switching wholesale from nsIURI to nsIChannel, for improved add-on compat, r=mcmanus 2015-01-27 21:30:49 +00:00
David Major
8dcd64ba41 No bug - delete dead class member that nobody reads or writes. rs=heycam
--HG--
extra : rebase_source : 6cd3ace54664e0ef006e01eeac7647463e77ae97
2015-01-23 14:44:47 +13:00
Wes Kocher
50351b0c8d Backed out changeset 774ff21aecb3 (bug 1120128) for build bustage 2015-01-27 17:48:43 -08:00
Jeff Gilbert
95c94079c9 Bug 1125445 - Only do backbuffer workaround if against backbuffer. - r=kamidphish 2015-01-26 18:27:24 -08:00
Seth Fowler
fe165433d0 Bug 1126146 - Disable the single-color optimization in reftests. r=tn 2015-01-27 17:43:21 -08:00