Commit Graph

3754 Commits

Author SHA1 Message Date
Tom Tung
7dd219f393 Bug 1416629: Add a telemetry to get how many precentage of synthesized cors response for same-origin mode request. r=bkelly, data-r=francois
--HG--
extra : rebase_source : af6c7186f7b4c08fd94f5613d8bfe67666903c6e
2017-11-16 09:45:39 +08:00
Nika Layzell
f1ac9bf744 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Andrea Marchesini
1fd1731f81 Bug 1419382 - Moving ownership of nsIInputStream when using netUtil functions - part 3 - NS_NewInputStreamPump, r=smaug 2017-11-22 11:18:57 +01:00
Tom Tung
9988d0b61e Bug 1415388 - P3: Fix the issues on try. r=bkelly
Basically, this patch does three things as following:
1. Limit the scope of service worker to the controlling document so that it
won't influence other tests.
2. Ensure to catch the channel to controlling document if it's an internal
redirect. We should get two channel with the response.URL(The first one for the
service worker and the second one for the controlling document). Distingulish
them by the order.
3. Ensure to get the controller change event after posting the "claim" message
to the service worker.

--HG--
extra : rebase_source : fb2395fb6dce59ae0fd49b0b915aca52c78206e0
2017-11-17 17:16:05 +08:00
Tom Tung
85f0ee018d Bug 1415388 - P2: Add a test to verify pass timing data correctlly after an internal redirect. r=bkelly
--HG--
extra : rebase_source : 1aa1a35954a7246ce240922e56819a8b5bb45da5
2017-11-14 15:12:33 +08:00
Tom Tung
58a1ed2f13 Bug 1415388 - P1: Move the test_devtools_serviceworker_interception to a browser test. r=bkelly
--HG--
extra : rebase_source : 4645db6b0211020574a3228774bf578bad40ace6
2017-11-09 09:24:20 +08:00
Ben Kelly
9af975dbfd Bug 1419536 P4 Allow ClientSource objects to be frozen while in bfcache. r=baku 2017-11-21 15:13:05 -05:00
Ben Kelly
c223495e4f Bug 1419536 P2 Create a ClientSource for the WorkerPrivate and mark it execution ready after the script loads. r=baku 2017-11-21 15:13:04 -05:00
Jan de Mooij
7f30bf48a7 Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
Andrea Marchesini
155b15b8e0 Bug 1414755 - Get rid of ContentPrincipalInfoOriginNoSuffix, r=bz, r=bkelly
This patch uses MozURL in ServiceWorkerRegistrar and in DBScheme to obtain the
origin of a URL. This is safe because the URL is always http/https/ftp.

