Commit Graph

257 Commits

Author SHA1 Message Date
Nicholas Nethercote
d71abcd056 Bug 1174625 - Overhaul PLDHashTable's iterator. r=froydnj.
This change splits PLDHashTable::Iterator::NextEntry() into two separate
functions, which allow you to get the current element and advance the iterator
separately, which means you can use a for-loop to iterate instead of a
while-loop.

As part of this change, the internals of PLDHashTable::Iterator were
significantly changed and simplified (and modelled after js::HashTable's
equivalent code). It's no longer duplicating code from PL_DHashTableEnumerator.
The chaos mode code was a casualty of this, but given how unreliable that code
has proven to be (see bug 1173212, bug 1174046) this is for the best. (We can
reimplement chaos mode once PLDHashTable::Iterator is back on more solid
footing again, if we think it's important.)

All these changes will make it much easier to add an alternative Iterator that
removes elements, which was turning out to be difficult with the prior code.

In order to make the for-loop header usually fit on a single line, I
deliberately renamed a bunch of things to have shorter names.

In summary, you used to write this:

  PLDHashTable::Iterator iter(&table);
  while (iter.HasMoreEntries()) {
    auto entry = static_cast<FooEntry*>(iter.NextEntry());
    // ... do stuff with |entry| ...
  }
  // iter's scope extends beyond here

and now you write this:

  for (auto iter = table.Iter(); !iter.Done(); iter.Next()) {
    auto entry = static_cast<FooEntry*>(iter.Get());
    // ... do stuff with |entry| ...
  }
  // iter's scope doesn't reach here
2015-06-11 21:19:53 -07:00
Olli Pettay
b24de60bb0 Bug 1173215, don't set mChromeXHRDocURI when dealing with non-XHR documents, r=bz 2015-06-13 02:34:52 +03:00
Xidorn Quan
705f38acef Bug 1168028 part 2 - Revert DOM fullscreen state after window finish resizing if we need to. r=smaug,dao 2015-06-12 13:24:45 +12:00
Wes Kocher
6277cda150 Backed out changeset d73a15153b3b (bug 1168028) for browser_domFullscreen_fullscreenMode.js failures CLOSED TREE 2015-06-10 16:03:44 -07:00
Xidorn Quan
181ade2d17 Bug 1168028 - Revert DOM fullscreen state after window finish resizing if we need to. r=smaug,dao 2015-06-11 09:45:06 +12:00
Nicholas Nethercote
7dc0353147 Bug 1171832 - Remove PL_DHashTableEnumerator use from nsDocument. r=smaug. 2015-06-08 16:07:46 -07:00
Xidorn Quan
bcb81d180c Bug 1161802 part 7 - Put document into fullscreen state after window becomes fullscreen. r=smaug,dao 2015-06-10 23:13:12 +12:00
Xidorn Quan
bcef35e199 Bug 1161802 part 6 - Extract FullscreenRoots::{Add,Remove} to call site of ShowWindowFullscreen. r=smaug 2015-06-10 23:13:12 +12:00
Xidorn Quan
e92cc348e7 Bug 1161802 part 5 - Make applying fullscreen state an independent method. r=smaug 2015-06-10 23:13:12 +12:00
Xidorn Quan
db5fa26fde Bug 1161802 part 4 - Move bool parameters info FullScreenOptions for clearer call sites. r=smaug 2015-06-10 23:13:12 +12:00
Xidorn Quan
e69ab6ccec Bug 1161802 part 3 - Make fullscren element ready check an independent method. r=smaug 2015-06-10 23:13:12 +12:00
Xidorn Quan
c0c6c4338d Bug 1166960 - Remove redundant call to UnlockPointer and unnecessary check before calling that function. r=smaug 2015-06-10 13:14:57 +12:00
Nathan Froyd
247cd78d02 Bug 1171061 - use std::bitset for deprecation and document warnings in nsDocument; r=smaug 2015-06-02 16:01:37 -04:00
Eric Rahm
900b3ebc4d Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Eric Rahm
ab32c89747 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-03 15:22:28 -07:00
Nicholas Nethercote
920bcd7199 Bug 1170416 (part 5) - Remove PLDHashTable::IsInitialized(). r=froydnj.
|mOps| is always non-null now, and there's no longer any distinction between
and uninitialized and initialized table. Yay.
2015-05-20 21:23:55 -07:00
Nicholas Nethercote
4500bfa831 Bug 1170416 (part 3) - Remove the PLDHashTable2 typedef. r=froydnj. 2015-05-19 16:46:17 -07:00
Xidorn Quan
9efa9ef548 Bug 1170328 - Mark nsIDocument::WarnOnceAbout() with const. r=smaug 2015-06-03 11:27:27 +12:00
Carsten "Tomcat" Book
89becff57d Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)
2015-06-02 13:05:56 +02:00
Eric Rahm
f5003d5120 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Eric Rahm
d6adc10d95 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 22:17:19 -07:00
Wes Kocher
2a7ed059f1 Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
0baf91e33f Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Eric Rahm
2ab4a31673 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 14:31:00 -07:00
Botond Ballo
9b937db0b8 Bug 1166382 - Use the adjusted full zoom in nsDocument::GetViewportInfo(). r=tn 2015-05-29 14:28:05 -04:00
Ben Kelly
942f2f81ec Bug 1157619 P1 Network requests should not be intercepted when force-refreshed. r=smaug 2015-06-01 10:53:18 -04:00
Franziskus Kiefer
cc22ddddd1 Bug 1165501 - using most recent referrer policy found in the document. r=sstamm 2015-05-27 13:29:00 -07:00
Xidorn Quan
5c49ac8351 Bug 1167607 - Alter behavior of AsyncEventDispatcher for dispatching chrome only event on chrome node. r=smaug
This patch renames DispatchChromeOnly flag to OnlyChromeDispatch. With
this patch, if OnlyChromeDispatch flag is set, and the target is already
a chrome node, the dispatch path will start from the target. Previously,
even if the target is a chrome node, the dispatch path starts from the
parent target of the owner window of the current node.
2015-05-26 10:04:38 +12:00
David Major
c96edf50f2 Bug 1167189: Add an infallible version of nsContentUtils::GetNodeTextContent. r=jst 2015-05-22 14:16:20 -04:00
Patrick McManus
2ffafe6be3 bug 1150136 - rel=preconnect from html parser r=hsivonen 2015-05-05 20:55:18 -04:00
Eric Rahm
5b59cf4e0b Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Nicholas Nethercote
2b8fc58114 Bug 1166586 (part 1) - Remove all uses of PL_NewDHashTable() and PL_DHashTableDestroy(). r=froydnj.
They're not needed now that there is (temporarily) PLDHashTable2, which has an
initializing constructor and a destructor.
2015-05-04 22:59:24 -07:00
Xidorn Quan
a7fb4a4e23 Bug 1053413 part 6 - Remove fullscreen-related observer notification sending from nsDocument. r=smaug 2015-05-21 09:52:26 +12:00
Xidorn Quan
e427d85823 Bug 1053413 part 3 - Remove fullscreen-origin-change notification, and make browser element rely on the fullscreen events. r=smaug 2015-05-21 09:52:26 +12:00
Xidorn Quan
62c32d4600 Bug 1053413 part 2 - Separate a MozDOMFullscreen:NewOrigin event from MozDOMFullscreen:Entered. r=dao,smaug
Change of fullscreen origin is now notified by the new specific event,
MozDOMFullscreen:NewOrigin. The event MozDOMFullscreen:Entered is only
triggered when the window first enter fullscreen by DOM fullscreen. It
is now only used to notify the parent to hide its chrome.
2015-05-21 09:52:26 +12:00
Xidorn Quan
7f7a3b2b44 Bug 1053413 part 1.1 - Rename Moz{Entered,Exited}DomFullscreen to MozDOMFullscreen:{Entered,Exited}. r=smaug 2015-05-21 09:52:26 +12:00
Eric Rahm
ddc8ac650b Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Nicholas Nethercote
594f872fe6 Back out all four patches from bug 1161377. r=me.
Due to Android startup regressions (bug 1163066) and plugin crashes (bug
1165155).
2015-05-14 21:48:43 -07:00
Xidorn Quan
3f8dcdda35 Bug 1157685 - Remove full-screen-api.content-only pref and its friends. r=smaug 2015-05-15 14:39:25 +12:00
Eric Rahm
0696cf49cf Bug 1163201 - Part 2: Wrap expensive calls in PR_LOG_TEST. r=froydnj 2015-05-14 10:13:23 -07:00
Eric Rahm
06d4f75aa8 Bug 1163201 - Part 1: Remove instances of #ifdef PR_LOGGING in dom/. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-14 10:13:23 -07:00
Ms2ger
c0b3063cf6 Bug 1017758 - Use infallible getters for appId/isInBrowserElement/unknownAppId; r=bz 2015-05-13 17:59:08 +02:00
Josh Matthews
f89eb2321e Bug 1135812 - Make picture element react to viewport changes. r=dbaron,johns 2015-05-11 18:07:49 -04:00
Nicholas Nethercote
3f255e8589 Bug 1161377 (part 2) - Remove PL_NewDHashTable() and PL_DHashTableDestroy(). r=froydnj.
They're not needed now that there is an initializing constructor and a
destructor.
2015-05-04 22:59:24 -07:00
Andrea Marchesini
c21e1cf196 Bug 1156875 - patch 1 - URL.createObjectURL leaks in JS sandbox, r=bholley 2015-05-07 08:05:43 +01:00
Birunthan Mohanathas
130efc2ae3 Bug 819090 - Convert nsDocument::mIdContentList to nsTArray. r=froydnj 2015-05-06 10:57:37 -07:00
Xidorn Quan
a821accd86 Bug 947854 part 2 - Avoid exiting fullscreen mode when exit from DOM fullscreen. r=smaug,dao 2015-05-06 10:04:31 +12:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Seth Fowler
5920f314ee Bug 1158557 - Don't throttle rAF for documents with live static clones. r=smaug 2015-05-01 12:37:27 -07:00
Nicholas Nethercote
2525cf8a39 Bug 1159972 - Remove the fallible version of PL_DHashTableInit(). r=froydnj.
It's no longer needed now that entry storage isn't allocated there. (The other
possible causes of failures in that function are less interesting and simply
crashing is a reasonable thing to do for them.)

This also makes PL_DNewHashTable() infallible, so I removed some
now-unnecessary checks of its result.
2015-04-29 16:38:29 -07:00