[Forms] We should share RenderStyle object for optgroup and option element
https://bugs.webkit.org/show_bug.cgi?id=88405

Reviewed by Andreas Kling.

We can remove this special case now.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update scope resolution to assume that the parent activation is always there
https://bugs.webkit.org/show_bug.cgi?id=135947

Reviewed by Andreas Kling.

Another incremental step in removing the idea of lazily created
activations.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitResolveClosure):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitResolveClosure):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make inherited style and parent renderer references
https://bugs.webkit.org/show_bug.cgi?id=135857

Reviewed by Andreas Kling.

We don't recurse into non-rendered subtrees anymore so they can't be null.
Also stop using Element::renderStyle() as it differs from e->renderer().style() in
some rare cases (that should be fixed).

* style/StyleResolveTree.cpp:
(WebCore::Style::RenderTreePosition::parent):
(WebCore::Style::RenderTreePosition::RenderTreePosition):
(WebCore::Style::RenderTreePosition::canInsert):
(WebCore::Style::RenderTreePosition::insert):
(WebCore::Style::RenderTreePosition::computeNextSibling):
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::styleForElement):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::resetStyleForNonRenderedDescendants):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
srcset with w descriptor doesn't behave as expected when sizes is not supported.
https://bugs.webkit.org/show_bug.cgi?id=135935

Reviewed by Dean Jackson.

In current implementation, if sizes is not supported, when authors would write
markup such as `<img src=fallback.jpg srcset="100px.jpg 100w, 400px.jpg 400w">`
the first candidate in srcset would be picked, regardless of its dimensions
That is likely to be confusing for authors.
Dropping these "not yet supported" candidates is likely to be less confusing,
and will result in the "fallback.jpg" candidate being picked.

No new tests since this change only concerns builds that are built
with the PICTURE_SIZES compile flag turned off.

* html/parser/HTMLSrcsetParser.cpp:
(WebCore::parseDescriptors):
Drop candidates that include either 'w' or 'h' descriptors when the
sizes feature is not supported.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording
https://bugs.webkit.org/show_bug.cgi?id=135946

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-14
Reviewed by Timothy Hatcher.

Each TimelineContentView was listening for the TimelineManager's start/stop
capturing events. However, only the active recording could possibly update.
Likewise, if a pre-existing recording started and stopped we did not properly
stop in the case where we were waiting for an event to update the current time,
which would result in an infinite rAF loop of no updates.

* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.unloaded):
When a timeline recording is unloaded trigger an event.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
Assert we were not already waiting.

(WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
Properly handle the case of starting/stoping an already existing recording
without a new event coming in.

(WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineContentView.prototype._recordingReset):
Convert to a boolean instead of deleting state.

(WebInspector.TimelineContentView.prototype._recordingUnloaded):
Stop listening to timeline manager events that no longer affect unloaded recordings.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172601 268f45cc-cd09-0410-ab3c-d52691b4dbfc