blob: 9d012e1ce0ca365cc825faf0f48f5d5df5905c6f [file] [log] [blame]
#ifndef _H_ExternalWrapper
#define _H_ExternalWrapper
* Copyright 2008 Google Inc.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
#include <string>
#include "mozincludes.h"
#include "IOOPHM.h"
#include "Preferences.h"
#include "FFSessionHandler.h"
#include "Debug.h"
#include "scoped_ptr/scoped_ptr.h"
#include "nsCOMPtr.h"
#include "nsISecurityCheckedComponent.h"
#include "nsStringAPI.h"
#include "nsIWindowWatcher.h"
#include "nsIDOMWindow.h"
class nsIDOMWindow;
// {028DD88B-6D65-401D-AAFD-17E497D15D09}
#define OOPHM_CID \
{ 0x028DD88B, 0x6D65, 0x401D, \
{ 0xAA, 0xFD, 0x17, 0xE4, 0x97, 0xD1, 0x5D, 0x09 } }
#define OOPHM_CLASSNAME "GWT DevMode component"
class ExternalWrapper : public IOOPHM,
public nsISecurityCheckedComponent {
virtual ~ExternalWrapper();
nsCOMPtr<nsIDOMWindow> domWindow;
nsCOMPtr<nsIDOMWindowInternal> topWindow;
nsString url;
nsCOMPtr<Preferences> preferences;
scoped_ptr<FFSessionHandler> sessionHandler;
nsCOMPtr<nsIWindowWatcher> windowWatcher;
* Prompt the user whether a connection should be allowed, and optionally
* update the preferences.
bool askUserToAllow(const std::string& url);
* Compute a stable tab identity value for the DOM window.
* @return a unique tab identifier which is stable across reloads, or an
* empty string if it cannot be computed
std::string computeTabIdentity();
inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg,
const nsACString& str) {
nsCString copy(str);
dbg << copy.get();
return dbg;
inline Debug::DebugStream& operator<<(Debug::DebugStream& dbg,
const nsAString& str) {
NS_ConvertUTF16toUTF8 copy(str);
dbg << copy.get();
return dbg;