It also changes the serialization of Principal in nsJSPrincipals in order to
pass the originNoSuffix together with the OriginAttributes and the spec.
2017-11-15 11:19:26 +01:00
Andrea Marchesini
73712f7d05 Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
cae6951635 Bug 1405290 - Improve logging of workers when shutting down - part 2 - Implement RuntimeService::CrashIfHanging(), r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
2ec09fb927 Bug 1405290 - Improve logging of workers when shutting down - part 1 - WorkerHolder must assert in release, r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
b06af90b93 Bug 1416174 - part 1 - OSFileConstants must be a singleton, r=smaug 2017-11-10 19:27:03 +01:00
Geoff Brown
cbb956e0c3 Bug 1407679 - Merge nsIIOService and nsIIOService2; r=nwgh 2017-11-10 07:03:36 -07:00
Andrea Marchesini
3794888bc4 Bug 1416151 - Moving websocket code and tests in dom/websocket, r=qdot
--HG--
rename : dom/base/WebSocket.cpp => dom/websocket/WebSocket.cpp
rename : dom/base/WebSocket.h => dom/websocket/WebSocket.h
rename : dom/base/test/file_bug1384658.html => dom/websocket/tests/file_bug1384658.html
rename : dom/base/test/file_websocket_basic_wsh.py => dom/websocket/tests/file_websocket_basic_wsh.py
rename : dom/base/test/file_websocket_bigBlob_wsh.py => dom/websocket/tests/file_websocket_bigBlob_wsh.py
rename : dom/base/test/file_websocket_hello_wsh.py => dom/websocket/tests/file_websocket_hello_wsh.py
rename : dom/base/test/file_websocket_http_resource.txt => dom/websocket/tests/file_websocket_http_resource.txt
rename : dom/base/test/file_websocket_permessage_deflate_disabled_wsh.py => dom/websocket/tests/file_websocket_permessage_deflate_disabled_wsh.py
rename : dom/base/test/file_websocket_permessage_deflate_params_wsh.py => dom/websocket/tests/file_websocket_permessage_deflate_params_wsh.py
rename : dom/base/test/file_websocket_permessage_deflate_rejected_wsh.py => dom/websocket/tests/file_websocket_permessage_deflate_rejected_wsh.py
rename : dom/base/test/file_websocket_permessage_deflate_wsh.py => dom/websocket/tests/file_websocket_permessage_deflate_wsh.py
rename : dom/base/test/file_websocket_wsh.py => dom/websocket/tests/file_websocket_wsh.py
rename : dom/base/test/frame_bug1384658.html => dom/websocket/tests/frame_bug1384658.html
rename : dom/base/test/iframe_webSocket_sandbox.html => dom/websocket/tests/iframe_webSocket_sandbox.html
rename : dom/base/test/test_bug1081686.html => dom/websocket/tests/test_bug1081686.html
rename : dom/base/test/test_bug1384658.html => dom/websocket/tests/test_bug1384658.html
rename : dom/base/test/test_webSocket_sandbox.html => dom/websocket/tests/test_webSocket_sandbox.html
rename : dom/workers/test/test_webSocket_sharedWorker.html => dom/websocket/tests/test_webSocket_sharedWorker.html
rename : dom/base/test/test_websocket1.html => dom/websocket/tests/test_websocket1.html
rename : dom/base/test/test_websocket2.html => dom/websocket/tests/test_websocket2.html
rename : dom/base/test/test_websocket3.html => dom/websocket/tests/test_websocket3.html
rename : dom/base/test/test_websocket4.html => dom/websocket/tests/test_websocket4.html
rename : dom/base/test/test_websocket5.html => dom/websocket/tests/test_websocket5.html
rename : dom/base/test/test_websocket_basic.html => dom/websocket/tests/test_websocket_basic.html
rename : dom/base/test/test_websocket_bigBlob.html => dom/websocket/tests/test_websocket_bigBlob.html
rename : dom/base/test/test_websocket_frame.html => dom/websocket/tests/test_websocket_frame.html
rename : dom/base/test/test_websocket_hello.html => dom/websocket/tests/test_websocket_hello.html
rename : dom/base/test/test_websocket_permessage_deflate.html => dom/websocket/tests/test_websocket_permessage_deflate.html
rename : dom/workers/test/test_websocket1.html => dom/websocket/tests/test_worker_websocket1.html
rename : dom/workers/test/test_websocket2.html => dom/websocket/tests/test_worker_websocket2.html
rename : dom/workers/test/test_websocket3.html => dom/websocket/tests/test_worker_websocket3.html
rename : dom/workers/test/test_websocket4.html => dom/websocket/tests/test_worker_websocket4.html
rename : dom/workers/test/test_websocket5.html => dom/websocket/tests/test_worker_websocket5.html
rename : dom/workers/test/test_websocket_basic.html => dom/websocket/tests/test_worker_websocket_basic.html
rename : dom/workers/test/test_websocket_https.html => dom/websocket/tests/test_worker_websocket_https.html
rename : dom/workers/test/test_websocket_loadgroup.html => dom/websocket/tests/test_worker_websocket_loadgroup.html
rename : dom/workers/test/webSocket_sharedWorker.js => dom/websocket/tests/webSocket_sharedWorker.js
rename : dom/workers/test/websocket_basic_worker.js => dom/websocket/tests/websocket_basic_worker.js
rename : dom/base/test/websocket_helpers.js => dom/websocket/tests/websocket_helpers.js
rename : dom/workers/test/websocket_https_worker.js => dom/websocket/tests/websocket_https_worker.js
rename : dom/base/test/websocket_hybi/file_binary-frames_wsh.py => dom/websocket/tests/websocket_hybi/file_binary-frames_wsh.py
rename : dom/base/test/websocket_hybi/file_check-binary-messages_wsh.py => dom/websocket/tests/websocket_hybi/file_check-binary-messages_wsh.py
rename : dom/base/test/websocket_hybi/mochitest.ini => dom/websocket/tests/websocket_hybi/mochitest.ini
rename : dom/base/test/websocket_hybi/test_receive-arraybuffer.html => dom/websocket/tests/websocket_hybi/test_receive-arraybuffer.html
rename : dom/base/test/websocket_hybi/test_receive-blob.html => dom/websocket/tests/websocket_hybi/test_receive-blob.html
rename : dom/base/test/websocket_hybi/test_send-arraybuffer.html => dom/websocket/tests/websocket_hybi/test_send-arraybuffer.html
rename : dom/base/test/websocket_hybi/test_send-blob.html => dom/websocket/tests/websocket_hybi/test_send-blob.html
rename : dom/workers/test/websocket_loadgroup_worker.js => dom/websocket/tests/websocket_loadgroup_worker.js
rename : dom/base/test/websocket_tests.js => dom/websocket/tests/websocket_tests.js
rename : dom/workers/test/websocket_worker1.js => dom/websocket/tests/websocket_worker1.js
rename : dom/workers/test/websocket_worker2.js => dom/websocket/tests/websocket_worker2.js
rename : dom/workers/test/websocket_worker3.js => dom/websocket/tests/websocket_worker3.js
rename : dom/workers/test/websocket_worker4.js => dom/websocket/tests/websocket_worker4.js
rename : dom/workers/test/websocket_worker5.js => dom/websocket/tests/websocket_worker5.js
rename : dom/workers/test/websocket_https.html => dom/websocket/tests/websocket_worker_https.html
rename : dom/base/test/window_bug1384658.html => dom/websocket/tests/window_bug1384658.html
2017-11-10 12:00:33 +01:00
Nika Layzell
ff8b5bd178 Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug
These were originally exposed directly as static methods on nsGlobalWindow, but
as they are clearly associated with either the inner or outer window, it makes
more sense for them to be called as such.

