Age | Commit message (Collapse) | Author |
|
This fixes an issue in FileManager where an editor opened in the table
view mode would remain open after switching to the icon mode.
|
|
All it took was overriding content_rect() :^)
|
|
We want all views to respond to the editing key as long as the relevant
edit trigger is activated.
|
|
IconView now responds to the editing key (F2) if the view is editable.
It does feel a little bit weird to have content_rect() return the text
rect for an item, and not the whole item rect. This internal API could
probably be better.
|
|
|
|
This will allow us to edit models through a SortingProxyModel. :^)
|
|
We need to make some additional tweaks to the default UA style when
displaying documents in quirks mode.
|
|
With this commit, <AK/Format.h> has a more supportive role and isn't
used directly.
Essentially, there now is a public 'vformat' function ('v' for vector)
which takes already type erased parameters. The name is choosen to
indicate that this function behaves similar to C-style functions taking
a va_list equivalent.
The interface for frontend users are now 'String::formatted' and
'StringBuilder::appendff'.
|
|
Don't require clients to templatize modrm().read{8,16,32,64}() with
the ValueWithShadow type when we can figure it out automatically.
The main complication here is that ValueWithShadow is a UE concept
while the MemoryOrRegisterReference inlines exist at the lower LibX86
layer and so doesn't have direct access to those types. But that's
nothing we can't solve with some simple template trickery. :^)
|
|
This is useful for reading and writing doubles for #3329.
It is also useful for emulating 64-bit binaries.
MemoryOrRegisterReference assumes that 64-bit values are always
memory references since that's enough for fpu support. If we
ever want to emulate 64-bit binaries, that part will need minor
updating.
|
|
Fixes keyboard increment/decrement of SpinBox values.
After PR #2412 the TextBox class started not propagating arrow key
events to the parent widgets because it handles them itself now.
It also added two new events for these arrow keys, so use them instead
in SpinBox.
|
|
With this patch, we now enforce basic same-origin policy for this one
<iframe> attribute.
To make it easier to add more attributes like this, I've added an
extended IDL attribute ("[ReturnNullIfCrossOrigin]") that does exactly
what it sounds like. :^)
|
|
Getting ready for some extremely basic same-origin policy stuff,
this initial implementation simply checks that two origins have
identical protocol, host and port.
|
|
This is a convenience getter to retrieve the security origin of a DOM
window's document.
|
|
|
|
This matches the standard API names contentWindow and contentDocument.
|
|
Empty string is extremely common and we can avoid a lot of heap churn
by simply caching one in the VM. Primitive strings are immutable anyway
so there is no observable behavior change outside of fewer collections.
|
|
No need to instantiate unique symbols for each Interpreter; they can
be VM-global. This reduces the memory cost and startup time anyway.
|
|
There's a lot more of these things to fix. We'll also want to move from
passing Interpreter& around to VM& instead wherever that is enough.
|
|
|
|
This will allow us to throw exceptions even when there is no active
interpreter in the VM.
|
|
Core::Account abstracts login semantics like password checking and
switching uid/gid.
|
|
|
|
|
|
This lets you show some disabled text when no text is entered, and the
editor is not focused.
|
|
I accidentally committed some code here to force a crash, but this
should just assert.
|
|
We can't GC while we're already in GC. Assert if this happens.
|
|
To make it a little clearer what this is for. (This is an RAII helper
class for adding and removing an Interpreter to a VM's list of the
currently active (executing code) Interpreters.)
|
|
If we are in a nested execution context, we shouldn't only mark things
used by the active interpreter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since TCP sequence numbers are randomly choosen 32-bit numbers, it often
happend that the most significant bit was set. The cast to a 32-bit
signed integer then made the number negative.
Thus TCP sequence were shown negative in the SystemMonitor every so
often.
|
|
|
|
Taking a big step towards a world of multiple global object, this patch
adds a new JS::VM object that houses the JS::Heap.
This means that the Heap moves out of Interpreter, and the same Heap
can now be used by multiple Interpreters, and can also outlive them.
The VM keeps a stack of Interpreter pointers. We push/pop on this
stack when entering/exiting execution with a given Interpreter.
This allows us to make this change without disturbing too much of
the existing code.
There is still a 1-to-1 relationship between Interpreter and the
global object. This will change in the future.
Ultimately, the goal here is to make Interpreter a transient object
that only needs to exist while you execute some code. Getting there
will take a lot more work though. :^)
Note that in LibWeb, the global JS::VM is called main_thread_vm(),
to distinguish it from future worker VM's.
|
|
This will be inherited by documents and workers, to provide a common
abstraction for script execution. (We don't have workers yet, but we
might as well make this little space for them now to simplify things
down the road.)
|
|
|
|
This one is a little weird. I don't know why it's okay for this
function to assume that there is a current scope on the scope stack
when it can be called during global object initialization etc.
For now, just make it say "we are in strict mode" when there is no
currently active scope.
|
|
Shape was allocating property tables inside visit_children(), which
could cause garbage collection to happen. It's not very good to start
a new garbage collection while you are in the middle of one already.
|
|
|
|
Previously, it didn't take into account the visibility of
column headers.
|
|
To make slightly more aesthetically pleasing use of the vertical space,
we now move all vertically centered text lines down by half the amount
of space below the font's baseline.
This is probably not the "correct" way to do this, but it does make
things look nicer with some of our fonts already.
|
|
|
|
This does nothing at the moment but will soon allow us to improve the
vertical positioning of text.
|
|
When holding Ctrl and scrolling on a slider widget, the scrolling
acceleration gets increased.
This can make it faster to get to the knob location you want to
get to. :^)
|
|
In the case of an exception in a property getter function we would not
return early, and a subsequent attempt to call the replacer function
would crash the interpreter due to call_internal() asserting.
Fixes #3548.
|
|
Fixes #3471, adds a test.
|