287 Commits

Author SHA1 Message Date
Rafael Weinstein
efcfcf63af Remove border-collapse
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/768893002
2014-11-28 06:56:08 -08:00
Rafael Weinstein
c8a340c382 Remove webkit-margin-collapse
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/760583004
2014-11-28 06:24:06 -08:00
Rafael Weinstein
2a5db1aa98 Remove webkit-line-clamp
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/761283002
2014-11-28 05:22:23 -08:00
Rafael Weinstein
6d450eddcb Split more Paragraph-specific code from RenderBlock into RenderParagraph.
In this episode: inlineSelectionGaps, markupTruncation, lineCount, heightForLineCount, lineAtIndex, lastLineBoxBaseline, firstLineBoxBaseline

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/762073002
2014-11-27 12:39:17 -08:00
Rafael Weinstein
0649efbf80 Remove RenderBlockLineLayout.
This patch moves most of the RenderBlockFlow from RenderBlockLineLayout methods into RenderParagraph.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/763043002
2014-11-27 12:03:43 -08:00
Yury Semikhatsky
b22d85f975 Populate scope sections with variable name/values
Now when debugger is paused scope sections are properly populated with corresponding name:value pairs for all variables.

Eventually InjectedScript may become something like a regular Sky module but at the moment I don't see how to do this gracefully given that it is parametrised by InjectedScriptHost binding. So at the moment I just store it in "injectedScript" property on the global object,

BUG=435243
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/766683005
2014-11-27 21:00:06 +03:00
Yury Semikhatsky
e645181fec Parametrize PageScriptDebugServer with v8::Context -> InspectorHost resolver
ScriptDebugServer needs a way to find ScriptDebugListener for the paused v8::Context. The listeners are added per InspectorHost. Now we have to mapping v8::Context -> InspectorHost, InspectorHost -> ScriptDebugListener which allow to map v8::Context -> ScriptDebugListener. This allows to avoid storing InspectorHost on Page.

BUG=435243
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/764573002
2014-11-27 11:18:09 +03:00
Ojan Vafai
9837d78956 Remove GraphicsLayer family of classes.
Remove all the GraphicsLayer* classes. This includes LinkHighlight
since that feature is built on the old compositing system.

It's all dead code!

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/762993003
2014-11-26 20:21:01 -08:00
Ojan Vafai
7d45831411 Get rid of the remaining uses of GraphicsLayer.
After this patch, GraphicsLayer is only used by GraphicsLayer-related
classes and LinkHighlight. We should be able to just delete all of them
in a followup patch.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/763013002
2014-11-26 18:51:43 -08:00
Ojan Vafai
edbc055885 Get rid of CompositingState.
It's always NotComposited. Also removed some DisableCompositingQueryAsserts.
The asserts they are disabling no longer exist.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/768493002
2014-11-26 18:49:36 -08:00
Ojan Vafai
82b607721d Make fixed-width elements not center by default.
e223e0c6d51f027196a2597b556641328a65d4b5 accidentally
sent all elements down the margin:auto codepath.
The patch incorrectly removed just the
"&& containingBlockStyle->textAlign() == WEBKIT_CENTER"
instead of the whole clause.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/760143002
2014-11-26 16:39:41 -08:00
Ojan Vafai
32bd99e95a Delete most of rendering/compositing.
Particularly, this deletes RenderLayerCompositor. After this,
there's just CompositingState left to remove.

This is all dead code, so there should be no change in behavior.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758843004
2014-11-26 15:15:23 -08:00
Elliott Sprehn
63533b3091 Specialize InsertionPoint attach/detach.
This is another step towards making attach non-virtual. InsertionPoints are
core to the engine, so it seems fine to bake them directly into recalcStyle.