MozReview-Commit-ID: LFq8EfnhDlo
2017-11-09 10:44:47 -05:00
Nika Layzell
3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Jan de Mooij
2681f26832 Bug 1413867 - Remove StopIteration object. r=evilpie 2017-11-05 19:01:04 +01:00
Bevis Tseng
f1fc4f0776 Bug 1413466 - Fire events after iterating ServiceWorkerManager::mControlledDocuments is done. r=bkelly
It's possible to modify mControlledDocuments from oncontrollerchange handler.
We should fire events after iteration to prevent updating this hashtable while reading it.
2017-11-01 15:18:23 +08:00
Ben Kelly
55385cd906 Bug 1413604 P2 Make WorkerHolderToken use an nsTObserverArray to allow for mutation during iteration. r=asuth 2017-11-01 16:20:14 -04:00
Ben Kelly
e606f865f0 Bug 1413604 Add a ref-counted WorkerHolderToken() class. r=baku 2017-11-01 13:19:37 -04:00
Eden Chuang
b729512944 Bug 1413056 - Use utils.js in test_bug1408734.html for waitForState and waitForControlled. r=bkelly 2017-10-31 10:34:22 +08:00
Sebastian Hengst
6979ea37b4 merge mozilla-central to autoland. r=merge a=merge 2017-10-30 23:58:16 +01:00
Ben Kelly
6a16081c69 Bug 1412858 P3 Use the ServiceWorkerDescriptor in existing WorkerPrivate and ServiceWorkerInfo code. r=baku 2017-10-30 13:35:07 -04:00
Ben Kelly
44cd66dc94 Bug 1412858 P2 Add a ServiceWorkerDescriptor type to represent a thread-safe snapshot of a ServiceWorkerInfo. r=baku 2017-10-30 13:35:07 -04:00
Ben Kelly
757be4f470 Bug 1412858 P1 Expose a "parsed" ServiceWorkerState value. r=baku 2017-10-30 13:35:07 -04:00
Ben Kelly
8a04f60def Bug 1412015 P3 Check ResetInterception result and CancelInterception if a failure occurs. r=asuth 2017-10-30 10:30:01 -04:00
Kris Maglione
6e74abe6ee Bug 1403348: Add debugging assertions for more AsyncStartup failure modes. r=baku
Since we don't currently know where or how loading the service is failing, we
need logging in two places:

