Timeline
Jan 6, 2013:
- 11:28 PM Changeset in webkit [138927] by
-
- 4 edits in trunk/Source/WebCore
Show label automatically for plug-ins of significant size
https://bugs.webkit.org/show_bug.cgi?id=106146
<rdar://problem/12783010>
Reviewed by Simon Fraser.
For significantly sized plug-ins, trigger a timer that displays the label automatically
without requiring the user to mouse over the element first. The trickiness of the logic
here is that there are two delays involved-- one for whether the user mouses over (shorter),
and one for when the label is shown automatically (longer). Mousing over a plug-in that is
marked to show it automatically should have the timer delay switched. And if the label
showed automatically, mousing in and out of the element should not change that label's
state.
- html/HTMLPlugInImageElement.cpp:
(WebCore): Add constants that determine whether the plug-in is of a significant size.
(WebCore::shouldPlugInShowLabelAutomatically): Based on the size of the frame view and the
clipped plug-in size, determine whether the label should show automatically. If the plug-in is
not contained within the bounds of the frame view, or is not at least as large as the threshold
size, then do not show the label automatically.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): After we've determined that
the plug-in should not auto-start, make a check to see if the label should show automatically.
Also, update some of the logging.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Update the logging.
- platform/Timer.h:
(WebCore::DeferrableOneShotTimer::setDelay): Added to allow changing the delay of the timer. It
does not change any currently set timer, but should change the delay for the next one.
- rendering/RenderSnapshottedPlugIn.h: Rename the timer to m_showLabelDelayTimer since
it can fire for two different reasons. Add some additional state variables, and an enum
to explain why the label appeared.
- rendering/RenderSnapshottedPlugIn.cpp:
(WebCore): Change hoverDelay to showLabelAfterMouseOverDelay. Add a new, longer delay for
when the plug-in is supposed to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize the member variables.
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): When the snapshot image is updated,
start the timer to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::paintLabel): Avoid painting the label only if the element
is not hovered and the user was mousing over the plug-in. Otherwise, the plug-in is supposed
to show automatically, and we should paint. Mark the renderer as having showed the label at
least once.
(WebCore::RenderSnapshottedPlugIn::showLabelDelayTimerFired): Renamed to reflect the
purpose of the timer.
(WebCore::RenderSnapshottedPlugIn::setShouldShowLabelAutomatically): Set the variable that
determines whether, in general, this plug-in should show the label automatically even
without user input.
(WebCore::RenderSnapshottedPlugIn::handleEvent): If the user mouses over the plug-in,
only reset the show timer is the label has never appeared before, or if it has, that
it's not because the label was supposed to show automatically. That is, if the label is
supposed to show automatically, the label should remain visible. This is also true when
the user mouses out of the plug-in. If the user moused out before the time had a chance
to fire and show the label for the first time, then we check to see if the plug-in should
be displaying the label automatically, and if so, restart the timer using the longer delay.
(WebCore::RenderSnapshottedPlugIn::stopAndRestartDelayTimer): Convenience function to
update the m_showReason variable, and reset the timer with the appropriate delay.
- 11:15 PM Changeset in webkit [138926] by
-
- 4 edits2 adds in trunk
Heap-use-after-free in DocumentLoader::stopLoading
https://bugs.webkit.org/show_bug.cgi?id=103656
Reviewed by Eric Seidel.
Source/WebCore:
Test: fast/dom/ready-state-change-crash.html
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out
if the parser is detached due to mutation event.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading): Move the protectors for
frame and document loader to the start of the function. Call to
m_frame->loader()->stopLoading() can change document ready state
and fire mutation event which might blow the document loader from
underneath.
LayoutTests:
- fast/dom/ready-state-change-crash-expected.txt: Added.
- fast/dom/ready-state-change-crash.html: Added.
- 10:45 PM Changeset in webkit [138925] by
-
- 6 edits in branches/chromium/1364
Merge 138165
Expose WebKitShadowRoot constructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=105385
Reviewed by Dimitri Glazkov.
Source/WebCore:
This is a follow-up patch for r137870. WebKitShadowRoot
constructor should be in DOMWindow, just like all of the other
not-callable-constructors like HTMLDivElement, etc. We need it
for instanceof tests and so on.
Test: fast/dom/shadow/shadow-root-js-api.html
fast/js/global-constructors-expected.html
- page/DOMWindow.idl:
LayoutTests:
- fast/dom/shadow/shadow-root-js-api-expected.txt:
- fast/dom/shadow/shadow-root-js-api.html:
- fast/js/global-constructors-expected.txt:
- platform/efl/fast/js/global-constructors-expected.txt:
- platform/gtk/fast/js/global-constructors-expected.txt:
TBR=hayato@chromium.org
Review URL: https://codereview.chromium.org/11776020
- 10:34 PM Changeset in webkit [138924] by
-
- 5 edits in trunk/Source/JavaScriptCore
Simplify slow case profiling
https://bugs.webkit.org/show_bug.cgi?id=106208
Reviewed by Mark Rowe.
Removing the minimum execution ratio portion of slow case profiling, which allows
the removal of a field from CodeBlock. This appears to be performance neutral,
implying that the complexity incurred by the previous heuristic was purely
harmful: it made the code more complicated, and it made CodeBlock larger, without
resulting in any measurable benefits.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::couldTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- runtime/Options.h:
- 10:10 PM Changeset in webkit [138923] by
-
- 2 edits in trunk/Source/WebCore
[Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
https://bugs.webkit.org/show_bug.cgi?id=106203
Reviewed by Hajime Morita.
InsertionPoint should check whether ElementShadow is available or not
before invoking its methods.
No new tests. Webcomponents_fuzzer reported this bug. Would like to
use the fuzzer to check this issue.
- html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::getDistributedNodes):
(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
Added ifs to check whether ElementShadow is available or not before
invoking ElementShadow's methods, i.e. setValidityUndetermined,
invalidateDistribution, and ensureDistributionDocument.
- 10:03 PM Changeset in webkit [138922] by
-
- 2 edits in trunk/Source/WebCore
RenderImage should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97871
Reviewed by Dimitri Glazkov.
Since shadowAncestorNode() does not return 0, this if-condition will never hold.
shadowHost() should be used instead.
No change in logic, refactoring.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::hostImageElement):
- 6:24 PM Changeset in webkit [138921] by
-
- 18 edits in trunk/Source/JavaScriptCore
DFG should inline closure calls
https://bugs.webkit.org/show_bug.cgi?id=106067
Reviewed by Gavin Barraclough.
This adds initial support for inlining closure calls to the DFG. A call is considered
to be a closure call when the JSFunction* varies, but always has the same executable.
We already have closure call inline caching in both JITs, which works by checking that
the callee has an expected structure (as a cheap way of detecting that it is in fact
a JSFunction) and an expected executable. Closure call inlining uses profiling data
aggregated by CallLinkStatus to decide when to specialize the call to the particular
structure/executable, and inline the call rather than emitting a call sequence. When
we choose to do a closure inline rather than an ordinary inline, a number of things
change about how inlining is performed:
- The inline is guarded by a CheckStructure/CheckExecutable rather than a CheckFunction.
- Instead of propagating a constant value for the scope, we emit GetMyScope every time that the scope is needed, which loads the scope from a local variable. We do similar things for the callee.
- The prologue of the inlined code includes SetMyScope and SetCallee nodes to eagerly plant the scope and callee into the "true call frame", i.e. the place on the stack where the call frame would have been if the call had been actually performed. This allows GetMyScope/GetCallee to work as they would if the code wasn't inlined. It also allows for trivial handling of scope and callee for call frame reconstruction upon stack introspection and during OSR.
- A new node called GetScope is introduced, which just gets the scope of a function. This node has the expected CSE support. This allows for the SetMyScope(GetScope(@function)) sequence to set up the scope in the true call frame.
- GetMyScope/GetCallee CSE can match against SetMyScope/SetCallee, which means that the GetMyScope/GetCallee nodes emitted during parsing are often removed during CSE, if we can prove that it is safe to do so.
- Inlining heuristics are adjusted to grok the cost of inlining a closure. We are less likely to inline a closure call than we are to inline a normal call, since we end up emitting more code for closures due to CheckStructure, CheckExecutable, GetScope, SetMyScope, and SetCallee.
Additionally, I've fixed the VariableEventStream to ensure that we don't attempt to
plant Undefined into the true call frames. This was previously a harmless oversight,
but it becomes quite bad if OSR is relying on the scope/callee already having been
set and not subsequently clobbered by the OSR itself.
This is a ~60% speed-up on programs that frequently make calls to closures. It's
neutral on V8v7 and other major benchmark suites.
The lack of a definite speed-up is likely due the fact that closure inlining currently
does not do any cardinality [1] optimizations. We don't observe when a closure was
constructed within its caller, and so used the scope from its caller; and furthermore
we have no facility to detect when the scope is single. All scoped variable accesses
are assumed to be multiple instead. A subsequent step will be to ensure that closure
call inlining will be single and loving it.
[1] Single and loving it: Must-alias analysis for higher-order languages. Suresh
Jagannathan, Peter Thiemann, Stephen Weeks, and Andrew Wright. In POPL '98.
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::dump):
- bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::globalObjectFor):
(JSC):
- bytecode/CodeBlock.h:
(CodeBlock):
- bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dump):
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
- dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::pureCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::mightInlineFunctionForClosureCall):
- dfg/DFGCapabilities.h:
(DFG):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionFor):
- dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::hasExecutable):
(JSC::DFG::Node::executable):
- dfg/DFGNodeType.h:
(DFG):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
- runtime/Options.h:
(JSC):
- 3:58 PM Changeset in webkit [138920] by
-
- 2 edits in branches/chromium/1364/Source/WebKit/chromium
Merge 138302
[chromium] Disable color profile support for WebImageSkia users
https://bugs.webkit.org/show_bug.cgi?id=105493
Reviewed by Eric Seidel.
Disable color profiles to prevent null pointer dereference under some
conditions. Tested by unittests at src.chromium.org.
- src/WebImageSkia.cpp:
(WebKit::WebImage::fromData):
(WebKit::WebImage::framesFromData):
TBR=noel.gordon@gmail.com
Review URL: https://codereview.chromium.org/11785017
- 12:26 PM Changeset in webkit [138919] by
-
- 2 edits in trunk/Source/WebCore
Bug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
https://bugs.webkit.org/show_bug.cgi?id=106177
Patch by Sebastian Dröge <sebastian.droege@collabora.co.uk> on 2013-01-06
Reviewed by Martin Robinson.
- platform/graphics/gstreamer/GStreamerVersioning.cpp:
(getVideoSizeAndFormatFromCaps):
Don't call gst_video_info_from_caps() with non-fixed caps as
it will cause assertions.
- 10:53 AM Changeset in webkit [138918] by
-
- 3 edits2 adds in trunk
Heap-use-after-free in WebCore::Document::implicitClose
https://bugs.webkit.org/show_bug.cgi?id=105655
Reviewed by Eric Seidel.
Source/WebCore:
Test: fast/dom/window-load-crash.html
- dom/Document.cpp:
(WebCore::Document::implicitClose): RefPtr protect |this| document since it
can be destroyed in the dispatchWindowLoadEvent call.
LayoutTests:
- fast/dom/window-load-crash-expected.txt: Added.
- fast/dom/window-load-crash.html: Added.
- 3:18 AM BuildingGtk edited by
- (diff)
- 3:17 AM BuildingGtk edited by
- (diff)
- 1:43 AM Changeset in webkit [138917] by
-
- 4 edits in trunk
Seamless: IFrame's padding isn't taken into account when calculating its height.
https://bugs.webkit.org/show_bug.cgi?id=106167
Reviewed by Eric Seidel.
Source/WebCore:
IFrames rendered seamlessly don't currently calculate their height
correctly when padding is applied to the frame itself. This patch adds
padding calculations to RenderIFrame::layoutSeamlessly to ensure that
the seamless frame is correctly sized.
- rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layoutSeamlessly):
LayoutTests:
- fast/frames/seamless/seamless-border-padding-expected.txt:
Adjusts the previously failing expectations to the correct values.
Jan 5, 2013:
- 10:16 PM Changeset in webkit [138916] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: [Mac] Intermittent crashes in AXObjectCache::notificationPostTimerFired
https://bugs.webkit.org/show_bug.cgi?id=106106
Reviewed by Eric Seidel.
The crash was cause by notification post timer firing after the object destruction had taken place.
Clear the timer so that this won't happen. Also make sure the document doesn't go away while we're
going through m_notificationsToPost.
No new tests since crashes have been caught by various layout tests, and we can't easily
create a deterministic layout test for this particular crash.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
- 6:59 PM Changeset in webkit [138915] by
-
- 2 edits in trunk/Source/JavaScriptCore
Data flow paths that carry non-numbers, non-undefined, non-null values should not cause subtractions and arithmetic additions (i.e. ++) to speculate double
https://bugs.webkit.org/show_bug.cgi?id=106190
Reviewed by Sam Weinig.
The problem is that the DFG logic for deciding when to speculate integer was
confusing the special case of ValueAdd (where non-numeric values should cause us
to not speculate integer, because we want to fall off into the generic case) with
the more normal case of ArithAdd and ArithSub (where we want to speculate integer
unless we have evidence that the operands are doubles, since the DFG doesn't have
generic handling of those operations). Prior to this change doing a - b where
either a or b were possibly non-numeric would always force the subtraction to be
done using doubles.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addSpeculationMode):
(Graph):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
- 6:45 PM Changeset in webkit [138914] by
-
- 2 edits in trunk/Source/WebCore
IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=106189
Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Sam Weinig.
Cleaning up coding inconsistencies, no change in behavior.
Tests: storage/indexeddb/*
- Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::GetOperation::create):
- 6:26 PM Changeset in webkit [138913] by
-
- 20 edits4 deletes in trunk/Source/WebKit2
Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
https://bugs.webkit.org/show_bug.cgi?id=106163
Reviewed by Darin Adler.
Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
captured in ChildProcess and derived classes.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
- NetworkProcess/NetworkProcess.h:
(NetworkProcess):
- NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
- NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
- NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
- PluginProcess/PluginProcess.h:
(PluginProcess):
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
- PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
- PluginProcess/qt/PluginProcessQt.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::platformInitializePluginProcess):
- PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
- Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeProcess):
(WebKit::ChildProcess::initializeProcessName):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::initializeConnection):
- Shared/ChildProcess.h:
(ChildProcess):
- SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::initializeSandbox):
- WebProcess/WebProcess.h:
(WebProcess):
- WebProcess/mac/WebProcessInitialization.h: Removed.
- WebProcess/mac/WebProcessInitialization.mm: Removed.
- WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
- WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
- WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
- 4:03 PM Changeset in webkit [138912] by
-
- 2 edits in trunk/LayoutTests
Add failing test expectations to some tile drawing tests on Mac WebKit2.
The failures are tracked by the bug 106187.
- platform/mac-wk2/TestExpectations:
- 3:55 PM Changeset in webkit [138911] by
-
- 2 edits in trunk/LayoutTests
Revert an erroneous change from r138874.
http/tests/misc/link-rel-icon-beforeload.html had been skipped prior to r138874
and it should continued to be.
- platform/mac-wk2/TestExpectations:
- 3:40 PM Changeset in webkit [138910] by
-
- 2 edits in trunk/LayoutTests
Add a flaky test expectation for the bug 106185.
- platform/mac/TestExpectations:
- 3:07 PM Changeset in webkit [138909] by
-
- 10 edits in trunk/Source/WebCore
Remove RenderObjectChildList::beforePseudoElementRenderer and afterPseudoElementRenderer
https://bugs.webkit.org/show_bug.cgi?id=106132
Reviewed by Abhishek Arya.
We no longer need the complicated traversals in beforePseudoElementRenderer
and afterPseudoElementRenderer since we can get the renderers of pseudo
elements through the node. This removes all that code and swaps it for
Element::pseudoElementRenderer.
This is possible now that r138850 removed all the now incorrect manual
management of pseudo element renderers from the render tree that was
left over from before the switch to DOM based pseudo elements.
No new tests, just refactoring.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- dom/Element.cpp:
(WebCore::Element::pseudoElementRenderer):
Added, gets the renderer of the pseudo element by PseudoId if it
exists.
- dom/Element.h:
(Element):
- dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nextSiblingSlow):
(WebCore::NodeRenderingTraversal::previousSiblingSlow):
- rendering/RenderCounter.cpp:
(WebCore::previousInPreOrder):
(WebCore::previousSiblingOrParent):
(WebCore::nextInPreOrder):
- rendering/RenderObject.h:
(WebCore::RenderObject::lastChild):
- rendering/RenderObjectChildList.cpp:
- rendering/RenderObjectChildList.h:
(RenderObjectChildList):
- rendering/RenderTreeAsText.cpp:
(WebCore::counterValueForElement):
- 1:23 PM Changeset in webkit [138908] by
-
- 3 edits2 adds in trunk
Heap-use-after-free in WebCore::RenderBlock::insertIntoTrackedRendererMaps
https://bugs.webkit.org/show_bug.cgi?id=105654
Reviewed by Simon Fraser.
Source/WebCore:
As with position:relative, position:sticky does not apply to table sections.
Test: fast/block/sticky-position-containing-block-crash.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
LayoutTests:
- fast/block/sticky-position-containing-block-crash-expected.txt: Added.
- fast/block/sticky-position-containing-block-crash.html: Added.
- 1:20 PM Changeset in webkit [138907] by
-
- 7 edits1 add in trunk/LayoutTests
Deflaking http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html
https://bugs.webkit.org/show_bug.cgi?id=106165
Reviewed by Adam Barth.
The original test chose its violation mechanism poorly. The existing injection file
injected two violations, which generated reports delivered in a random order. This
patch creates a new injection JavaScript file that injects a single image, generating
a single report. That should deflake the test.
- http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html:
- http/tests/security/contentSecurityPolicy/resources/inject-image.js:
Adjusting the test to be deterministic.
- platform/chromium/TestExpectations:
- platform/efl/TestExpectations:
- platform/mac/TestExpectations:
- platform/qt/TestExpectations:
Unskipping test.
- 1:07 PM Changeset in webkit [138906] by
-
- 4 edits in trunk/Source/WebCore
Cleanup: mayDisplaySeamlessWithParent -> mayDisplaySeamless_ly_WithParent
https://bugs.webkit.org/show_bug.cgi?id=106169
Reviewed by Eric Seidel.
This patch renames SecurityContext's 'm_mayDisplaySeamlessWithParent' to
'm_mayDisplaySeamlesslyWithParent'. Because adverbs matter.
- dom/Document.cpp:
(WebCore::Document::initSecurityContext):
(WebCore::Document::shouldDisplaySeamlesslyWithParent):
- dom/SecurityContext.cpp:
(WebCore::SecurityContext::SecurityContext):
- dom/SecurityContext.h:
(SecurityContext):
- 1:02 PM Changeset in webkit [138905] by
-
- 3 edits in trunk/Source/WebKit/blackberry
[BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
https://bugs.webkit.org/show_bug.cgi?id=106141
Patch by Andy Chen <andchen@rim.com> on 2013-01-05
Reviewed by Rob Buis.
If last fat finger result is a link, select it directly when
SelectionHandler::selectAtPoint is called.
PR 263449
Internally reviewed by Mike Fenton and Yongxin Dai.
- WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- WebKitSupport/SelectionHandler.h:
(WebKit):
(SelectionHandler):
- 12:50 PM Changeset in webkit [138904] by
-
- 3 edits2 adds in trunk
seamless iframes don't take border into account properly and make the iframe too small.
https://bugs.webkit.org/show_bug.cgi?id=90827
Reviewed by Ojan Vafai.
Source/WebCore:
Seamless IFrames were incorrectly calculating their width; borders and
padding of the child document were accidentally left out of the end
result. This tiny patch adds the border/padding width to the calculated
width for the seamless IFrame, bringing things back into line with
expectations.
Test: fast/frames/seamless/seamless-border-padding.html
- rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::minPreferredLogicalWidth):
(WebCore::RenderIFrame::maxPreferredLogicalWidth):
Add borderAndPaddingLogicalWidth() to the result of both methods.
LayoutTests:
- fast/frames/seamless/seamless-border-padding-expected.txt: Added.
- fast/frames/seamless/seamless-border-padding.html: Added.
This test checks the IFrame's handling of borders and padding.
Things work correctly for width after this patch, but there are
still issues with padding and height, which will be fixed in
http://wkbug.com/106167
- 12:50 PM Changeset in webkit [138903] by
-
- 2 edits in trunk/Source/WTF
Only enable MinGW-w64 pow() workaround if needed
https://bugs.webkit.org/show_bug.cgi?id=106099
Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Filip Pizlo.
The pow() workaround is no longer needed in the latest version
of MinGW-w64.
- wtf/MathExtras.h:
- 12:49 PM Changeset in webkit [138902] by
-
- 3 edits2 adds in trunk
MediaControls::show() should make controls opaque
https://bugs.webkit.org/show_bug.cgi?id=106034
Patch by Min Qin <qinmin@chromium.org> on 2013-01-05
Reviewed by Eric Carlson.
Source/WebCore:
When a video enters fullscreen, webkit starts a timer to make the control transparent when the timer expires.
If the user exits fullscreen while the timer expires, webkit will call mediaControls::show().
However, show() actually displays nothing as the control is transparent.
The user had to move his mouse outside the video rect and move it back in order to show the controls.
Simply clicking/moving the mouse inside the video rect will not make the control opaque.
Test: media/video-controls-visible-exiting-fullscreen.html
- html/shadow/MediaControls.cpp:
(WebCore::MediaControls::show):
LayoutTests:
Add tests to check that video controls are shown when exiting from fullscreen.
- media/video-controls-visible-exiting-fullscreen-expected.txt: Added.
- media/video-controls-visible-exiting-fullscreen.html: Added.
- 12:44 PM Changeset in webkit [138901] by
-
- 2 edits in trunk/LayoutTests
[WK2] Exclude IndexedDB tests which use eventSender.beginDragWithFiles()
https://bugs.webkit.org/show_bug.cgi?id=106138
Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Alexey Proskuryakov.
- platform/wk2/TestExpectations:
- 12:42 PM Changeset in webkit [138900] by
-
- 24 edits in trunk
IndexedDB: Migrate backend ObjectStore calls to use transaction id
https://bugs.webkit.org/show_bug.cgi?id=102741
Reviewed by Tony Chang.
Source/WebCore:
Fully migrate 8 core data calls (get, put, setIndexKeys, setIndexesReady,
openCursor, count, deleteRange, and clear) into IDBDatabaseBackendImpl,
combining common code from IDBObjectStoreBackendImpl and IDBIndexBackendImpl
in order to simplify the backend interface. These calls are now
implemented in terms of an int64_t-based transactionId rather than
an IDBTransactionBackendInterface, which simplifies the ownership model
between the frontend and the backend.
In addition, remove references to IDBObjectStoreBackend* from IDBIndex,
as it is no longer needed.
A few duplicate IDB_TRACE methods have been removed from wrapper methods
that call another method that already have IDB_TRACE's.
Finally, IDBCursorBackendImpl now no longer holds onto an
IDBObjectStoreBackendImpl*, so its destruction and member variables are
simplified, and reordered to match proper destruction order.
- Modules/indexeddb/IDBCursorBackendImpl.cpp: Reordered to account for proper destruction.
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):
- Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(IDBCursorBackendImpl):
- Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::backend):
(IDBDatabase):
- Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(GetOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*RetrievalOperation
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore):
(PutOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*StorageOperation.
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(SetIndexesReadyOperation): Moved from IDBObjectStoreBackendImpl::IndexesReadyOperation
(WebCore::SetIndexesReadyOperation::create):
(WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
(OpenCursorOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::Open*CursorOperation
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(CountOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::CountOperation
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(DeleteRangeOperation): Moved from IDBObjectStoreBackendImpl::DeleteOperation
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(ClearOperation): Moved from IDBObjectStoreBackendImpl::ClearOperation
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
(WebCore::IDBDatabaseBackendImpl::get): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::get*
(WebCore::GetOperation::perform):
(WebCore::IDBDatabaseBackendImpl::put): Moved from IDBObjectStoreBackendImpl::put
(WebCore::PutOperation::perform):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys): Moved from IDBObjectStoreBackendImpl::setIndexKeys
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::CountOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::DeleteRangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::clear):
(WebCore::ClearOperation::perform):
(WebCore::OpenCursorOperation::perform):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
(WebCore::IDBIndex::backendDB):
(WebCore):
- Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::create):
(IDBIndex):
- Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
- Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
(IDBIndexBackendImpl):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
(WebCore::IDBObjectStore::backendDB):
- Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::id):
(IDBObjectStore):
- Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::generateKey):
(WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
- Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::count):
(IDBObjectStoreBackendImpl):
- Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::database):
(IDBTransactionBackendImpl):
Source/WebKit/chromium:
Fix a bug where an array was initialized with a large empty buffer,
clean up whitespace, and update to match signatures that changed
in WebCore.
- public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::clear):
- src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::put):
- src/WebIDBIndexImpl.cpp:
- tests/IDBDatabaseBackendTest.cpp:
LayoutTests:
Add additional count() tests for multi-entry indexes, not previously
covered.
- storage/indexeddb/index-multientry-expected.txt:
- storage/indexeddb/resources/index-multientry.js:
(.transaction.oncomplete):
(verifyCount.request.onsuccess.request.onsuccess):
(verifyCount.request.onsuccess):
(verifyCount):
- 12:26 PM Changeset in webkit [138899] by
-
- 3 edits2 adds in trunk
Max width of a floated container with floated children calculated incorrectly
https://bugs.webkit.org/show_bug.cgi?id=47975
Source/WebCore:
Accumulate the width of child floats in the correct counter so that it gets reset
as expected when a subsequent sibling decides to clear it.
Reviewed by Levi Weintraub.
Test: fast/block/float/max-width-clear-float-with-overflow-hidden.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
LayoutTests:
Reviewed by Levi Weintraub.
- fast/block/float/max-width-clear-float-with-overflow-hidden-expected.html: Added.
- fast/block/float/max-width-clear-float-with-overflow-hidden.html: Added.
- 12:22 PM Changeset in webkit [138898] by
-
- 10 edits in trunk/Source
IndexedDB: Stub out IDBDatabaseBackendInterface::createIndex/deleteIndex
https://bugs.webkit.org/show_bug.cgi?id=106117
Reviewed by Adam Barth.
Source/WebCore:
No new tests, these are just stubs for refactoring.
- Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(IDBDatabaseBackendImpl):
- Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
Source/WebKit/chromium:
Stubs for migration from WebIDBObjectStore.
- public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::createIndex):
(WebKit::WebIDBDatabase::deleteIndex):
(WebIDBDatabase):
- src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createIndex):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteIndex):
- src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
- src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createIndex):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteIndex):
- src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
- tests/IDBDatabaseBackendTest.cpp:
- 12:11 PM Changeset in webkit [138897] by
-
- 4 edits2 adds in trunk
[Shadow DOM]: Some named elements in ShadowTree visible on nesting document level
https://bugs.webkit.org/show_bug.cgi?id=105617
Reviewed by Dimitri Glazkov.
Source/WebCore:
According to the shadow dom spec, the nodes and named elements are not
accessible using shadow host's document DOM tree accessors or with
Window object named properties. c.f.
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#upper-boundary-encapsulation
Test: fast/dom/shadow/element-name-in-shadow.html
- dom/Element.h:
(WebCore::Element::updateName):
Check whether the given element is in a shadow dom tree or not. If in
a shadow dom tree, don't register the name.
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::insertedInto):
(WebCore::HTMLIFrameElement::removedFrom):
(WebCore::HTMLIFrameElement::parseAttribute):
HTMLIFrameElement doesn't use updateName. Instead the element uses
addExtraNamedItem and removeExtraNameItem in HTMLIFrameElement.cpp.
LayoutTests:
- fast/dom/shadow/element-name-in-shadow-expected.txt: Added.
- fast/dom/shadow/element-name-in-shadow.html: Added.
- 12:05 PM Changeset in webkit [138896] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening
Skipping http/tests/multipart/multipart-wait-before-boundary.html for now,
the test is intermittently timing out on release builders despite being assigned
a SLOW expectation, thus unnecessarily painting bots red. A bug identifier is also
added for this test.
- platform/gtk/TestExpectations:
- 12:04 PM Changeset in webkit [138895] by
-
- 9 edits in trunk
Implement MediaStreamSource::setAudioFormat()
https://bugs.webkit.org/show_bug.cgi?id=106053
Reviewed by Kenneth Russell.
Source/Platform:
- chromium/public/WebAudioDestinationConsumer.h:
(WebAudioDestinationConsumer):
Source/WebCore:
MediaStreamAudioDestinationNode needs to be able to tell its associated
MediaStreamSource about the audio format (number of channels and sample-rate).
- Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
- platform/audio/AudioDestinationConsumer.h:
(AudioDestinationConsumer):
- platform/chromium/support/WebMediaStreamSource.cpp:
(ConsumerWrapper):
(WebKit::ConsumerWrapper::setFormat):
(WebKit):
- platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::setAudioFormat):
(WebCore):
- platform/mediastream/MediaStreamSource.h:
(MediaStreamSource):
- 12:02 PM Changeset in webkit [138894] by
-
- 2 edits in trunk/Source/WTF
Fix compilation of MathExtras.h with MinGW-w64
https://bugs.webkit.org/show_bug.cgi?id=106105
Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Simon Hausmann.
The isfinite and isinf functions are required by wtf_pow but
not defined until after wtf_pow. Move wtf_pow to after
"using std::isfinite" and "using std::isinf" to fix compilation.
- wtf/MathExtras.h:
(wtf_pow):
- 12:01 PM Changeset in webkit [138893] by
-
- 4 edits in trunk/Source/WebKit/chromium
Add function to move caret selection towards a point
https://bugs.webkit.org/show_bug.cgi?id=105189
Patch by Chris Hopman <cjhopman@google.com> on 2013-01-05
Reviewed by Eric Seidel.
This function moves the selection to the corresponding point in the
rootEditableElement of the current selection. Used on Android for
the behavior of insertion handles (i.e. dragging the caret around).
- public/WebFrame.h:
(WebFrame):
- src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::moveCaretSelectionTowardsWindowPoint):
(WebKit):
- src/WebFrameImpl.h:
(WebFrameImpl):
- 7:15 AM Changeset in webkit [138892] by
-
- 7 edits in trunk/LayoutTests
Unreviewed EFL gardening.
Rebaseline several tests after r138838.
- platform/efl/fast/ruby/base-shorter-than-text-expected.png:
- platform/efl/fast/ruby/base-shorter-than-text-expected.txt:
- platform/efl/fast/table/038-vertical-expected.png:
- platform/efl/fast/table/038-vertical-expected.txt:
- platform/efl/fast/table/border-collapsing/004-vertical-expected.png:
- platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:
- 5:52 AM Changeset in webkit [138891] by
-
- 2 edits in trunk/Source/WebCore
[Texmap] TextureMapperGL should reset ARRAY_BUFFER after painting.
https://bugs.webkit.org/show_bug.cgi?id=106098
This fixes the issue of the address bar disappearing in
Qt/MiniBrowser after r138555.
Reviewed by Jocelyn Turcotte.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawEdgeTriangles):
(WebCore::TextureMapperGL::drawUnitRect):
- 1:24 AM AddingFeatures edited by
- Adjust the name of the file containing feature defines for the … (diff)
- 1:04 AM Changeset in webkit [138890] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG should trust array profiling over value profiling
https://bugs.webkit.org/show_bug.cgi?id=106155
Reviewed by Gavin Barraclough.
The real problem is that prediction propagation is not flow-sensitive. We had code
like:
var a = (some load from memory); returns either an array or false
if (a)
a[i] = v;
Because 'a' could be 'false', we were emitting a fully generic unoptimized PutByVal.
This patch changes ArrayMode to ignore the type of the base of an array access, if
array profiling tells us that the array access can be optimized.
In the future, we could probably make this work even better with some flow
sensitivity in the prediction propagator, but I also tend to think that this is a
more robust overall solution. If we ever did want to support array accesses on
array-or-false then we should change the array profiler to be able to tell us that
this is what is going on.
3.7% speed-up on V8/earley.
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
- 12:28 AM Changeset in webkit [138889] by
-
- 1 edit1 delete in trunk/Tools
Add svn:executable to a bunch of scripts in BuildSlaveSupport.
Also removed the empty mac directory.
- BuildSlaveSupport/built-product-archive: Added property svn:executable.
- BuildSlaveSupport/download-built-product: Added property svn:executable.
- BuildSlaveSupport/mac: Removed.
- BuildSlaveSupport/test-result-archive: Added property svn:executable.
- 12:20 AM Changeset in webkit [138888] by
-
- 2 edits1 add in trunk/Tools
Add a script to delete stale zero-byte build files
https://bugs.webkit.org/show_bug.cgi?id=106131
Reviewed by Tony Chang.
Delete zero-byte build files on Mac port for now. It doesn't do anything on other ports.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DeleteStaleBuildFiles): Added.
(Factory.init): Add DeleteStaleBuildFiles step.
- BuildSlaveSupport/delete-stale-build-files: Added.
(main): Delete zero-byte files except ones intentionally generated by our build process.
(webkitBuildDirectory): Copied from build-product-archive.