I did this already to willRecalcStyle.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/765523002
2014-11-26 14:40:38 -05:00
Rafael Weinstein
9e43ce3605 Start splitting RenderParagraph logic out of RenderBlock.
In particular, move RenderParagraph-specific code from
hitTestContents, paintContents, simplifiedNormalFlowLayout & addOverflowFromChildren.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/754493002
2014-11-26 11:15:01 -08:00
Elliott Sprehn
253b5bed74 Only allow one shadowRoot.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/759663003
2014-11-26 13:54:14 -05:00
Ojan Vafai
0a60268106 Remove most of the old compositing code.
This is all dead code. Just started with CompositedLayerMapping
and deleted everything that touches it.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758373002
2014-11-25 20:47:53 -08:00
Ojan Vafai
e451291645 Remove m_layerTreeView from WebViewImpl.
It's always null now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/757143004
2014-11-25 19:54:27 -08:00
Ojan Vafai
767c998cb2 Remove ENABLE(COMPOSITOR).
The new painting code seems to be working well enough.
So we can start removing the old compositing code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/762723002
2014-11-25 19:32:27 -08:00
Elliott Sprehn
c4cc8dd831 Remove didNotifySubtreeInsertionsToDocument.
This hook existed because some elements wanted to run script inside
::insertedInto, but that wasn't a safe time. Now nothing can run script
inside there so we don't need this extra hook.

HTMLStyleElement's usage of this hook is not clear, but it seems like
it might have related to a pre-lazy attach bug.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758623002
2014-11-25 02:53:43 -05:00
Elliott Sprehn
8d0f8335d4 Remove autofocus.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/754043004
2014-11-25 02:53:08 -05:00
Rafael Weinstein
acf6d9f29d setChildrenInline wasn't doing anything and childrenInlien always deferred to isRenderParagraph.
Also, add a test from the original webkit patch that called setChildrenInline in layoutBlock

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/748943002
2014-11-21 15:16:58 -08:00
Elliott Sprehn
743423e8fc Remove DOMStringList.
This was for location.ancestorOrigins which Sky doesn't support.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/750663002
2014-11-21 12:06:21 -08:00
Ojan Vafai
fe66ba3f36 Fix text-overflow:ellipsis.
This regressed in 3db9471ae80bd492f2a346113d2323ba8eee0c09.

Accidentally sent some code down the override by sending the
top LayoutUnit instead of the left/right LayoutUnit. The
root problem was bad overloading, which is also fixed in
this patch. Inlined the overloaded method since one of
the calls was only called from one place.

The new test demonstrates the ellipsizing, but that doesn't
show through in the render tree dump. We don't get real
test coverage here until we either start doing pixel tests
or start exposing ellipsis in the render tree dumps.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/751483002
2014-11-21 11:26:05 -08:00
Eric Seidel
295f920116 Fix sky include guards to match Chromium style
I wrote a script to do this which is attached
to the bug.

TBR=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/736373003
2014-11-21 02:48:38 -08:00
Adam Barth
0c96c6eaa6 Add support for import@async
We don't have a good way of testing this behavior without introducing a race.
Ideally we'd unit test it, but we don't really have unit tests yet.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/751493003
2014-11-20 23:14:49 -08:00
Adam Barth
67d5db4520 Remove WebThemeEngine
It's dead code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753443002
2014-11-20 22:51:38 -08:00
Adam Barth
9b40ebc56e Remove unused WebMIMERegistry
It's dead code.

R=eseidel@chromium.org, esprehn@chromium.org

Review URL: https://codereview.chromium.org/752463002
2014-11-20 22:41:35 -08:00
Eric Seidel
b60a8cbbc5 Fix gn check //sky/* to pass again.
Just needed to allow core and core_generated
to be a cycle.