1) In ServiceWorkerRegistrar, which will tell us about any JS errors that
occur in the factory constructor.

2) In the XPConnect module loader, which will tell us about any JS errors
which happen while loading the top-level module script.

If the load fails due to a non-JS error, we'll simply get a nsresult failure
code, which well be less informative, but will still tell us something about
the failure mode.

MozReview-Commit-ID: 1CsDegJfiho

--HG--
extra : rebase_source : c998e0393d3cb8aca008da47dfce985d0c3affb6
2017-10-29 18:17:34 -07:00
Andrea Marchesini
9f542cae15 Bug 1412293 - Get rid of GetWorkerCrossThreadDispatcher, r=qdot 2017-10-27 22:14:02 +02:00
Eden Chuang
4780056a6a Bug 1408734 - Return InvalidStateError when accessing ServiceWorkerRegistration::updateViaCache after unregister. r=bkelly
This patch implements followings
1. Adding extended attribute [Throws] on ServiceWorkerRegistration
   ::updateViaCacheattribute.
2. Instead of calling MOZ_ASSERT, returning InvalidStateError when fail to
   get the registration in ServiceWorkerRegistration::GetUpdateViaCache().
3. Adding a new mochitest test_bug1408734.html to reproduce the bug
   introduced by accessing ServiceWorkerRegistration::updateViaCache after
   unregister() finishes.

--HG--
extra : rebase_source : 49fba33bf28bcb74601b87f79ce91787e435939d
2017-10-26 22:55:19 +08:00
Ben Kelly
602ab7b457 Bug 1411746 Make tests that wait for controller change also wait for SW activation before claim(). r=tt 2017-10-27 10:48:26 -04:00
Andrew McCreight
298aa82710 Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot
This was automatically generated by the script modeline.py.

MozReview-Commit-ID: BgulzkGteAL

--HG--
extra : rebase_source : a4b9d16a4c06c4e85d7d85f485221b1e4ebdfede
2017-10-26 15:08:41 -07:00
Sebastian Hengst
485da1eec8 Backed out changeset c2c746884242 (bug 1403027) for failing M-e10s(2,h2) without failure summary on Windows. r=backout on a CLOSED TREE
--HG--
extra : amend_source : e140ace761a6be91840cb282bc7c676561698291
2017-10-25 23:44:40 +02:00
Thomas Wisniewski
6bf7c6882a Bug 1403027 - Do not throw from PerformanceObserver.observe when none of the entryTypes are known (log a JS console warning instead); r=bz
MozReview-Commit-ID: Lx2cjWDX8sh

