summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-23InputWidget: Buffer contents not activeJaakko Keränen
2021-07-22UploadWidget: Added UI stringsJaakko Keränen
2021-07-22GmCerts: Updating trust via CAsJaakko Keränen
2021-07-22InputWidget: Fixed multiline deletion; arrow key eventsJaakko Keränen
2021-07-22Preferences: Added setting for Return key behaviorJaakko Keränen
2021-07-22Added a setting for Return key behaviorJaakko Keränen
User preference for line break / accept behavior in input fields. Still needs to be added to the Preferences dialog.
2021-07-22CleanupJaakko Keränen
2021-07-22InputWidget: Showing the hint textJaakko Keränen
2021-07-22DocumentWidget: No line breaks in sensitive input modeJaakko Keränen
2021-07-22InputWidget: Sensitive input modeJaakko Keränen
At a low level when measuring/drawing text, replace all characters with an override character.
2021-07-22Generated certificates should be self-issuedJaakko Keränen
RFC 5280 defines a self-signed CA certificate as also being self-issued, so to honor this definition we set the issuer and the subject to be fully equivalent. IssueID #316
2021-07-21InputWidget: Overwrite mode and max lengthJaakko Keränen
2021-07-21InputWidget: Deleting textJaakko Keränen
2021-07-21Gopher: Don't skip unknown line typesJaakko Keränen
IssueID #317
2021-07-21InputWidget: Fixed and reliabilityJaakko Keränen
Cursor movement and pasting.
2021-07-21InputWidget: Fixed coord-based positioningJaakko Keränen
2021-07-21Text: Finding the advance position of a characterJaakko Keränen
2021-07-21Revising InputWidget (continued)Jaakko Keränen
Finding cursor position via coordinates. Handling the mark. Visual wrapped lines vs. content lines. Vertical scrolling inside the visual range.
2021-07-20Text: Hit testing during a text runJaakko Keränen
2021-07-20Revising InputWidgetJaakko Keränen
`InputWidget` needs to be better at handling multiple lines. The previous implementation assumed that the content was short enough to be fully redrawn each frame, which is not a great idea when you have thousands of lines.
2021-07-18UploadWidget: Monitoring progressJaakko Keränen
Socket can now tell us how much data is being sent, so the upload progress can be monitored.
2021-07-17Working on Titan uploadsJaakko Keränen
There may be a bug in `TlsRequest` when sending out large amounts of data.
2021-07-17GmDocument: Avoid redundant envelope link iconJaakko Keränen
IssueID #312
2021-07-17Working on a UI for uploading text/dataJaakko Keränen
`UploadWidget` allows entering long-form text or dropping a file for uploading. InputWidget isn't yet well suited for really long documents... Some optimizations will be needed.
2021-07-17GmDocument: Link scheme flagsJaakko Keränen
A better way to keep track of the scheme used in a link.
2021-07-16GmRequest: Support for Titan payloadsJaakko Keränen
2021-07-16DocumentWidget: Shortcut for ignoring expirationJaakko Keränen
2021-07-16Allow override for certificate expiryJaakko Keränen
The user is able to ignore certificate expiry and continue loading the page regardless. This adds a one hour exception to the expiration date.
2021-07-16Improved TOFU implementationJaakko Keränen
If a server sends a different certificate (checked by matching public key fingerprints), abort the connection at the TLS handshake stage. A new error page is shown explaining the situation. A button is provided for conveniently opening Page Information, where trust can be updated. The file format of "visited.txt" was updated, so it is now called "visited.2.txt". The new format includes server port numbers, and the fingerprints are calculated based on public keys. IssueID #308 IssueID #309 IssueID #310
2021-07-15Fixing regressions text metrics, InputWidgetJaakko Keränen
`run_Font_` was moving the Y cursor position twice for each line break. Checking for the HarfBuzz UNSAFE_TO_BREAK flag leads to some unexpected behavior near edges of words. The old `tryAdvanceNoWrap` method should return the maximum horizontal advance of the text, and not the cursor position's advance. `draw_WrapText` used the wrong foreground color. `TextBuf` now uses WrapText to do all the measuring and drawing, making things much simpler.
2021-07-15RTL line quote and link hover infoJaakko Keränen
2021-07-15CleanupJaakko Keränen
2021-07-15GmDocument: Right-align RTL decorationsJaakko Keränen
2021-07-15Widget: Removed unnecessary assertionsJaakko Keränen
2021-07-15Fixed whitespace encoding in query stringJaakko Keränen
2021-07-14GmDocument: Fixed lede font change on retryJaakko Keränen
2021-07-14Text: Detect Arabic scriptJaakko Keränen
It appears HarfBuzz's script autodetection isn't working here for Arabic.
2021-07-14Fixed text wrapping when HarfBuzz is disabledJaakko Keränen
Updated the old simple text renderer for the new WrapText wrapping.
2021-07-14Text: Ordering runs vs. paragraph/run directionJaakko Keränen
2021-07-14CleanupJaakko Keränen
2021-07-13Drawing document RTL text runsJaakko Keränen
The base text direction of each line of text is determined when the document is laid out. When drawing runs, use this predetermined base direction.
2021-07-13Text: Bidi text wrappingJaakko Keränen
There is still some weirdness with wraps that occur inside a bidi region. The problem is that text drawing is done later, in smaller segments, without knowledge of the paragraph base direction. The base direction should be saved into each GmRun as a flag.
2021-07-13GmCerts: Make the server port knownJaakko Keränen
2021-07-13Text: Working on bidi text wrappingJaakko Keränen
2021-07-12CleanupJaakko Keränen
2021-07-12GmDocument: CleanupJaakko Keränen
2021-07-12Update link visited status when navigatingJaakko Keränen
When an URL is visited, ensure that links to that URL update their visual state.
2021-07-11GmDocument: Big lede is all or nothingJaakko Keränen
Font size should not suddenly change halfway through a paragraph.
2021-07-11GmDocument: More efficient line wrappingJaakko Keränen
`WrapText` iterates over the wrapped line segments and does a callback on each one, without losing any work buffers and text shaping information along the way.
2021-07-11GmDocument: Refactoring line typesetterJaakko Keränen
The goal is to switch to `WrapText` so the entire paragraph can be processed in one go without having to re-initialize the HarfBuzz buffers after every wrap.