Update browser plugins to support v2 wire protocol, and checkin some prebuilt libraries for them. The XPI files are *not* checked in here until all platforms are rebuilt with the changes -- otherwise, users would no longer be able to use platforms that were left out. Log levels were changed in a few places in the XPCOM plugin to reduce spaminess, especially in the event the development mode server connection goes away while the page is still running. The Safari plugin changes have had only minimal changes, and the IE plugin changes are completely untested. They are checked in anyway since they were never brought up to common code changes made last year, and therefore can't be built from trunk anyway, so they are certainly no worse off this way. When Bob is in town next week, we will test the Safari plugin more thoroughly (including building an install image) and get the IE plugin built/tested. Patch by: jat Review by: bobv git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5998 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/common/SessionHandler.h b/plugins/common/SessionHandler.h index 217dce4..2cb011f 100644 --- a/plugins/common/SessionHandler.h +++ b/plugins/common/SessionHandler.h
@@ -2,13 +2,13 @@ #define _H_SessionHandler /* * 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 - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * 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 @@ -23,18 +23,18 @@ /** * Interface for session-handling needs. - * + * * Note that if this is being "added" onto a class which extends a C structure, the inheritance * chain leading to the plain C object must be first in the inheritance list. - * + * * For example: - * + * * extern "C" { * typedef struct PlainCstruct { * ... data only members here * } PlainCstruct; * }; - * + * * class MyWrapper: public PlainCstruct, SessionHandler { * ... virtual functions ok here * }; @@ -49,6 +49,13 @@ SetProperty = SPECIAL_SET_PROPERTY }; protected: + + /** + * Report a fatal error -- the channel will be closed after this method + * returns. + */ + virtual void fatalError(HostChannel& channel, const std::string& message) = 0; + virtual void freeValue(HostChannel& channel, int idCount, const int* ids) = 0; virtual void loadJsni(HostChannel& channel, const std::string& js) = 0; @@ -56,16 +63,16 @@ /** * Does not own any of its args -- must copy them if it wants them and should not free the * ones passed in. - * + * * Returns true if an exception occurred. */ virtual bool invoke(HostChannel& channel, const Value& thisObj, const std::string& methodName, int numArgs, const Value* const args, Value* returnValue)=0; - + /** * Invoke a plugin-provided method with the given args. As above, this method does not own * any of its args. - * + * * Returns true if an exception occurred. */ virtual bool invokeSpecial(HostChannel& channel, SpecialMethodId method, int numArgs,