├── .github └── FUNDING.yml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── README.md ├── misc ├── EclipseJavaFormat_Spaced.xml ├── README.md ├── gngrDev.launch └── runTest.sh └── src ├── .gitignore ├── Common ├── .classpath ├── .project ├── build.xml └── org │ └── lobobrowser │ └── util │ ├── ArrayUtilities.java │ ├── BaseClassLoader.java │ ├── Bean.java │ ├── BoxedObject.java │ ├── CollectionUtilities.java │ ├── DOMExceptions.java │ ├── Diagnostics.java │ ├── Domains.java │ ├── EmptyInputStream.java │ ├── EventDispatch.java │ ├── EventDispatch2.java │ ├── GenericEventListener.java │ ├── GenericPropertyChangeListener.java │ ├── GenericURLConnection.java │ ├── History.java │ ├── Html.java │ ├── ID.java │ ├── InputProgressEvent.java │ ├── Items.java │ ├── JoinableTask.java │ ├── LRUCache.java │ ├── MonitoredInputStream.java │ ├── MultiplexClassLoader.java │ ├── NameValuePair.java │ ├── Nodes.java │ ├── NotImplementedYetException.java │ ├── OS.java │ ├── ObjectFilter.java │ ├── Objects.java │ ├── RemovalEvent.java │ ├── RemovalListener.java │ ├── SecurityUtil.java │ ├── SimpleThreadPool.java │ ├── SimpleThreadPoolTask.java │ ├── Strings.java │ ├── Threads.java │ ├── Timing.java │ ├── Urls.java │ ├── WeakValueHashMap.java │ ├── WrapperException.java │ ├── gui │ ├── CenterLayout.java │ ├── ColorFactory.java │ ├── FontFactory.java │ ├── GUITasks.java │ └── WrapperLayout.java │ └── io │ ├── BufferExceededException.java │ ├── EmptyReader.java │ ├── Files.java │ ├── IORoutines.java │ ├── NetRoutines.java │ └── RecordedInputStream.java ├── HTML_Renderer ├── .classpath ├── .project ├── COBRA-ACK.txt ├── COBRA-README.txt ├── LICENSE.txt ├── build.xml ├── docs │ ├── FloatsAndAbsolutes.odt │ └── index.html └── org │ ├── lobobrowser │ ├── html │ │ ├── AbstractHtmlRendererContext.java │ │ ├── BrowserFrame.java │ │ ├── FormInput.java │ │ ├── HtmlObject.java │ │ ├── HtmlRendererContext.java │ │ ├── ReadyStateChangeListener.java │ │ ├── domimpl │ │ │ ├── AnonymousNodeImpl.java │ │ │ ├── AttrImpl.java │ │ │ ├── CDataSectionImpl.java │ │ │ ├── CanvasPath2D.java │ │ │ ├── CharacterDataImpl.java │ │ │ ├── ChildHTMLCollection.java │ │ │ ├── CommentImpl.java │ │ │ ├── DOMConfigurationImpl.java │ │ │ ├── DOMImplementationImpl.java │ │ │ ├── DOMStringListImpl.java │ │ │ ├── DescendentHTMLCollection.java │ │ │ ├── DocumentFragmentImpl.java │ │ │ ├── DocumentNotificationAdapter.java │ │ │ ├── DocumentNotificationListener.java │ │ │ ├── DocumentTypeImpl.java │ │ │ ├── ElementFactory.java │ │ │ ├── ElementImpl.java │ │ │ ├── FilteredNodeListImpl.java │ │ │ ├── FrameNode.java │ │ │ ├── GeneratedElement.java │ │ │ ├── HTMLAbstractUIElement.java │ │ │ ├── HTMLAppletElementImpl.java │ │ │ ├── HTMLBRElementImpl.java │ │ │ ├── HTMLBaseElementImpl.java │ │ │ ├── HTMLBaseFontElementImpl.java │ │ │ ├── HTMLBaseInputElement.java │ │ │ ├── HTMLBodyElementImpl.java │ │ │ ├── HTMLButtonElementImpl.java │ │ │ ├── HTMLCanvasElementImpl.java │ │ │ ├── HTMLCenterElementImpl.java │ │ │ ├── HTMLDivElementImpl.java │ │ │ ├── HTMLDocumentImpl.java │ │ │ ├── HTMLElementBuilder.java │ │ │ ├── HTMLElementImpl.java │ │ │ ├── HTMLFontElementImpl.java │ │ │ ├── HTMLFormElementImpl.java │ │ │ ├── HTMLFrameElementImpl.java │ │ │ ├── HTMLFrameSetElementImpl.java │ │ │ ├── HTMLGenericMarkupElement.java │ │ │ ├── HTMLHRElementImpl.java │ │ │ ├── HTMLHeadingElementImpl.java │ │ │ ├── HTMLHtmlElementImpl.java │ │ │ ├── HTMLIFrameElementImpl.java │ │ │ ├── HTMLImageElementImpl.java │ │ │ ├── HTMLInputElementImpl.java │ │ │ ├── HTMLLIElementImpl.java │ │ │ ├── HTMLLinkElementImpl.java │ │ │ ├── HTMLNonStandardElement.java │ │ │ ├── HTMLOListElementImpl.java │ │ │ ├── HTMLObjectElementImpl.java │ │ │ ├── HTMLOptionElementImpl.java │ │ │ ├── HTMLOptionsCollectionImpl.java │ │ │ ├── HTMLPElementImpl.java │ │ │ ├── HTMLPreElementImpl.java │ │ │ ├── HTMLProcessingInstruction.java │ │ │ ├── HTMLQuoteElementImpl.java │ │ │ ├── HTMLScriptElementImpl.java │ │ │ ├── HTMLSelectElementImpl.java │ │ │ ├── HTMLSpanElementImpl.java │ │ │ ├── HTMLStyleElementImpl.java │ │ │ ├── HTMLTableCellElementImpl.java │ │ │ ├── HTMLTableElementImpl.java │ │ │ ├── HTMLTableHeadElementImpl.java │ │ │ ├── HTMLTableRowElementImpl.java │ │ │ ├── HTMLTextAreaElementImpl.java │ │ │ ├── HTMLTitleElementImpl.java │ │ │ ├── HTMLUListElementImpl.java │ │ │ ├── ImageEvent.java │ │ │ ├── ImageListener.java │ │ │ ├── InputContext.java │ │ │ ├── LocalErrorHandler.java │ │ │ ├── ModelNode.java │ │ │ ├── NamedNodeMapImpl.java │ │ │ ├── NodeFilter.java │ │ │ ├── NodeImpl.java │ │ │ ├── NodeListImpl.java │ │ │ ├── NodeNameFilter.java │ │ │ ├── NodeVisitor.java │ │ │ ├── RangeImpl.java │ │ │ ├── SkipVisitorException.java │ │ │ ├── StopVisitorException.java │ │ │ ├── TextFilter.java │ │ │ ├── TextImpl.java │ │ │ ├── UINode.java │ │ │ └── package.html │ │ ├── gui │ │ │ ├── DocumentNotification.java │ │ │ ├── FrameSetPanel.java │ │ │ ├── HtmlBlockPanel.java │ │ │ ├── HtmlPanel.java │ │ │ ├── SelectionChangeEvent.java │ │ │ ├── SelectionChangeListener.java │ │ │ └── package.html │ │ ├── io │ │ │ └── WritableLineReader.java │ │ ├── js │ │ │ ├── Event.java │ │ │ ├── EventTargetManager.java │ │ │ ├── Executor.java │ │ │ ├── FilteredObjectList.java │ │ │ ├── History.java │ │ │ ├── Location.java │ │ │ ├── Navigator.java │ │ │ ├── NotGetterSetter.java │ │ │ ├── ObjectFilter.java │ │ │ ├── PolicySecurityController.java │ │ │ ├── PropertyName.java │ │ │ ├── Screen.java │ │ │ ├── SecurityControllerImpl.java │ │ │ ├── Storage.java │ │ │ ├── Window.java │ │ │ └── XMLHttpRequest.java │ │ ├── package.html │ │ ├── parser │ │ │ ├── DocumentBuilderImpl.java │ │ │ ├── ElementInfo.java │ │ │ ├── HtmlParser.java │ │ │ ├── InputSourceImpl.java │ │ │ ├── LocatorImpl.java │ │ │ ├── StopException.java │ │ │ └── package.html │ │ ├── renderer │ │ │ ├── BaseBlockyRenderable.java │ │ │ ├── BaseBoundableRenderable.java │ │ │ ├── BaseControl.java │ │ │ ├── BaseElementRenderable.java │ │ │ ├── BaseInputControl.java │ │ │ ├── BaseInputTextControl.java │ │ │ ├── BaseRCollection.java │ │ │ ├── BaseRListElement.java │ │ │ ├── BaseRenderable.java │ │ │ ├── BorderOverrider.java │ │ │ ├── BoundableRenderable.java │ │ │ ├── BrokenComponent.java │ │ │ ├── BrowserFrameUIControl.java │ │ │ ├── CombinedFloatingBounds.java │ │ │ ├── DelayedPair.java │ │ │ ├── ExportableFloat.java │ │ │ ├── ExportedRenderable.java │ │ │ ├── FloatingBounds.java │ │ │ ├── FloatingBoundsSource.java │ │ │ ├── FloatingInfo.java │ │ │ ├── FloatingViewportBounds.java │ │ │ ├── FrameContext.java │ │ │ ├── HrControl.java │ │ │ ├── HtmlController.java │ │ │ ├── ImgControl.java │ │ │ ├── InputButtonControl.java │ │ │ ├── InputCheckboxControl.java │ │ │ ├── InputFileControl.java │ │ │ ├── InputImageControl.java │ │ │ ├── InputPasswordControl.java │ │ │ ├── InputRadioControl.java │ │ │ ├── InputSelectControl.java │ │ │ ├── InputTextAreaControl.java │ │ │ ├── InputTextControl.java │ │ │ ├── LineBreak.java │ │ │ ├── LineMargin.java │ │ │ ├── MarkupLayout.java │ │ │ ├── MarkupUtilities.java │ │ │ ├── NodeRenderer.java │ │ │ ├── OverflowException.java │ │ │ ├── ParentFloatingBoundsSource.java │ │ │ ├── PositionedRenderable.java │ │ │ ├── RAbstractCell.java │ │ │ ├── RAnonTableCell.java │ │ │ ├── RBlank.java │ │ │ ├── RBlock.java │ │ │ ├── RBlockViewport.java │ │ │ ├── RCollection.java │ │ │ ├── RElement.java │ │ │ ├── RFloatInfo.java │ │ │ ├── RImgControl.java │ │ │ ├── RInlineBlock.java │ │ │ ├── RLine.java │ │ │ ├── RList.java │ │ │ ├── RListItem.java │ │ │ ├── RSpacing.java │ │ │ ├── RStyleChanger.java │ │ │ ├── RTab.java │ │ │ ├── RTable.java │ │ │ ├── RTableCell.java │ │ │ ├── RUIControl.java │ │ │ ├── RWord.java │ │ │ ├── Range.java │ │ │ ├── RenderUtils.java │ │ │ ├── Renderable.java │ │ │ ├── RenderableContainer.java │ │ │ ├── RenderableSpot.java │ │ │ ├── ShiftedFloatingBounds.java │ │ │ ├── SizeExceededException.java │ │ │ ├── TableMatrix.java │ │ │ ├── TranslatedRenderable.java │ │ │ ├── UIControl.java │ │ │ ├── UIControlWrapper.java │ │ │ ├── VirtualCell.java │ │ │ ├── ZIndexComparator.java │ │ │ └── package.html │ │ └── style │ │ │ ├── BackgroundInfo.java │ │ │ ├── BaseFontRenderState.java │ │ │ ├── BlockRenderState.java │ │ │ ├── BodyRenderState.java │ │ │ ├── BorderInfo.java │ │ │ ├── CSS2PropertiesContext.java │ │ │ ├── CSSNorm.java │ │ │ ├── CSSUtilities.java │ │ │ ├── ComputedJStyleProperties.java │ │ │ ├── FontInfo.java │ │ │ ├── HtmlInsets.java │ │ │ ├── HtmlLength.java │ │ │ ├── HtmlValues.java │ │ │ ├── IFrameRenderState.java │ │ │ ├── ImageRenderState.java │ │ │ ├── JStyleProperties.java │ │ │ ├── ListStyle.java │ │ │ ├── LocalJStyleProperties.java │ │ │ ├── RenderState.java │ │ │ ├── RenderStateDelegator.java │ │ │ ├── RenderThreadState.java │ │ │ ├── StyleElements.java │ │ │ ├── StyleSheetRenderState.java │ │ │ ├── TableCellRenderState.java │ │ │ ├── TableRenderState.java │ │ │ └── WordInfo.java │ └── js │ │ ├── AbstractScriptableDelegate.java │ │ ├── HideFromJS.java │ │ ├── JavaClassWrapper.java │ │ ├── JavaClassWrapperFactory.java │ │ ├── JavaConstructorObject.java │ │ ├── JavaFunctionObject.java │ │ ├── JavaInstantiator.java │ │ ├── JavaObjectWrapper.java │ │ ├── JavaScript.java │ │ ├── PropertyInfo.java │ │ └── ScriptableDelegate.java │ └── w3c │ └── COPYRIGHT.html ├── Platform_Core ├── .classpath ├── .project ├── README.txt ├── build.xml ├── images │ ├── gngrLogo.png │ └── gngrLogo16.png ├── info │ └── gngr │ │ ├── db │ │ ├── Keys.java │ │ ├── Public.java │ │ ├── Tables.java │ │ └── tables │ │ │ ├── Cookies.java │ │ │ ├── Globals.java │ │ │ ├── Permissions.java │ │ │ └── records │ │ │ ├── CookiesRecord.java │ │ │ ├── GlobalsRecord.java │ │ │ └── PermissionsRecord.java │ │ └── schema.sql ├── lib │ ├── h2-1.4.196.jar │ ├── javatuples-1.2.jar │ ├── jooq-3.4.2.jar │ ├── okhttp-3.13.1.jar │ ├── okhttp-urlconnection-3.13.1.jar │ ├── okio-1.17.3.jar │ └── public-suffix-list_0.1_28Jun.jar ├── org │ └── lobobrowser │ │ ├── async │ │ ├── AsyncResult.java │ │ ├── AsyncResultEvent.java │ │ ├── AsyncResultImpl.java │ │ ├── AsyncResultListener.java │ │ └── AsyncResultWrapper.java │ │ ├── context │ │ ├── AlgorithmDigest.java │ │ ├── ClientletContextImpl.java │ │ ├── ClientletFactory.java │ │ ├── ClientletThreadGroupImpl.java │ │ ├── CoreClientletSelector.java │ │ ├── NetworkRequestImpl.java │ │ └── VolatileContentImpl.java │ │ ├── gui │ │ ├── AbstractBrowserWindow.java │ │ ├── AddressBarPanel.java │ │ ├── AuthenticationDialog.java │ │ ├── BrowserPanel.java │ │ ├── BrowserWindow.java │ │ ├── ConsoleModel.java │ │ ├── ContentAdapter.java │ │ ├── ContentEvent.java │ │ ├── ContentListener.java │ │ ├── DefaultBrowserWindow.java │ │ ├── DefaultFramePanelFactory.java │ │ ├── DefaultWindowFactory.java │ │ ├── FillerComponent.java │ │ ├── FramePanel.java │ │ ├── FramePanelFactory.java │ │ ├── FramePanelFactorySource.java │ │ ├── NavigationAdapter.java │ │ ├── NavigationEngine.java │ │ ├── NavigatorWindowImpl.java │ │ ├── OpenProgressBar.java │ │ ├── ProgressWindow.java │ │ ├── ResponseAdapter.java │ │ ├── ResponseEvent.java │ │ ├── ResponseListener.java │ │ ├── RigidComponent.java │ │ ├── SharedToolBarPanel.java │ │ ├── StatusBarPanel.java │ │ ├── WindowCallback.java │ │ ├── WindowFactory.java │ │ └── package.html │ │ ├── main │ │ ├── DefferedLayoutSupport.java │ │ ├── EntryPoint.java │ │ ├── Extension.java │ │ ├── ExtensionClassLoader.java │ │ ├── ExtensionManager.java │ │ ├── GrinderServer.java │ │ ├── OS.java │ │ ├── PlatformInit.java │ │ ├── PlatformStreamHandlerFactory.java │ │ ├── ReuseManager.java │ │ ├── ReuseServer.java │ │ ├── TrustManager.java │ │ ├── ZipEntryHandler.java │ │ └── package.html │ │ ├── protocol │ │ ├── res │ │ │ ├── Handler.java │ │ │ └── ResURLConnection.java │ │ └── vc │ │ │ ├── Handler.java │ │ │ └── VcURLConnection.java │ │ ├── request │ │ ├── AbstractRequestHandler.java │ │ ├── AuthenticatorImpl.java │ │ ├── CacheInfo.java │ │ ├── ClientletRequestHandler.java │ │ ├── ClientletRequestImpl.java │ │ ├── ClientletResponseImpl.java │ │ ├── Cookie.java │ │ ├── CookieDetails.java │ │ ├── CookieHandlerImpl.java │ │ ├── CookieParsing.java │ │ ├── CookieStore.java │ │ ├── CookieValue.java │ │ ├── DistinguishedNameParser.java │ │ ├── DomainValidation.java │ │ ├── FileWithHeadersURLConnection.java │ │ ├── MemoryCacheEntry.java │ │ ├── MemoryURLConnection.java │ │ ├── MultipartFormDataWriter.java │ │ ├── NOPCookieHandlerImpl.java │ │ ├── OkHostnameVerifier.java │ │ ├── OrigUserAgentImpl.java │ │ ├── RedirectRequestHandler.java │ │ ├── RequestEngine.java │ │ ├── RequestHandler.java │ │ ├── ResponseCodeException.java │ │ ├── SilentUserAgentContextImpl.java │ │ ├── SimpleRequestHandler.java │ │ ├── UserAgentContextImpl.java │ │ ├── UserAgentImpl.java │ │ └── VerifiedHostsStore.java │ │ ├── security │ │ ├── DBRequestRuleStore.java │ │ ├── GenericLocalPermission.java │ │ ├── HistoryPermission.java │ │ ├── InMemoryRequestRuleStore.java │ │ ├── LocalSecurityManager.java │ │ ├── LocalSecurityPolicy.java │ │ ├── PermissionCellButton.java │ │ ├── PermissionSystem.java │ │ ├── PermissionTable.java │ │ ├── RequestManager.java │ │ ├── RequestRuleStore.java │ │ └── StoreHostPermission.java │ │ ├── settings │ │ ├── AssociatedSettings.java │ │ ├── BooleanSettings.java │ │ ├── CacheSettings.java │ │ ├── ConnectionSettings.java │ │ ├── CookieSettings.java │ │ ├── GeneralSettings.java │ │ ├── ManagedStoreSettings.java │ │ └── package.html │ │ └── store │ │ ├── CacheFileInfo.java │ │ ├── CacheInfo.java │ │ ├── CacheManager.java │ │ ├── CacheStoreInfo.java │ │ ├── ClassLoaderObjectInputStream.java │ │ ├── QuotaSource.java │ │ ├── RestrictedOutputStream.java │ │ ├── RestrictedStore.java │ │ ├── StorageManager.java │ │ └── TempFileManager.java ├── properties │ ├── logging-debug.properties │ ├── logging.properties │ └── release.properties └── trustStore.certs ├── Platform_Public_API ├── .classpath ├── .project ├── README.txt ├── build.xml └── org │ └── lobobrowser │ ├── clientlet │ ├── AbstractComponentContent.java │ ├── CancelClientletException.java │ ├── Clientlet.java │ ├── ClientletAccess.java │ ├── ClientletContext.java │ ├── ClientletException.java │ ├── ClientletRequest.java │ ├── ClientletResponse.java │ ├── ClientletSelector.java │ ├── ClientletThreadGroup.java │ ├── ComponentContent.java │ ├── ContentBuffer.java │ ├── Header.java │ ├── JavaVersionException.java │ ├── NavigatorVersionException.java │ ├── SimpleComponentContent.java │ └── package.html │ ├── io │ ├── ManagedFile.java │ ├── ManagedFileFilter.java │ ├── ManagedStore.java │ ├── QuotaExceededException.java │ └── package.html │ └── ua │ ├── ConnectionProcessor.java │ ├── ImageResponse.java │ ├── NavigationEntry.java │ ├── NavigationEvent.java │ ├── NavigationListener.java │ ├── NavigationVetoException.java │ ├── NavigatorErrorListener.java │ ├── NavigatorEvent.java │ ├── NavigatorEventType.java │ ├── NavigatorExceptionEvent.java │ ├── NavigatorExtension.java │ ├── NavigatorExtensionContext.java │ ├── NavigatorFrame.java │ ├── NavigatorProgressEvent.java │ ├── NavigatorResponseEvent.java │ ├── NavigatorWindow.java │ ├── NavigatorWindowEvent.java │ ├── NavigatorWindowListener.java │ ├── NetworkRequest.java │ ├── NetworkRequestEvent.java │ ├── NetworkRequestListener.java │ ├── Parameter.java │ ├── ParameterInfo.java │ ├── ProgressType.java │ ├── RequestType.java │ ├── TargetType.java │ ├── UserAgent.java │ ├── UserAgentContext.java │ └── package.html ├── Primary_Extension ├── .classpath ├── .project ├── README.txt ├── build.xml ├── gngr-extension.properties ├── images │ ├── back.gif │ ├── forward.gif │ ├── go.gif │ ├── go_disabled.gif │ ├── info.gif │ ├── internet_search.png │ ├── refresh.gif │ ├── refresh_disabled.gif │ ├── stop.gif │ ├── stop_disabled.gif │ └── warning.gif └── org │ └── lobobrowser │ ├── primary │ ├── clientlets │ │ ├── ArchiveClassLoader.java │ │ ├── ArchiveCollection.java │ │ ├── ArchiveInfo.java │ │ ├── PrimaryClientletSelector.java │ │ ├── SimpleDocument.java │ │ ├── TextClientlet.java │ │ ├── download │ │ │ └── DownloadClientlet.java │ │ ├── html │ │ │ ├── BrowserFrameImpl.java │ │ │ ├── HtmlClientlet.java │ │ │ ├── HtmlContent.java │ │ │ └── HtmlRendererContextImpl.java │ │ └── img │ │ │ ├── ImageClientlet.java │ │ │ └── ImageScrollable.java │ ├── ext │ │ ├── ActionPool.java │ │ ├── AddBookmarkDialog.java │ │ ├── AddressField.java │ │ ├── BaseHistory.java │ │ ├── BookmarkInfo.java │ │ ├── BookmarksHistory.java │ │ ├── ComponentSource.java │ │ ├── DirectorySource.java │ │ ├── DomViewerWindow.java │ │ ├── ExtensionImpl.java │ │ ├── HistoryEntry.java │ │ ├── HostEntry.java │ │ ├── IconFactory.java │ │ ├── MenuAdapter.java │ │ ├── NavigationHistory.java │ │ ├── PrimaryStreamHandlerFactory.java │ │ ├── ProgressBar.java │ │ ├── TextFieldComboBoxEditor.java │ │ └── TextViewerWindow.java │ ├── gui │ │ ├── AbstractItemEditor.java │ │ ├── CheckBoxPanel.java │ │ ├── FieldType.java │ │ ├── FormField.java │ │ ├── FormPanel.java │ │ ├── ItemEditorDialog.java │ │ ├── ItemEditorFactory.java │ │ ├── ItemListControl.java │ │ ├── SearchDialog.java │ │ ├── SimpleTextEditDialog.java │ │ ├── StringListControl.java │ │ ├── SwingTasks.java │ │ ├── ValidationException.java │ │ ├── download │ │ │ └── DownloadDialog.java │ │ └── prefs │ │ │ ├── AbstractSettingsUI.java │ │ │ ├── ConnectionSettingsUI.java │ │ │ ├── GeneralSettingsUI.java │ │ │ ├── PreferencesDialog.java │ │ │ ├── PreferencesPanel.java │ │ │ ├── PreferencesTree.java │ │ │ ├── SearchEngineEditor.java │ │ │ ├── SettingsInfo.java │ │ │ └── ToolsSettingsUI.java │ └── settings │ │ ├── SearchEngine.java │ │ └── ToolsSettings.java │ └── protocol │ ├── about │ ├── AboutURLConnection.java │ └── Handler.java │ └── data │ ├── DataURLConnection.java │ └── Handler.java ├── XAMJ_Build ├── .externalToolBuilders │ ├── API_Doc_Builder.launch │ ├── Ant Builder.launch │ └── Installer Builder.launch ├── .project ├── ACKNOWLEDGMENTS.txt ├── CHANGELOG.txt ├── CONTRIBUTORS.txt ├── LICENSE.txt ├── README.txt ├── build.xml.disabled ├── default-shortcut-spec.xml ├── ext │ ├── antlr4-4.5.3.jar │ ├── js.jar │ ├── jstyleDomBridge.jar │ ├── jstyleparser-3.3-SNAPSHOT.jar │ ├── sac.jar │ ├── slf4j-api-1.7.25.jar │ └── unbescape-1.1.5.RELEASE.jar ├── install.xml ├── org.eclipse.jdt.annotation_2.0.100.v20150311-1658.jar ├── process-panel.xml ├── re_manifest.mf └── windows-shortcut-spec.xml └── build.xml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | open_collective: gngr 2 | github: gngrOrg 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .metadata 2 | *.swp 3 | *.iml 4 | .idea/ -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: xenial 3 | language: java 4 | jdk: 5 | - openjdk8 6 | - openjdk11 7 | script: "misc/runTest.sh" 8 | -------------------------------------------------------------------------------- /misc/README.md: -------------------------------------------------------------------------------- 1 | See [Developer Setup](https://github.com/gngrOrg/gngr/wiki/Developer:Setup) for more information about how to use 2 | these files. 3 | 4 | File | Description 5 | -----|------------ 6 | gngrDev.launch | contains the Eclipse launch configuration for running gngr. 7 | EclipseJavaFormat_Spaced.xml | Format configuration for use with Eclipse. No Tabs and indent of 2 spaces. 8 | -------------------------------------------------------------------------------- /misc/runTest.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | rnd() { 4 | echo `od if=/dev/urandom count=1 2>/dev/null | sha256sum | cut -f1 -d' '` 5 | } 6 | 7 | INIT_DIR=`pwd` 8 | 9 | # Install fonts 10 | mkdir -p ~/.fonts 11 | cd ~/.fonts 12 | wget "https://github.com/gngrOrg/grinder/releases/download/v1.0/css-testsuite-fonts-v2.zip" 13 | unzip css-testsuite-fonts-v2.zip 14 | rm -rf AhemExtra/ 15 | fc-cache -f 16 | 17 | cd $INIT_DIR 18 | 19 | GRINDER_KEY="$$$(rnd)" 20 | 21 | mkdir ~/.gngr 22 | 23 | ant -f src/build.xml build 24 | 25 | xvfb-run -s "-dpi 96 -screen 0 900x900x24+32" ant -f src/build.xml -Dgngr.grinder.key="$GRINDER_KEY" run &> /dev/null & 26 | 27 | mkdir ~/grinder 28 | cd ~/grinder 29 | wget -O grinder.jar "https://github.com/gngrOrg/grinder/releases/download/v1.4.0/grinder-assembly-1.4.0.jar" 30 | 31 | git clone --depth=1 https://github.com/UprootStaging/grinderBaselines.git ~/grinderBaselines 32 | 33 | # TODO: Use soft link instead of copying? 34 | cp -r ~/grinderBaselines/nightly-unstable ~/grinder 35 | 36 | cd ~/grinder 37 | python -m SimpleHTTPServer 8000 &> /dev/null & 38 | 39 | java -jar grinder.jar prepare 40 | java -jar grinder.jar compare gngr $GRINDER_KEY --baseLine=$HOME/grinderBaselines/gngr --uploadImg=y 41 | java -jar grinder.jar checkBase data ../grinderBaselines/gngr 42 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | Common/bin/ 2 | HTML_Renderer/bin/ 3 | Platform_Core/bin/ 4 | Platform_Public_API/bin/ 5 | Primary_Extension/bin/ 6 | -------------------------------------------------------------------------------- /src/Common/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Common/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Common 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/BaseClassLoader.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jun 19, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | import java.security.SecureClassLoader; 27 | 28 | /** 29 | * Base class for all project class loaders. 30 | * 31 | * @author J. H. S. 32 | */ 33 | public abstract class BaseClassLoader extends SecureClassLoader { 34 | 35 | /** 36 | * @param parent 37 | */ 38 | public BaseClassLoader(final ClassLoader parent) { 39 | super(parent); 40 | } 41 | 42 | /** 43 | * 44 | */ 45 | public BaseClassLoader() { 46 | super(); 47 | } 48 | 49 | /* 50 | * (non-Javadoc) 51 | * 52 | * @see java.lang.ClassLoader#loadClass(java.lang.String, boolean) 53 | */ 54 | @Override 55 | public synchronized Class loadClass(final String name, final boolean resolve) throws ClassNotFoundException { 56 | return super.loadClass(name, resolve); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/BoxedObject.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | public class BoxedObject { 4 | private Object object; 5 | 6 | public BoxedObject() { 7 | } 8 | 9 | public BoxedObject(final Object object) { 10 | super(); 11 | this.object = object; 12 | } 13 | 14 | public Object getObject() { 15 | return object; 16 | } 17 | 18 | public void setObject(final Object object) { 19 | this.object = object; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/DOMExceptions.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | import org.w3c.dom.DOMException; 4 | 5 | public final class DOMExceptions { 6 | public static enum ExtendedError { 7 | SecurityError((short) 18), 8 | NetworkError((short) 19), 9 | AbortError((short) 20), 10 | URLMismatchError((short) 21), 11 | QuotaExceededError((short) 22), 12 | TimeoutError((short) 23), 13 | InvalidNodeTypeError((short) 24), 14 | DataCloneError((short) 25); 15 | 16 | final public short code; 17 | 18 | public DOMException createException() { 19 | return new DOMException(code, name()); 20 | } 21 | 22 | public DOMException createException(final String msg) { 23 | return new DOMException(code, name() + ": " + msg); 24 | } 25 | 26 | private ExtendedError (final short code) { 27 | this.code = code; 28 | } 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/Diagnostics.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Mar 31, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | /** 27 | * @author J. H. S. 28 | */ 29 | public class Diagnostics { 30 | /** 31 | * 32 | */ 33 | private Diagnostics() { 34 | super(); 35 | } 36 | 37 | public static void Assert(final boolean condition, final String message) { 38 | if (!condition) { 39 | throw new AssertionError(message); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/GenericEventListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Mar 19, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | import java.util.EventListener; 27 | import java.util.EventObject; 28 | 29 | /** 30 | * @author J. H. S. 31 | */ 32 | public interface GenericEventListener extends EventListener { 33 | public static final GenericEventListener[] EMPTY_ARRAY = new GenericEventListener[0]; 34 | 35 | public void processEvent(EventObject event); 36 | } 37 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/InputProgressEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Apr 15, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | import java.util.EventObject; 27 | 28 | /** 29 | * @author J. H. S. 30 | */ 31 | public class InputProgressEvent extends EventObject { 32 | private static final long serialVersionUID = -4768022316827973086L; 33 | private final int progress; 34 | 35 | /** 36 | * @param arg0 37 | */ 38 | public InputProgressEvent(final Object arg0, final int progress) { 39 | super(arg0); 40 | this.progress = progress; 41 | } 42 | 43 | public int getProgress() { 44 | return this.progress; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/Items.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | import java.util.WeakHashMap; 6 | 7 | public class Items { 8 | private Items() { 9 | } 10 | 11 | private static Map> sourceMap = new WeakHashMap<>(); 12 | 13 | public static Object getItem(final Object source, final String name) { 14 | final Map> sm = sourceMap; 15 | synchronized (sm) { 16 | final Map itemMap = sm.get(source); 17 | if (itemMap == null) { 18 | return null; 19 | } 20 | return itemMap.get(name); 21 | } 22 | } 23 | 24 | public static void setItem(final Object source, final String name, final Object value) { 25 | final Map> sm = sourceMap; 26 | synchronized (sm) { 27 | Map itemMap = sm.get(source); 28 | if (itemMap == null) { 29 | itemMap = new HashMap<>(1); 30 | sm.put(source, itemMap); 31 | } 32 | itemMap.put(name, value); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/JoinableTask.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | /** 4 | * A task that can be used in a thread or thread pool. The caller can wait for 5 | * the task to finish by joining it. 6 | */ 7 | public abstract class JoinableTask implements SimpleThreadPoolTask { 8 | private boolean done = false; 9 | 10 | public final void run() { 11 | try { 12 | this.execute(); 13 | } finally { 14 | synchronized (this) { 15 | this.done = true; 16 | this.notifyAll(); 17 | } 18 | } 19 | } 20 | 21 | public final void forceDone() { 22 | synchronized (this) { 23 | this.done = true; 24 | this.notifyAll(); 25 | } 26 | } 27 | 28 | public void join() throws InterruptedException { 29 | synchronized (this) { 30 | while (!this.done) { 31 | this.wait(); 32 | } 33 | } 34 | } 35 | 36 | public void cancel() { 37 | this.forceDone(); 38 | } 39 | 40 | protected abstract void execute(); 41 | } 42 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/NameValuePair.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jun 12, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | /** 27 | * @author J. H. S. 28 | */ 29 | public class NameValuePair implements java.io.Serializable { 30 | private static final long serialVersionUID = 22574500600001010L; 31 | public final String name; 32 | public final String value; 33 | 34 | /** 35 | * @param name 36 | * @param value 37 | */ 38 | public NameValuePair(final String name, final String value) { 39 | super(); 40 | this.name = name; 41 | this.value = value; 42 | } 43 | 44 | /** 45 | * @return Returns the name. 46 | */ 47 | public String getName() { 48 | return name; 49 | } 50 | 51 | /** 52 | * @return Returns the value. 53 | */ 54 | public String getValue() { 55 | return value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/NotImplementedYetException.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | /** Thrown when something hasn't been implemented yet. 4 | * Based on an idea discussed in http://stackoverflow.com/questions/2329358/is-there-anything-like-nets-notimplementedexception-in-java 5 | * */ 6 | public class NotImplementedYetException extends RuntimeException { 7 | 8 | private static final long serialVersionUID = -1809608435437763522L; 9 | 10 | public NotImplementedYetException() { 11 | super("Not Implemented Yet"); 12 | } 13 | 14 | public NotImplementedYetException(final String msg) { 15 | super("Not Implemented Yet: " + msg); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/ObjectFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Oct 8, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | public interface ObjectFilter { 27 | public Object decode(Object source); 28 | 29 | public Object encode(Object source); 30 | } 31 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/RemovalEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.util; 22 | 23 | import java.util.EventObject; 24 | 25 | public class RemovalEvent extends EventObject { 26 | private static final long serialVersionUID = -5119617932860542348L; 27 | public final Object valueRemoved; 28 | 29 | public RemovalEvent(final Object source, final Object valueRemoved) { 30 | super(source); 31 | this.valueRemoved = valueRemoved; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/RemovalListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.util; 22 | 23 | import java.util.EventListener; 24 | 25 | public interface RemovalListener extends EventListener { 26 | public void removed(RemovalEvent event); 27 | } 28 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/SecurityUtil.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | import java.security.AccessController; 4 | import java.security.PrivilegedAction; 5 | 6 | public class SecurityUtil { 7 | 8 | public static T doPrivileged(final PrivilegedAction action) { 9 | final SecurityManager sm = System.getSecurityManager(); 10 | if (sm == null) { 11 | return action.run(); 12 | } else { 13 | return AccessController.doPrivileged(action); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/SimpleThreadPoolTask.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util; 2 | 3 | public interface SimpleThreadPoolTask extends Runnable { 4 | public void cancel(); 5 | } 6 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/WrapperException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Aug 6, 2005 23 | */ 24 | package org.lobobrowser.util; 25 | 26 | public class WrapperException extends RuntimeException { 27 | private static final long serialVersionUID = -1873416786560593951L; 28 | 29 | public WrapperException() { 30 | super(); 31 | } 32 | 33 | public WrapperException(final String message) { 34 | super(message); 35 | } 36 | 37 | public WrapperException(final String message, final Throwable cause) { 38 | super(message, cause); 39 | } 40 | 41 | public WrapperException(final Throwable cause) { 42 | super(cause); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/io/BufferExceededException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.util.io; 22 | 23 | public class BufferExceededException extends Exception { 24 | private static final long serialVersionUID = -3105309904365634760L; 25 | 26 | public BufferExceededException() { 27 | super(); 28 | } 29 | 30 | public BufferExceededException(final String message, final Throwable cause) { 31 | super(message, cause); 32 | } 33 | 34 | public BufferExceededException(final String message) { 35 | super(message); 36 | } 37 | 38 | public BufferExceededException(final Throwable cause) { 39 | super(cause); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/io/EmptyReader.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.util.io; 2 | 3 | import java.io.IOException; 4 | import java.io.Reader; 5 | 6 | public class EmptyReader extends Reader { 7 | @Override 8 | public void close() throws IOException { 9 | } 10 | 11 | @Override 12 | public int read(final char[] cbuf, final int off, final int len) throws IOException { 13 | return 0; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Common/org/lobobrowser/util/io/NetRoutines.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.util.io; 22 | 23 | import java.net.InetAddress; 24 | 25 | public class NetRoutines { 26 | public static boolean isLocalAddress(final String host) { 27 | try { 28 | final InetAddress address = InetAddress.getByName(host); 29 | return address.isAnyLocalAddress() || address.isLinkLocalAddress() || address.isLoopbackAddress() || address.isSiteLocalAddress(); 30 | } catch (final java.net.UnknownHostException uhe) { 31 | return false; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/HTML_Renderer/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/HTML_Renderer/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | HTML_Renderer 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/HTML_Renderer/COBRA-ACK.txt: -------------------------------------------------------------------------------- 1 | The following externals are used by this project: 2 | 3 | * [http://www.mozilla.org/rhino/] Rhino - Javascript for Java (MPL/GPL) 4 | We are using Rhino to process Javascript 5 | embedded in HTML documents. Rhino binaries 6 | (js.jar under the lib directory) are 7 | redistributed unmodified. We use Rhino 8 | 1.6R5 which is released under a dual MPL/GPL 9 | license. Note that the GPL license is 10 | applicable in this case, as that is the 11 | license that is compatible with the LGPL. 12 | Users should observe the GPL license of 13 | Rhino. 14 | 15 | * [http://cssparser.sourceforge.net/] Cssparser (LGPL) 16 | We use it to parse CSS code. We distribute its 17 | source code (modified) with Cobra. It is also 18 | available in CVS in module XAMJ_Project/cssparser. 19 | 20 | * [http://w3c.org] W3C DOM Java Bindings (W3C Software Copyright Notice and License) 21 | We implement these DOM interfaces. Source 22 | redistributed unmodified. See package 23 | org.w3c.dom.html2. 24 | -------------------------------------------------------------------------------- /src/HTML_Renderer/COBRA-README.txt: -------------------------------------------------------------------------------- 1 | Please see http://html.xamjwg.org/cobra.jsp for 2 | additional information on this toolkit. 3 | 4 | See the LICENSE.txt file for Cobra licensing 5 | and the COBRA-ACK.txt file for licensing 6 | information on Cobra dependencies. 7 | -------------------------------------------------------------------------------- /src/HTML_Renderer/docs/FloatsAndAbsolutes.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/HTML_Renderer/docs/FloatsAndAbsolutes.odt -------------------------------------------------------------------------------- /src/HTML_Renderer/docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Cobra Documentation 4 | 5 | 6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/HtmlObject.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html; 2 | 3 | import java.awt.Component; 4 | 5 | /** 6 | * This interface should be implemented to provide OBJECT, EMBED or APPLET 7 | * functionality. 8 | */ 9 | public interface HtmlObject { 10 | public Component getComponent(); 11 | 12 | public void suspend(); 13 | 14 | public void resume(); 15 | 16 | public void destroy(); 17 | 18 | /** 19 | * Called as the object is layed out, either the first time it's layed out or 20 | * whenever the DOM changes. This is where the object should reset its state 21 | * based on element children or attributes and possibly change its preferred 22 | * size if appropriate. 23 | */ 24 | public void reset(int availableWidth, int availableHeight); 25 | } 26 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/ReadyStateChangeListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Nov 13, 2005 23 | */ 24 | package org.lobobrowser.html; 25 | 26 | import java.util.EventListener; 27 | 28 | /** 29 | * The ReadyStateChangeListener interface is implemented to receive 30 | * ReadyState change events from {@link org.lobobrowser.html.HttpRequest}. 31 | * 32 | * @see org.lobobrowser.html.HttpRequest#addReadyStateChangeListener(ReadyStateChangeListener) 33 | * @author J. H. S. 34 | */ 35 | public interface ReadyStateChangeListener extends EventListener { 36 | /** 37 | * This method is called when the ReadyState changes. 38 | */ 39 | public void readyStateChanged(); 40 | } 41 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/AnonymousNodeImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import java.util.ArrayList; 4 | 5 | import org.lobobrowser.js.HideFromJS; 6 | import org.lobobrowser.util.NotImplementedYetException; 7 | import org.w3c.dom.DOMException; 8 | import org.w3c.dom.Node; 9 | 10 | public class AnonymousNodeImpl extends NodeImpl { 11 | public AnonymousNodeImpl(Node parentNode) { 12 | setParentImpl(parentNode); 13 | } 14 | 15 | @Override 16 | protected Node createSimilarNode() { 17 | throw new NotImplementedYetException(); 18 | } 19 | 20 | @Override 21 | public String getLocalName() { 22 | return ""; 23 | } 24 | 25 | @Override 26 | public String getNodeName() { 27 | return ""; 28 | } 29 | 30 | @Override 31 | public String getNodeValue() throws DOMException { 32 | return null; 33 | } 34 | 35 | @Override 36 | public void setNodeValue(String nodeValue) throws DOMException { 37 | // nop 38 | } 39 | 40 | @Override 41 | public short getNodeType() { 42 | return Node.ELEMENT_NODE; 43 | } 44 | 45 | /** Append child without informing the child of the new parent */ 46 | @HideFromJS 47 | public void appendChildSilently(NodeImpl c) { 48 | synchronized (this.treeLock) { 49 | ArrayList nl = this.nodeList; 50 | if (nl == null) { 51 | nl = new ArrayList<>(3); 52 | this.nodeList = nl; 53 | } 54 | nl.add(c); 55 | } 56 | } 57 | 58 | @Override 59 | public String toString() { 60 | return "Anonymous child of " + getParentNode(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/CDataSectionImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Sep 4, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.CDATASection; 27 | import org.w3c.dom.Node; 28 | 29 | public class CDataSectionImpl extends TextImpl implements CDATASection { 30 | 31 | public CDataSectionImpl() { 32 | super(); 33 | } 34 | 35 | public CDataSectionImpl(final String text) { 36 | super(text); 37 | } 38 | 39 | /* 40 | * (non-Javadoc) 41 | * 42 | * @see org.xamjwg.html.domimpl.NodeImpl#getnodeName() 43 | */ 44 | @Override 45 | public String getNodeName() { 46 | return "#cdata-section"; 47 | } 48 | 49 | /* 50 | * (non-Javadoc) 51 | * 52 | * @see org.xamjwg.html.domimpl.NodeImpl#getnodeType() 53 | */ 54 | @Override 55 | public short getNodeType() { 56 | return Node.CDATA_SECTION_NODE; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/DocumentNotificationAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | /** 24 | * An abstract implementation of {@link DocumentNotificationListener} with blank 25 | * methods, provided for convenience. 26 | */ 27 | public abstract class DocumentNotificationAdapter implements DocumentNotificationListener { 28 | public void allInvalidated() { 29 | } 30 | 31 | public void externalScriptLoading(final NodeImpl node) { 32 | } 33 | 34 | public void invalidated(final NodeImpl node) { 35 | } 36 | 37 | public void lookInvalidated(final NodeImpl node) { 38 | } 39 | 40 | public void nodeLoaded(final NodeImpl node) { 41 | } 42 | 43 | public void positionInvalidated(final NodeImpl node) { 44 | } 45 | 46 | public void sizeInvalidated(final NodeImpl node) { 47 | } 48 | 49 | public void structureInvalidated(final NodeImpl node) { 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/FrameNode.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import org.lobobrowser.html.BrowserFrame; 4 | 5 | /** 6 | * Tag interface for frame nodes. 7 | */ 8 | public interface FrameNode { 9 | public BrowserFrame getBrowserFrame(); 10 | 11 | public void setBrowserFrame(BrowserFrame frame); 12 | } 13 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLBRElementImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import org.w3c.dom.html.HTMLBRElement; 4 | 5 | public class HTMLBRElementImpl extends HTMLElementImpl implements HTMLBRElement { 6 | public HTMLBRElementImpl(final String name) { 7 | super(name); 8 | } 9 | 10 | public String getClear() { 11 | return this.getAttribute("clear"); 12 | } 13 | 14 | public void setClear(final String clear) { 15 | this.setAttribute("clear", clear); 16 | } 17 | 18 | @Override 19 | protected void appendInnerTextImpl(final StringBuffer buffer) { 20 | buffer.append("\r\n"); 21 | super.appendInnerTextImpl(buffer); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLButtonElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | public class HTMLButtonElementImpl extends HTMLBaseInputElement { 24 | public HTMLButtonElementImpl(final String name) { 25 | super(name); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLCenterElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | // TODO: Can be chopped off; this class is now a shell after removing createRenderState 24 | public class HTMLCenterElementImpl extends HTMLAbstractUIElement { 25 | public HTMLCenterElementImpl(final String name) { 26 | super(name); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLGenericMarkupElement.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | public class HTMLGenericMarkupElement extends HTMLAbstractUIElement { 4 | public HTMLGenericMarkupElement(final String name) { 5 | super(name); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLHRElementImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import org.w3c.dom.html.HTMLHRElement; 4 | 5 | public class HTMLHRElementImpl extends HTMLAbstractUIElement implements HTMLHRElement { 6 | public HTMLHRElementImpl(final String name) { 7 | super(name); 8 | } 9 | 10 | public String getAlign() { 11 | return this.getAttribute("align"); 12 | } 13 | 14 | public boolean getNoShade() { 15 | return "noshade".equalsIgnoreCase(this.getAttribute("noshade")); 16 | } 17 | 18 | public String getSize() { 19 | return this.getAttribute("size"); 20 | } 21 | 22 | public String getWidth() { 23 | return this.getAttribute("width"); 24 | } 25 | 26 | public void setAlign(final String align) { 27 | this.setAttribute("align", align); 28 | } 29 | 30 | public void setNoShade(final boolean noShade) { 31 | this.setAttribute("noshade", noShade ? "noshade" : null); 32 | } 33 | 34 | public void setSize(final String size) { 35 | this.setAttribute("size", size); 36 | } 37 | 38 | public void setWidth(final String width) { 39 | this.setAttribute("width", width); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLHtmlElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Oct 8, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.html.HTMLHtmlElement; 27 | 28 | public class HTMLHtmlElementImpl extends HTMLElementImpl implements HTMLHtmlElement { 29 | public HTMLHtmlElementImpl() { 30 | super("HTML", true); 31 | } 32 | 33 | public HTMLHtmlElementImpl(final String name) { 34 | super(name, true); 35 | } 36 | 37 | public String getVersion() { 38 | return this.getAttribute("version"); 39 | } 40 | 41 | public void setVersion(final String version) { 42 | this.setAttribute("version", version); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLNonStandardElement.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | public class HTMLNonStandardElement extends HTMLElementImpl { 4 | public HTMLNonStandardElement(final String name, final boolean noStyleSheet) { 5 | super(name, noStyleSheet); 6 | } 7 | 8 | public HTMLNonStandardElement(final String name) { 9 | super(name); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLOptionsCollectionImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import org.w3c.dom.DOMException; 4 | import org.w3c.dom.Node; 5 | import org.w3c.dom.html.HTMLCollection; 6 | import org.w3c.dom.html.HTMLOptionElement; 7 | 8 | public class HTMLOptionsCollectionImpl extends DescendentHTMLCollection implements HTMLCollection { 9 | public static final NodeFilter OPTION_FILTER = new OptionFilter(); 10 | 11 | public HTMLOptionsCollectionImpl(final HTMLElementImpl selectElement) { 12 | super(selectElement, OPTION_FILTER, selectElement.treeLock, false); 13 | } 14 | 15 | public void setLength(final int length) throws DOMException { 16 | throw new UnsupportedOperationException(); 17 | } 18 | 19 | private static class OptionFilter implements NodeFilter { 20 | public boolean accept(final Node node) { 21 | return node instanceof HTMLOptionElement; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLPElementImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.domimpl; 2 | 3 | import org.w3c.dom.html.HTMLParagraphElement; 4 | 5 | public class HTMLPElementImpl extends HTMLAbstractUIElement implements HTMLParagraphElement { 6 | public HTMLPElementImpl(final String name) { 7 | super(name); 8 | } 9 | 10 | public String getAlign() { 11 | return this.getAttribute("align"); 12 | } 13 | 14 | public void setAlign(final String align) { 15 | this.setAttribute("align", align); 16 | } 17 | 18 | @Override 19 | protected void appendInnerTextImpl(final StringBuffer buffer) { 20 | final int length = buffer.length(); 21 | int lineBreaks; 22 | if (length == 0) { 23 | lineBreaks = 2; 24 | } else { 25 | int start = length - 4; 26 | if (start < 0) { 27 | start = 0; 28 | } 29 | lineBreaks = 0; 30 | for (int i = start; i < length; i++) { 31 | final char ch = buffer.charAt(i); 32 | if (ch == '\n') { 33 | lineBreaks++; 34 | } 35 | } 36 | } 37 | for (int i = 0; i < (2 - lineBreaks); i++) { 38 | buffer.append("\r\n"); 39 | } 40 | super.appendInnerTextImpl(buffer); 41 | buffer.append("\r\n\r\n"); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLPreElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Feb 12, 2006 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.html.HTMLPreElement; 27 | 28 | public class HTMLPreElementImpl extends HTMLAbstractUIElement implements HTMLPreElement { 29 | public HTMLPreElementImpl(final String name) { 30 | super(name); 31 | } 32 | 33 | public int getWidth() { 34 | final String widthText = this.getAttribute("width"); 35 | if (widthText == null) { 36 | return 0; 37 | } 38 | try { 39 | return Integer.parseInt(widthText); 40 | } catch (final NumberFormatException nfe) { 41 | return 0; 42 | } 43 | } 44 | 45 | public void setWidth(final int width) { 46 | this.setAttribute("width", String.valueOf(width)); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLQuoteElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | import org.w3c.dom.html.HTMLQuoteElement; 24 | 25 | public class HTMLQuoteElementImpl extends HTMLElementImpl implements HTMLQuoteElement { 26 | public HTMLQuoteElementImpl(final String name) { 27 | super(name); 28 | } 29 | 30 | @Override 31 | public String getCite() { 32 | return getAttribute("cite"); 33 | } 34 | 35 | @Override 36 | public void setCite(String cite) { 37 | setAttribute("cite", cite); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLSpanElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Oct 8, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.html.HTMLElement; 27 | 28 | public class HTMLSpanElementImpl extends HTMLAbstractUIElement implements HTMLElement { 29 | public HTMLSpanElementImpl(final String name) { 30 | super(name); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLTableHeadElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | /** 24 | * Element used for TH. 25 | */ 26 | // TODO: Can be chopped off; this class is now a shell after removing createRenderState 27 | public class HTMLTableHeadElementImpl extends HTMLTableCellElementImpl { 28 | public HTMLTableHeadElementImpl(final String name) { 29 | super(name); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/HTMLUListElementImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Feb 12, 2006 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.html.HTMLUListElement; 27 | 28 | public class HTMLUListElementImpl extends HTMLAbstractUIElement implements HTMLUListElement { 29 | public HTMLUListElementImpl(final String name) { 30 | super(name); 31 | } 32 | 33 | public boolean getCompact() { 34 | final String compactText = this.getAttribute("compact"); 35 | return "compact".equalsIgnoreCase(compactText); 36 | } 37 | 38 | public void setCompact(final boolean compact) { 39 | this.setAttribute("compact", compact ? "compact" : null); 40 | } 41 | 42 | public String getType() { 43 | return this.getAttribute("type"); 44 | } 45 | 46 | public void setType(final String type) { 47 | this.setAttribute("type", type); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/ImageEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | import java.util.EventObject; 24 | 25 | import org.eclipse.jdt.annotation.NonNull; 26 | import org.lobobrowser.ua.ImageResponse; 27 | 28 | public class ImageEvent extends EventObject { 29 | private static final long serialVersionUID = 6412430882522254948L; 30 | public @NonNull final ImageResponse imageResponse; 31 | 32 | public ImageEvent(final Object source, final @NonNull ImageResponse imageResponse) { 33 | super(source); 34 | this.imageResponse = imageResponse; 35 | } 36 | 37 | @Override 38 | public String toString() { 39 | return "Image Event: " + source + ", response: " + imageResponse; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/ImageListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.domimpl; 22 | 23 | public interface ImageListener extends java.util.EventListener { 24 | public static final ImageListener[] EMPTY_ARRAY = new ImageListener[0]; 25 | 26 | public void imageLoaded(ImageEvent event); 27 | 28 | public void imageAborted(); 29 | } 30 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/NodeNameFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Dec 3, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.Node; 27 | 28 | public final class NodeNameFilter implements NodeFilter { 29 | private final String elementName; 30 | 31 | /** 32 | * @param name 33 | */ 34 | public NodeNameFilter(final String name) { 35 | super(); 36 | elementName = name; 37 | } 38 | 39 | public final boolean accept(final Node node) { 40 | return this.elementName.equalsIgnoreCase(node.getNodeName()); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/NodeVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Oct 9, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | public interface NodeVisitor { 27 | /** 28 | * Visits a node. The call should be expected to occur in a synchronized 29 | * block. The lock will be node-dependent. 30 | * 31 | * @param node 32 | */ 33 | public void visit(org.w3c.dom.Node node); 34 | } 35 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/SkipVisitorException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Dec 3, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | class SkipVisitorException extends RuntimeException { 27 | private static final long serialVersionUID = 4031730152218808122L; 28 | 29 | public SkipVisitorException() { 30 | super(); 31 | } 32 | 33 | public SkipVisitorException(final String message) { 34 | super(message); 35 | } 36 | 37 | public SkipVisitorException(final String message, final Throwable cause) { 38 | super(message, cause); 39 | } 40 | 41 | public SkipVisitorException(final Throwable cause) { 42 | super(cause); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/TextFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Nov 13, 2005 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import org.w3c.dom.Node; 27 | 28 | public class TextFilter implements NodeFilter { 29 | public TextFilter() { 30 | super(); 31 | } 32 | 33 | public boolean accept(final Node node) { 34 | return node instanceof org.w3c.dom.Text; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/UINode.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jan 14, 2006 23 | */ 24 | package org.lobobrowser.html.domimpl; 25 | 26 | import java.awt.Rectangle; 27 | 28 | /** 29 | * A UI node abstraction that is used to send notifications back to the UI and 30 | * to obtain information the DOM needs from the UI (such as image dimensions). 31 | */ 32 | public interface UINode { 33 | /** 34 | * Called 35 | * 36 | * @param modelNode 37 | */ 38 | public void repaint(ModelNode modelNode); 39 | 40 | public Rectangle getBounds(); 41 | 42 | public Rectangle getBoundsRelativeToBlock(); 43 | 44 | public void focus(); 45 | 46 | public void blur(); 47 | } 48 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/domimpl/package.html: -------------------------------------------------------------------------------- 1 | Contains an implementation of the W3C HTML DOM Level 2 interfaces. 2 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/gui/DocumentNotification.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.gui; 2 | 3 | import org.lobobrowser.html.domimpl.NodeImpl; 4 | 5 | class DocumentNotification { 6 | public static final int LOOK = 0; 7 | public static final int POSITION = 1; 8 | public static final int SIZE = 2; 9 | public static final int GENERIC = 3; 10 | 11 | public final int type; 12 | public final NodeImpl node; 13 | 14 | public DocumentNotification(final int type, final NodeImpl node) { 15 | this.type = type; 16 | this.node = node; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "DocumentNotification[type=" + this.type + ",node=" + this.node + "]"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/gui/SelectionChangeEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | 22 | package org.lobobrowser.html.gui; 23 | 24 | import java.util.EventObject; 25 | 26 | /** 27 | * Event associated with {@link SelectionChangeListener}. 28 | */ 29 | public class SelectionChangeEvent extends EventObject { 30 | private static final long serialVersionUID = -8905790265416738277L; 31 | private final boolean hasSelection; 32 | 33 | public SelectionChangeEvent(final Object source, final boolean hasSelection) { 34 | super(source); 35 | this.hasSelection = hasSelection; 36 | } 37 | 38 | public boolean isSelectionAvailable() { 39 | return this.hasSelection; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/gui/SelectionChangeListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | 22 | package org.lobobrowser.html.gui; 23 | 24 | import java.util.EventListener; 25 | 26 | /** 27 | * Receives selection change events. 28 | * 29 | * @author J. H. S. 30 | * @see org.lobobrowser.html.gui.HtmlPanel#addSelectionChangeListener(SelectionChangeListener) 31 | */ 32 | public interface SelectionChangeListener extends EventListener { 33 | /** 34 | * Receives a selection change event. This method may be assumed to execute in 35 | * the GUI thread. 36 | * 37 | * @param event 38 | * A {@link SelectionChangeEvent} instance. 39 | */ 40 | public void selectionChanged(SelectionChangeEvent event); 41 | } 42 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/gui/package.html: -------------------------------------------------------------------------------- 1 | Contains Java Swing components that render a HTML DOM. 2 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/js/NotGetterSetter.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.js; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * Ensures that a method is not treated as a getter / setter 8 | */ 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface NotGetterSetter { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/js/ObjectFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Nov 12, 2005 23 | */ 24 | package org.lobobrowser.html.js; 25 | 26 | public interface ObjectFilter { 27 | public boolean accept(Object target); 28 | } 29 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/js/PropertyName.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.js; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import org.lobobrowser.js.JavaClassWrapper; 7 | 8 | /** 9 | * Specifies the property name directly instead of being inferred. In the longer 10 | * run, it might be better to add {@link java.beans.BeanInfo} awareness in 11 | * {@link JavaClassWrapper} 12 | */ 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface PropertyName { 15 | 16 | String value(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/js/Storage.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.js; 2 | 3 | /** Dummy implementation of Storage API */ 4 | final public class Storage { 5 | 6 | public String getItem(final String key) { 7 | return null; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/package.html: -------------------------------------------------------------------------------- 1 | Context interfaces that need to be implemented in order 2 | to use the parser and renderer. -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/parser/StopException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Oct 23, 2005 23 | */ 24 | package org.lobobrowser.html.parser; 25 | 26 | import org.w3c.dom.Element; 27 | 28 | class StopException extends Exception { 29 | private static final long serialVersionUID = 5937640406056298831L; 30 | private final Element element; 31 | 32 | /** 33 | * @param element 34 | */ 35 | public StopException(final Element element) { 36 | super(); 37 | this.element = element; 38 | } 39 | 40 | public Element getElement() { 41 | return this.element; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/parser/package.html: -------------------------------------------------------------------------------- 1 | Contains HTML parser classes. 2 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/BaseBlockyRenderable.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | import java.awt.Graphics; 4 | import java.awt.event.MouseEvent; 5 | 6 | import org.lobobrowser.html.domimpl.ModelNode; 7 | import org.lobobrowser.ua.UserAgentContext; 8 | 9 | abstract class BaseBlockyRenderable extends BaseElementRenderable { 10 | 11 | public BaseBlockyRenderable(RenderableContainer container, ModelNode modelNode, UserAgentContext ucontext) { 12 | super(container, modelNode, ucontext); 13 | } 14 | 15 | public abstract void layout(int availWidth, int availHeight, boolean b, boolean c, FloatingBoundsSource source, boolean sizeOnly); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/BaseRenderable.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | abstract class BaseRenderable implements Renderable { 4 | private int ordinal = 0; 5 | 6 | public int getOrdinal() { 7 | return this.ordinal; 8 | } 9 | 10 | public int getZIndex() { 11 | return 0; 12 | } 13 | 14 | public void setOrdinal(final int ordinal) { 15 | this.ordinal = ordinal; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/BrokenComponent.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | import java.awt.Color; 4 | import java.awt.Component; 5 | import java.awt.Dimension; 6 | import java.awt.Graphics; 7 | 8 | class BrokenComponent extends Component { 9 | private static final long serialVersionUID = -6506487314783190388L; 10 | 11 | @Override 12 | public Dimension getPreferredSize() { 13 | return new Dimension(10, 10); 14 | } 15 | 16 | @Override 17 | public void update(final Graphics g) { 18 | this.paint(g); 19 | } 20 | 21 | @Override 22 | public void paint(final Graphics g) { 23 | g.setColor(Color.RED); 24 | final Dimension size = this.getSize(); 25 | g.drawRect(0, 0, size.width, size.height); 26 | g.drawLine(0, 0, size.width - 1, size.height - 1); 27 | g.drawLine(size.width - 1, 0, 0, size.height - 1); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/ExportableFloat.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | public class ExportableFloat { 24 | public static final ExportableFloat[] EMPTY_ARRAY = new ExportableFloat[0]; 25 | public final RElement element; 26 | public final boolean leftFloat; 27 | public final int origX, origY; 28 | 29 | public boolean pendingPlacement = true; 30 | 31 | public ExportableFloat(final RElement element, final boolean leftFloat, final int origX, final int origY) { 32 | super(); 33 | this.element = element; 34 | this.leftFloat = leftFloat; 35 | this.origX = origX; 36 | this.origY = origY; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/ExportedRenderable.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | class ExportedRenderable { 24 | public final RBlockViewport originalTarget; 25 | public final BoundableRenderable renderable; 26 | 27 | /** 28 | * Coordinates in original target, for aligned blocks. 29 | */ 30 | public final int x, y; 31 | 32 | /** 33 | * -1 (left), 0, or +1 (right). 34 | */ 35 | public final int alignment; 36 | 37 | public ExportedRenderable(final RBlockViewport originalTarget, final BoundableRenderable renderable, final int x, final int y, 38 | final int alignment) { 39 | super(); 40 | this.originalTarget = originalTarget; 41 | this.x = x; 42 | this.y = y; 43 | this.alignment = alignment; 44 | this.renderable = renderable; 45 | } 46 | } -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/FloatingBounds.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | interface FloatingBounds { 24 | /** 25 | * The offset from the left at the given Y, not counting insets. 26 | */ 27 | public int getLeft(int y); 28 | 29 | /** 30 | * The offset from the right at the given Y, not counting insets. 31 | */ 32 | public int getRight(int y); 33 | 34 | /** 35 | * The Y at which the float clears starting at the given Y. 36 | */ 37 | public int getClearY(int y); 38 | 39 | /** 40 | * The Y at which the first float clears. It does not recurse to check other 41 | * floats. 42 | */ 43 | public int getFirstClearY(int y); 44 | 45 | public int getLeftClearY(int y); 46 | 47 | public int getRightClearY(int y); 48 | 49 | public int getMaxY(); 50 | } 51 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/FloatingBoundsSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | interface FloatingBoundsSource { 24 | public FloatingBounds getChildBlockFloatingBounds(int apparentBlockWidth); 25 | } 26 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/FloatingInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | public class FloatingInfo { 24 | public final int shiftX, shiftY; 25 | public final ExportableFloat[] floats; 26 | 27 | public FloatingInfo(final int shiftX, final int shiftY, final ExportableFloat[] floats) { 28 | super(); 29 | this.shiftX = shiftX; 30 | this.shiftY = shiftY; 31 | this.floats = floats; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/FrameContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | import org.lobobrowser.html.domimpl.NodeImpl; 24 | 25 | /** 26 | * Provides direct access to the GUI component where the document is rendered, 27 | * typically a browser frame of some sort. 28 | */ 29 | public interface FrameContext { 30 | public void resetSelection(RenderableSpot rpoint); 31 | 32 | public void expandSelection(RenderableSpot rpoint); 33 | 34 | public void delayedRelayout(NodeImpl node); 35 | } 36 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/InputPasswordControl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jan 15, 2006 23 | */ 24 | package org.lobobrowser.html.renderer; 25 | 26 | import javax.swing.JPasswordField; 27 | import javax.swing.text.JTextComponent; 28 | 29 | import org.lobobrowser.html.domimpl.HTMLBaseInputElement; 30 | 31 | class InputPasswordControl extends InputTextControl { 32 | private static final long serialVersionUID = -5595867004382157867L; 33 | 34 | public InputPasswordControl(final HTMLBaseInputElement modelNode) { 35 | super(modelNode); 36 | } 37 | 38 | /* 39 | * (non-Javadoc) 40 | * 41 | * @see 42 | * org.xamjwg.html.renderer.InputTextControl#createTextField(java.lang.String) 43 | */ 44 | @Override 45 | protected JTextComponent createTextField() { 46 | return new JPasswordField(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/MarkupLayout.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Nov 6, 2005 23 | */ 24 | package org.lobobrowser.html.renderer; 25 | 26 | import org.lobobrowser.html.domimpl.HTMLElementImpl; 27 | 28 | interface MarkupLayout { 29 | public void layoutMarkup(RBlockViewport bodyLayout, HTMLElementImpl markupElement); 30 | } 31 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/NodeRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jan 29, 2006 23 | */ 24 | package org.lobobrowser.html.renderer; 25 | 26 | import org.lobobrowser.html.domimpl.NodeImpl; 27 | 28 | public interface NodeRenderer { 29 | public void setRootNode(NodeImpl node); 30 | } 31 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/OverflowException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Apr 23, 2005 23 | */ 24 | package org.lobobrowser.html.renderer; 25 | 26 | import java.util.Collection; 27 | 28 | /** 29 | * @author J. H. S. 30 | */ 31 | class OverflowException extends Exception { 32 | private static final long serialVersionUID = -5737714010798136643L; 33 | private final Collection renderables; 34 | 35 | /** 36 | * 37 | */ 38 | public OverflowException(final Collection renderables) { 39 | super(); 40 | this.renderables = renderables; 41 | } 42 | 43 | public Collection getRenderables() { 44 | return this.renderables; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/RFloatInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.renderer; 22 | 23 | import java.awt.Graphics; 24 | 25 | import org.lobobrowser.html.domimpl.ModelNode; 26 | 27 | final class RFloatInfo implements Renderable { 28 | private final ModelNode modelNode; 29 | private final RElement element; 30 | private final boolean leftFloat; 31 | 32 | public RFloatInfo(final ModelNode node, final RElement element, final boolean leftFloat) { 33 | this.modelNode = node; 34 | this.element = element; 35 | this.leftFloat = leftFloat; 36 | } 37 | 38 | public boolean isLeftFloat() { 39 | return this.leftFloat; 40 | } 41 | 42 | public ModelNode getModelNode() { 43 | return this.modelNode; 44 | } 45 | 46 | public void paint(final Graphics g) { 47 | // nop 48 | } 49 | 50 | public final RElement getRenderable() { 51 | return element; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/Range.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Apr 16, 2005 23 | */ 24 | package org.lobobrowser.html.renderer; 25 | 26 | /** 27 | * @author J. H. S. 28 | */ 29 | class Range { 30 | public final int offset; 31 | public final int length; 32 | 33 | /** 34 | * @param offset 35 | * @param length 36 | */ 37 | public Range(final int offset, final int length) { 38 | super(); 39 | this.offset = offset; 40 | this.length = length; 41 | } 42 | 43 | @Override 44 | public String toString() { 45 | return "Range[offset=" + this.offset + ",length=" + this.length + "]"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/RenderUtils.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | import java.util.Iterator; 4 | 5 | import org.w3c.dom.html.HTMLHtmlElement; 6 | 7 | public final class RenderUtils { 8 | 9 | public static Renderable findHtmlRenderable(RCollection root) { 10 | final Iterator rs = root.getRenderables(); 11 | if (rs != null) { 12 | while (rs.hasNext()) { 13 | final Renderable r = rs.next(); 14 | if (r.getModelNode() instanceof HTMLHtmlElement) { 15 | return r; 16 | } 17 | } 18 | } 19 | 20 | return null; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/SizeExceededException.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | class SizeExceededException extends RuntimeException { 4 | private static final long serialVersionUID = 5789004695720876706L; 5 | 6 | public SizeExceededException() { 7 | super(); 8 | } 9 | 10 | public SizeExceededException(final String message, final Throwable cause) { 11 | super(message, cause); 12 | } 13 | 14 | public SizeExceededException(final String message) { 15 | super(message); 16 | } 17 | 18 | public SizeExceededException(final Throwable cause) { 19 | super(cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/ZIndexComparator.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.renderer; 2 | 3 | import java.util.Comparator; 4 | 5 | class ZIndexComparator implements Comparator { 6 | // Note: It is assumed that objects don't change their 7 | // z-indexes or ordinals after entering the sorted set. 8 | // They may do so after the sorted set is no longer valid. 9 | public int compare(final PositionedRenderable element1, final PositionedRenderable element2) { 10 | final int zIndex1 = element1.renderable.getZIndex(); 11 | final int zIndex2 = element2.renderable.getZIndex(); 12 | final int diff = zIndex1 - zIndex2; 13 | if (diff != 0) { 14 | return diff; 15 | } 16 | return element1.ordinal - element2.ordinal; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/renderer/package.html: -------------------------------------------------------------------------------- 1 | Contains the HTML renderer infrastructure. 2 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/BaseFontRenderState.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.html.style; 2 | 3 | public class BaseFontRenderState extends RenderStateDelegator { 4 | private final int fontBase; 5 | 6 | public BaseFontRenderState(final RenderState prevRenderState, final int fontBase) { 7 | super(prevRenderState); 8 | this.fontBase = fontBase; 9 | } 10 | 11 | @Override 12 | public int getFontBase() { 13 | return this.fontBase; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/BlockRenderState.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | 22 | package org.lobobrowser.html.style; 23 | 24 | import org.lobobrowser.html.domimpl.HTMLDocumentImpl; 25 | import org.lobobrowser.html.domimpl.HTMLElementImpl; 26 | 27 | /** 28 | * Render state for elements that are displayed as blocks by default. 29 | */ 30 | public class BlockRenderState extends StyleSheetRenderState { 31 | public BlockRenderState(final RenderState prevRenderState, final HTMLElementImpl element) { 32 | super(prevRenderState, element); 33 | } 34 | 35 | public BlockRenderState(final HTMLDocumentImpl document) { 36 | super(document); 37 | } 38 | 39 | @Override 40 | public int getDefaultDisplay() { 41 | return DISPLAY_BLOCK; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/BorderInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The XAMJ Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.style; 22 | 23 | import java.awt.Color; 24 | 25 | public class BorderInfo { 26 | public int topStyle; 27 | public int leftStyle; 28 | public int bottomStyle; 29 | public int rightStyle; 30 | 31 | public Color topColor; 32 | public Color leftColor; 33 | public Color bottomColor; 34 | public Color rightColor; 35 | 36 | public HtmlInsets insets; 37 | 38 | @Override 39 | public String toString() { 40 | return "BorderInfo [topStyle=" + topStyle + ", leftStyle=" + leftStyle + ", bottomStyle=" + bottomStyle + ", rightStyle=" + rightStyle 41 | + ", topColor=" + topColor + ", leftColor=" + leftColor + ", bottomColor=" + bottomColor + ", rightColor=" + rightColor 42 | + ", insets=" + insets + "]"; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/CSS2PropertiesContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.style; 22 | 23 | public interface CSS2PropertiesContext { 24 | public void informLookInvalid(); 25 | 26 | public void informSizeInvalid(); 27 | 28 | public void informPositionInvalid(); 29 | 30 | public void informLayoutInvalid(); 31 | 32 | public void informInvalid(); 33 | 34 | public String getDocumentBaseURI(); 35 | } 36 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/FontInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.style; 22 | 23 | class FontInfo { 24 | public String fontFamily; 25 | public String fontStyle; 26 | public String fontVariant; 27 | public String fontWeight; 28 | public String fontSize; 29 | } -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/RenderThreadState.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.html.style; 22 | 23 | /** 24 | * Additional state that may be set during rendering to override state 25 | * determined from elements. 26 | */ 27 | public class RenderThreadState { 28 | private static final ThreadLocal stateTL = new ThreadLocal<>(); 29 | public boolean overrideNoWrap; 30 | 31 | private RenderThreadState() { 32 | } 33 | 34 | public static RenderThreadState getState() { 35 | RenderThreadState ts = stateTL.get(); 36 | if (ts == null) { 37 | ts = new RenderThreadState(); 38 | stateTL.set(ts); 39 | } 40 | return ts; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/html/style/WordInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Apr 17, 2005 23 | */ 24 | package org.lobobrowser.html.style; 25 | 26 | import java.awt.FontMetrics; 27 | 28 | /** 29 | * @author J. H. S. 30 | */ 31 | class WordInfo { 32 | public FontMetrics fontMetrics; 33 | public int descent; 34 | public int ascentPlusLeading; 35 | public int width; 36 | public int height; 37 | } 38 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/js/AbstractScriptableDelegate.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.js; 22 | 23 | import org.mozilla.javascript.Scriptable; 24 | 25 | public abstract class AbstractScriptableDelegate implements ScriptableDelegate { 26 | private Scriptable scriptable; 27 | 28 | public Scriptable getScriptable() { 29 | return this.scriptable; 30 | } 31 | 32 | public void setScriptable(final Scriptable scriptable) { 33 | this.scriptable = scriptable; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/js/HideFromJS.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.js; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * Ensures that a function or property is hidden from JS 8 | */ 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface HideFromJS { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/HTML_Renderer/org/lobobrowser/js/JavaInstantiator.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.js; 2 | 3 | public interface JavaInstantiator { 4 | public Object newInstance(Object[] args) throws InstantiationException, IllegalAccessException; 5 | } 6 | -------------------------------------------------------------------------------- /src/Platform_Core/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Platform_Core/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Platform_Core 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Platform_Core/README.txt: -------------------------------------------------------------------------------- 1 | This project module is built into the main platform 2 | executable. It is a relatively compact core. The rest 3 | of the browser/platform is made of plugins. The 4 | module Primary_Extension contains all the essential 5 | browser functionality. 6 | 7 | This module is released under the GPL license. 8 | 9 | These are the *VM* arguments currently (5/20/2007) needed 10 | to run Lobo from source (in Eclipse at least): 11 | 12 | # New 13 | -Dext.dirs=../XAMJ_Build/ext -Dext.files=../HTML_Renderer/bin,../Primary_Extension/bin -Djava.security.debug=denied 14 | 15 | # Original 16 | -Dext.dirs=/opt/XAMJ_Project/XAMJ_Build/ext -Dext.files=/opt/XAMJ_Project/Primary_Extension,/opt/XAMJ_Project/Common,/opt/XAMJ_Project/HTML_Renderer,/opt/XAMJ_Project/cssparser/bin,/opt/XAMJ_Project/JWebContentExtension 17 | 18 | The following are recommended *program* arguments to run 19 | from source: 20 | 21 | -debug 22 | 23 | The entry point class is org.lobobrowser.main.EntryPoint. 24 | 25 | ---------------------------------------------------------------- 26 | NOTE: All Lobo windows should be closed before launching the 27 | browser, particularly after you've made code changes. EntryPoint 28 | will try to reuse any running instances. 29 | ---------------------------------------------------------------- 30 | -------------------------------------------------------------------------------- /src/Platform_Core/images/gngrLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/images/gngrLogo.png -------------------------------------------------------------------------------- /src/Platform_Core/images/gngrLogo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/images/gngrLogo16.png -------------------------------------------------------------------------------- /src/Platform_Core/info/gngr/db/Public.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This class is generated by jOOQ 3 | */ 4 | package info.gngr.db; 5 | 6 | /** 7 | * This class is generated by jOOQ. 8 | */ 9 | @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) 10 | public class Public extends org.jooq.impl.SchemaImpl { 11 | 12 | private static final long serialVersionUID = -1797739777; 13 | 14 | /** 15 | * The reference instance of PUBLIC 16 | */ 17 | public static final Public PUBLIC = new Public(); 18 | 19 | /** 20 | * No further instances allowed 21 | */ 22 | private Public() { 23 | super("PUBLIC"); 24 | } 25 | 26 | @Override 27 | public final java.util.List> getTables() { 28 | final java.util.List result = new java.util.ArrayList(); 29 | result.addAll(getTables0()); 30 | return result; 31 | } 32 | 33 | private final java.util.List> getTables0() { 34 | return java.util.Arrays.> asList( 35 | info.gngr.db.tables.Permissions.PERMISSIONS, 36 | info.gngr.db.tables.Cookies.COOKIES, 37 | info.gngr.db.tables.Globals.GLOBALS); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Core/info/gngr/db/Tables.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This class is generated by jOOQ 3 | */ 4 | package info.gngr.db; 5 | 6 | /** 7 | * Convenience access to all tables in PUBLIC 8 | */ 9 | @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) 10 | public class Tables { 11 | 12 | /** 13 | * The table PUBLIC.PERMISSIONS 14 | */ 15 | public static final info.gngr.db.tables.Permissions PERMISSIONS = info.gngr.db.tables.Permissions.PERMISSIONS; 16 | 17 | /** 18 | * The table PUBLIC.COOKIES 19 | */ 20 | public static final info.gngr.db.tables.Cookies COOKIES = info.gngr.db.tables.Cookies.COOKIES; 21 | 22 | /** 23 | * The table PUBLIC.GLOBALS 24 | */ 25 | public static final info.gngr.db.tables.Globals GLOBALS = info.gngr.db.tables.Globals.GLOBALS; 26 | } 27 | -------------------------------------------------------------------------------- /src/Platform_Core/info/gngr/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS PERMISSIONS( 2 | frameHost VARCHAR NOT NULL, 3 | requestHost VARCHAR NOT NULL, 4 | permissions INT4, 5 | PRIMARY KEY (frameHost, requestHost) 6 | ); 7 | 8 | CREATE TABLE IF NOT EXISTS COOKIES( 9 | hostName VARCHAR NOT NULL, 10 | name VARCHAR NOT NULL, 11 | value VARCHAR NOT NULL, 12 | path VARCHAR NOT NULL, 13 | secure BOOLEAN, 14 | httpOnly BOOLEAN, 15 | creationTime INT8, 16 | expirationTime INT8, 17 | PRIMARY KEY (hostName, name) 18 | ); 19 | 20 | CREATE TABLE IF NOT EXISTS GLOBALS( 21 | notacolumn CHAR(0) NOT NULL, 22 | schemaVersion INT4 NOT NULL, 23 | permissionsInitialized BOOLEAN NOT NULL DEFAULT(FALSE), 24 | PRIMARY KEY (notacolumn) 25 | ); 26 | 27 | INSERT INTO GLOBALS VALUES ('', 0, FALSE); 28 | -------------------------------------------------------------------------------- /src/Platform_Core/lib/h2-1.4.196.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/h2-1.4.196.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/javatuples-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/javatuples-1.2.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/jooq-3.4.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/jooq-3.4.2.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/okhttp-3.13.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/okhttp-3.13.1.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/okhttp-urlconnection-3.13.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/okhttp-urlconnection-3.13.1.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/okio-1.17.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/okio-1.17.3.jar -------------------------------------------------------------------------------- /src/Platform_Core/lib/public-suffix-list_0.1_28Jun.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/lib/public-suffix-list_0.1_28Jun.jar -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/async/AsyncResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Mar 31, 2005 23 | */ 24 | package org.lobobrowser.async; 25 | 26 | /** 27 | * Used by methods that need to return results asynchronously. Results are 28 | * received in the event dispatch thread. This is a generic class that takes a 29 | * type parameter TResult, the type of the expected result object. 30 | * 31 | * @author J. H. S. 32 | */ 33 | public interface AsyncResult { 34 | /** 35 | * Registers a listener of asynchronous results. 36 | * 37 | * @param listener 38 | */ 39 | public void addResultListener(AsyncResultListener listener); 40 | 41 | /** 42 | * Removes a listener. 43 | */ 44 | public void removeResultListener(AsyncResultListener listener); 45 | 46 | /** 47 | * Forces listeners to be notified of a result if there is one. 48 | */ 49 | public void signal(); 50 | } 51 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/context/ClientletThreadGroupImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.context; 22 | 23 | import org.lobobrowser.clientlet.ClientletContext; 24 | import org.lobobrowser.clientlet.ClientletThreadGroup; 25 | 26 | public class ClientletThreadGroupImpl extends ThreadGroup implements ClientletThreadGroup { 27 | private final ClientletContext context; 28 | 29 | public ClientletThreadGroupImpl(final String name, final ClientletContext context) { 30 | super(name); 31 | this.context = context; 32 | } 33 | 34 | public ClientletContext getClientletContext() { 35 | return this.context; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/context/CoreClientletSelector.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.context; 22 | 23 | import org.lobobrowser.clientlet.Clientlet; 24 | import org.lobobrowser.clientlet.ClientletRequest; 25 | import org.lobobrowser.clientlet.ClientletResponse; 26 | import org.lobobrowser.clientlet.ClientletSelector; 27 | import org.lobobrowser.main.ExtensionManager; 28 | 29 | public class CoreClientletSelector implements ClientletSelector { 30 | public Clientlet select(final ClientletRequest request, final ClientletResponse response) { 31 | return ExtensionManager.getInstance().getClientlet(request, response); 32 | } 33 | 34 | public Clientlet lastResortSelect(final ClientletRequest request, final ClientletResponse response) { 35 | throw new IllegalStateException("not expected to be called"); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/AddressBarPanel.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.awt.Dimension; 24 | 25 | import javax.swing.BoxLayout; 26 | import javax.swing.JPanel; 27 | 28 | /** 29 | * The address bar panel of a browser window. 30 | */ 31 | public class AddressBarPanel extends JPanel { 32 | private static final long serialVersionUID = 7431964124359865455L; 33 | 34 | public AddressBarPanel() { 35 | this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); 36 | } 37 | 38 | @Override 39 | public Dimension getPreferredSize() { 40 | return new Dimension(1, 32); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/BrowserWindow.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | /** 24 | * Whenever {@link FramePanel} is used, browser windows should implement this 25 | * interface or extend {@link AbstractBrowserWindow}. Note that 26 | * {@link BrowserPanel} implements this interface already, so it is not 27 | * necessary to have windows implement it when BrowserPanel is 28 | * used. 29 | */ 30 | public interface BrowserWindow { 31 | /** 32 | * Gets the root {@link FramePanel} of the window. 33 | */ 34 | public FramePanel getTopFramePanel(); 35 | 36 | /** 37 | * Gets a {@link WindowCallback} instance that receives navigation 38 | * notifications. This method may return null. 39 | */ 40 | public WindowCallback getWindowCallback(); 41 | } 42 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ContentAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | /** 24 | * A convenience abstract implementation of {@link ContentListener}, with blank 25 | * methods. 26 | */ 27 | public abstract class ContentAdapter implements ContentListener { 28 | public void contentSet(final ContentEvent event) { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ContentEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.util.EventObject; 24 | 25 | import org.lobobrowser.clientlet.ClientletResponse; 26 | import org.lobobrowser.clientlet.ComponentContent; 27 | 28 | public class ContentEvent extends EventObject { 29 | private static final long serialVersionUID = -4559311049724136049L; 30 | private final ComponentContent content; 31 | private final ClientletResponse response; 32 | 33 | public ContentEvent(final Object source, final ComponentContent content, final ClientletResponse response) { 34 | super(source); 35 | this.content = content; 36 | this.response = response; 37 | } 38 | 39 | public ComponentContent getContent() { 40 | return content; 41 | } 42 | 43 | public ClientletResponse getResponse() { 44 | return response; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ContentListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.util.EventListener; 24 | 25 | /** 26 | * A listener of content events. 27 | * 28 | * @see FramePanel#addContentListener(ContentListener) 29 | * @see FramePanel#getComponentContent() 30 | */ 31 | public interface ContentListener extends EventListener { 32 | static final ContentListener[] EMPTY_ARRAY = new ContentListener[0]; 33 | 34 | /** 35 | * Called as soon as the content has been set in a {@link FramePanel}. Note 36 | * that content can be set before the originating document has been fully 37 | * loaded, for example when incremental rendering is performed. 38 | * 39 | * @param event 40 | * The content event. 41 | */ 42 | public void contentSet(ContentEvent event); 43 | } 44 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/DefaultFramePanelFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | public class DefaultFramePanelFactory implements FramePanelFactory { 24 | public FramePanel createFramePanel(final FramePanel parent) { 25 | return new FramePanel(parent); 26 | } 27 | 28 | public FramePanel createFramePanel(final String windowId) { 29 | return new FramePanel(windowId); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/FramePanelFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | /** 24 | * A factory used to create {@link FramePanel} instances. 25 | */ 26 | public interface FramePanelFactory { 27 | /** 28 | * Creates a {@link FramePanel} given its parent. 29 | * 30 | * @param parent 31 | * The containing {@link FramePanel}. 32 | */ 33 | 34 | public FramePanel createFramePanel(FramePanel parent); 35 | 36 | /** 37 | * Creates a top-level{@link FramePanel} given a window ID. 38 | * 39 | * @param windowId 40 | * A string that identifies the window. This may be null 41 | * . 42 | */ 43 | public FramePanel createFramePanel(String windowId); 44 | } 45 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/NavigationAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import org.lobobrowser.ua.NavigationEvent; 24 | import org.lobobrowser.ua.NavigationListener; 25 | import org.lobobrowser.ua.NavigationVetoException; 26 | 27 | /** 28 | * A convenience abstract implementation of {@link NavigationListener}, with 29 | * blank methods. 30 | */ 31 | public abstract class NavigationAdapter implements NavigationListener { 32 | public void beforeLocalNavigate(final NavigationEvent event) throws NavigationVetoException { 33 | } 34 | 35 | public void beforeNavigate(final NavigationEvent event) throws NavigationVetoException { 36 | } 37 | 38 | public void beforeWindowOpen(final NavigationEvent event) throws NavigationVetoException { 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/OpenProgressBar.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.awt.Graphics; 24 | import java.util.logging.Level; 25 | import java.util.logging.Logger; 26 | 27 | import javax.swing.JProgressBar; 28 | 29 | public class OpenProgressBar extends JProgressBar { 30 | private static final long serialVersionUID = -4070820733226115064L; 31 | private static final Logger logger = Logger.getLogger(OpenProgressBar.class.getName()); 32 | 33 | @Override 34 | public void paintComponent(final Graphics g) { 35 | try { 36 | super.paintComponent(g); 37 | } catch (final Exception err) { 38 | logger.log(Level.SEVERE, "paintComponent(): Swing bug?", err); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ResponseAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | /** 24 | * A convenience abstract implementation of {@link ResponseListener}, with blank 25 | * methods. 26 | */ 27 | public abstract class ResponseAdapter implements ResponseListener { 28 | public void responseProcessed(final ResponseEvent event) { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ResponseEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.util.EventObject; 24 | 25 | import org.lobobrowser.clientlet.ClientletResponse; 26 | 27 | public class ResponseEvent extends EventObject { 28 | // private final ClientletResponse response; 29 | 30 | private static final long serialVersionUID = 493816215818742336L; 31 | 32 | public ResponseEvent(final Object source, final ClientletResponse response) { 33 | super(source); 34 | // this.response = response; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/ResponseListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.util.EventListener; 24 | 25 | /** 26 | * A listener of response events. 27 | * 28 | * @see FramePanel#addResponseListener(ResponseListener) 29 | */ 30 | public interface ResponseListener extends EventListener { 31 | /** 32 | * This method is called as soon as a clientlet response intended for the 33 | * event frame has been fully processed. 34 | * 35 | * @param event 36 | * A response event. 37 | */ 38 | public void responseProcessed(ResponseEvent event); 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/RigidComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.awt.Component; 24 | import java.awt.Dimension; 25 | 26 | import javax.swing.Box.Filler; 27 | 28 | /** 29 | * A component used in conjunction with BoxLayout 30 | */ 31 | public class RigidComponent extends Filler { 32 | private static final long serialVersionUID = -255841985460325508L; 33 | 34 | public RigidComponent(final Component wrappedComponent, final Dimension d) { 35 | super(d, d, d); 36 | this.setLayout(org.lobobrowser.util.gui.WrapperLayout.getInstance()); 37 | this.add(wrappedComponent); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/SharedToolBarPanel.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.awt.Dimension; 24 | 25 | import javax.swing.BoxLayout; 26 | import javax.swing.JPanel; 27 | 28 | /** 29 | * The shared toolbar component. 30 | */ 31 | public class SharedToolBarPanel extends JPanel { 32 | private static final long serialVersionUID = 1003794828868016488L; 33 | 34 | public SharedToolBarPanel() { 35 | this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); 36 | } 37 | 38 | @Override 39 | public Dimension getPreferredSize() { 40 | return new Dimension(1, 32); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/StatusBarPanel.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.gui; 22 | 23 | import java.awt.Dimension; 24 | 25 | import javax.swing.BoxLayout; 26 | import javax.swing.JPanel; 27 | import javax.swing.border.BevelBorder; 28 | 29 | /** 30 | * The status bar component. 31 | */ 32 | public class StatusBarPanel extends JPanel { 33 | private static final long serialVersionUID = 1332713399200070195L; 34 | 35 | public StatusBarPanel() { 36 | this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); 37 | this.setBorder(new BevelBorder(BevelBorder.LOWERED)); 38 | } 39 | 40 | @Override 41 | public Dimension getPreferredSize() { 42 | return new Dimension(1, 32); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/gui/package.html: -------------------------------------------------------------------------------- 1 | Contains GUI classes that allow embedding the browser in a Java Swing application. 2 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/main/DefferedLayoutSupport.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2015 Uproot Labs India Pvt Ltd 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | */ 20 | 21 | package org.lobobrowser.main; 22 | 23 | import java.util.concurrent.Future; 24 | 25 | public interface DefferedLayoutSupport { 26 | public Future layoutCompletion(); 27 | } 28 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/main/ExtensionClassLoader.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.main; 22 | 23 | import java.net.URL; 24 | import java.net.URLClassLoader; 25 | import java.net.URLStreamHandlerFactory; 26 | 27 | public class ExtensionClassLoader extends URLClassLoader { 28 | public ExtensionClassLoader(final URL[] urls, final ClassLoader parent, final URLStreamHandlerFactory factory) { 29 | super(urls, parent, factory); 30 | } 31 | 32 | public ExtensionClassLoader(final URL[] urls, final ClassLoader parent) { 33 | super(urls, parent); 34 | } 35 | 36 | public ExtensionClassLoader(final URL[] urls) { 37 | super(urls); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/main/OS.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.main; 2 | 3 | public enum OS { 4 | 5 | MAC, WINDOWS, UNIX, SOLARIS, UNKNOWN 6 | 7 | } -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/main/package.html: -------------------------------------------------------------------------------- 1 | Platform initialization classes. 2 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/request/NOPCookieHandlerImpl.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.request; 2 | 3 | import java.io.IOException; 4 | import java.net.CookieHandler; 5 | import java.net.URI; 6 | import java.util.HashMap; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | /** 11 | * A CookieHandler that doesn't set or get cookies. The idea is to handle 12 | * cookies in a place where better context is available. The methods in this 13 | * interface get called from a global context where not much information about 14 | * the request is available. 15 | * 16 | * @author hrj 17 | * 18 | */ 19 | public class NOPCookieHandlerImpl extends CookieHandler { 20 | final Map> emptyMap = new HashMap<>(); 21 | 22 | @Override 23 | public Map> get(final URI uri, final Map> requestHeaders) throws IOException { 24 | // Intentionally left blank 25 | return emptyMap; 26 | } 27 | 28 | @Override 29 | public void put(final URI uri, final Map> responseHeaders) throws IOException { 30 | // Intentionally left blank 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/request/ResponseCodeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jun 1, 2005 23 | */ 24 | package org.lobobrowser.request; 25 | 26 | import java.io.IOException; 27 | 28 | /** 29 | * @author J. H. S. 30 | */ 31 | public class ResponseCodeException extends IOException { 32 | private static final long serialVersionUID = 6074419260110935027L; 33 | 34 | /** 35 | * 36 | */ 37 | public ResponseCodeException(final int responseCode) { 38 | super("Response code: " + responseCode); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/request/VerifiedHostsStore.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | 22 | package org.lobobrowser.request; 23 | 24 | import java.util.HashSet; 25 | import java.util.Set; 26 | 27 | public class VerifiedHostsStore { 28 | private static final VerifiedHostsStore instance = new VerifiedHostsStore(); 29 | private final Set hosts = new HashSet<>(); 30 | 31 | public static VerifiedHostsStore getInstance() { 32 | return instance; 33 | } 34 | 35 | public VerifiedHostsStore() { 36 | super(); 37 | } 38 | 39 | public boolean contains(final String host) { 40 | synchronized (this.hosts) { 41 | return this.hosts.contains(host); 42 | } 43 | } 44 | 45 | public void add(final String host) { 46 | synchronized (this.hosts) { 47 | this.hosts.add(host); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/security/GenericLocalPermission.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.security; 22 | 23 | import java.security.BasicPermission; 24 | 25 | public class GenericLocalPermission extends BasicPermission { 26 | private static final long serialVersionUID = -5208120759119103189L; 27 | // public static final java.security.Permission FRAME_PARENT = new 28 | // GenericLocalPermission("frame-parent"); 29 | public static final java.security.Permission EXT_GENERIC = new GenericLocalPermission("extension"); 30 | 31 | public GenericLocalPermission(final String name) { 32 | super(name); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/security/RequestRuleStore.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.security; 2 | 3 | import java.util.Optional; 4 | 5 | import org.javatuples.Pair; 6 | import org.lobobrowser.security.PermissionSystem.Permission; 7 | import org.lobobrowser.ua.UserAgentContext.RequestKind; 8 | 9 | interface RequestRuleStore { 10 | public Pair getPermissions(final String frameHostPattern, final String requestHost); 11 | 12 | public void storePermissions(final String frameHost, final String requestHost, Optional kindOpt, Permission permission); 13 | 14 | public static RequestRuleStore getStore() { 15 | // return InMemoryStore.getInstance(); 16 | return DBRequestRuleStore.getInstance(); 17 | } 18 | 19 | static class HelperPrivate { 20 | static void initStore(final RequestRuleStore store) { 21 | final Pair permissions = store.getPermissions("*", ""); 22 | assert (!permissions.getValue0().isDecided()); 23 | store.storePermissions("*", "", Optional.empty(), Permission.Deny); 24 | store.storePermissions("*", "", Optional.of(RequestKind.Image), Permission.Allow); 25 | store.storePermissions("*", "", Optional.of(RequestKind.CSS), Permission.Allow); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/settings/package.html: -------------------------------------------------------------------------------- 1 | Classes that provide access to browser settings. 2 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/store/CacheInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.store; 22 | 23 | import java.util.List; 24 | 25 | public class CacheInfo { 26 | public final long approximateSize; 27 | public final int numEntries; 28 | public final java.util.List entryInfoList; 29 | 30 | public CacheInfo(final long approximateSize, final int numEntries, final List entryInfoList) { 31 | super(); 32 | this.approximateSize = approximateSize; 33 | this.numEntries = numEntries; 34 | this.entryInfoList = entryInfoList; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/store/ClassLoaderObjectInputStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.store; 22 | 23 | import java.io.IOException; 24 | import java.io.InputStream; 25 | import java.io.ObjectInputStream; 26 | import java.io.ObjectStreamClass; 27 | 28 | public class ClassLoaderObjectInputStream extends ObjectInputStream { 29 | private final ClassLoader classLoader; 30 | 31 | public ClassLoaderObjectInputStream(final InputStream in, final ClassLoader classLoader) throws IOException { 32 | super(in); 33 | this.classLoader = classLoader; 34 | } 35 | 36 | @Override 37 | protected Class resolveClass(final ObjectStreamClass desc) throws IOException, ClassNotFoundException { 38 | return Class.forName(desc.getName(), false, this.classLoader); 39 | } 40 | } -------------------------------------------------------------------------------- /src/Platform_Core/org/lobobrowser/store/QuotaSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Jun 1, 2005 23 | */ 24 | package org.lobobrowser.store; 25 | 26 | import java.io.IOException; 27 | 28 | /** 29 | * @author J. H. S. 30 | */ 31 | public interface QuotaSource { 32 | public long getSpaceLeft() throws IOException; 33 | 34 | public void addUsedBytes(long total) throws IOException; 35 | } 36 | -------------------------------------------------------------------------------- /src/Platform_Core/properties/logging.properties: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # java.util.logging Configuration File used when -debug 3 | # is not specified. 4 | # See lib/logging.properties in JRE. 5 | ############################################################ 6 | 7 | handlers= java.util.logging.ConsoleHandler 8 | 9 | # Default global logging level. 10 | .level=WARNING 11 | 12 | ############################################################ 13 | # Handler specific properties. 14 | ############################################################ 15 | 16 | # default file output is in user's home directory. 17 | java.util.logging.FileHandler.pattern = %h/java%u.log 18 | java.util.logging.FileHandler.limit = 50000 19 | java.util.logging.FileHandler.count = 1 20 | java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter 21 | 22 | # Console logging output limited to WARNING and above. 23 | java.util.logging.ConsoleHandler.level = WARNING 24 | java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 25 | 26 | ############################################################ 27 | # Library specific logging levels 28 | ############################################################ 29 | 30 | # This overrides the pBeans ConsoleHandler level to WARNING and above 31 | # Note the ".level" suffix. 32 | com.level=WARNING 33 | org.level=WARNING 34 | net.level=WARNING 35 | -------------------------------------------------------------------------------- /src/Platform_Core/properties/release.properties: -------------------------------------------------------------------------------- 1 | version.string = 0.3.17-snapshot 2 | version.number = 0 3 | version.name = awning abyss 4 | 5 | version.releaseDate = 2022-08-7 6 | -------------------------------------------------------------------------------- /src/Platform_Core/trustStore.certs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Platform_Core/trustStore.certs -------------------------------------------------------------------------------- /src/Platform_Public_API/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Platform_Public_API/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Platform_Public_API 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Platform_Public_API/README.txt: -------------------------------------------------------------------------------- 1 | This project is now the public API for platform access, 2 | clientlets and plugin interfaces only. It is not tied 3 | to any particular rendered language. 4 | 5 | Note that this module, which has no dependencies on 6 | other Lobo project modules, is released under a license 7 | equivalent to the FreeBSD license. This is a permissive 8 | license that is compatible with the GPL, according to 9 | the FSF. 10 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/clientlet/ContentBuffer.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.clientlet; 24 | 25 | /** 26 | * Undocumented. 27 | * 28 | * @author J. H. S. 29 | */ 30 | public interface ContentBuffer { 31 | public java.net.URL getURL(); 32 | } 33 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/clientlet/Header.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.clientlet; 24 | 25 | /** 26 | * Represents a HTTP header. 27 | */ 28 | public interface Header { 29 | /** 30 | * Gets the header name. 31 | */ 32 | public String getName(); 33 | 34 | /** 35 | * Gets the header value. 36 | */ 37 | public String getValue(); 38 | } 39 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/clientlet/package.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Contains interface Clientlet, which is implemented to process responses and set content renderable by a user agent. 4 |
5 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/io/ManagedFileFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.io; 24 | 25 | /** 26 | * A filter of managed files. 27 | * 28 | * @see org.lobobrowser.io.ManagedFile#listFiles(ManagedFileFilter) 29 | * @author J. H. S. 30 | */ 31 | public interface ManagedFileFilter { 32 | /** 33 | * @param file 34 | * A managed file. 35 | * @return True if the file is accepted by the filter, false otherwise. 36 | */ 37 | public boolean accept(ManagedFile file); 38 | } 39 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/io/package.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Contains the ManagedStore interface, which is a per-host file 4 | system abstraction for secure and limited access to local storage by code 5 | served over the web. 6 |
7 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/NavigationVetoException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.ua; 22 | 23 | /** 24 | * An exception thrown by {@link NavigationListener} methods in order to prevent 25 | * navigation from occurring. 26 | * 27 | * @see NavigationListener 28 | */ 29 | public class NavigationVetoException extends Exception { 30 | private static final long serialVersionUID = -3613259503559453757L; 31 | 32 | public NavigationVetoException() { 33 | super(); 34 | } 35 | 36 | public NavigationVetoException(final String message, final Throwable cause) { 37 | super(message, cause); 38 | } 39 | 40 | public NavigationVetoException(final String message) { 41 | super(message); 42 | } 43 | 44 | public NavigationVetoException(final Throwable cause) { 45 | super(cause); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/NavigatorErrorListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.ua; 24 | 25 | /** 26 | * A listener of navigator events. 27 | * 28 | * @see NavigatorExtensionContext#addNavigatorErrorListener(NavigatorErrorListener) 29 | * @see NavigatorWindowListener 30 | */ 31 | public interface NavigatorErrorListener extends java.util.EventListener { 32 | public void errorOcurred(NavigatorExceptionEvent event); 33 | } 34 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/NavigatorEventType.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.ua; 24 | 25 | public enum NavigatorEventType { 26 | DOCUMENT_ACCESSED, DOCUMENT_RENDERING, PROGRESS_UPDATED, ERROR_OCCURRED, STATUS_UPDATED, DEFAULT_STATUS_UPDATED 27 | } 28 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/NetworkRequestEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.ua; 24 | 25 | import java.util.EventObject; 26 | 27 | public class NetworkRequestEvent extends EventObject { 28 | private static final long serialVersionUID = -412274798030623834L; 29 | private final int newState; 30 | 31 | public NetworkRequestEvent(final Object source, final int newState) { 32 | super(source); 33 | this.newState = newState; 34 | } 35 | 36 | public int getState() { 37 | return newState; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/NetworkRequestListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | /* 22 | * Created on Nov 13, 2005 23 | */ 24 | package org.lobobrowser.ua; 25 | 26 | import java.util.EventListener; 27 | 28 | /** 29 | * Listener of {@link NetworkRequest} state changes. 30 | * 31 | * @see NetworkRequest#addNetworkRequestListener(NetworkRequestListener) 32 | */ 33 | public interface NetworkRequestListener extends EventListener { 34 | /** 35 | * This method is called when the readyState property of the 36 | * request changes. 37 | */ 38 | public void readyStateChanged(NetworkRequestEvent event); 39 | } 40 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/ParameterInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 1994-2006 The Lobo Project. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | Redistributions of source code must retain the above copyright notice, this list 8 | of conditions and the following disclaimer. Redistributions in binary form must 9 | reproduce the above copyright notice, this list of conditions and the following 10 | disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE LOBO PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED 13 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 14 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 15 | EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 16 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 17 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 19 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 20 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 21 | OF THE POSSIBILITY OF SUCH DAMAGE. 22 | */ 23 | package org.lobobrowser.ua; 24 | 25 | /** 26 | * Represents a collection of URL parameters. 27 | * 28 | * @author J. H. S. 29 | */ 30 | public interface ParameterInfo { 31 | /** 32 | * Gets the POST encoding for the parameters. 33 | */ 34 | public String getEncoding(); 35 | 36 | /** 37 | * Gets the array of parameters. 38 | */ 39 | public Parameter[] getParameters(); 40 | } 41 | -------------------------------------------------------------------------------- /src/Platform_Public_API/org/lobobrowser/ua/package.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Contains interfaces that need to be implemented by a browser (like Lobo) 4 | in order to service Lobo extensions. 5 |
6 | 7 | -------------------------------------------------------------------------------- /src/Primary_Extension/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Primary_Extension/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Primary_Extension 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jem.workbench.JavaEMFNature 16 | org.eclipse.jdt.core.javanature 17 | org.eclipse.jem.beaninfo.BeanInfoNature 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/Primary_Extension/README.txt: -------------------------------------------------------------------------------- 1 | This project is the default browser plugin. It includes 2 | clientlets for HTML, XAMJ and various simple mime types. 3 | The extension.properties file contains meta-information about 4 | the extension. 5 | 6 | This module is released under the GPL license. 7 | -------------------------------------------------------------------------------- /src/Primary_Extension/gngr-extension.properties: -------------------------------------------------------------------------------- 1 | extension.name=gngr's Primary Extension 2 | extension.description=This is the primary extension of the gngr browser.\r\n\ 3 | It implements clientlets for HTML, XAMJ, text files,\r\n\ 4 | file downloading and others. 5 | extension.by=gngr project 6 | extension.version=0.0.1 7 | extension.class=org.lobobrowser.primary.ext.ExtensionImpl 8 | 9 | # Priority is 0 to 10, but only primary extension can have 10. 10 | extension.priority=10 11 | -------------------------------------------------------------------------------- /src/Primary_Extension/images/back.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/back.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/forward.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/forward.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/go.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/go.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/go_disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/go_disabled.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/info.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/info.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/internet_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/internet_search.png -------------------------------------------------------------------------------- /src/Primary_Extension/images/refresh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/refresh.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/refresh_disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/refresh_disabled.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/stop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/stop.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/stop_disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/stop_disabled.gif -------------------------------------------------------------------------------- /src/Primary_Extension/images/warning.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/Primary_Extension/images/warning.gif -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/ext/HistoryEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.ext; 22 | 23 | import java.net.URL; 24 | 25 | public class HistoryEntry { 26 | private final java.net.URL url; 27 | private final long timetstamp; 28 | private final T itemInfo; 29 | 30 | public HistoryEntry(final URL url, final long timetstamp, final T itemInfo) { 31 | super(); 32 | this.url = url; 33 | this.timetstamp = timetstamp; 34 | this.itemInfo = itemInfo; 35 | } 36 | 37 | public T getItemInfo() { 38 | return itemInfo; 39 | } 40 | 41 | public long getTimetstamp() { 42 | return timetstamp; 43 | } 44 | 45 | public java.net.URL getUrl() { 46 | return url; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/ext/HostEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.ext; 22 | 23 | public class HostEntry { 24 | public final String host; 25 | public final long timestamp; 26 | 27 | public HostEntry(final String host, final long timestamp) { 28 | super(); 29 | this.host = host; 30 | this.timestamp = timestamp; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/ext/MenuAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.ext; 22 | 23 | import javax.swing.event.MenuEvent; 24 | import javax.swing.event.MenuListener; 25 | 26 | public abstract class MenuAdapter implements MenuListener { 27 | public void menuCanceled(final MenuEvent e) { 28 | } 29 | 30 | public void menuDeselected(final MenuEvent e) { 31 | } 32 | 33 | public void menuSelected(final MenuEvent e) { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/ext/PrimaryStreamHandlerFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.ext; 22 | 23 | import java.net.URLStreamHandler; 24 | import java.net.URLStreamHandlerFactory; 25 | 26 | public class PrimaryStreamHandlerFactory implements URLStreamHandlerFactory { 27 | 28 | public PrimaryStreamHandlerFactory() { 29 | } 30 | 31 | public URLStreamHandler createURLStreamHandler(final String protocol) { 32 | if ("about".equals(protocol)) { 33 | return new org.lobobrowser.protocol.about.Handler(); 34 | } else if ("data".equals(protocol)) { 35 | return new org.lobobrowser.protocol.data.Handler(); 36 | } else { 37 | return null; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/AbstractItemEditor.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui; 22 | 23 | import javax.swing.JComponent; 24 | 25 | public abstract class AbstractItemEditor extends JComponent { 26 | private static final long serialVersionUID = 8568024677021154557L; 27 | 28 | public abstract void setItem(T item); 29 | 30 | public abstract T getItem(); 31 | 32 | public abstract void validateItem() throws ValidationException; 33 | } 34 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/FieldType.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui; 22 | 23 | public enum FieldType { 24 | TEXT, PASSWORD 25 | } 26 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/ItemEditorFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui; 22 | 23 | public interface ItemEditorFactory { 24 | public AbstractItemEditor createItemEditor(); 25 | } 26 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/ValidationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui; 22 | 23 | public class ValidationException extends Exception { 24 | private static final long serialVersionUID = -2982468047856404314L; 25 | 26 | public ValidationException() { 27 | super(); 28 | } 29 | 30 | public ValidationException(final String message, final Throwable cause) { 31 | super(message, cause); 32 | } 33 | 34 | public ValidationException(final String message) { 35 | super(message); 36 | } 37 | 38 | public ValidationException(final Throwable cause) { 39 | super(cause); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/prefs/AbstractSettingsUI.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui.prefs; 22 | 23 | import javax.swing.JPanel; 24 | 25 | import org.lobobrowser.primary.gui.ValidationException; 26 | 27 | public abstract class AbstractSettingsUI extends JPanel { 28 | private static final long serialVersionUID = -7707598586296275419L; 29 | 30 | public abstract void save() throws ValidationException; 31 | 32 | public abstract void restoreDefaults(); 33 | } 34 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/primary/gui/prefs/SettingsInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | GNU GENERAL PUBLIC LICENSE 3 | Copyright (C) 2006 The Lobo Project 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public 7 | License as published by the Free Software Foundation; either 8 | verion 2 of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Contact info: lobochief@users.sourceforge.net 20 | */ 21 | package org.lobobrowser.primary.gui.prefs; 22 | 23 | public interface SettingsInfo { 24 | public String getName(); 25 | 26 | public String getDescription(); 27 | 28 | public AbstractSettingsUI createSettingsUI(); 29 | } 30 | -------------------------------------------------------------------------------- /src/Primary_Extension/org/lobobrowser/protocol/data/Handler.java: -------------------------------------------------------------------------------- 1 | package org.lobobrowser.protocol.data; 2 | 3 | import java.io.IOException; 4 | import java.net.URL; 5 | import java.net.URLConnection; 6 | import java.net.URLStreamHandler; 7 | 8 | /** 9 | * http://www.ietf.org/rfc/rfc2397.txt 10 | * 11 | * 12 | * dataurl := "data:" [ mediatype ] [ ";base64" ] "," data mediatype := [ type 13 | * "/" subtype ] *( ";" parameter ) data := *urlchar parameter := attribute "=" 14 | * value 15 | * 16 | * 17 | * @author toenz 18 | * 19 | */ 20 | public class Handler extends URLStreamHandler { 21 | 22 | @Override 23 | protected URLConnection openConnection(final URL url) throws IOException { 24 | return new DataURLConnection(url); 25 | } 26 | 27 | @Override 28 | protected void parseURL(final URL u, final String spec, final int start, final int limit) { 29 | final int index = spec.toLowerCase().indexOf(":"); 30 | final String protocol = "data"; 31 | final String path = spec.substring(index + 1); 32 | 33 | setURL(u, protocol, 34 | /* host */null, 35 | /* port */80, 36 | /* authority */null, 37 | /* userinfo */null, 38 | /* path */path, 39 | /* query */null, 40 | /* ref */null); 41 | } 42 | 43 | @Override 44 | protected String toExternalForm(final URL u) { 45 | return u.getProtocol() + ":" + u.getPath(); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/XAMJ_Build/.externalToolBuilders/API_Doc_Builder.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/XAMJ_Build/.externalToolBuilders/Ant Builder.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/XAMJ_Build/.externalToolBuilders/Installer Builder.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/XAMJ_Build/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | XAMJ_Build 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.ui.externaltools.ExternalToolBuilder 10 | full,incremental, 11 | 12 | 13 | LaunchConfigHandle 14 | <project>/.externalToolBuilders/Ant Builder.launch 15 | 16 | 17 | 18 | 19 | org.eclipse.ui.externaltools.ExternalToolBuilder 20 | full,incremental, 21 | 22 | 23 | LaunchConfigHandle 24 | <project>/.externalToolBuilders/Installer Builder.launch 25 | 26 | 27 | 28 | 29 | org.eclipse.ui.externaltools.ExternalToolBuilder 30 | full,incremental, 31 | 32 | 33 | LaunchConfigHandle 34 | <project>/.externalToolBuilders/API_Doc_Builder.launch 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/XAMJ_Build/CONTRIBUTORS.txt: -------------------------------------------------------------------------------- 1 | 2 | Contributors to the Lobo Project appear 3 | below, roughly in order of arrival to the 4 | project: 5 | 6 | - Jose H. Solorzano (lobochief) 7 | Started the Lobo project (originally 8 | as the XAMJ Project). Project lead 9 | and main developer. 10 | 11 | - Roger Toenz (guenze) 12 | Has contributed several patches. 13 | 14 | - Oswaldo Dantas 15 | Contributed new Lobo logo. 16 | 17 | - V??k Cvachou?ek (vtec) 18 | Has contributed several patches. 19 | 20 | - Guillaume WALLET (gwallet) 21 | Contributed Window.setInterval() 22 | patch. 23 | 24 | - Andrey Chorniy (andrey_chorniy) 25 | Contributed implementation of SUB 26 | and SUP. 27 | 28 | - Trejkaz (trejkaz) 29 | Font fallback patch - fixes Chinese 30 | characters. 31 | 32 | - Joerg Ruethschilling (jr8) 33 | scrollTo and resizeTo patch. 34 | 35 | - Vinay Agarwal (vinaykagarwal) 36 | An Eclipse project tweak. 37 | 38 | - James Dempsey (jdempsey) 39 | Java 7 fix. 40 | 41 | - Thanks also to many anonymous 42 | contributors. 43 | -------------------------------------------------------------------------------- /src/XAMJ_Build/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This is Lobo, the Java-based web browser. 3 | 4 | To run Lobo look for its Program Group or 5 | desktop launcher. In case you just downloaded 6 | the Lobo files and not the installer, try 7 | 8 | java -jar lobo.jar 9 | 10 | The Lobo browser is released under a GPLv2 license. 11 | See LICENSE.txt for additional details. 12 | For information on how to obtain the source code, 13 | see http://lobobrowser.org/sourcecode.jsp 14 | 15 | Note that lobo-pub.jar (the extensions API) is 16 | released under a permissive FreeBSD style license, 17 | which is compatible with the GPL. 18 | 19 | Home Page: http://lobobrowser.org 20 | Contact: http://lobobrowser.org/contact.jsp 21 | -------------------------------------------------------------------------------- /src/XAMJ_Build/default-shortcut-spec.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/antlr4-4.5.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/antlr4-4.5.3.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/js.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/js.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/jstyleDomBridge.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/jstyleDomBridge.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/jstyleparser-3.3-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/jstyleparser-3.3-SNAPSHOT.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/sac.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/sac.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/slf4j-api-1.7.25.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/slf4j-api-1.7.25.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/ext/unbescape-1.1.5.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/ext/unbescape-1.1.5.RELEASE.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/org.eclipse.jdt.annotation_2.0.100.v20150311-1658.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gngrOrg/gngr/a0df8a7a8ced1d4ceae98edf933a4c52baf36e51/src/XAMJ_Build/org.eclipse.jdt.annotation_2.0.100.v20150311-1658.jar -------------------------------------------------------------------------------- /src/XAMJ_Build/process-panel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -jar 6 | $INSTALL_PATH/lobo.jar 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/XAMJ_Build/re_manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Created-By: The Lobo Project 3 | Main-Class: org.lobobrowser.main.EntryPoint 4 | Class-Path: lobo-pub.jar 5 | Sealed: true 6 | -------------------------------------------------------------------------------- /src/XAMJ_Build/windows-shortcut-spec.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | --------------------------------------------------------------------------------