--HG--
extra : rebase_source : d7e8b3dfbf395de0c0d7b5b7ce716a37337735f5
2017-10-22 22:49:44 -04:00
Ben Kelly
6c787835d0 Bug 1410634 P2 Verify ServiceWorkerInfo.lastUpdateTime is not changed when reading from http cache. r=tt 2017-10-24 09:24:53 -04:00
Ben Kelly
fff580cb3d Bug 1410634 P1 Call channel IsFromCache() during OnStartRequest() to determine if update result came from http cache or network. r=tt 2017-10-24 09:24:53 -04:00
Andrea Marchesini
7e8feb3cb9 Bug 1408333 Get rid of nsIIPCBackgroundChildCreateCallback - part 16 - Workers, r=asuth 2017-10-24 12:02:41 +02:00
Andrea Marchesini
9580606019 Bug 1408333 Get rid of nsIIPCBackgroundChildCreateCallback - part 15 - ServiceWorkers, r=asuth 2017-10-24 12:02:41 +02:00
Joel Maher
7692cfcb68 Bug 1404914 - Disable dom/workers/test/serviceworkers/browser_multie10s_update.js on linux and osx for frequent failures. r=me, a=testonly 2017-10-24 04:58:42 -04:00
Ho-Pang Hsu
f8d3d218c6 Bug 1359677 - P1: Add a new mochitest to verify the bypassing service worker. r=asuth
Since we decide to do this by setting the nsIChannel::LOAD_BYPASS_SERVICE_WORKER
to defaultLoadFlags in the docShell and the implement of the bypass service
worker flag is done, only having this test to verify the behavior. So that we
can simplely copy the code for setBypassSW() and getBypassSW() to dev-tools
server in the future when we decide the UI/UX and designs on dev-tools clients.

--HG--
extra : rebase_source : 4e6f4e7216b2c4ed8bb64c9abd06e8daf2a6a242
2017-05-10 16:47:36 +08:00
Sebastian Hengst
8072106c67 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-23 23:55:17 +02:00
Ben Kelly
d64c111b67 Bug 1409761 Create dom.serviceWorkers.disable_open_click_delay and set it to a larger value on fennec. r=smaug 2017-10-23 14:24:31 -04:00
Gerald Squelart
d2ed3d6312 Bug 1410252 - Convert 'WrapNotNull(new T(...' to 'MakeNotNull<T*>(...' - r=njn
Most cases where the pointer is stored into an already-declared variable can
trivially be changed to MakeNotNull<T*>, as the NotNull raw pointer will end
up in a smart pointer.

In RAII cases, the target type can be specified (e.g.:
`MakeNotNull<RefPtr<imgFrame>>)`), in which case the variable type may just be
`auto`, similar to the common use of MakeUnique.
Except when the target type is a base pointer, in which case it must be
specified in the declaration.

MozReview-Commit-ID: BYaSsvMhiDi

--HG--
extra : rebase_source : 8fe6f2aeaff5f515b7af2276c439004fa3a1f3ab
2017-10-20 18:25:33 +11:00
Sebastian Hengst
6125e83b28 Backed out changeset c5f2f0e827d0 (bug 1403027) for build bustage at dom/workers/WorkerPrivate.cpp(984): expression did not evaluate to a constant, at least on Windows. r=backout on a CLOSED TREE
--HG--
extra : amend_source : e6eb5cbe9b6b41a929c8f811859efe6093eab3a2
2017-10-21 00:31:07 +02:00
Thomas Wisniewski
ac538c1bc0 Bug 1403027 - Do not throw from PerformanceObserver.observe when none of the entryTypes are known (log a JS console warning instead); r=bz
MozReview-Commit-ID: Lx2cjWDX8sh

--HG--
extra : rebase_source : 7f70818de5e4c31eb1781d524e0129b0b20759e3
2017-10-20 15:58:20 -04:00
Masatoshi Kimura
dbd92543c6 Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3

--HG--
extra : rebase_source : 5db437f1c34608aa223916874d62b48c59baeae8
2017-10-21 23:53:02 +09:00
Andrea Marchesini
6626e900f9 Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
Ben Kelly
7ad5940e12 Bug 1204254 P15 Try to make test_devtools_serviceworker_interception.html handle --verify runs again. r=asuth 2017-10-17 13:38:56 -07:00
Ben Kelly
e836540c57 Bug 1204254 P11 Notify "service-worker-synthesized-response" topic when synthesis starts so devtools can trace the channel. r=asuth 2017-10-17 13:38:55 -07:00