TBR=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/748643002
2014-11-20 17:56:41 -08:00
Eric Seidel
e0fd75b5ab Make absolute and sort all Sky headers
This caused us to lose our gn check certification. :(

Turns out gn check was just ignoring all the header
paths it didn't understand and so gn check passing
for sky wasn't meaning much.  I tried to straighten
out some of the mess in this CL, but its going to take
several more rounds of massaging before gn check
passes again.  On the bright side (almost) all of
our headers are absolute now.  Turns out my script
(attached to the bug) didn't notice ../ includes
but I'll fix that in the next patch.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/746023002
2014-11-20 17:42:05 -08:00
Eric Seidel
5ce2884e26 Audit all of sky's system <> style includes
I wrote a little script to do this.
I'll attach it to the bug in case Blink wants it.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/747663002
2014-11-20 15:55:02 -08:00
Ojan Vafai
c2276d3976 Remove canCollapseAnonymousBlockChild.
The only place it's used now is making it so that
anonymous flex items don't do ellipsizing the same
way anonymous items inside a block would. This
is something we don't need, especially now that
we only have anonymous paragraphs around text nodes.

It's not clear to me if we want this looking at the
parent behavior at all, but that's something that
can be fixed in a followup.

Also delete some dead anonymous block functions.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/741893002
2014-11-20 15:28:37 -08:00
Eric Seidel
39bf5a7f41 Start moving files from core/inspector into v8_inspector
This was just a test.  I'm about to write a script
to automate this process.  Mostly I just need to
fix tools/git/move_source_file.py to work for blink.

TBR=abarth@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/745913002
2014-11-20 15:07:19 -08:00
Eric Seidel
e4945302eb Move InspectorBackendMojo out of the blink namespace
This starts to break the dependency between blink and
the new v8_inspector.  At least now the front-end
object InspectorBackendMojo is treated as a peer to
WebView instead of WebView providing one.

Unfortunately I also had to teach Page about
InspectorHost in order to make it possible to
lookup the InspectorHost from the v8::Context.

I'm sure there is a nicer way to associate the
InspectorHost with the context but for now
I've chosen this path, we can untangle the
connection in a later patch.

I also ended up removing Page::allPages
and all callers, since they ended up as dead code.

R=abarth@chromium.org, yurys@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/746713002
2014-11-20 14:21:36 -08:00
Eric Seidel
bc10cd4167 Move inspector_backend_mojo.cc to v8_inspector
Also fixed several chromium style errors in the file.

I had to make web depend on v8_inspector for
the time being until v8_inspector can be
weened off of the Page class.

R=abarth@chromium.org, yurys@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/749523002
2014-11-20 11:30:01 -08:00
Eric Seidel
8061020580 Add a new v8_inspector target
v8_inspector is a peer to web for now.
Eventually it should be its own separate target
and not depend on core or platform at all, but we can't yet.

This creates a place for us to move the debugger-inspector
code to so it can be refactored to not depend on core.

I also moved the public target for sky out of public/
and renamed it "engine" instead of blink.

R=abarth@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/744143002
2014-11-20 11:00:47 -08:00
Elliott Sprehn
4e68e8f732 Enable ES6 classes.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/742183002
2014-11-20 10:55:28 -08:00
Matt Perry
7f17e0b4b9 Unrevert "Sky: When an iframe element is removed, delete its mojo View."
This reverts commit acec66c735d6a40d3da3e0e9a6ee5f278bdfe043.

Scott thinks he fixed the crash.

BUG=434555
TBR=sky@chromium.org

Review URL: https://codereview.chromium.org/740383002
2014-11-20 11:13:16 -05:00
Rafael Weinstein
1dddb1fc9a Add compile flag for enabling the compostior
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/737793006
2014-11-19 14:34:09 -08:00
Eric Seidel
55b5bc485d Sort headers
Fix (most) generated includes to have gen/ in their path.

This makes it easier to tell where files exist on disk.

Unfortunately I had to leave the old include path
in engine/BUILD.gn to support all the v8 includes
which were too many to deal with in this patch.

It's a little nasty to have the raw build directory
in our include path, but it produces nicer paths.

R=abarth@chromium.org
2014-11-19 12:33:42 -08:00
Matt Perry
2a60db84ea Revert "Sky: When an iframe element is removed, delete its mojo View."
This reverts commit 45991a3752e6a6298901eba36e7bf4cdec4d263c.

It was causing flaky crashes on the bots.

TBR=esprehn@chromium.org
BUG=434555

Review URL: https://codereview.chromium.org/740773002
2014-11-19 15:13:28 -05:00
Yury Semikhatsky
fb1fed5d29 Fix debugger crash in Sky
This is actually a backport of the following Blink change https://src.chromium.org/viewvc/blink?view=rev&revision=185426. New scope types introduced by ES6 features are not yes supported by DevTools and should just be ignored by the debugger. ScriptScope that caused troubles in this particular case was supported in V8 debugger quite recently (https://codereview.chromium.org/726643002).

This fixes following crash on pause in Sky:
#0  0x00007f8a39cffe1b in blink::TypeBuilder::Debugger::Scope::Type::assertCorrectValue (value=0xd98ce760450) at gen/sky/core/InspectorTypeBuilder.cpp:596
#1  0x00007f8a39d00072 in blink::TypeBuilder::Debugger::Scope::assertCorrectValue (value=0xd98ce658898) at gen/sky/core/InspectorTypeBuilder.cpp:610
#2  0x00007f8a39d033c5 in blink::TypeBuilder::StructItemTraits::assertCorrectValue<blink::TypeBuilder::Debugger::Scope> (value=0xd98ce658898) at gen/sky/core/InspectorTypeBuilder.h:160
#3  0x00007f8a39d02f71 in blink::TypeBuilder::Array<blink::TypeBuilder::Debugger::Scope>::assertCorrectValue (value=0xd98ce60af00) at gen/sky/core/InspectorTypeBuilder.h:139
#4  0x00007f8a39cffaaf in blink::TypeBuilder::Debugger::CallFrame::assertCorrectValue (value=0xd98ce658420) at gen/sky/core/InspectorTypeBuilder.cpp:569
#5  0x00007f8a3a753435 in blink::TypeBuilder::StructItemTraits::assertCorrectValue<blink::TypeBuilder::Debugger::CallFrame> (value=0xd98ce658420) at gen/sky/core/InspectorTypeBuilder.h:160
#6  0x00007f8a3a753371 in blink::TypeBuilder::Array<blink::TypeBuilder::Debugger::CallFrame>::assertCorrectValue (value=0xd98ce60af50) at gen/sky/core/InspectorTypeBuilder.h:139
#7  0x00007f8a3a752fa6 in blink::TypeBuilder::Array<blink::TypeBuilder::Debugger::CallFrame>::runtimeCast (value=...) at gen/sky/core/InspectorTypeBuilder.h:121
#8  0x00007f8a3a751e8c in blink::InjectedScript::wrapCallFrames (this=0x7f8a5560d988, callFrames=..., asyncOrdinal=0) at ../../sky/engine/core/inspector/InjectedScript.cpp:261
#9  0x00007f8a3a765350 in blink::InspectorDebuggerAgent::currentCallFrames (this=0xd98ce689410) at ../../sky/engine/core/inspector/InspectorDebuggerAgent.cpp:1149
#10 0x00007f8a3a76ae84 in blink::InspectorDebuggerAgent::didPause (this=0xd98ce689410, scriptState=0xd98ce670170, callFrames=..., exception=..., hitBreakpoints=...) at ../../sky/engine/core/inspector/InspectorDebuggerAgent.cpp:1354
#11 0x00007f8a3a76b0b7 in non-virtual thunk to blink::InspectorDebuggerAgent::didPause(blink::ScriptState*, blink::ScriptValue const&, blink::ScriptValue const&, WTF::Vector<WTF::String, 0ul, WTF::DefaultAllocator> const&) ()
    at ../../sky/engine/core/inspector/InspectorDebuggerAgent.cpp:1368
#12 0x00007f8a399dae78 in blink::ScriptDebugServer::handleProgramBreak (this=0x7f8a441c5070, pausedScriptState=0xd98ce670170, executionState=..., exception=..., hitBreakpointNumbers=...) at ../../sky/engine/bindings/core/v8/ScriptDebugServer.cpp:449
#13 0x00007f8a399dbaa8 in blink::ScriptDebugServer::handleV8DebugEvent (this=0x7f8a441c5070, eventDetails=...) at ../../sky/engine/bindings/core/v8/ScriptDebugServer.cpp:519
#14 0x00007f8a399db064 in blink::ScriptDebugServer::v8DebugEventCallback (eventDetails=...) at ../../sky/engine/bindings/core/v8/ScriptDebugServer.cpp:470
#15 0x00007f8a3937bc93 in v8::internal::Debug::CallEventCallback (this=0x7f8a44015510, event=v8::Break, exec_state=..., event_data=..., client_data=0x0) at ../../v8/src/debug.cc:2826
#16 0x00007f8a3937a5af in v8::internal::Debug::ProcessDebugEvent (this=0x7f8a44015510, event=v8::Break, event_data=..., auto_continue=false) at ../../v8/src/debug.cc:2793
#17 0x00007f8a39375589 in v8::internal::Debug::OnDebugBreak (this=0x7f8a44015510, break_points_hit=..., auto_continue=false) at ../../v8/src/debug.cc:2657
#18 0x00007f8a39374132 in v8::internal::Debug::Break (this=0x7f8a44015510, args=..., frame=0x7f8a5560e958) at ../../v8/src/debug.cc:939
#19 0x00007f8a393756d0 in v8::internal::__RT_impl_Debug_Break (args=..., isolate=0x7f8a44007380) at ../../v8/src/debug.cc:982
#20 0x00007f8a3937562e in v8::internal::Debug_Break (args_length=0, args_object=0x7f8a5560eb80, isolate=0x7f8a44007380) at ../../v8/src/debug.cc:979

BUG=None
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/743673002
2014-11-19 19:53:20 +03:00
Yury Semikhatsky
09b83601b5 Make debugger stepping work in Sky
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/738093002
2014-11-19 19:52:40 +03:00
Eric Seidel
c04c091978 Make breakpoints not crash sky
They still don't work, but at least they don't crash.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/742583004
2014-11-18 17:39:21 -08:00
Ojan Vafai
82ddd6096e Get rid of continuations.
This is all dead code now that inlines can't contain
blocks.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/734813004
2014-11-18 16:56:44 -08:00
Elliott Sprehn
b9aaf7d8e2 Clean up child checks in ContainerNode.
We can simplify the checks given that there's fewer node types now. This does
make the error messages from Range a little worse, but it's weird that Range
is doing its own error checking anyway.

I also took this as an opportunity to add a bunch of DOM tests.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/732203004
2014-11-18 16:49:48 -08:00
Elliott Sprehn
3eb9946952 Remove lots of things from RenderObject
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/735193002
2014-11-18 16:06:22 -08:00
Eric Seidel
0ca1069cd4 Add support for Page.getResourceTree
Unfortunately we don't yet have a way to walk into
imports, so this only is the first-level of the
source tree, but this is a huge step forward.

You can now click to set breakpoints, however
setting breakpoints crashes sky.

I had to fix Console.log to flush stdout
so that I could actually debug my timing-out test.

Also had to fix Chai to dump differences for deepEqual.

R=esprehn@chromium.org, abarth@chromium.org, esprhen@chromium.org

Review URL: https://codereview.chromium.org/732413004
2014-11-18 15:53:13 -08:00
Eric Seidel
593c8f8de3 Wire up more of the DebuggerAgent
The debugger can now correctly break on exceptions
and show the corresponding line in the inspector.

It correctly understands which scripts are internal
to sky and does not pause during them.

There is still a ton to make work here
(including stacktraces which I have not tested),
but basic functionality seems to work.

The current implementation is not smart enough to
unpause the inspector when the frontend disconnects.

BUG=434510,434513
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/727593004
2014-11-18 15:05:05 -08:00
Elliott Sprehn
4d83953263 Teach HTMLImageElement that it doesn't need ::attach.
Instead of using a custom ::attach to do post insertion work
when assigning the image resource to the RenderImage, we should
just fix the logic inside RenderImage to be able to handle
not being in the tree yet when the resource is first set.

Soon attach will not be virtual anymore.

I also made RenderImage final and most methods private as there
are no longer subclasses.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/732163004
2014-11-18 11:08:46 -08:00
Matt Perry
14ec13d9c0 Sky: When an iframe element is removed, delete its mojo View.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/733063007
2014-11-18 14:00:05 -05:00