Closed Bug 717451 Opened 13 years ago Closed 12 years ago

Telephony: Keep telephony objects on multiple pages in sync

Categories

(Core :: DOM: Device Interfaces, defect)

12 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla13

People

(Reporter: bent.mozilla, Assigned: bent.mozilla)

References

Details

Attachments

(1 file, 2 obsolete files)

Attached patch Patch, v1 (obsolete) — Splinter Review
We limit the use to a single content uri but theoretically it could be open in more than one window. Also chrome can poke its nose in any time it wants, so we need a mechanism to keep things in sync. Hopefully this is simple enough and we can expand further if we need to in the future.
Attachment #587867 - Flags: review?(jonas)
Note the dialer app will live in a separate process in the near future.
We're going to do something different here.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Nevermind, going to do this after all.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Attached patch Patch, v2 (obsolete) — Splinter Review
Moar better.
Attachment #587867 - Attachment is obsolete: true
Attachment #599154 - Flags: review?(jonas)
Attached patch Patch, v2.1Splinter Review
This adds the query/ref string stripping to the permissions check.
Attachment #599154 - Attachment is obsolete: true
Attachment #599154 - Flags: review?(jonas)
Attachment #599970 - Flags: review?(jonas)
Comment on attachment 599970 [details] [diff] [review]
Patch, v2.1

Review of attachment 599970 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with those changes.

::: dom/telephony/Telephony.cpp
@@ +134,5 @@
>    if (mActiveCall) {
>      // Put the call on hold?
>      NS_NOTYETIMPLEMENTED("Implement me!");
>    }
>    mActiveCall = aCall;

Remove this

@@ +140,5 @@
> +  // Update all the other Telephony objects to keep them in sync.
> +  if (aNotifyOthers && gTelephonyList->Length() > 1) {
> +    for (PRUint32 index = 0; index < gTelephonyList->Length(); index++) {
> +      Telephony*& telephony = gTelephonyList->ElementAt(index);
> +      if (telephony != this) {

And this != this check

@@ +154,5 @@
> +{
> +  for (PRUint32 index = 0; index < mCalls.Length(); index++) {
> +    nsRefPtr<TelephonyCall>& call = mCalls[index];
> +    if (call->CallIndex() == aCallIndex) {
> +      SwitchActiveCall(call, aNotifyOthers);

And have the code here just set mActiveCall = call rather than doing the recursive call.

@@ +543,5 @@
> +              (url = do_QueryInterface(uri)) &&
> +              NS_SUCCEEDED(url->GetPrePath(prePath)) &&
> +              NS_SUCCEEDED(url->GetFilePath(filePath))) {
> +            if (documentURL.Equals(prePath + filePath,
> +                                   nsCaseInsensitiveCStringComparator())) {

Remove the case insensitive part.
Attachment #599970 - Flags: review?(jonas) → review+
https://hg.mozilla.org/mozilla-central/rev/5b818dc32f61
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: