1 2011-04-19 Simon Fraser <simon.fraser@apple.com>
3 Reviewed by Dan Bernstein.
5 background color of elements with border-radius shows around outer edge of border at corners
6 https://bugs.webkit.org/show_bug.cgi?id=21819
8 When drawing a background followed by a border with the same rounded
9 clip, some border color leaks out because of antialiasing.
11 Fix this by using two different strategies depending on the colors.
12 If the border is opaque on all sides, we can inset the background by
13 a device pixel. If not, then we have to draw the unclipped background
14 and border into a transparency layer, and then clip that.
16 A futher possible solution is mentioned in a comment in
17 determineBackgroundBleedAvoidance() but not yet implemented.
19 Also don't try to paint shadows with zero offset, spread and blur.
21 Test: fast/backgrounds/background-leakage.html,
22 fast/backgrounds/background-leakage-transforms.html
24 * rendering/RenderBoxModelObject.h:
25 Add a BackgroundBleedAvoidance enum with a value for each
27 * rendering/RenderBoxModelObject.cpp:
28 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
29 Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
30 If using the transparency layer solution, don't bother to clip
31 to the rounded rect for the background. If the strategy is to
32 shrink the background, do that.
33 (WebCore::BorderEdge::BorderEdge):
34 (WebCore::BorderEdge::obscuresBackgroundEdge):
35 Helper method to determine if this border side will totally
36 obscured by the border edge, allowing us to inset it.
37 (WebCore::RenderBoxModelObject::paintOneBorderSide):
38 Pass BackgroundBleedAvoidance through.
39 (WebCore::RenderBoxModelObject::paintBorderSides):
41 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
43 (WebCore::RenderBoxModelObject::paintBorder):
44 Fill BorderEdges using getBorderEdgeInfo now.
45 Don't clip to the rounded border if we are using the
46 transparency layer solution.
47 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
48 Pass bleedAvoidance through, and use it for double borders.
49 (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
50 Helper to fill in the BorderEdge array.
51 (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
52 Used to determine if we can use the background shrinkage solution.
53 (WebCore::RenderBoxModelObject::paintBoxShadow):
54 Don't paint shadows that should not be visible.
56 * rendering/RenderBox.h:
57 * rendering/RenderBox.cpp:
58 (WebCore::RenderBox::paintRootBoxFillLayers):
59 Pass BackgroundBleedNone for the root box.
61 (WebCore::RenderBox::determineBackgroundBleedAvoidance):
62 Determine which bleed strategy we can use.
64 (WebCore::RenderBox::paintBoxDecorationsWithSize):
65 Based on the bleedAvoidance, make a transparency layer
66 which will be clipped to the rounded border outside edge,
67 and pass bleedAvoidance to the background and border-painting
69 (WebCore::RenderBox::paintMaskImages):
70 Use BackgroundBleedNone.
71 (WebCore::RenderBox::paintFillLayers):
72 (WebCore::RenderBox::paintFillLayer):
73 Pass bleedAvoidance through.
75 * rendering/InlineFlowBox.cpp:
76 (WebCore::InlineFlowBox::paintFillLayer):
77 (WebCore::InlineFlowBox::paintBoxDecorations):
78 Pass BackgroundBleedNone. At some point we may want to do the right
79 thing for split inlines.
81 * rendering/RenderFieldset.cpp:
82 (WebCore::RenderFieldset::paintBoxDecorations):
83 * rendering/RenderTableCell.cpp:
84 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
85 Pass BackgroundBleedNone.
87 2011-04-19 Yuta Kitamura <yutak@chromium.org>
89 Reviewed by Alexey Proskuryakov.
91 WebSocket: Add assertion for SocketStreamError::failingURL.
92 https://bugs.webkit.org/show_bug.cgi?id=58765
94 No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
96 * websockets/WebSocketChannel.cpp:
97 (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
98 m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
99 using zero- or one-argument constructor (which is old version but some ports are still using it).
100 In that case, m_handshake.url() is passed to addMessage().
102 2011-04-19 Eric Carlson <eric.carlson@apple.com>
104 Reviewed by Dimitri Glazkov.
106 Media controls status display should not be hidden for live streams
107 https://bugs.webkit.org/show_bug.cgi?id=58952
109 Tested manually because we don't have any live streams to test in DRT.
111 * html/shadow/MediaControlElements.cpp:
112 (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
113 there is something to display (readyState exceeds HAVE_METADATA).
114 * html/shadow/MediaControlRootElement.cpp:
115 (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
118 2011-04-19 Julien Chaffraix <jchaffraix@codeaurora.org>
120 Reviewed by Alexey Proskuryakov.
122 https://bugs.webkit.org/show_bug.cgi?id=45425
123 HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
125 Test: fast/html/htmllink-disable.html
126 Test: fast/dom/HTMLLinkElement/disabled-attribute.html
128 Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
130 Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
132 * html/HTMLLinkElement.cpp:
133 (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
134 false if we don't have a stylesheet.
135 (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
136 ignore the call if we don't have a stylesheet.
137 * html/HTMLLinkElement.h:
138 * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
139 This matches the way FF4, Opera and IE9 handle the attribute.
141 2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
143 Reviewed by Eric Seidel.
145 Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
146 https://bugs.webkit.org/show_bug.cgi?id=58569
148 Removed all calls to deprecatedOffset and deprecatedNode.
150 * editing/TypingCommand.cpp:
151 (WebCore::TypingCommand::insertText):
152 (WebCore::TypingCommand::deleteKeyPressed):
153 (WebCore::TypingCommand::forwardDeleteKeyPressed):
155 2011-04-19 Adrienne Walker <enne@google.com>
157 Reviewed by Kenneth Russell.
159 [chromium] Initialize depth mask to known value before getBooleanv call
160 https://bugs.webkit.org/show_bug.cgi?id=58948
162 This trips an assert in the GPU command buffer client code if the
163 pointed-to value is not initialized to 0 or -1.
165 * platform/graphics/gpu/DrawingBuffer.cpp:
166 (WebCore::DrawingBuffer::clearFramebuffer):
168 2011-04-19 Pratik Solanki <psolanki@apple.com>
170 Reviewed by Simon Fraser.
172 BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
173 https://bugs.webkit.org/show_bug.cgi?id=58926
175 * platform/graphics/BitmapImage.cpp:
176 (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
177 * platform/graphics/BitmapImage.h:
178 (WebCore::BitmapImage::assertNotSolidColor):
179 * platform/graphics/cg/ImageCG.cpp:
180 (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
182 2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
184 Reviewed by Ojan Vafai.
186 REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
187 https://bugs.webkit.org/show_bug.cgi?id=58910
189 The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
190 targetNode always have renderer when there selection has an editable root and the target node
191 is outside of the editable root.
193 Fixed the bug by adding an early exit when the target node is null.
195 No new tests are added since we don't have a reduction for this crash.
197 * page/EventHandler.cpp:
198 (WebCore::selectionExtentRespectingEditingBoundary):
200 2011-04-19 Geoffrey Garen <ggaren@apple.com>
204 * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
206 2011-04-19 Enrica Casucci <enrica@apple.com>
208 Reviewed by Ryosuke Niwa.
210 REGRESSION(r55762): Highlight color can't be copied in gmail.
211 https://bugs.webkit.org/show_bug.cgi?id=58925
212 <rdar://problem/9253057>
214 Test: editing/pasteboard/copy-text-with-backgroundcolor.html
216 The changes of r55762 uncovered the underlying issue here. The markup fragment
217 placed in the pasteboard does not contain the background color style.
218 This occurs only if the selection is limited to a single text node, whereas if the
219 selection spans across multiple nodes, the style is preserved correctly.
220 The fix consists in changing the logic that decides whether we should include the wrapping
221 node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
222 on isElementPresentational to choose candidates to be the wrapping node.
223 I've extended it to accept nodes that have non fully transparent background colors.
225 * editing/Editor.cpp:
226 (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
228 * editing/markup.cpp:
229 (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
231 2011-04-19 Geoffrey Garen <ggaren@apple.com>
233 Reviewed by Oliver Hunt.
235 Removed a use of markDOMObjectWrapper: NodeLists
236 https://bugs.webkit.org/show_bug.cgi?id=58939
238 * bindings/js/JSDocumentCustom.cpp:
239 (WebCore::JSDocument::markChildren): No need to mark node lists, because
240 now they use the opaque roots system to decide their lifetimes.
242 * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
244 * bindings/js/JSNodeListCustom.cpp:
245 (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
246 (WebCore::JSNodeListOwner::finalize):
247 (WebCore::wrapperOwner):
248 (WebCore::wrapperContext):
249 (WebCore::toJS): Use the opaque roots system to avoid relying on
250 markDOMObjectWrapper.
252 * dom/DynamicNodeList.cpp:
253 (WebCore::DynamicNodeList::isDynamicNodeList):
254 * dom/DynamicNodeList.h:
255 (WebCore::DynamicNodeList::rootNode): Added the ability to get the node
256 backing a NodeList, for use in the opaque roots system.
261 (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
262 to the old way of marking NodeLists.
264 * dom/NodeList.idl: We need a custom toJS so we can specify a custom
265 WeakHandleOwner at construction time.
267 2011-04-19 Antoine Labour <piman@chromium.org>
269 Reviewed by James Robinson.
271 For invisible iframes, propagate compositing to parent instead of setting self
273 https://bugs.webkit.org/show_bug.cgi?id=58414
275 Tests: compositing/iframes/invisible-iframe.html
276 compositing/iframes/invisible-nested-iframe-hide.html
277 compositing/iframes/invisible-nested-iframe-show.html
278 compositing/iframes/invisible-nested-iframe.html
280 * rendering/RenderLayerCompositor.cpp:
281 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
282 Propagate compositing to parent even if frame owner has no renderer.
284 2011-04-19 Dan Bernstein <mitz@apple.com>
286 Reviewed by Beth Dakin.
288 <rdar://problem/9271848> Crash when the document element is removed
290 Test: fast/events/overflow-viewport-renderer-deleted.html
292 * page/FrameView.cpp:
293 (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
294 function takes a code path that doesn’t call applyOverflowToViewport().
295 (WebCore::FrameView::layout): Whitespace change.
297 2011-04-19 Beth Dakin <bdakin@apple.com>
299 Reviewed by Maciej Stachowiak.
301 https://bugs.webkit.org/show_bug.cgi?id=57898
302 REGRESSION (r82185): Scroll position not restored on navigation back to a page in
305 <rdar://problem/9226652>
307 Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll
308 position to be lost. (The scroll position is computed based on the
309 visibleContentSize.) This patch provides a mechanism to cache the current scroll
310 position, and then the HistoryController accesses only the cached position rather
311 than calling scrollPosition() which does a computation based on the
314 * loader/HistoryController.cpp:
315 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
316 * page/FrameView.cpp:
317 (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
318 * platform/ScrollView.h:
319 (WebCore::ScrollView::cacheCurrentScrollPosition):
320 (WebCore::ScrollView::cachedScrollPosition):
322 2011-04-19 Renata Hodovan <reni@webkit.org>
324 Reviewed by Eric Seidel.
326 Move the alignment related macros in Vector.h to new Alignment.h.
327 https://bugs.webkit.org/show_bug.cgi?id=56000
329 Adding the new file to the forwarding headers of WebCore.
331 * ForwardingHeaders/wtf/Alignment.h: Added.
333 2011-04-19 Oliver Hunt <oliver@apple.com>
335 Reviewed by Andreas Kling.
337 [Qt] QtInstance method cache ownership rules are unclear
338 https://bugs.webkit.org/show_bug.cgi?id=58820
340 Make the QtInstance method cache use WriteBarrier, and handle
343 * bridge/qt/qt_class.cpp:
344 (JSC::Bindings::QtClass::fallbackObject):
345 (JSC::Bindings::QtClass::fieldNamed):
346 * bridge/qt/qt_instance.cpp:
347 (JSC::Bindings::QtInstance::~QtInstance):
348 (JSC::Bindings::QtInstance::removeCachedMethod):
349 (JSC::Bindings::QtInstance::newRuntimeObject):
350 (JSC::Bindings::QtInstance::markAggregate):
351 * bridge/qt/qt_instance.h:
353 2011-04-19 David Kilzer <ddkilzer@apple.com>
355 <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
357 Reviewed by Antti Koivisto.
359 * platform/network/ResourceLoadPriority.h:
360 (enum ResourceLoadPriority): Moved Unresolved enum to the top of
361 the list and set to -1 to emphasize the fact that this is an
362 unresolved priority (rather than one higher than the highest
363 priority). Removed whitespace from the end of all enum lines.
365 2011-04-19 Simon Fraser <simon.fraser@apple.com>
367 Reviewed by David Hyatt.
369 Background radius is wrong for split inline
370 https://bugs.webkit.org/show_bug.cgi?id=58843
372 When computing the radii for a segment of a split inline, we have to
373 constrain those radii for the current segment, while still drawing
374 using the entire logical width.
376 Tests: fast/backgrounds/border-radius-split-background-image.html
377 fast/backgrounds/border-radius-split-background.html
379 * rendering/InlineFlowBox.cpp:
380 (WebCore::InlineFlowBox::paintFillLayer):
381 Pass height and width for this box only to paintFillLayer()
383 * rendering/RenderBox.cpp:
384 (WebCore::RenderBox::paintFillLayer):
385 Pass 0 for unused inlineBox height and width.
387 * rendering/RenderBoxModelObject.h:
388 * rendering/RenderBoxModelObject.cpp:
389 (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
390 When computing the rounded background rect, we have to take the size of
391 this segment of the inline box into account for radius constraining.
392 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
393 Call getBackgroundRoundedRect() in two places.
395 2011-04-19 Simon Fraser <simon.fraser@apple.com>
397 Build fix. For some reason RenderBoxModelObject.cpp
398 was missing from my last commit.
400 * rendering/RenderBoxModelObject.cpp:
401 (WebCore::borderWillArcInnerEdge):
402 (WebCore::edgeFlagForSide):
403 (WebCore::includesEdge):
404 (WebCore::BorderEdge::BorderEdge):
405 (WebCore::BorderEdge::hasVisibleColorAndStyle):
406 (WebCore::BorderEdge::shouldRender):
407 (WebCore::BorderEdge::presentButInvisible):
408 (WebCore::BorderEdge::usedWidth):
409 (WebCore::BorderEdge::getDoubleBorderStripeWidths):
410 (WebCore::edgesShareColor):
411 (WebCore::styleRequiresClipPolygon):
412 (WebCore::borderStyleFillsBorderArea):
413 (WebCore::borderStyleHasInnerDetail):
414 (WebCore::borderStyleIsDottedOrDashed):
415 (WebCore::borderStyleHasUnmatchedColorsAtCorner):
416 (WebCore::colorsMatchAtCorner):
417 (WebCore::willBeOverdrawn):
418 (WebCore::borderStylesRequireMitre):
419 (WebCore::joinRequiresMitre):
420 (WebCore::RenderBoxModelObject::paintOneBorderSide):
421 (WebCore::RenderBoxModelObject::paintBorderSides):
422 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
423 (WebCore::RenderBoxModelObject::paintBorder):
424 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
425 (WebCore::findInnerVertex):
426 (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
427 (WebCore::RenderBoxModelObject::paintBoxShadow):
429 2011-04-19 Stephen White <senorblanco@chromium.org>
431 Reviewed by Kenneth Russell.
433 Refactor GLES2Canvas state application out into its own function.
434 https://bugs.webkit.org/show_bug.cgi?id=58906
436 Covered by existing tests in fast/canvas and canvas/philip.
438 * platform/graphics/chromium/GLES2Canvas.cpp:
439 (WebCore::GLES2Canvas::applyState):
440 New function to apply compositing and clipping state.
441 (WebCore::GLES2Canvas::fillPath):
442 (WebCore::GLES2Canvas::fillRect):
443 (WebCore::GLES2Canvas::beginShadowDraw):
444 (WebCore::GLES2Canvas::endShadowDraw):
445 Refactor calls to applyState().
446 * platform/graphics/chromium/GLES2Canvas.h:
448 2011-04-19 Simon Fraser <simon.fraser@apple.com>
450 Reviewed by Dave Hyatt.
452 Fix multiple border rendering issues
453 https://bugs.webkit.org/show_bug.cgi?id=58761
455 Fix various border-drawing bugs, and optimize some common cases.
456 Also refactors a lot of the border-drawing code to be more maintainable.
458 Rounded border rendering with different border widths looks strange
459 https://bugs.webkit.org/show_bug.cgi?id=17468
461 paintBorder in RenderObject paint two times the corners
462 https://bugs.webkit.org/show_bug.cgi?id=20495
464 Overdraw at box corners when using RGBA colors with alpha
465 https://bugs.webkit.org/show_bug.cgi?id=21835
467 Enable antialiasing for border drawing, when transformed
468 https://bugs.webkit.org/show_bug.cgi?id=22746
470 Drawing border-radius from path sometimes fails to round outer border in the double style when it should
471 https://bugs.webkit.org/show_bug.cgi?id=41301
473 Drawing border-radius from path doesn't appear to always match up border edges correctly
474 https://bugs.webkit.org/show_bug.cgi?id=41302
477 Should be able to create Path from RoundedIntRect
478 https://bugs.webkit.org/show_bug.cgi?id=58809
480 Tests: fast/borders/border-radius-different-width-001.html
481 fast/borders/border-radius-inset-outset.html
482 fast/borders/table-borders.html
484 * platform/graphics/FloatPoint.h:
485 * platform/graphics/FloatPoint.cpp:
486 (WebCore::findSlope):
487 (WebCore::findIntersection):
488 New geometry helper functions (should eventually move into a new
489 GeometryUtilities file).
491 * platform/graphics/Path.h:
492 * platform/graphics/Path.cpp:
493 (WebCore::Path::addRoundedRect):
494 Add an overload of addRoundedRect() that takes a RoundedIntRect.
496 * platform/graphics/GraphicsContext.cpp:
497 (WebCore::GraphicsContext::addRoundedRectClip):
498 (WebCore::GraphicsContext::clipOutRoundedRect):
499 (WebCore::GraphicsContext::fillRectWithRoundedHole):
500 Can now add a RoundedIntRect to a Path directly.
502 * platform/graphics/IntRect.h:
503 (WebCore::IntRect::minXMinYCorner):
504 (WebCore::IntRect::maxXMinYCorner):
505 (WebCore::IntRect::minXMaxYCorner):
506 (WebCore::IntRect::maxXMaxYCorner):
507 Convenience functions to get the rect corners, in a writing-mode-
510 * platform/graphics/RoundedIntRect.h:
511 * platform/graphics/RoundedIntRect.cpp:
512 (WebCore::RoundedIntRect::isRenderable):
513 We need to know when Path::addRoundedRect() will fail because
514 the sum of the radii exceed the height or width. This method tells
517 * platform/graphics/cg/GraphicsContextCG.cpp:
518 (WebCore::GraphicsContext::fillRectWithRoundedHole):
519 Can now add a RoundedIntRect to a Path directly.
521 * rendering/RenderBoxModelObject.h:
522 * rendering/RenderBoxModelObject.cpp:
523 (WebCore::borderWillArcInnerEdge):
524 This can just to see if there are inner radii now.
526 (WebCore::edgeFlagForSide):
527 (WebCore::includesEdge):
528 Convenience functions for the BorderEdgeFlags bitmask.
530 (WebCore::BorderEdge::BorderEdge):
531 (WebCore::BorderEdge::hasVisibleColorAndStyle):
532 (WebCore::BorderEdge::shouldRender):
533 (WebCore::BorderEdge::presentButInvisible):
534 (WebCore::BorderEdge::usedWidth):
535 (WebCore::BorderEdge::getDoubleBorderStripeWidths):
536 Convenience class to hold data about how a single edge
537 is drawn, and to contain some commonly used width-related methods.
539 (WebCore::edgesShareColor):
540 (WebCore::styleRequiresClipPolygon):
541 (WebCore::borderStyleFillsBorderArea):
542 (WebCore::borderStyleHasInnerDetail):
543 (WebCore::borderStyleIsDottedOrDashed):
544 (WebCore::borderStyleHasUnmatchedColorsAtCorner):
545 (WebCore::colorsMatchAtCorner):
546 (WebCore::willBeOverdrawn):
547 (WebCore::borderStylesRequireMitre):
548 (WebCore::joinRequiresMitre):
549 Functions used to make the border drawing code more readable,
550 which are used to determine when corners need a mitre, and
553 (WebCore::RenderBoxModelObject::paintOneBorderSide):
554 Code to paint one side of a border, either via the path, or
555 using rects/polygons, the appropriate mitres and antialiasing
556 at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
557 to be passed all the way down here so that when we recompute the
558 path for double and ridge/groove borders, we correctly handle split box
561 (WebCore::RenderBoxModelObject::paintBorderSides):
562 Paints the 4 border sides (if present).
564 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
565 Called when one or more of the borders has a non-opaque color,
566 and uses a transparency layer for each set of same-colored
567 sides to avoid overdraw at the corners.
569 (WebCore::RenderBoxModelObject::paintBorder):
570 Builds an array of BorderEdge so we can iterate over them to
571 detect different border compbinations, and optimizations. Has
572 a fast path for all-solid borders.
574 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
575 Moved from RenderObject, since all callers are in RenderBoxModelObject.
576 Has the following changes:
577 * Don't attempt to draw dashes if there is only space for a few,
579 * Handle double and groove borders on split inlines correctly,
580 making use of includeLogicalLeftEdge, includeLogicalRightEdge
582 (WebCore::findInnerVertex):
583 For borders with a radiused inner edge, the per-side clip polygon
584 has to project inside the padding box to avoid clipping the inner edge.
585 This function computes a reasonable inner corner for the clipping
587 (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
588 Have the corner joins pass through the corners of the inner and outer
589 border rectangles, ensure we don't clip the inside if necessary,
590 and handle antialiasing on the two mitres.
592 (WebCore::RenderBoxModelObject::paintBoxShadow):
593 Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
596 * rendering/RenderObject.h:
597 * rendering/RenderObject.cpp:
598 (WebCore::RenderObject::drawLineForBoxSide):
599 Moved to RenderBoxModelObject.
601 * rendering/style/RenderStyle.h:
602 * rendering/style/RenderStyle.cpp:
603 (WebCore::RenderStyle::getRoundedBorderFor):
604 (WebCore::RenderStyle::getRoundedInnerBorderFor):
605 There was some very clumsy code that computed a rounded rect
606 given the border rect and side widths. Cleaned this up by moving
607 some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
608 which takes the border widths is used by the double and groove drawing
611 2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
613 Reviewed by Dimitri Glazkov.
615 REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
616 https://bugs.webkit.org/show_bug.cgi?id=57061
618 The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
619 a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
620 RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
621 a significant performance regression.
623 Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
624 no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
625 and prevents respondToNodeModification from clearing selection.
627 No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
628 isn't exposed to JavaScript.
631 (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
632 start and end nodes are same, we should never get an exception from compareBoundaryPoints.
633 (WebCore::Range::setEnd): Ditto.
634 (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
636 (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
637 compareBoundaryPoints.
638 (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
639 (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
641 * editing/SelectionController.cpp:
642 (WebCore::SelectionController::respondToNodeModification):
643 * editing/htmlediting.cpp:
644 (WebCore::comparePositions): Calls compareBoundaryPoints.
645 * editing/markup.cpp:
646 (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
647 and neither are in a shadow DOM, it should never throw an exception.
648 * page/DOMSelection.cpp:
649 (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
652 2011-04-19 Jungshik Shin <jshin@chromium.org>
654 Reviewed by David Levin
656 Make U+FEFF be treated as a zero-width character in both
657 simple script and complex script code paths. In Chromium
658 Windows, UniscribeHelper needs a rather extensive changes
659 summarized below. Other ports need minor changes.
661 https://bugs.webkit.org/show_bug.cgi?id=48860
663 Test: fast/text/zero-width-characters-complex-script.html
665 * platform/graphics/Font.h:
666 (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
667 (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
668 * platform/graphics/GlyphPageTreeNode.cpp:
669 (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
670 * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
671 (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph.
672 (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
673 (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
674 * platform/graphics/chromium/FontUtilsChromiumWin.h:
675 * platform/graphics/chromium/UniscribeHelper.cpp:
676 (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
677 (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
678 (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph.
679 (WebCore::UniscribeHelper::applySpacing):
680 (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph
681 * platform/graphics/chromium/UniscribeHelper.h:
682 (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
683 * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
684 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
686 2011-04-19 Brent Fulgham <bfulgham@webkit.org>
688 Reviewed by Adam Roben.
690 Extend the DIBPixelData class with the facility for writing the
691 bitmap representation to disk for debugging purposes.
692 https://bugs.webkit.org/show_bug.cgi?id=58862.
694 * platform/graphics/win/DIBPixelData.cpp:
695 (WebCore::DIBPixelData::writeToFile): New function.
696 * platform/graphics/win/DIBPixelData.h:
698 2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
700 Reviewed by Pavel Feldman.
702 Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
703 https://bugs.webkit.org/show_bug.cgi?id=58883
705 * fileapi/FileReaderLoader.cpp:
706 (WebCore::FileReaderLoader::didReceiveData):
707 * inspector/InspectorInstrumentation.cpp:
708 (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
709 * inspector/InspectorInstrumentation.h:
710 (WebCore::InspectorInstrumentation::didReceiveContentLength):
711 * inspector/InspectorResourceAgent.cpp:
712 (WebCore::InspectorResourceAgent::didReceiveContentLength):
713 * inspector/InspectorResourceAgent.h:
714 * inspector/front-end/NetworkManager.js:
715 (WebInspector.NetworkDispatcher.prototype.dataReceived):
716 * loader/DocumentThreadableLoader.cpp:
717 (WebCore::DocumentThreadableLoader::didReceiveData):
718 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
719 * loader/DocumentThreadableLoader.h:
720 * loader/FrameLoaderClient.h:
721 * loader/MainResourceLoader.cpp:
722 (WebCore::MainResourceLoader::didReceiveData):
723 * loader/MainResourceLoader.h:
724 * loader/NetscapePlugInStreamLoader.cpp:
725 (WebCore::NetscapePlugInStreamLoader::didReceiveData):
726 * loader/NetscapePlugInStreamLoader.h:
727 * loader/ResourceLoadNotifier.cpp:
728 (WebCore::ResourceLoadNotifier::didReceiveData):
729 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
730 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
731 * loader/ResourceLoadNotifier.h:
732 * loader/ResourceLoader.cpp:
733 (WebCore::ResourceLoader::didReceiveData):
734 * loader/ResourceLoader.h:
735 * loader/SubresourceLoader.cpp:
736 (WebCore::SubresourceLoader::didReceiveData):
737 * loader/SubresourceLoader.h:
738 * loader/SubresourceLoaderClient.h:
739 (WebCore::SubresourceLoaderClient::didReceiveData):
740 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
741 * loader/WorkerThreadableLoader.cpp:
742 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
743 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
744 * loader/appcache/ApplicationCacheGroup.cpp:
745 (WebCore::ApplicationCacheGroup::didReceiveData):
746 * loader/appcache/ApplicationCacheGroup.h:
747 * loader/appcache/ApplicationCacheHost.h:
748 * notifications/Notification.cpp:
749 (WebCore::Notification::didReceiveData):
750 * notifications/Notification.h:
751 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
752 (StreamingClient::didReceiveData):
753 * platform/network/BlobResourceHandle.cpp:
754 * platform/network/ResourceHandleClient.h:
755 (WebCore::ResourceHandleClient::didReceiveData):
756 * platform/network/android/ResourceHandleAndroid.cpp:
757 (WebCore::SyncLoader::didReceiveData):
758 * platform/network/cf/ResourceHandleCFNet.cpp:
759 (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
760 * platform/network/curl/ResourceHandleCurl.cpp:
761 * platform/network/mac/ResourceHandleMac.mm:
762 (WebCoreSynchronousLoaderClient::didReceiveData):
763 * platform/network/soup/ResourceHandleSoup.cpp:
764 * platform/network/win/ResourceHandleWin.cpp:
765 * workers/WorkerScriptLoader.h:
766 * xml/XMLHttpRequest.h:
768 2011-04-19 Stephen White <senorblanco@chromium.org>
770 Reviewed by Eric Seidel.
772 Pull framebuffer clearing out into its own function.
773 https://bugs.webkit.org/show_bug.cgi?id=58897
775 Covered by fast/canvas and canvas/philip tests.
777 * platform/graphics/gpu/DrawingBuffer.cpp:
778 (WebCore::DrawingBuffer::clearFramebuffer):
779 (WebCore::DrawingBuffer::reset):
780 * platform/graphics/gpu/DrawingBuffer.h:
782 2011-04-19 Brian Salomon <bsalomon@google.com>
784 Reviewed by Eric Seidel.
786 When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
787 https://bugs.webkit.org/show_bug.cgi?id=58788
789 Chromium browser test will be added that loads canvas page and then an
790 acclerated-composited page. Test must trigger ~PlatformContextSkia()
791 followed by invocation of GL compositor.
793 * platform/graphics/skia/PlatformContextSkia.cpp:
794 (WebCore::PlatformContextSkia::~PlatformContextSkia):
796 2011-04-19 Csaba Osztrogonác <ossy@webkit.org>
798 [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
799 https://bugs.webkit.org/show_bug.cgi?id=58871
801 Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
802 http://trac.webkit.org/changeset/84176 (original patch)
803 http://trac.webkit.org/changeset/84178 (original patch - part 2)
804 http://trac.webkit.org/changeset/84186 (build fix)
805 http://trac.webkit.org/changeset/84212
806 http://trac.webkit.org/changeset/84231 (skip failing test)
809 - https://bugs.webkit.org/show_bug.cgi?id=58718
810 - https://bugs.webkit.org/show_bug.cgi?id=58853
812 * bridge/qt/qt_class.cpp:
813 (JSC::Bindings::QtClass::fallbackObject):
814 * bridge/qt/qt_instance.cpp:
815 (JSC::Bindings::QtInstance::removeCachedMethod):
816 (JSC::Bindings::QtInstance::markAggregate):
817 * bridge/qt/qt_instance.h:
819 2011-04-19 Sheriff Bot <webkit.review.bot@gmail.com>
821 Unreviewed, rolling out r84050.
822 http://trac.webkit.org/changeset/84050
823 https://bugs.webkit.org/show_bug.cgi?id=58892
825 fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
826 (Requested by jknotten on #webkit).
828 * dom/ContainerNode.cpp:
829 (WebCore::ContainerNode::takeAllChildrenFrom):
830 (WebCore::ContainerNode::removeBetween):
831 (WebCore::ContainerNode::removeChildren):
832 (WebCore::ContainerNode::parserAddChild):
834 (WebCore::Document::Document):
835 (WebCore::Document::~Document):
836 (WebCore::Document::setDocType):
839 (WebCore::Node::treeScope):
840 (WebCore::Node::setTreeScope):
841 (WebCore::Node::setTreeScopeRecursively):
843 (WebCore::Node::document):
844 * dom/ShadowRoot.cpp:
845 (WebCore::ShadowRoot::ShadowRoot):
848 (WebCore::TreeScope::TreeScope):
849 (WebCore::TreeScope::setParentTreeScope):
851 * rendering/RenderSlider.cpp:
853 2011-04-19 Kinuko Yasuda <kinuko@chromium.org>
855 Not reviewed; windows build fix attempt.
857 * storage/StorageInfo.cpp:
858 (WebCore::StorageInfo::~StorageInfo):
859 * storage/StorageInfo.h:
861 2011-04-19 Kinuko Yasuda <kinuko@chromium.org>
863 Reviewed by David Levin.
865 [Chromium] Enable QUOTA API at runtime if enable-quota flag is given
866 https://bugs.webkit.org/show_bug.cgi?id=58784
868 No new tests as this does not change any functionality.
870 * bindings/generic/RuntimeEnabledFeatures.cpp:
871 * bindings/generic/RuntimeEnabledFeatures.h:
872 (WebCore::RuntimeEnabledFeatures::quotaEnabled):
873 (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
874 * page/DOMWindow.idl:
876 2011-04-19 John Gregg <johnnyg@google.com>
878 Reviewed by Darin Fisher.
880 Enable folder drag-n-drop when using a "webkitdirectory" file input
881 https://bugs.webkit.org/show_bug.cgi?id=58401
883 This uses a new ChromeClient API to enumerate the directory and
884 return all the files, as if the user had selected that directory
885 by clicking the control in the normal way.
887 * loader/EmptyClients.h:
888 (WebCore::EmptyChromeClient::enumerateChosenDirectory):
890 (WebCore::Chrome::enumerateChosenDirectory):
892 * page/ChromeClient.h:
893 * platform/network/FormData.cpp:
894 (WebCore::FormData::appendKeyValuePairItems):
895 * rendering/RenderFileUploadControl.cpp:
896 (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload):
897 (WebCore::RenderFileUploadControl::receiveDroppedFiles):
898 * rendering/RenderFileUploadControl.h:
900 2011-04-19 Sheriff Bot <webkit.review.bot@gmail.com>
902 Unreviewed, rolling out r84150.
903 http://trac.webkit.org/changeset/84150
904 https://bugs.webkit.org/show_bug.cgi?id=58875
906 Broken backspace in Search box of Web Inspector (Requested by
909 * inspector/front-end/inspector.js:
910 (WebInspector.documentKeyDown):
912 2011-04-19 Andrey Adaikin <aandrey@google.com>
914 Reviewed by Pavel Feldman.
916 Web Inspector: NPE in TextEditorModel
917 https://bugs.webkit.org/show_bug.cgi?id=58870
919 * inspector/front-end/ResourcesPanel.js:
920 (WebInspector.ResourcesPanel.prototype._frameAdded):
921 * inspector/front-end/TextEditorModel.js:
922 (WebInspector.TextEditorModel.prototype.setText):
924 2011-04-19 Hans Wennborg <hans@chromium.org>
926 Reviewed by Tony Gentilcore.
928 IndexedDB: Remove accidental header include directive from LevelDB backend.
929 https://bugs.webkit.org/show_bug.cgi?id=58872
931 No new functionality, no new tests.
933 * storage/IDBLevelDBBackingStore.cpp:
935 2011-04-19 Herczeg Zoltan <zherczeg@webkit.org>
939 LEFilter change doesn't compile on ARM neon targets
940 https://bugs.webkit.org/show_bug.cgi?id=58671
942 Thanks for Charlie Lee to fixing this.
946 2011-04-19 Daniel Bates <dbates@webkit.org>
948 Attempt to fix the Qt Linux Release Minimal build after changeset 84225
949 <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788).
951 * dom/EventDispatcher.cpp:
952 (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call
953 to Node::svgShadowHost() since this method is only defined when building with SVG enabled.
955 2011-04-18 Dominic Cooney <dominicc@chromium.org>
957 Reviewed by Dimitri Glazkov.
959 Makes SVG shadow roots and DOM shadow roots distinct.
960 https://bugs.webkit.org/show_bug.cgi?id=52788
962 Not a functional change. Covered by existing SVG tests.
964 * dom/EventDispatcher.cpp:
965 (WebCore::findElementInstance):
966 (WebCore::EventDispatcher::adjustToShadowBoundaries):
967 (WebCore::EventDispatcher::adjustRelatedTarget):
968 (WebCore::EventDispatcher::ensureEventAncestors):
970 (WebCore::Node::setShadowHost):
971 (WebCore::Node::svgShadowHost):
972 (WebCore::Node::shadowTreeRootNode):
974 (WebCore::Node::isSVGShadowRoot):
975 (WebCore::Node::parentNode):
976 (WebCore::Node::parentNodeGuaranteedHostFree):
977 * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
978 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
979 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
980 * rendering/svg/SVGShadowTreeElements.cpp:
981 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
982 (WebCore::SVGShadowTreeRootElement::create):
983 (WebCore::SVGShadowTreeRootElement::attachElement):
984 (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost):
985 * rendering/svg/SVGShadowTreeElements.h:
986 (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot):
987 * svg/SVGStyledElement.cpp:
988 (WebCore::SVGStyledElement::title):
990 2011-04-18 Taiju TSUIKI <develop@tzik.jp>
992 Reviewed by Darin Fisher.
994 Vendor-prefix requestFileSystem in FileSystem API
995 https://bugs.webkit.org/show_bug.cgi?id=58517
998 - window.requestFileSystem to window.webkitRequestFileSystem
999 - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL
1000 - window.Flags to window.WebKitFlags
1001 - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem
1002 - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL
1003 - WorkerContext.Flags to WorkerContext.WebKitFlags
1006 * CodeGenerators.pri:
1007 * DerivedSources.cpp:
1008 * DerivedSources.make:
1009 * GNUmakefile.list.am:
1012 * WebCore.vcproj/WebCore.vcproj:
1013 * WebCore.xcodeproj/project.pbxproj:
1014 * bindings/js/JSDirectoryEntryCustom.cpp:
1015 (WebCore::JSDirectoryEntry::getFile):
1016 (WebCore::JSDirectoryEntry::getDirectory):
1017 * bindings/js/JSDirectoryEntrySyncCustom.cpp:
1018 (WebCore::getFlags):
1019 (WebCore::JSDirectoryEntrySync::getFile):
1020 (WebCore::JSDirectoryEntrySync::getDirectory):
1021 * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
1022 (WebCore::V8DirectoryEntry::getDirectoryCallback):
1023 (WebCore::V8DirectoryEntry::getFileCallback):
1024 * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1025 (WebCore::getFlags):
1026 (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
1027 (WebCore::V8DirectoryEntrySync::getFileCallback):
1028 * fileapi/DOMFileSystemBase.cpp:
1029 (WebCore::DOMFileSystemBase::getFile):
1030 (WebCore::DOMFileSystemBase::getDirectory):
1031 * fileapi/DOMFileSystemBase.h:
1032 * fileapi/DirectoryEntry.cpp:
1033 (WebCore::DirectoryEntry::getFile):
1034 (WebCore::DirectoryEntry::getDirectory):
1035 * fileapi/DirectoryEntry.h:
1036 * fileapi/DirectoryEntry.idl:
1037 * fileapi/DirectoryEntrySync.cpp:
1038 (WebCore::DirectoryEntrySync::getFile):
1039 (WebCore::DirectoryEntrySync::getDirectory):
1040 * fileapi/DirectoryEntrySync.h:
1041 * fileapi/DirectoryEntrySync.idl:
1042 * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h.
1043 (WebCore::WebKitFlags::create):
1044 (WebCore::WebKitFlags::isCreate):
1045 (WebCore::WebKitFlags::setCreate):
1046 (WebCore::WebKitFlags::isExclusive):
1047 (WebCore::WebKitFlags::setExclusive):
1048 (WebCore::WebKitFlags::WebKitFlags):
1049 * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl.
1050 * page/DOMWindow.cpp:
1051 (WebCore::DOMWindow::webkitRequestFileSystem):
1052 (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
1054 * page/DOMWindow.idl:
1055 * workers/WorkerContext.cpp:
1056 (WebCore::WorkerContext::webkitRequestFileSystem):
1057 (WebCore::WorkerContext::webkitRequestFileSystemSync):
1058 (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
1059 (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
1060 * workers/WorkerContext.h:
1061 * workers/WorkerContext.idl:
1063 2011-04-18 Steve Lacey <sjl@chromium.org>
1065 Reviewed by Dimitri Glazkov.
1067 Decouple media controls usage from implementation.
1068 This allows each port to implement thier own controls in a different
1069 manner to the default webkit implementation.
1071 Convert media controls hooks to a client interface
1072 https://bugs.webkit.org/show_bug.cgi?id=58346
1074 No new tests as there is no functional change.
1078 * GNUmakefile.list.am:
1081 * WebCore.vcproj/WebCore.vcproj:
1082 * WebCore.xcodeproj/project.pbxproj:
1083 * html/HTMLMediaElement.cpp:
1084 (WebCore::HTMLMediaElement::mediaControls):
1085 (WebCore::HTMLMediaElement::ensureMediaControls):
1086 (WebCore::HTMLMediaElement::preDispatchEventHandler):
1087 * html/HTMLMediaElement.h:
1088 * html/shadow/MediaControlElements.cpp:
1089 (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
1090 (WebCore::MediaControlPanelMuteButtonElement::create):
1091 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1092 (WebCore::MediaControlTimelineElement::create):
1093 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1094 (WebCore::MediaControlFullscreenButtonElement::create):
1095 * html/shadow/MediaControlElements.h:
1096 * html/shadow/MediaControlRootElement.cpp:
1097 (WebCore::MediaControlRootElement::MediaControlRootElement):
1098 (WebCore::MediaControls::create):
1099 * html/shadow/MediaControlRootElement.h:
1100 * html/shadow/MediaControls.cpp: Added.
1101 (WebCore::MediaControls::MediaControls):
1102 * html/shadow/MediaControls.h: Added.
1103 (WebCore::MediaControls::~MediaControls):
1105 2011-04-18 Pascal Massimino <pascal.massimino@gmail.com>
1107 Reviewed by Adam Barth.
1109 Add incremental decoding to WebP decoder
1110 https://bugs.webkit.org/show_bug.cgi?id=58851
1112 No new tests, as it's not possible for the layout test framework to
1113 force the decoders to decode incrementally.
1115 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1116 (WebCore::WEBPImageDecoder::WEBPImageDecoder):
1117 (WebCore::WEBPImageDecoder::decode):
1118 * platform/image-decoders/webp/WEBPImageDecoder.h:
1120 2011-04-18 Daniel Bates <dbates@rim.com>
1122 Reviewed by Adam Roben.
1124 With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
1125 pressing-and-holding another mouse button
1126 https://bugs.webkit.org/show_bug.cgi?id=58700
1128 Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
1129 while pressing and holding a mouse button B, where A != B. This issue only affects builds
1130 that enable PAN_SCROLLING.
1132 On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
1133 the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
1134 should only stop the autoscroll timer.
1136 Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
1138 * page/EventHandler.cpp:
1139 (WebCore::EventHandler::handleMousePressEvent):
1141 2011-04-18 Jon Lee <jonlee@apple.com>
1143 Reviewed by Maciej Stachowiak.
1145 With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable
1146 https://bugs.webkit.org/show_bug.cgi?id=58617
1147 <rdar://problem/9048012>
1149 * rendering/RenderLayer.cpp:
1150 (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders
1152 2011-04-18 Jon Lee <jonlee@apple.com>
1154 Reviewed by Maciej Stachowiak.
1156 Selected item background in list box gets rendered on top of overlay scrollbar knob (58824)
1157 https://bugs.webkit.org/show_bug.cgi?id=58824
1158 <rdar://problem/9292680>
1160 * rendering/RenderListBox.cpp:
1161 (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars
1163 2011-04-18 John Bauman <jbauman@chromium.org>
1165 Reviewed by Kenneth Russell.
1167 Don't cast BitmapImageSingleFrameSkia to BitmapImage
1168 https://bugs.webkit.org/show_bug.cgi?id=58821
1170 BitmapImageSingleFrameSkia has isBitmap return true, but
1171 can't be cast to a BitmapImage. Instead of using BitmapImage,
1172 use isOpaque from SkBitmap to determine if the image has alpha.
1176 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1177 (WebCore::GraphicsContext3D::getImageData):
1179 2011-04-18 Jessie Berlin <jberlin@apple.com>
1181 Reviewed by Steve Falkenburg.
1183 If deleting the StorageTracker.db file fails, local storage is left in a strange state.
1184 https://bugs.webkit.org/show_bug.cgi?id=58805
1186 * storage/StorageTracker.cpp:
1187 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1188 When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin.
1189 deleteOrigin itself must be called to update the data structures that syncDeleteOrigin
1190 depends on and to prevent clashes between a theoretical web page editing local storage
1191 at the same time this method is called.
1192 (WebCore::StorageTracker::syncDeleteAllOrigins):
1193 If it is not possible to delete the StorageTracker.db file, empty it.
1194 (WebCore::StorageTracker::deleteOriginOnMainThread):
1195 Wrapper for deleteOrigin.
1196 * storage/StorageTracker.h:
1198 2011-04-18 Geoffrey Garen <ggaren@apple.com>
1202 Added back missing #include.
1204 * bindings/js/DOMWrapperWorld.cpp:
1206 2011-04-18 Enrica Casucci <enrica@apple.com>
1208 Reviewed by Maciej Stachowiak.
1210 Dropping a file in a WKView (WebKit2) doesn't load the file.
1211 https://bugs.webkit.org/show_bug.cgi?id=58842
1212 <rdar://problem/8514409>
1214 The URL string for the file contains an extra %00 at the end
1215 that causes the network framework to fail to load the file.
1217 * platform/win/ClipboardUtilitiesWin.cpp:
1220 2011-04-18 Geoffrey Garen <ggaren@apple.com>
1222 Discovered and rubber-stamped by Stephanie Lewis.
1224 Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990>
1226 * bindings/js/DOMWrapperWorld.cpp:
1227 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1228 (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our
1229 window shells when clearing / destroying ourselves. r83990 removed this
1230 behavior for documents since there are no per-document maps anymore,
1231 but removing this behavior for window shells too was a typo.
1233 2011-04-18 Geoffrey Garen <ggaren@apple.com>
1235 Reviewed by Oliver Hunt.
1237 Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps
1238 https://bugs.webkit.org/show_bug.cgi?id=58828
1240 * WebCore.exp.in: Blah.
1242 * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership
1243 to JSNodeCustom, where other custom JSNode-related code goes.
1245 (WebCore::JSDOMWrapperOwner::finalize):
1246 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1247 * bindings/js/DOMWrapperWorld.h:
1248 (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner):
1249 (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner
1250 to JSDOMWrapperOwner, to match the name of JSDOMWrapper.
1252 * bindings/js/JSArrayBufferViewHelper.h:
1253 (WebCore::toJSArrayBufferView):
1254 * bindings/js/JSCSSRuleCustom.cpp:
1256 * bindings/js/JSCSSValueCustom.cpp:
1258 * bindings/js/JSCanvasRenderingContextCustom.cpp:
1259 (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper-
1260 related functions, since there is no meaningful distinction between the
1261 two anymore -- they both use the same extensible interface.
1263 * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions.
1265 * bindings/js/JSDOMBinding.h:
1266 (WebCore::getInlineCachedWrapper):
1267 (WebCore::setInlineCachedWrapper):
1268 (WebCore::clearInlineCachedWrapper):
1269 (WebCore::wrapperOwner):
1270 (WebCore::wrapperContext):
1271 (WebCore::getCachedWrapper):
1272 (WebCore::cacheWrapper):
1273 (WebCore::uncacheWrapper):
1274 (WebCore::createWrapper):
1275 (WebCore::wrap): Created a generic, extensible mechanism for creating,
1276 caching, retrieving, marking, and destroying DOM wrappers. This eliminates
1277 the difference between DOM object wrappers and DOM node wrappers, and
1278 lays the groundwork for getting rid of MarkStack::deprecatedAppend usage
1279 for marking the remainder of our DOM objects.
1281 * bindings/js/JSDOMWindowCustom.cpp:
1282 (WebCore::JSDOMWindow::history):
1283 (WebCore::JSDOMWindow::location):
1284 * bindings/js/JSDataViewCustom.cpp:
1286 * bindings/js/JSDocumentCustom.cpp:
1287 (WebCore::JSDocument::location):
1289 * bindings/js/JSElementCustom.cpp:
1290 (WebCore::toJSNewlyCreated):
1291 * bindings/js/JSEventCustom.cpp:
1293 * bindings/js/JSHTMLCollectionCustom.cpp:
1295 * bindings/js/JSImageDataCustom.cpp:
1296 (WebCore::toJS): Updated for renames mentioned above.
1298 * bindings/js/JSNamedNodeMapCustom.cpp:
1299 (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
1300 (WebCore::JSNamedNodeMapOwner::finalize):
1301 (WebCore::wrapperOwner):
1302 (WebCore::wrapperContext):
1303 (WebCore::JSNamedNodeMap::markChildren):
1304 (WebCore::toJS): Updated to use our new interface for customizing wrapper
1305 lifetime management through function overloading without using
1306 MarkStack::deprecatedAppend.
1308 * bindings/js/JSNodeCustom.cpp:
1309 (WebCore::isObservable):
1310 (WebCore::isReachableFromDOM):
1311 (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
1312 (WebCore::JSNodeOwner::finalize):
1313 (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding
1314 to here. Removed special case marking code for JSNamedNodeMap because
1315 JSNamedNodeMap now knows how to maintain its own lifetime invariants.
1317 * bindings/js/JSNodeCustom.h:
1318 (WebCore::wrapperOwner):
1319 (WebCore::wrapperContext):
1320 (WebCore::getInlineCachedWrapper):
1321 (WebCore::setInlineCachedWrapper):
1322 (WebCore::clearInlineCachedWrapper):
1323 (WebCore::toJS): Updated to use our new interface for customizing wrapper
1324 lifetime management through function overloading without using
1325 MarkStack::deprecatedAppend or special-case code for nodes.
1327 * bindings/js/JSSVGPathSegCustom.cpp:
1329 * bindings/js/JSStyleSheetCustom.cpp:
1330 (WebCore::toJS): Updated for renames mentioned above.
1332 * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for
1333 renames mentioned above.
1335 * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now
1336 because it needs to provide a custom WeakHandleOwner at wrapper creation time.
1338 2011-04-18 Jessie Berlin <jberlin@apple.com>
1340 Rubber-stamped by Sam Weinig.
1342 REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows.
1343 https://bugs.webkit.org/show_bug.cgi?id=58747
1345 Copy the WebCore Localizable.strings file into the output directory.
1347 * WebCore.vcproj/WebCoreGenerated.vcproj:
1348 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
1349 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
1350 * WebCore.vcproj/copyInspectorFiles.cmd: Removed.
1351 * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd.
1353 2011-04-18 Robert Hogan <robert@webkit.org>
1355 Reviewed by Andreas Kling.
1357 [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint
1359 When scheduling a repaint for the plugin's widget, PluginViewQt
1360 needs to make sure the widget's geometry is up to date. Otherwise
1361 the paint event happens on the widget's old location.
1363 https://bugs.webkit.org/show_bug.cgi?id=57179
1365 Added a manual test.
1367 * manual-tests/qt/plugin-painting.html: Added.
1368 * plugins/qt/PluginViewQt.cpp:
1369 (WebCore::PluginView::updatePluginWidget):
1370 (WebCore::PluginView::invalidateRect):
1372 2011-04-18 Oliver Hunt <oliver@apple.com>
1376 * bridge/qt/qt_class.cpp:
1377 (JSC::Bindings::QtClass::fallbackObject):
1378 * bridge/qt/qt_instance.cpp:
1379 (JSC::Bindings::QtInstance::removeCachedMethod):
1380 * bridge/qt/qt_instance.h:
1382 2011-04-18 Oliver Hunt <oliver@apple.com>
1384 Reviewed by Gavin Barraclough.
1386 Remove DeprecatedPtr
1387 https://bugs.webkit.org/show_bug.cgi?id=58718
1389 Replace use of DeprecatedPtr<> with Global<> as ownership rules
1390 aren't obvious, have filed bug #58820 on seeing if this is safe.
1392 * bridge/qt/qt_class.cpp:
1393 (JSC::Bindings::QtClass::fallbackObject):
1394 * bridge/qt/qt_instance.cpp:
1395 (JSC::Bindings::QtInstance::removeCachedMethod):
1396 (JSC::Bindings::QtInstance::markAggregate):
1397 * bridge/qt/qt_instance.h:
1399 2011-04-14 Matthew Delaney <mdelaney@apple.com>
1401 Reviewed by Simon Fraser.
1403 [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces
1404 https://bugs.webkit.org/show_bug.cgi?id=58088
1406 * platform/graphics/cg/ImageBufferDataCG.cpp:
1407 (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA
1408 (WebCore::unpremultitplyScanline):
1409 (WebCore::premultitplyScanline):
1410 (WebCore::ImageBufferData::getData):
1411 (WebCore::ImageBufferData::putData):
1413 2011-04-18 Jeff Miller <jeffm@apple.com>
1415 Reviewed by Dan Bernstein.
1417 Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable
1418 https://bugs.webkit.org/show_bug.cgi?id=58811
1420 * platform/win/LoggingWin.cpp:
1421 (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable.
1423 2011-04-18 Andrew Scherkus <scherkus@chromium.org>
1425 Reviewed by Eric Seidel.
1427 Reset fullscreen element reference when leaving fullscreen mode and some other cleanup.
1429 https://bugs.webkit.org/show_bug.cgi?id=58719
1431 Test: fullscreen/full-screen-cancel.html
1434 (WebCore::Document::Document): Remove m_isFullscreen.
1435 (WebCore::Document::webkitWillEnterFullScreenForElement):
1436 (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating().
1437 (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference.
1439 (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen.
1440 (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto.
1442 2011-04-18 Dan Bernstein <mitz@apple.com>
1444 Reviewed by Eric Seidel.
1446 <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse.
1447 https://bugs.webkit.org/show_bug.cgi?id=58500
1449 Test: fast/repaint/text-in-relative-positioned-inline.html
1451 * rendering/RenderText.cpp:
1452 (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not
1453 the containing block’s. This matters when the containing block is outside the RenderText’s
1454 enclosing layer, as is the case here.
1456 2011-04-15 Stephen White <senorblanco@chromium.org>
1458 Reviewed by Kenneth Russell.
1460 Speed up DrawingBuffer::reset().
1461 https://bugs.webkit.org/show_bug.cgi?id=58706
1463 When DrawingBuffer::reset() is called, it should not reallocate
1464 the FBOs if the size has not changed. It should just do a glClear().
1466 Covered by tests in fast/canvas and canvas/philip.
1468 * platform/graphics/chromium/DrawingBufferChromium.cpp:
1469 (WebCore::DrawingBuffer::DrawingBuffer):
1470 Initialize the size to -1, -1, so the size change check will work on
1472 * platform/graphics/gpu/DrawingBuffer.cpp:
1473 (WebCore::DrawingBuffer::reset):
1474 If the size hasn't changed, don't resize the FBOs. Just clear the
1477 2011-04-18 Pavel Feldman <pfeldman@google.com>
1479 Reviewed by Yury Semikhatsky.
1481 Web Inspector: group resources by type in the resources panel.
1482 https://bugs.webkit.org/show_bug.cgi?id=58796
1484 * inspector/front-end/ResourcesPanel.js:
1485 (WebInspector.ResourcesPanel.prototype._frameAdded):
1486 (WebInspector.ResourcesPanel.prototype._resourceAdded):
1487 (WebInspector.BaseStorageTreeElement):
1488 (WebInspector.BaseStorageTreeElement.prototype.onattach):
1489 (WebInspector.StorageCategoryTreeElement):
1490 (WebInspector.FrameTreeElement):
1491 (WebInspector.FrameTreeElement.prototype.setTitles):
1492 (WebInspector.FrameTreeElement.prototype.set hovered):
1493 (WebInspector.FrameTreeElement.prototype.appendResource):
1494 (WebInspector.FrameTreeElement.prototype.appendChild):
1495 (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
1496 (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare):
1498 2011-04-18 Timothy Hatcher <timothy@apple.com>
1500 Make update-webkit-localizable-strings put WebKit/win strings in WebCore
1501 now that all localized strings in WebKit/win use WEB_UI_STRING.
1503 https://webkit.org/b/58747
1505 Reviewed by Dan Bernstein.
1507 * English.lproj/Localizable.strings: Updated with strings from WebKit/win.
1509 2011-04-15 MORITA Hajime <morrita@google.com>
1511 Reviewed by Adam Barth.
1513 REGRESSION: <progress> doesn't animate if it doesn't have value
1514 https://bugs.webkit.org/show_bug.cgi?id=58693
1516 The initial value of RenderProgress::m_position is accidentally same as
1517 the indeterminate value, that makes update code on updateFromElement() skipped.
1518 This change set unique invalid value for the initial value of m_position.
1520 No new tests. Testing animated bar is not possible with DRT.
1522 * html/HTMLProgressElement.cpp:
1523 (WebCore::HTMLProgressElement::position):
1524 * html/HTMLProgressElement.h:
1525 * rendering/RenderProgress.cpp:
1526 (WebCore::RenderProgress::RenderProgress):
1527 (WebCore::RenderProgress::isDeterminate):
1529 2011-04-18 MORITA Hajime <morrita@google.com>
1531 Reviewed by Eric Seidel.
1533 REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
1534 https://bugs.webkit.org/show_bug.cgi?id=58791
1536 On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
1537 We should guard it again RefPtr.
1539 * html/HTMLDetailsElement.cpp:
1540 (WebCore::HTMLDetailsElement::refreshMainSummary):
1542 2011-04-18 Antti Koivisto <antti@apple.com>
1544 Reviewed by Simon Fraser.
1546 CSSSelector double frees
1547 https://bugs.webkit.org/show_bug.cgi?id=56124
1548 <rdar://problem/9119036>
1550 In all stacks this is occuring when the document is kept alive by the guard ref only
1551 and the node holding it is deleted.
1553 As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
1554 This has a pretty good chance of fixing the actual bug. At minimum it will move the
1555 crash to an earlier, more easily traceble point.
1557 No tests, crash stacks only, no idea how to reproduce.
1560 (WebCore::Document::removedLastRef):
1562 2011-04-18 Alexander Pavlov <apavlov@chromium.org>
1564 Reviewed by Yury Semikhatsky.
1566 Web Inspector: Backspace in the Console is broken
1567 https://bugs.webkit.org/show_bug.cgi?id=58764
1569 * inspector/front-end/inspector.js:
1570 (WebInspector.documentKeyDown):
1572 2011-04-18 Hans Wennborg <hans@chromium.org>
1574 Reviewed by Steve Block.
1576 LevelDB backend for IndexedDB
1577 https://bugs.webkit.org/show_bug.cgi?id=57372
1579 Only available behind a run-time flag. Covered by existing layout
1585 * GNUmakefile.list.am:
1586 * WebCore.gyp/WebCore.gyp:
1590 * WebCore.xcodeproj/project.pbxproj:
1591 * platform/leveldb/LevelDBComparator.h: Added.
1592 (WebCore::LevelDBComparator::~LevelDBComparator):
1593 * platform/leveldb/LevelDBDatabase.cpp: Added.
1594 (WebCore::makeSlice):
1595 (WebCore::makeLevelDBSlice):
1596 (WebCore::makeVector):
1597 (WebCore::LevelDBDatabase::LevelDBDatabase):
1598 (WebCore::LevelDBDatabase::~LevelDBDatabase):
1599 (WebCore::LevelDBDatabase::open):
1600 (WebCore::LevelDBDatabase::put):
1601 (WebCore::LevelDBDatabase::remove):
1602 (WebCore::LevelDBDatabase::get):
1603 (WebCore::LevelDBDatabase::newIterator):
1604 * platform/leveldb/LevelDBDatabase.h: Added.
1605 * platform/leveldb/LevelDBIterator.cpp: Added.
1606 (WebCore::LevelDBIterator::~LevelDBIterator):
1607 (WebCore::LevelDBIterator::LevelDBIterator):
1608 (WebCore::makeSlice):
1609 (WebCore::makeLevelDBSlice):
1610 (WebCore::LevelDBIterator::isValid):
1611 (WebCore::LevelDBIterator::seekToLast):
1612 (WebCore::LevelDBIterator::seek):
1613 (WebCore::LevelDBIterator::next):
1614 (WebCore::LevelDBIterator::prev):
1615 (WebCore::LevelDBIterator::key):
1616 (WebCore::LevelDBIterator::value):
1617 * platform/leveldb/LevelDBIterator.h: Added.
1618 * platform/leveldb/LevelDBSlice.h: Added.
1619 (WebCore::LevelDBSlice::LevelDBSlice):
1620 (WebCore::LevelDBSlice::~LevelDBSlice):
1621 (WebCore::LevelDBSlice::begin):
1622 (WebCore::LevelDBSlice::end):
1623 * storage/IDBLevelDBBackingStore.cpp:
1624 (WebCore::encodeByte):
1625 (WebCore::maxIDBKey):
1626 (WebCore::minIDBKey):
1627 (WebCore::encodeInt):
1628 (WebCore::decodeInt):
1629 (WebCore::encodeVarInt):
1630 (WebCore::decodeVarInt):
1631 (WebCore::encodeString):
1632 (WebCore::decodeString):
1633 (WebCore::encodeStringWithLength):
1634 (WebCore::decodeStringWithLength):
1635 (WebCore::encodeDouble):
1636 (WebCore::decodeDouble):
1637 (WebCore::encodeIDBKey):
1638 (WebCore::decodeIDBKey):
1639 (WebCore::extractEncodedIDBKey):
1640 (WebCore::compareEncodedIDBKeys):
1643 (WebCore::getString):
1644 (WebCore::putString):
1645 (WebCore::KeyPrefix::SchemaVersionKey::encode):
1646 (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
1647 (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
1648 (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
1649 (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
1650 (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
1651 (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
1652 (WebCore::KeyPrefix::DatabaseNameKey::decode):
1653 (WebCore::KeyPrefix::DatabaseNameKey::encode):
1654 (WebCore::KeyPrefix::DatabaseNameKey::origin):
1655 (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
1656 (WebCore::KeyPrefix::DatabaseNameKey::compare):
1657 (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
1658 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
1659 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
1660 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
1661 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
1662 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
1663 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
1664 (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
1665 (WebCore::KeyPrefix::IndexMetaDataKey::decode):
1666 (WebCore::KeyPrefix::IndexMetaDataKey::encode):
1667 (WebCore::KeyPrefix::IndexMetaDataKey::compare):
1668 (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
1669 (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
1670 (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
1671 (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
1672 (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
1673 (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
1674 (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
1675 (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
1676 (WebCore::KeyPrefix::IndexFreeListKey::decode):
1677 (WebCore::KeyPrefix::IndexFreeListKey::encode):
1678 (WebCore::KeyPrefix::IndexFreeListKey::compare):
1679 (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
1680 (WebCore::KeyPrefix::IndexFreeListKey::indexId):
1681 (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
1682 (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
1683 (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
1684 (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
1685 (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
1686 (WebCore::KeyPrefix::IndexNamesKey::decode):
1687 (WebCore::KeyPrefix::IndexNamesKey::encode):
1688 (WebCore::KeyPrefix::IndexNamesKey::compare):
1689 (WebCore::KeyPrefix::IndexNamesKey::indexName):
1690 (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
1691 (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
1692 (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
1693 (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
1694 (WebCore::KeyPrefix::ExistsEntryKey::decode):
1695 (WebCore::KeyPrefix::ExistsEntryKey::encode):
1696 (WebCore::KeyPrefix::ExistsEntryKey::compare):
1697 (WebCore::KeyPrefix::ExistsEntryKey::userKey):
1698 (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
1699 (WebCore::KeyPrefix::IndexDataKey::decode):
1700 (WebCore::KeyPrefix::IndexDataKey::encode):
1701 (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
1702 (WebCore::KeyPrefix::IndexDataKey::compare):
1703 (WebCore::KeyPrefix::IndexDataKey::databaseId):
1704 (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
1705 (WebCore::KeyPrefix::IndexDataKey::indexId):
1706 (WebCore::KeyPrefix::IndexDataKey::userKey):
1707 (WebCore::KeyPrefix::realCompare):
1708 (WebCore::KeyPrefix::compareKeys):
1709 (WebCore::KeyPrefix::compareIndexKeys):
1710 (WebCore::KeyPrefix::Comparator::compare):
1711 (WebCore::KeyPrefix::Comparator::name):
1712 (WebCore::setUpMetadata):
1713 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
1714 (WebCore::IDBLevelDBBackingStore::open):
1715 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
1716 (WebCore::getNewDatabaseId):
1717 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
1718 (WebCore::IDBLevelDBBackingStore::getObjectStores):
1719 (WebCore::getNewObjectStoreId):
1720 (WebCore::IDBLevelDBBackingStore::createObjectStore):
1721 (WebCore::deleteRange):
1722 (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
1723 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
1724 (WebCore::getNewVersionNumber):
1725 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
1726 (WebCore::IDBLevelDBBackingStore::clearObjectStore):
1727 (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
1728 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1729 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
1730 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
1731 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1732 (WebCore::IDBLevelDBBackingStore::getIndexes):
1733 (WebCore::getNewIndexId):
1734 (WebCore::IDBLevelDBBackingStore::createIndex):
1735 (WebCore::IDBLevelDBBackingStore::deleteIndex):
1736 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
1737 (WebCore::findGreatestKeyLessThan):
1738 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
1739 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
1740 (WebCore::versionExists):
1741 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1742 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1743 (WebCore::findLastIndexKeyEqualTo):
1744 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
1745 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
1746 (WebCore::IDBLevelDBBackingStore::openIndexCursor):
1747 (WebCore::IDBLevelDBBackingStore::createTransaction):
1748 * storage/IDBLevelDBBackingStore.h:
1750 2011-04-18 Pavel Feldman <pfeldman@google.com>
1752 Reviewed by Yury Semikhatsky.
1754 Web Inspector: add test for CSS-resource binding.
1755 https://bugs.webkit.org/show_bug.cgi?id=58786
1757 Test: inspector/styles/styles-history.html
1759 * inspector/InspectorCSSAgent.cpp:
1760 (WebCore::InspectorCSSAgent::setPropertyText):
1761 (WebCore::InspectorCSSAgent::toggleProperty):
1762 * inspector/InspectorStyleSheet.cpp:
1763 (WebCore::InspectorStyle::setPropertyText):
1764 (WebCore::InspectorStyle::toggleProperty):
1765 (WebCore::InspectorStyleSheet::setPropertyText):
1766 (WebCore::InspectorStyleSheet::toggleProperty):
1767 * inspector/InspectorStyleSheet.h:
1768 * inspector/front-end/CSSStyleModel.js:
1769 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
1770 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
1771 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
1772 (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
1773 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1774 (WebInspector.CSSProperty.prototype.setText.callback):
1775 (WebInspector.CSSProperty.prototype.setText):
1777 2011-04-18 Sheriff Bot <webkit.review.bot@gmail.com>
1779 Unreviewed, rolling out r83996.
1780 http://trac.webkit.org/changeset/83996
1781 https://bugs.webkit.org/show_bug.cgi?id=58790
1783 layout test editing/selection/move-by-word-visually.html is
1784 failing (Requested by jknotten on #webkit).
1786 * editing/visible_units.cpp:
1787 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
1788 (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
1789 (WebCore::previousWordBreakInBox):
1790 (WebCore::leftWordBoundary):
1791 (WebCore::rightWordBoundary):
1792 (WebCore::leftWordPosition):
1793 (WebCore::rightWordPosition):
1795 2011-04-18 Adam Bergkvist <adam.bergkvist@ericsson.com>
1797 Reviewed by Daniel Bates.
1799 Modify make_names.pl to not include conditional includes unconditionally
1800 https://bugs.webkit.org/show_bug.cgi?id=53672
1802 Fixed conditional includes being unconditionally included.
1804 No new tests (no change in functionality)
1806 * dom/make_names.pl:
1807 - Modified printJSElementIncludes() to only print unconditional element includes.
1808 - Modified printElementIncludes() to only print unconditional element includes.
1809 - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
1811 2011-04-18 Sheriff Bot <webkit.review.bot@gmail.com>
1813 Unreviewed, rolling out r83803.
1814 http://trac.webkit.org/changeset/83803
1815 https://bugs.webkit.org/show_bug.cgi?id=58782
1817 Caused focus rings to appear in youtube videos (Requested by
1818 inferno-sec on #webkit).
1820 * rendering/RenderWidget.cpp:
1821 (WebCore::RenderWidget::paint):
1823 2011-04-18 Alexander Pavlov <apavlov@chromium.org>
1825 Reviewed by Pavel Feldman.
1827 Web Inspector: Need a workaround for bug 58422
1828 https://bugs.webkit.org/show_bug.cgi?id=58780
1830 Instead of the A:before content, the link text is displayed as the A tag content.
1832 * inspector/front-end/StylesSidebarPane.js:
1833 (WebInspector.StylePropertiesSection.linkifyUncopyable):
1834 (WebInspector.StylePropertiesSection):
1835 * inspector/front-end/inspector.css:
1837 2011-04-18 Carlos Garcia Campos <cgarcia@igalia.com>
1839 Unreviewed. Fix WebKit2 GTK build after 82465.
1841 * platform/gtk/LocalizedStringsGtk.cpp:
1842 (WebCore::localizedString):
1844 2011-04-18 Andrey Adaikin <aandrey@google.com>
1846 Reviewed by Yury Semikhatsky.
1848 Web Inspector: TAB should not move focus from the text editor while live editing
1849 https://bugs.webkit.org/show_bug.cgi?id=58537
1851 * inspector/front-end/TextViewer.js:
1852 (WebInspector.TextViewer.prototype._registerShortcuts):
1853 (WebInspector.TextViewer.prototype._cancelEditing):
1854 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
1855 (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
1856 (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
1857 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1858 (WebInspector.TextEditorMainPanel.prototype._setText):
1860 2011-04-18 Alexander Pavlov <apavlov@chromium.org>
1862 Reviewed by Yury Semikhatsky.
1864 Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
1865 https://bugs.webkit.org/show_bug.cgi?id=58551
1867 Test: inspector/styles/metrics-box-sizing.html
1869 * inspector/front-end/MetricsSidebarPane.js:
1870 (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
1871 (WebInspector.MetricsSidebarPane.prototype._getBox):
1872 (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
1873 (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
1874 (WebInspector.MetricsSidebarPane.prototype._update):
1875 (WebInspector.MetricsSidebarPane.prototype.startEditing):
1876 (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
1877 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1879 2011-04-18 Ilya Tikhonovsky <loislo@chromium.org>
1881 Reviewed by Yury Semikhatsky.
1883 Web Inspector: Database agent stops to propagate it's events after navigation.
1884 https://bugs.webkit.org/show_bug.cgi?id=58776
1886 * inspector/InspectorAgent.cpp:
1887 (WebCore::InspectorAgent::InspectorAgent):
1888 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1889 * inspector/InspectorDatabaseAgent.cpp:
1890 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1891 (WebCore::InspectorDatabaseAgent::clearFrontend):
1892 (WebCore::InspectorDatabaseAgent::enable):
1893 (WebCore::InspectorDatabaseAgent::disable):
1894 (WebCore::InspectorDatabaseAgent::restore):
1895 * inspector/InspectorDatabaseAgent.h:
1896 (WebCore::InspectorDatabaseAgent::create):
1898 2011-04-18 Sheriff Bot <webkit.review.bot@gmail.com>
1900 Unreviewed, rolling out r83968.
1901 http://trac.webkit.org/changeset/83968
1902 https://bugs.webkit.org/show_bug.cgi?id=58769
1904 Breaks Backspace in Web Inspector console (Requested by
1905 apavlov on #webkit).
1907 * inspector/front-end/inspector.js:
1908 (WebInspector.documentKeyDown):
1910 2011-04-15 Yury Semikhatsky <yurys@chromium.org>
1912 Reviewed by Pavel Feldman.
1914 Web Inspector: introduce WorkerInspectorController
1915 https://bugs.webkit.org/show_bug.cgi?id=58668
1917 WorkerInspectorController will be owned by WorkerContext and will hold all inspector
1918 agents and will also manage connection to the inspector frontend.
1921 * GNUmakefile.list.am:
1924 * WebCore.vcproj/WebCore.vcproj:
1925 * WebCore.xcodeproj/project.pbxproj:
1926 * bindings/js/ScriptState.cpp:
1927 (WebCore::scriptStateFromWorkerContext):
1928 * bindings/js/ScriptState.h:
1929 * bindings/v8/ScriptState.cpp:
1930 (WebCore::scriptStateFromWorkerContext):
1931 * bindings/v8/ScriptState.h:
1932 * inspector/InspectorState.cpp:
1933 (WebCore::InspectorState::updateCookie):
1934 * inspector/WorkerInspectorController.cpp: Added.
1935 (WebCore::WorkerInspectorController::WorkerInspectorController):
1936 (WebCore::WorkerInspectorController::~WorkerInspectorController):
1937 (WebCore::WorkerInspectorController::connectFrontend):
1938 (WebCore::WorkerInspectorController::disconnectFrontend):
1939 (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
1940 * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
1941 * workers/WorkerContext.cpp:
1942 (WebCore::WorkerContext::WorkerContext):
1943 * workers/WorkerContext.h:
1944 (WebCore::WorkerContext::workerInspectorController):
1946 2011-04-17 Thierry Reding <thierry.reding@avionic-design.de>
1948 Reviewed by Adam Barth.
1950 Fix build with GCC 4.6.
1952 * dom/make_names.pl: Execute preprocessor without the -P option. The
1953 preprocessor in GCC 4.6 eats empty lines, effectively breaking the
1954 parsing performed by this script. Dropping the -P option when invoking
1955 the preprocessor keeps the empty lines but as a side-effect also adds
1956 additional linemarkers.
1958 From the cpp manpage:
1960 -P Inhibit generation of linemarkers in the output from the
1961 preprocessor. This might be useful when running the preprocessor
1962 on something that is not C code, and will be sent to a program
1963 which might be confused by the linemarkers.
1965 The linemarkers are not problematic, however, because the script
1966 properly handles them by ignoring all lines starting with a #.
1968 2011-04-17 David Kilzer <ddkilzer@apple.com>
1970 <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
1971 <rdar://problem/9268729>
1973 Reviewed by Dan Bernstein.
1975 This replaces support for the WebKitEnableHTTPPipelining user
1976 default with methods on the WebCore::ResourceRequest class in
1977 WebCore, the WebView class in WebKit1, and the WebContext class
1978 in WebKit2. It also removes support for the
1979 WebKitForceHTTPPipeliningPriorityHigh user default which was not
1982 Run these commands if you set the user defaults previously,
1983 replacing "BUNDLE.ID" with your application's bundle ID:
1985 defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
1986 defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
1988 * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
1989 and ResourceRequest::setHTTPPipeliningEnabled().
1991 * platform/network/ResourceRequestBase.h:
1992 (WebCore::isHTTPPipeliningEnabled): Removed declaration.
1993 (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
1995 * platform/network/cf/ResourceRequest.h:
1996 (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
1997 (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
1998 (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
2000 * platform/network/cf/ResourceRequestCFNet.cpp:
2001 (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
2002 (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
2003 (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
2004 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
2005 to use ResourceRequest::httpPipeliningEnabled().
2006 (WebCore::readBooleanPreference): Removed.
2007 (WebCore::isHTTPPipeliningEnabled): Removed.
2008 (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
2010 * platform/network/mac/ResourceRequestMac.mm:
2011 (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
2012 use ResourceRequest::httpPipeliningEnabled(). Removed check for
2013 shouldForceHTTPPipeliningPriorityHigh().
2014 (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
2016 2011-04-17 Dan Bernstein <mitz@apple.com>
2018 Reviewed by Maciej Stachowiak.
2020 REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
2021 https://bugs.webkit.org/show_bug.cgi?id=58736
2023 * rendering/RenderBlockLineLayout.cpp:
2024 (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
2025 that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
2026 always dirties the line after the last one in the range.
2028 2011-04-17 Patrick Gansterer <paroga@webkit.org>
2030 Unreviewed. Add missing include to fix build without precompiled header.
2032 * rendering/RenderMediaControls.cpp:
2034 2011-04-17 Daniel Bates <dbates@webkit.org>
2036 Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
2037 (https://bugs.webkit.org/show_bug.cgi?id=57842).
2039 * loader/cache/CachedResourceLoader.cpp:
2040 (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
2042 2011-04-17 Patrick Gansterer <paroga@webkit.org>
2044 Reviewed by Eric Seidel.
2046 Remove pthread dependency of GCController
2047 https://bugs.webkit.org/show_bug.cgi?id=54833
2049 * bindings/js/GCController.cpp:
2050 (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
2052 2011-04-17 Gavin Peters <gavinp@chromium.org>
2054 Reviewed by Adam Barth.
2056 Add support for link rel type "subresource"
2057 https://bugs.webkit.org/show_bug.cgi?id=57842
2059 Link rel=prefetch is great for cache warming for resources on
2060 subsequent pages, but it launches requests at too low a priority
2061 to use for subresources of the current page.
2063 Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
2064 is implemented, a rel type that launches requests at an higher
2065 priority is going to be very useful. This rel type is in the
2066 HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions . An
2067 expected use case will be for servers to provide subresource hints
2068 in link headers, which will allow servers to help make the web
2071 This feature continues my implementation of the Link header, which
2072 we've talked about in WebKit-dev in
2073 https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
2075 Tests: fast/dom/HTMLLinkElement/subresource.html
2076 http/tests/misc/link-rel-prefetch-and-subresource.html
2078 * html/HTMLLinkElement.cpp:
2079 (WebCore::HTMLLinkElement::~HTMLLinkElement):
2080 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2081 (WebCore::HTMLLinkElement::process):
2082 (WebCore::HTMLLinkElement::onloadTimerFired):
2083 (WebCore::HTMLLinkElement::notifyFinished):
2084 * html/HTMLLinkElement.h:
2085 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
2086 * loader/cache/CachedResource.cpp:
2087 (WebCore::defaultPriorityForResourceType):
2088 * loader/cache/CachedResource.h:
2089 (WebCore::CachedResource::isLinkResource):
2090 * loader/cache/CachedResourceLoader.cpp:
2091 (WebCore::createResource):
2092 (WebCore::CachedResourceLoader::requestLinkResource):
2093 (WebCore::CachedResourceLoader::canRequest):
2094 (WebCore::CachedResourceLoader::incrementRequestCount):
2095 (WebCore::CachedResourceLoader::decrementRequestCount):
2096 * loader/cache/CachedResourceLoader.h:
2097 * loader/cache/CachedResourceRequest.cpp:
2098 (WebCore::cachedResourceTypeToTargetType):
2099 (WebCore::CachedResourceRequest::load):
2101 2011-04-17 Dan Bernstein <mitz@apple.com>
2103 Reviewed by Joseph Pecoraro.
2105 <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
2106 https://bugs.webkit.org/show_bug.cgi?id=58745
2108 This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
2109 which was fixed in r83514.
2111 * rendering/RenderBlockLineLayout.cpp:
2112 (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
2113 variable so named, not the top layout overflow.
2115 2011-04-17 Geoffrey Garen <ggaren@apple.com>
2117 Strongly suggested, but not necessarily reviewed, by
2118 Sam Weinig and Maciej Stachowiak.
2120 Renamed DOMObject* => JSDOMWrapper*.
2122 * bindings/js/DOMWrapperWorld.cpp:
2123 (WebCore::isObservable):
2124 (WebCore::DOMObjectHandleOwner::finalize):
2125 * bindings/js/DOMWrapperWorld.h:
2126 * bindings/js/JSArrayBufferViewHelper.h:
2127 (WebCore::toJSArrayBufferView):
2128 * bindings/js/JSCSSRuleCustom.cpp:
2130 * bindings/js/JSCSSValueCustom.cpp:
2132 * bindings/js/JSDOMBinding.h:
2133 (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
2134 (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
2135 (WebCore::DOMConstructorObject::DOMConstructorObject):
2136 (WebCore::createDOMObjectWrapper):
2137 (WebCore::getDOMObjectWrapper):
2138 * bindings/js/JSDOMWrapper.cpp:
2139 (WebCore::JSDOMWrapper::~JSDOMWrapper):
2140 * bindings/js/JSDOMWrapper.h:
2141 (WebCore::JSDOMWrapper::JSDOMWrapper):
2142 * bindings/js/JSDocumentCustom.cpp:
2143 (WebCore::JSDocument::location):
2145 * bindings/js/JSEventCustom.cpp:
2147 * bindings/js/JSHTMLCollectionCustom.cpp:
2149 * bindings/js/JSImageDataCustom.cpp:
2151 * bindings/js/JSSVGPathSegCustom.cpp:
2153 * bindings/js/JSStyleSheetCustom.cpp:
2155 * bindings/js/ScriptWrappable.h:
2156 (WebCore::ScriptWrappable::wrapper):
2157 (WebCore::ScriptWrappable::setWrapper):
2158 * bindings/scripts/CodeGeneratorJS.pm:
2160 2011-04-17 Patrick Gansterer <paroga@webkit.org>
2162 Reviewed by Adam Barth.
2164 Rename PLATFORM(CA) to USE(CA)
2165 https://bugs.webkit.org/show_bug.cgi?id=58742
2168 * platform/graphics/ca/TransformationMatrixCA.cpp:
2169 * platform/graphics/cg/ImageBufferDataCG.h:
2170 * platform/graphics/transforms/TransformationMatrix.h:
2171 * platform/mac/WebCoreSystemInterface.h:
2172 * rendering/RenderLayerBacking.cpp:
2173 (WebCore::RenderLayerBacking::containsPaintedContent):
2174 * rendering/RenderLayerCompositor.cpp:
2175 (WebCore::RenderLayerCompositor::updateBacking):
2177 2011-04-17 Young Han Lee <joybro@company100.net>
2179 Reviewed by Benjamin Poulain.
2181 [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
2182 https://bugs.webkit.org/show_bug.cgi?id=58739
2184 gInVertexAttributeIndex is a constant variable to point the location of
2185 "InVertex" attribute of the vertex shaders.
2187 * platform/graphics/opengl/TextureMapperGL.cpp:
2188 (WebCore::TextureMapperGL::drawTexture):
2189 (WebCore::TextureMapperGL::paintToTarget):
2191 2011-04-17 Kinuko Yasuda <kinuko@chromium.org>
2193 Not reviewed: Fix copyright (I had submitted the file with wrong
2196 * storage/StorageInfo.idl:
2198 2011-04-17 Patrick Gansterer <paroga@webkit.org>
2200 Reviewed by Adam Barth.
2202 Rename PLATFORM(CG) to USE(CG)
2203 https://bugs.webkit.org/show_bug.cgi?id=58729
2206 * html/HTMLCanvasElement.cpp:
2207 (WebCore::HTMLCanvasElement::toDataURL):
2208 * html/HTMLCanvasElement.h:
2209 * html/canvas/CanvasRenderingContext2D.cpp:
2210 (WebCore::CanvasRenderingContext2D::setShadow):
2211 (WebCore::CanvasRenderingContext2D::drawTextInternal):
2212 * html/canvas/CanvasRenderingContext2D.h:
2213 * html/canvas/CanvasStyle.cpp:
2214 (WebCore::CanvasStyle::applyStrokeColor):
2215 (WebCore::CanvasStyle::applyFillColor):
2216 * loader/cache/CachedFont.cpp:
2217 * loader/cache/CachedImage.cpp:
2218 (WebCore::CachedImage::createImage):
2219 * platform/FloatConversion.h:
2220 * platform/MIMETypeRegistry.cpp:
2221 (WebCore::initializeSupportedImageMIMETypes):
2222 (WebCore::initializeSupportedImageMIMETypesForEncoding):
2223 * platform/graphics/BitmapImage.h:
2224 * platform/graphics/Color.h:
2225 * platform/graphics/DashArray.h:
2226 * platform/graphics/FloatPoint.h:
2227 * platform/graphics/FloatRect.h:
2228 * platform/graphics/FloatSize.h:
2229 * platform/graphics/FontPlatformData.h:
2230 (WebCore::FontPlatformData::FontPlatformData):
2231 (WebCore::FontPlatformData::hash):
2232 * platform/graphics/GlyphBuffer.h:
2233 (WebCore::GlyphBuffer::advanceAt):
2234 (WebCore::GlyphBuffer::add):
2235 (WebCore::GlyphBuffer::expandLastAdvance):
2236 * platform/graphics/Gradient.h:
2237 * platform/graphics/GraphicsContext.cpp:
2238 (WebCore::GraphicsContext::setLegacyShadow):
2239 * platform/graphics/GraphicsContext.h:
2240 (WebCore::GraphicsContextState::GraphicsContextState):
2241 * platform/graphics/GraphicsContext3D.h:
2242 * platform/graphics/Image.cpp:
2243 * platform/graphics/Image.h:
2244 * platform/graphics/ImageBuffer.cpp:
2245 * platform/graphics/ImageBuffer.h:
2246 * platform/graphics/ImageBufferData.h:
2247 * platform/graphics/ImageSource.h:
2248 * platform/graphics/IntPoint.h:
2249 * platform/graphics/IntRect.h:
2250 * platform/graphics/IntSize.h:
2251 * platform/graphics/Path.h:
2252 * platform/graphics/Pattern.h:
2253 * platform/graphics/SimpleFontData.h:
2254 * platform/graphics/cg/ColorCG.cpp:
2255 * platform/graphics/cg/FloatPointCG.cpp:
2256 * platform/graphics/cg/FloatRectCG.cpp:
2257 * platform/graphics/cg/FloatSizeCG.cpp:
2258 * platform/graphics/cg/ImageCG.cpp:
2259 * platform/graphics/cg/ImageSourceCG.cpp:
2260 * platform/graphics/cg/IntPointCG.cpp:
2261 * platform/graphics/cg/IntRectCG.cpp:
2262 * platform/graphics/cg/IntSizeCG.cpp:
2263 * platform/graphics/cg/PDFDocumentImage.cpp:
2264 * platform/graphics/cg/PDFDocumentImage.h:
2265 * platform/graphics/cg/PathCG.cpp:
2266 * platform/graphics/cg/TransformationMatrixCG.cpp:
2267 * platform/graphics/chromium/ImageLayerChromium.h:
2268 * platform/graphics/chromium/LayerRendererChromium.cpp:
2269 * platform/graphics/chromium/LayerRendererChromium.h:
2270 * platform/graphics/chromium/PlatformCanvas.cpp:
2271 (WebCore::PlatformCanvas::resize):
2272 (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2273 (WebCore::PlatformCanvas::Painter::Painter):
2274 * platform/graphics/chromium/PlatformCanvas.h:
2275 * platform/graphics/chromium/PlatformImage.cpp:
2276 (WebCore::PlatformImage::updateFromImage):
2277 * platform/graphics/opentype/OpenTypeUtilities.cpp:
2278 * platform/graphics/transforms/AffineTransform.h:
2279 * platform/graphics/transforms/TransformationMatrix.h:
2280 * platform/graphics/win/DIBPixelData.h:
2281 * platform/graphics/win/FontCacheWin.cpp:
2282 (WebCore::FontCache::platformInit):
2283 (WebCore::createGDIFont):
2284 (WebCore::FontCache::createFontPlatformData):
2285 * platform/graphics/win/FontPlatformDataWin.cpp:
2286 (WebCore::FontPlatformData::FontPlatformData):
2287 * platform/graphics/win/GraphicsContextWin.cpp:
2288 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2289 * platform/graphics/win/SimpleFontDataWin.cpp:
2290 * platform/image-decoders/ImageDecoder.cpp:
2291 * platform/image-decoders/ImageDecoder.h:
2292 * rendering/RenderObject.h:
2293 * rendering/svg/RenderSVGResourceFilter.cpp:
2294 (WebCore::RenderSVGResourceFilter::postApplyResource):
2295 * rendering/svg/RenderSVGResourceGradient.cpp:
2296 (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
2297 (WebCore::RenderSVGResourceGradient::applyResource):
2298 * rendering/svg/RenderSVGResourceGradient.h:
2299 * rendering/svg/RenderSVGResourceMasker.cpp:
2300 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2301 * rendering/svg/RenderSVGResourcePattern.cpp:
2302 (WebCore::RenderSVGResourcePattern::applyResource):
2304 2011-04-16 Adam Barth <abarth@webkit.org>
2306 Reviewed by Sam Weinig.
2308 about:blank documents in new tabs can XHR anywhere
2309 https://bugs.webkit.org/show_bug.cgi?id=58712
2311 Empty security origins have supposed to be low-privilege, we should
2312 mark them as having a unique origin.
2314 * manual-tests/about-blank-xhr.html: Added.
2315 * page/SecurityOrigin.cpp:
2316 (WebCore::SecurityOrigin::SecurityOrigin):
2317 * page/SecurityOrigin.h:
2319 2011-04-16 Dan Bernstein <mitz@apple.com>
2321 Reviewed by Simon Fraser.
2323 <rdar://problem/9190108> Crash when hiding a float
2325 Test: fast/block/float/overhanging-tall-block.html
2327 * rendering/RenderBlock.cpp:
2328 (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
2329 Capped the logical bottom so that we get the correct maximum.
2330 * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
2331 * rendering/RenderBlockLineLayout.cpp:
2332 (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
2333 extending the float if needed so that it touches the line.
2334 (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
2335 (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
2336 range of lines as dirty.
2337 * rendering/RootInlineBox.h:
2338 (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
2339 allows the creation of the vector to be combined with appending the first float.
2341 2011-04-16 Sam Weinig <sam@webkit.org>
2343 Reviewed by Simon Fraser.
2345 Pages in the PageCache don't have the correct visited link coloring after being restored
2346 https://bugs.webkit.org/show_bug.cgi?id=58721
2349 Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
2351 * history/CachedPage.cpp:
2352 (WebCore::CachedPage::CachedPage):
2353 (WebCore::CachedPage::restore):
2354 (WebCore::CachedPage::clear):
2355 * history/CachedPage.h:
2356 (WebCore::CachedPage::markForVistedLinkStyleRecalc):
2357 Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
2358 style recalc when being restored.
2360 * history/PageCache.h:
2361 * history/PageCache.cpp:
2362 (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
2363 Mark all pages in the page cache as requiring visited link style recalc.
2365 * page/PageGroup.cpp:
2366 (WebCore::PageGroup::addVisitedLink):
2367 (WebCore::PageGroup::removeVisitedLinks):
2368 (WebCore::PageGroup::removeAllVisitedLinks):
2369 Set dirty bit when changing any visited link information.
2372 2011-04-16 Leo Yang <leoyang.webkit@gmail.com>
2374 Reviewed by Nikolas Zimmermann.
2376 ASSERT failure when svg <use> element changes href
2377 https://bugs.webkit.org/show_bug.cgi?id=58726
2379 m_resourceId was not empty after the pending resource
2380 becomes available. This will trigger the assertion at
2381 line 509 of SVGUseElement.cpp when the <use> element's
2382 href becomes empty or invalid.
2384 This patch makes m_resourceId be empty after the pending
2385 resource becomes available to avoid assertion failure.
2387 Test: svg/custom/use-crash-when-href-change.svg
2389 * svg/SVGUseElement.cpp:
2390 (WebCore::SVGUseElement::buildPendingResource):
2392 2011-04-16 Patrick Gansterer <paroga@webkit.org>
2394 Reviewed by Eric Seidel.
2396 Rename PLATFORM(CAIRO) to USE(CAIRO)
2397 https://bugs.webkit.org/show_bug.cgi?id=55192
2399 * CMakeListsEfl.txt:
2401 * platform/MIMETypeRegistry.cpp:
2402 (WebCore::initializeSupportedImageMIMETypesForEncoding):
2403 * platform/graphics/ContextShadow.h:
2404 * platform/graphics/DashArray.h:
2405 * platform/graphics/FloatRect.h:
2406 * platform/graphics/FontPlatformData.h:
2407 (WebCore::FontPlatformData::FontPlatformData):
2408 (WebCore::FontPlatformData::hash):
2409 (WebCore::FontPlatformData::isHashTableDeletedValue):
2410 * platform/graphics/GlyphBuffer.h:
2411 (WebCore::GlyphBuffer::glyphAt):
2412 (WebCore::GlyphBuffer::add):
2413 * platform/graphics/Gradient.cpp:
2414 * platform/graphics/Gradient.h:
2415 * platform/graphics/GraphicsContext.cpp:
2416 * platform/graphics/GraphicsContext.h:
2417 (WebCore::GraphicsContextState::GraphicsContextState):
2418 * platform/graphics/GraphicsContext3D.h:
2419 * platform/graphics/ImageBufferData.h:
2420 * platform/graphics/ImageSource.h:
2421 * platform/graphics/Path.h:
2422 * platform/graphics/Pattern.h:
2423 * platform/graphics/SimpleFontData.h:
2424 * platform/graphics/cairo/DrawErrorUnderline.h:
2425 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2426 * platform/graphics/cairo/ImageCairo.cpp:
2427 * platform/graphics/gstreamer/ImageGStreamer.h:
2428 * platform/graphics/transforms/AffineTransform.h:
2429 * platform/graphics/transforms/TransformationMatrix.h:
2430 * platform/graphics/win/FontCacheWin.cpp:
2431 (WebCore::createGDIFont):
2432 (WebCore::FontCache::createFontPlatformData):
2433 * platform/graphics/win/FontPlatformDataWin.cpp:
2434 (WebCore::FontPlatformData::FontPlatformData):
2435 * platform/graphics/win/GraphicsContextWin.cpp:
2436 * plugins/win/PluginViewWin.cpp:
2437 (WebCore::PluginView::paintWindowedPluginIntoContext):
2438 * rendering/RenderObject.h:
2440 2011-04-16 Patrick Gansterer <paroga@webkit.org>
2442 Unreviewed WinCE build fix for r84033.
2444 * platform/win/LocalizedStringsWin.cpp:
2445 (WebCore::localizedString):
2447 2011-04-16 Abhishek Arya <inferno@chromium.org>
2449 Reviewed by Nikolas Zimmermann.
2451 Only allow inline child for SVG text since we cannot
2452 handle block childs.
2453 https://bugs.webkit.org/show_bug.cgi?id=58678
2455 Test: svg/text/text-block-child-crash.xhtml
2457 * rendering/svg/RenderSVGText.cpp:
2458 (WebCore::RenderSVGText::isChildAllowed):
2459 * rendering/svg/RenderSVGText.h:
2461 2011-04-15 Ilya Tikhonovsky <loislo@chromium.org>
2463 Reviewed by Pavel Feldman.
2465 Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
2466 https://bugs.webkit.org/show_bug.cgi?id=57833
2468 * inspector/Inspector.json:
2469 * inspector/InspectorDatabaseAgent.cpp:
2470 (WebCore::InspectorDatabaseAgent::didOpenDatabase):
2471 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2472 (WebCore::InspectorDatabaseAgent::setFrontend):
2473 (WebCore::InspectorDatabaseAgent::clearFrontend):
2474 (WebCore::InspectorDatabaseAgent::enable):
2475 (WebCore::InspectorDatabaseAgent::disable):
2476 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2477 (WebCore::InspectorDatabaseAgent::executeSQL):
2478 * inspector/InspectorDatabaseAgent.h:
2479 * inspector/front-end/inspector.js:
2481 2011-04-15 Adam Barth <abarth@webkit.org>
2483 Reviewed by Eric Seidel.
2485 CSP media-src is missing
2486 https://bugs.webkit.org/show_bug.cgi?id=58642
2488 Yay HTMLMediaElement for having the exact hook we need!
2490 Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
2491 http/tests/security/contentSecurityPolicy/media-src-blocked.html
2493 * html/HTMLMediaElement.cpp:
2494 (WebCore::HTMLMediaElement::isSafeToLoadURL):
2495 - Although it's tempting to add this branch to the previous
2496 if-block, that results in the wrong error message being logged to
2497 the console (covered by the "blocked" test).
2498 * page/ContentSecurityPolicy.cpp:
2499 (WebCore::ContentSecurityPolicy::allowMediaFromSource):
2500 (WebCore::ContentSecurityPolicy::addDirective):
2501 * page/ContentSecurityPolicy.h:
2502 - These changes are routine.
2504 2011-04-15 Adam Barth <abarth@webkit.org>
2506 Reviewed by Eric Seidel.
2508 CSP should block string arguments to setTimeout and setInterval unless options eval-script
2509 https://bugs.webkit.org/show_bug.cgi?id=58610
2511 It's somewhat sadness that the JSC and V8 code for setTimeout and
2512 setInterval are so different. I struggled for a while with how to
2513 handle the worker case, but I decided to punt on it for now.
2515 Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
2516 http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
2517 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
2518 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
2520 * bindings/js/JSDOMWindowCustom.cpp:
2521 (WebCore::JSDOMWindow::setTimeout):
2522 (WebCore::JSDOMWindow::setInterval):
2523 * bindings/js/JSWorkerContextCustom.cpp:
2524 (WebCore::JSWorkerContext::setTimeout):
2525 (WebCore::JSWorkerContext::setInterval):
2526 * bindings/js/ScheduledAction.cpp:
2527 (WebCore::ScheduledAction::create):
2528 * bindings/js/ScheduledAction.h:
2529 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2530 (WebCore::WindowSetTimeoutImpl):
2531 * page/ContentSecurityPolicy.cpp:
2532 (WebCore::ContentSecurityPolicy::allowEval):
2533 * page/ContentSecurityPolicy.h:
2535 2011-04-15 Shishir Agrawal <shishir@chromium.org>
2537 Reviewed by James Robinson.
2539 Add a flag to guard Page Visibility API changes.
2540 https://bugs.webkit.org/show_bug.cgi?id=58464
2542 * Configurations/FeatureDefines.xcconfig:
2544 2011-04-15 Fridrich Strba <fridrich.strba@bluewin.ch>
2546 Reviewed by Martin Robinson.
2548 Make plugins compile during WebKit GTK Windows build.
2549 Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
2550 https://bugs.webkit.org/show_bug.cgi?id=58580
2552 * plugins/PluginView.cpp:
2553 (WebCore::PluginView::stop):
2554 * plugins/PluginView.h:
2555 * plugins/gtk/PluginViewGtk.cpp:
2556 (WebCore::PluginView::platformGetValue):
2557 (WebCore::PluginView::platformStart):
2559 2011-04-15 MORITA Hajime <morrita@google.com>
2561 Reviewed by Simon Fraser.
2563 Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
2564 https://bugs.webkit.org/show_bug.cgi?id=58512
2566 Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
2567 This change keeps an small refactoring on
2568 FrameView::shouldUpdate(), which doesn't affect on the behavior.
2572 * page/FrameView.cpp:
2573 (WebCore::FrameView::invalidateRect):
2574 (WebCore::FrameView::shouldUpdate):
2575 * rendering/RenderBlock.cpp:
2576 (WebCore::RenderBlock::paintContents):
2577 * rendering/RenderLayer.cpp:
2578 (WebCore::RenderLayer::paintLayer):
2580 2011-04-15 Chris Rogers <crogers@google.com>
2582 Reviewed by Kenneth Russell.
2584 Reduce default kernel size of SincResampler to favor better speed over quality
2585 https://bugs.webkit.org/show_bug.cgi?id=58710
2587 No new tests since audio API is not yet implemented.
2589 * platform/audio/SincResampler.h:
2591 2011-04-15 Fridrich Strba <fridrich.strba@bluewin.ch>
2593 Reviewed by Martin Robinson.
2595 Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
2596 These have to be defined for Windows in general, since win32 API
2597 does not provide them.
2598 https://bugs.webkit.org/show_bug.cgi?id=58582
2600 * platform/graphics/WOFFFileFormat.cpp:
2602 2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
2604 Reviewed by Adam Barth.
2606 Show a console message when X-Frame-Options blocks a load
2607 https://bugs.webkit.org/show_bug.cgi?id=39087
2609 Added console message when X-Frame-Options headers block resource loading
2611 * loader/MainResourceLoader.cpp:
2612 (WebCore::MainResourceLoader::didReceiveResponse):
2614 2011-04-15 Fridrich Strba <fridrich.strba@bluewin.ch>
2616 Reviewed by Martin Robinson.
2618 Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
2619 test. This allows Windows build of WebKit GTK to chose the right
2621 https://bugs.webkit.org/show_bug.cgi?id=58576
2623 * platform/FileSystem.h:
2625 2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org>
2627 Reviewed by Kenneth Rohde Christiansen.
2629 [Qt] QWebPage MIME type handling inconsistency with other web browsers
2630 https://bugs.webkit.org/show_bug.cgi?id=46968
2632 Implementing mime type sniffing based on
2633 http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
2636 * platform/network/MIMESniffing.cpp: Added.
2637 (MagicNumbers::dataSizeNeededForImageSniffing):
2638 (MagicNumbers::maskedCompare):
2639 (MagicNumbers::checkSpaceOrBracket):
2640 (MagicNumbers::compare):
2641 (MagicNumbers::findMIMEType):
2642 (MagicNumbers::findSimpleMIMEType):
2643 (MagicNumbers::textOrBinaryTypeSniffingProcedure):
2644 (MagicNumbers::unknownTypeSniffingProcedure):
2645 (MagicNumbers::imageTypeSniffingProcedure):
2646 (MagicNumbers::checkText):
2647 (MagicNumbers::checkRDF):
2648 (MagicNumbers::skipTag):
2649 (MagicNumbers::feedTypeSniffingProcedure):
2650 (MIMESniffer::MIMESniffer):
2651 * platform/network/MIMESniffing.h: Added.
2652 (MIMESniffer::dataSize):
2653 (MIMESniffer::sniff):
2654 (MIMESniffer::isValid):
2655 * platform/network/NetworkingContext.h:
2656 * platform/network/qt/QNetworkReplyHandler.cpp:
2657 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
2658 (WebCore::QNetworkReplyWrapper::release):
2659 (WebCore::QNetworkReplyWrapper::receiveMetaData):
2660 (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
2661 (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
2662 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2663 (WebCore::QNetworkReplyHandler::sendNetworkRequest):
2664 (WebCore::QNetworkReplyHandler::start):
2665 * platform/network/qt/QNetworkReplyHandler.h:
2666 (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
2667 (WebCore::QNetworkReplyWrapper::mimeType):
2668 * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
2669 (QtMIMETypeSniffer::QtMIMETypeSniffer):
2670 (QtMIMETypeSniffer::sniff):
2671 (QtMIMETypeSniffer::trySniffing):
2672 * platform/network/qt/QtMIMETypeSniffer.h: Added.
2673 (QtMIMETypeSniffer::mimeType):
2674 (QtMIMETypeSniffer::isFinished):
2676 2011-04-15 Emil A Eklund <eae@chromium.org>
2678 Reviewed by Dimitri Glazkov.
2680 input field with focus makes appendChild operation ~42x slower
2681 https://bugs.webkit.org/show_bug.cgi?id=57059
2683 Change ContainerNode::cloneChildNodes to only disable the
2684 deleteButtonController if the container itself (or any of its children)
2685 is being edited. Thus avoiding a reflow in cases where it's not.
2687 Test: perf/clone-with-focus.html
2689 * dom/ContainerNode.cpp:
2690 (WebCore::ContainerNode::cloneChildNodes):
2692 2011-04-15 Kinuko Yasuda <kinuko@chromium.org>
2694 Reviewed by David Levin.
2696 Expose unified Quota API if QUOTA build flag is enabled
2697 https://bugs.webkit.org/show_bug.cgi?id=58648
2699 Test: storage/storageinfo-query-usage.html
2701 * CMakeLists.txt: Added new file entries.
2702 * DerivedSources.cpp: Added new file entries.
2703 * DerivedSources.make: Added new file entries.
2704 * GNUmakefile.am: Added new file entries.
2705 * WebCore.gypi: Added new file entries.
2706 * WebCore.vcproj/WebCore.vcproj: Added new file entries.
2707 * WebCore.xcodeproj/project.pbxproj: Added new file entries.
2708 * page/DOMWindow.cpp:
2709 (WebCore::DOMWindow::webkitStorageInfo): Added.
2711 * page/DOMWindow.idl:
2712 * storage/StorageInfo.h: Added storage type enum.
2713 * storage/StorageInfo.idl: Added.
2714 * storage/StorageInfoErrorCallback.idl: Added.
2715 * storage/StorageInfoUsageCallback.idl: Added.
2717 2011-04-15 Oliver Hunt <oliver@apple.com>
2719 GC allocate Structure
2720 https://bugs.webkit.org/show_bug.cgi?id=58483
2722 Rolling r83894 r83827 r83810 r83809 r83808 back in with
2723 a workaround for the gcc bug seen by the gtk bots
2726 * bindings/js/JSAudioConstructor.h:
2727 (WebCore::JSAudioConstructor::createStructure):
2728 * bindings/js/JSDOMBinding.cpp:
2729 (WebCore::cacheDOMStructure):
2730 * bindings/js/JSDOMBinding.h:
2731 (WebCore::DOMObjectWithGlobalPointer::createStructure):
2732 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
2733 (WebCore::DOMConstructorObject::createStructure):
2734 (WebCore::DOMConstructorObject::DOMConstructorObject):
2735 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
2736 * bindings/js/JSDOMGlobalObject.cpp:
2737 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2738 (WebCore::JSDOMGlobalObject::markChildren):
2739 * bindings/js/JSDOMGlobalObject.h:
2740 (WebCore::JSDOMGlobalObject::createStructure):
2741 * bindings/js/JSDOMWindowBase.cpp:
2742 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2743 * bindings/js/JSDOMWindowBase.h:
2744 (WebCore::JSDOMWindowBase::createStructure):
2745 * bindings/js/JSDOMWindowShell.cpp:
2746 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2747 (WebCore::JSDOMWindowShell::setWindow):
2748 * bindings/js/JSDOMWindowShell.h:
2749 (WebCore::JSDOMWindowShell::createStructure):
2750 * bindings/js/JSDOMWrapper.h:
2751 (WebCore::DOMObject::DOMObject):
2752 * bindings/js/JSEventListener.cpp:
2753 (WebCore::JSEventListener::JSEventListener):
2754 * bindings/js/JSImageConstructor.h:
2755 (WebCore::JSImageConstructor::createStructure):
2756 * bindings/js/JSImageDataCustom.cpp:
2758 * bindings/js/JSOptionConstructor.h:
2759 (WebCore::JSOptionConstructor::createStructure):
2760 * bindings/js/JSWorkerContextBase.cpp:
2761 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2762 * bindings/js/JSWorkerContextBase.h:
2763 (WebCore::JSWorkerContextBase::createStructure):
2764 * bindings/js/ScriptCachedFrameData.h:
2765 * bindings/js/SerializedScriptValue.h:
2766 * bindings/js/WorkerScriptController.cpp:
2767 (WebCore::WorkerScriptController::~WorkerScriptController):
2768 (WebCore::WorkerScriptController::initScript):
2769 * bindings/scripts/CodeGeneratorJS.pm:
2770 * bridge/c/CRuntimeObject.h:
2771 (JSC::Bindings::CRuntimeObject::createStructure):
2772 * bridge/c/c_instance.cpp:
2773 (JSC::Bindings::CRuntimeMethod::createStructure):
2774 * bridge/jni/jsc/JavaInstanceJSC.cpp:
2775 (JavaRuntimeMethod::createStructure):
2776 * bridge/jni/jsc/JavaRuntimeObject.h:
2777 (JSC::Bindings::JavaRuntimeObject::createStructure):
2778 * bridge/objc/ObjCRuntimeObject.h:
2779 (JSC::Bindings::ObjCRuntimeObject::createStructure):
2780 * bridge/objc/objc_instance.mm:
2781 (ObjCRuntimeMethod::createStructure):
2782 * bridge/objc/objc_runtime.h:
2783 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2784 * bridge/qt/qt_instance.cpp:
2785 (JSC::Bindings::QtRuntimeObject::createStructure):
2786 * bridge/qt/qt_pixmapruntime.cpp:
2787 (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
2788 * bridge/qt/qt_runtime.h:
2789 (JSC::Bindings::QtRuntimeMethod::createStructure):
2790 * bridge/runtime_array.cpp:
2791 (JSC::RuntimeArray::RuntimeArray):
2792 * bridge/runtime_array.h:
2793 (JSC::RuntimeArray::createStructure):
2794 * bridge/runtime_method.cpp:
2795 (JSC::RuntimeMethod::RuntimeMethod):
2796 * bridge/runtime_method.h:
2797 (JSC::RuntimeMethod::createStructure):
2798 * bridge/runtime_object.cpp:
2799 (JSC::Bindings::RuntimeObject::RuntimeObject):
2800 * bridge/runtime_object.h:
2801 (JSC::Bindings::RuntimeObject::createStructure):
2802 * history/HistoryItem.h:
2804 2011-04-15 Jessie Berlin <jberlin@apple.com>
2806 Reviewed by Brian Weinstein.
2808 Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
2809 http://www.webkit.org/demos/calendar.
2810 https://bugs.webkit.org/show_bug.cgi?id=58698
2812 * platform/win/FileSystemWin.cpp:
2813 (WebCore::openFile):
2814 Add breaks to the case statement.
2815 (WebCore::directoryName):
2816 Remove any trailing slash in directoryName. After closer inspection of all callers, it
2817 appears the that callers do not need the trailing slash, and those that use the length do
2818 so only to change the direction of the slashes throughout the length of the path.
2820 2011-04-15 Roland Steiner <rolandsteiner@chromium.org>
2822 Reviewed by Dimitri Glazkov.
2824 Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
2825 https://bugs.webkit.org/show_bug.cgi?id=52963
2827 .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
2828 .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
2829 .) Merged setTreeScope() with setTreeScopeRecursively()
2830 .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
2832 No new tests. (refactoring)
2834 * dom/ContainerNode.cpp:
2835 (WebCore::ContainerNode::takeAllChildrenFrom):
2836 (WebCore::ContainerNode::removeBetween):
2837 (WebCore::ContainerNode::removeChildren):
2838 (WebCore::ContainerNode::parserAddChild):
2840 (WebCore::Document::Document):
2841 (WebCore::Document::~Document):
2842 (WebCore::Document::setDocType):
2845 (WebCore::Node::treeScope):
2846 (WebCore::Node::setTreeScopeRecursively):
2848 (WebCore::Node::document):
2849 * dom/ShadowRoot.cpp:
2850 (WebCore::ShadowRoot::ShadowRoot):
2851 (WebCore::ShadowRoot::~ShadowRoot):
2852 (WebCore::ShadowRoot::nodeType):
2853 (WebCore::ShadowRoot::cloneNode):
2854 (WebCore::ShadowRoot::childTypeAllowed):
2856 (WebCore::toShadowRoot):
2857 * dom/TreeScope.cpp:
2858 (WebCore::TreeScope::TreeScope):
2859 (WebCore::TreeScope::setParentTreeScope):
2861 * rendering/RenderSlider.cpp:
2863 2011-04-15 Geoffrey Garen <ggaren@apple.com>
2865 Reviewed by Oliver Hunt.
2867 DOM object handles are never removed from cache
2868 https://bugs.webkit.org/show_bug.cgi?id=58707
2870 We were trying to remove hash table items by value instead of by key.
2872 * bindings/js/DOMWrapperWorld.cpp:
2873 (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
2874 DOMObjectHandleOwner::finalize because I'm going to merge them.
2876 (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
2877 by key, not value. (Oops!) Use a helper function to make sure we get
2880 * bindings/js/JSDOMBinding.cpp:
2881 (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
2882 handle context, so we can use it at destruction time.
2884 * bindings/js/JSDOMBinding.h: Removed unnecessary include.
2886 * bindings/js/JSNodeCustom.h:
2887 (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
2888 handle context, so we can use it at destruction time.
2890 * bindings/js/ScriptWrappable.h:
2891 (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
2894 2011-04-15 Kenneth Russell <kbr@google.com>
2896 Unreviewed. Chromium Linux Release build fix due to unused variables.
2898 * platform/audio/mkl/FFTFrameMKL.cpp:
2899 (WebCore::FFTFrame::doFFT):
2900 (WebCore::FFTFrame::doInverseFFT):
2901 (WebCore::FFTFrame::cleanup):
2903 2011-04-15 Brent Fulgham <bfulgham@webkit.org>
2905 Unreviewed build change after r83945.
2907 New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
2909 * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
2910 build. Exclude for standard Apple build.
2912 2011-04-15 Anders Carlsson <andersca@apple.com>
2914 Reviewed by Dan Bernstein.
2916 Fade the find page overlay
2917 https://bugs.webkit.org/show_bug.cgi?id=58697
2919 Add a symbol that WebKit2 needs.
2923 2011-04-15 MORITA Hajime <morrita@google.com>
2925 Reviewed by Dimitri Glazkov.
2927 RenderDetailsMarker should belong to shadow element.
2928 https://bugs.webkit.org/show_bug.cgi?id=58591
2930 - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
2931 - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
2932 Note that marker size is given via style for -webkit-details-marker pseudo class.
2933 - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
2934 Now RenderDetails knows nothing about default summary.
2935 - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of
2936 <summary>, and the clickable area is now <summary> itself.
2938 - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
2942 * GNUmakefile.list.am:
2945 * WebCore.vcproj/WebCore.vcproj:
2946 * WebCore.xcodeproj/project.pbxproj:
2948 (summary::-webkit-details-marker):
2950 (WebCore::Element::attach):
2952 (WebCore::shouldCreateRendererFor):
2954 (WebCore::Node::canHaveLightChildRendererWithShadow):
2955 * html/HTMLDetailsElement.cpp:
2956 (WebCore::HTMLDetailsElement::findSummaryFor):
2957 (WebCore::HTMLDetailsElement::findMainSummary):
2958 (WebCore::HTMLDetailsElement::refreshMainSummary):
2959 (WebCore::HTMLDetailsElement::createShadowSubtree):
2960 (WebCore::HTMLDetailsElement::childrenChanged):
2961 (WebCore::HTMLDetailsElement::finishParsingChildren):
2962 (WebCore::HTMLDetailsElement::toggleOpen):
2963 * html/HTMLDetailsElement.h:
2964 (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
2965 * html/HTMLSummaryElement.cpp:
2966 (WebCore::HTMLSummaryElement::create):
2967 (WebCore::HTMLSummaryElement::createShadowSubtree):
2968 (WebCore::HTMLSummaryElement::detailsElement):
2969 (WebCore::HTMLSummaryElement::isMainSummary):
2970 (WebCore::HTMLSummaryElement::defaultEventHandler):
2971 * html/HTMLSummaryElement.h:
2972 (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
2973 * html/shadow/DetailsMarkerControl.cpp: Added.
2974 (WebCore::DetailsMarkerControl::DetailsMarkerControl):
2975 (WebCore::DetailsMarkerControl::createRenderer):
2976 (WebCore::DetailsMarkerControl::rendererIsNeeded):
2977 (WebCore::DetailsMarkerControl::shadowPseudoId):
2978 (WebCore::DetailsMarkerControl::summaryElement):
2979 * html/shadow/DetailsMarkerControl.h: Added.
2980 (WebCore::DetailsMarkerControl::create):
2981 * rendering/RenderDetails.cpp:
2982 (WebCore::RenderDetails::RenderDetails):
2983 (WebCore::RenderDetails::styleDidChange):
2984 (WebCore::RenderDetails::moveSummaryToContents):
2985 (WebCore::RenderDetails::checkMainSummary):
2986 (WebCore::RenderDetails::layout):
2987 * rendering/RenderDetails.h:
2988 * rendering/RenderDetailsMarker.cpp:
2989 (WebCore::RenderDetailsMarker::RenderDetailsMarker):
2990 (WebCore::RenderDetailsMarker::isOpen):
2991 (WebCore::RenderDetailsMarker::getPath):
2992 (WebCore::RenderDetailsMarker::paint):
2993 (WebCore::RenderDetailsMarker::details):
2994 * rendering/RenderDetailsMarker.h:
2996 2011-04-15 Sam Weinig <sam@webkit.org>
2998 Reviewed by Adam Roben.
3000 Implement localize strings for windows WebKit2
3001 https://bugs.webkit.org/show_bug.cgi?id=58688
3003 * platform/win/LocalizedStringsWin.cpp:
3004 (WebCore::createWebKitBundle):
3005 (WebCore::webKitBundle):
3006 (WebCore::localizedString):
3007 Add implementation of localizedString for Windows.
3009 2011-04-15 Geoffrey Garen <ggaren@apple.com>
3011 Reviewed by Oliver Hunt.
3013 Some mechanical DOM wrapper cleanup
3014 https://bugs.webkit.org/show_bug.cgi?id=58689
3016 * WebCore.exp.in: Export!
3018 * bindings/js/DOMWrapperWorld.cpp:
3019 (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
3020 relationship of the special cases to the normal case clearer.
3022 * bindings/js/JSArrayBufferViewHelper.h:
3023 (WebCore::toJSArrayBufferView):
3024 * bindings/js/JSCSSRuleCustom.cpp:
3026 * bindings/js/JSCSSValueCustom.cpp:
3028 * bindings/js/JSDOMBinding.cpp:
3029 (WebCore::getCachedDOMObjectWrapper):
3030 (WebCore::cacheDOMObjectWrapper):
3031 * bindings/js/JSDOMBinding.h:
3032 (WebCore::createDOMObjectWrapper):
3033 (WebCore::getDOMObjectWrapper):
3034 (WebCore::createDOMNodeWrapper):
3035 (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
3036 in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
3037 and ever-so-slightly faster.
3039 Removed hasCachedXXX functions, now that they're unused.
3041 * bindings/js/JSDOMWindowCustom.cpp:
3042 (WebCore::JSDOMWindow::history):
3043 (WebCore::JSDOMWindow::location):
3044 * bindings/js/JSDocumentCustom.cpp:
3045 (WebCore::JSDocument::location):
3047 * bindings/js/JSElementCustom.cpp:
3048 (WebCore::toJSNewlyCreated):
3049 * bindings/js/JSEventCustom.cpp:
3051 * bindings/js/JSHTMLCollectionCustom.cpp:
3053 * bindings/js/JSImageDataCustom.cpp:
3055 * bindings/js/JSNodeCustom.cpp:
3056 (WebCore::createWrapperInline):
3057 * bindings/js/JSNodeCustom.h:
3058 (WebCore::getCachedDOMNodeWrapper):
3059 (WebCore::cacheDOMNodeWrapper):
3061 * bindings/js/JSSVGPathSegCustom.cpp:
3063 * bindings/js/JSStyleSheetCustom.cpp:
3064 (WebCore::toJS): Updated for changes above.
3066 * xml/XMLHttpRequest.cpp:
3067 (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
3068 because XHR is almost always created and used by JavaScript, so it's
3069 simpler to just always report extra cost.
3071 2011-04-15 Andreas Kling <kling@webkit.org>
3073 Rolling out accidental part of r84010.
3075 * platform/qt/RenderThemeQt.cpp:
3076 (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3077 (WebCore::RenderThemeQt::setButtonPadding):
3079 2011-04-15 Oliver Hunt <oliver@apple.com>
3081 Forgot windows build fix.
3083 * bindings/js/JSNodeFilterCondition.cpp:
3084 (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
3086 2011-04-15 Joseph Pecoraro <joepeck@webkit.org>
3088 Reviewed by Yury Semikhatsky.
3090 Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
3091 https://bugs.webkit.org/show_bug.cgi?id=51364
3093 The front end should not use a transparent background when
3094 loaded as a web page (remote debugging) but should when loaded
3095 regularly in a custom window. This adds a "remote" style class
3096 onto the document body when the page is loaded remotely.
3098 * inspector/front-end/inspector.css:
3099 (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
3100 * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
3102 2011-04-15 Joseph Pecoraro <joepeck@webkit.org>
3104 Reviewed by David Kilzer.
3106 JSLock ASSERT seen often when using the inspector for long
3107 periods of time. We should take the JSLock whenever we
3108 might allocate memory in the JavaScript Heap.
3110 JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
3111 https://bugs.webkit.org/show_bug.cgi?id=58674
3113 * bindings/js/JSInjectedScriptHostCustom.cpp:
3114 (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
3116 2011-04-14 Oliver Hunt <oliver@apple.com>
3118 Reviewed by Geoffrey Garen.
3120 Make JSNodeFilterCondition handle its lifetime correctly
3121 https://bugs.webkit.org/show_bug.cgi?id=58622
3123 Switch over to a WeakHandle and external roots to keep the
3124 condition value live.
3126 * bindings/js/JSNodeFilterCondition.cpp:
3127 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
3128 (WebCore::JSNodeFilterCondition::markAggregate):
3129 (WebCore::JSNodeFilterCondition::acceptNode):
3130 (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
3131 * bindings/js/JSNodeFilterCondition.h:
3132 (WebCore::JSNodeFilterCondition::create):
3133 * bindings/js/JSNodeFilterCustom.cpp:
3134 (WebCore::toNodeFilter):
3135 * bindings/scripts/CodeGeneratorJS.pm:
3137 2011-04-13 Luiz Agostini <luiz.agostini@openbossa.org>
3139 Reviewed by Andreas Kling.
3141 [Qt] QNetworkReplyHandler refactoring: some adjustments
3142 https://bugs.webkit.org/show_bug.cgi?id=57092
3144 - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
3145 - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
3146 signal metaDataChanged for m_responseContainsData to be consistent.
3147 - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
3149 * platform/network/qt/QNetworkReplyHandler.cpp:
3150 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
3151 (WebCore::QNetworkReplyWrapper::receiveMetaData):
3152 (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
3153 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3154 (WebCore::QNetworkReplyHandler::release):
3155 (WebCore::shouldIgnoreHttpError):
3156 (WebCore::QNetworkReplyHandler::finish):
3157 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3158 (WebCore::QNetworkReplyHandler::redirect):
3159 (WebCore::QNetworkReplyHandler::forwardData):
3160 * platform/network/qt/QNetworkReplyHandler.h:
3161 (WebCore::QNetworkReplyWrapper::responseContainsData):
3162 (WebCore::QNetworkReplyWrapper::redirected):
3164 2011-04-15 Alexey Proskuryakov <ap@apple.com>
3168 * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
3170 2011-04-15 Mike Reed <reed@google.com>
3172 Reviewed by Darin Fisher.
3174 hide unused static function when SKIA_GPU is enabled
3175 https://bugs.webkit.org/show_bug.cgi?id=58670
3177 No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
3179 * platform/graphics/skia/ImageSkia.cpp:
3181 2011-04-15 Simon Fraser <simon.fraser@apple.com>
3183 Reviewed by Beth Dakin.
3185 Some borders with border-radius do not have rounded inner edges
3186 https://bugs.webkit.org/show_bug.cgi?id=58457
3188 Improve the logic used to compute the inner radii on curved
3189 borders, to maintain borders of even thickness around the curve.
3191 Tests: fast/borders/mixed-border-styles-radius.html
3192 fast/borders/mixed-border-styles.html
3194 * rendering/RenderBoxModelObject.h:
3195 * rendering/RenderBoxModelObject.cpp:
3196 (WebCore::RenderBoxModelObject::computeBorderOuterRect):
3197 (WebCore::RenderBoxModelObject::computeBorderInnerRect):
3198 Two new utility functions to share some code that was in both paintBorder()
3199 and paintBoxShaadow().
3200 getRoundedInnerBorderWithBorderWidths() now takes the outer border box
3201 as well as the inner box.
3203 (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
3204 (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
3206 * rendering/RenderObject.cpp:
3207 (WebCore::RenderObject::drawBoxSideFromPath):
3208 getRoundedInnerBorderWithBorderWidths() now takes the outer border box
3209 as well as the inner box.
3211 * rendering/style/RenderStyle.cpp:
3212 (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
3213 * rendering/style/RenderStyle.h:
3214 Compute the inner radii by starting with teh radii used for the
3215 outer box, and then shrinking them down based on the border thickness.
3217 2011-04-14 Alexey Proskuryakov <ap@apple.com>
3219 Reviewed by Dan Bernstein.
3221 WebKit2: Password field input does not switch to ASCII-compatible source
3222 https://bugs.webkit.org/show_bug.cgi?id=58583
3223 <rdar://problem/9059651>
3225 * platform/SecureTextInput.cpp:
3226 (WebCore::enableSecureTextInput):
3227 (WebCore::disableSecureTextInput):
3228 This is now only used by Chromium. There is no need to change TSMDocument properties in
3229 renderer process (and really, all secure text input logic in WebCore should be eliminated).
3231 2011-04-13 Xiaomei Ji <xji@chromium.org>
3233 Reviewed by Ryosuke Niwa.
3235 Continue (3rd) experiment with moving caret by word in visual order.
3236 https://bugs.webkit.org/show_bug.cgi?id=58294
3238 This patch along with r82588 and r83483 implements moving caret by
3239 word in visual order.
3241 The overall algorithm is:
3242 1. First get the InlineBox and offset of the pass-in VisiblePosition.
3243 2. Based on the position (left boundary, middle, right boundary) of the offset and the
3244 direction of the movement, look for visually adjacent word breaks.
3245 2.1 If the offset is the minimum offset of the box,
3246 return the rightmost word boundary in previous boxes if moving left.
3247 return the leftmost word boundary in box and next boxes if moving right.
3248 2.2 Similar for the case when offset is at the maximum offset of the box.
3249 2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
3250 or nextWordPosition based on the directionality of the box. If this word break position
3251 is also inside the same box, return it. Otherwise (the nextWordPosition or
3252 previousWordPosition is not in the same box or is at the box boundary), collect all the
3253 word breaks in the box and search for the one closest to the input "offset" based on
3254 box directionality, block directionality, and movement direction. Continue search in
3255 adjacent boxes if needed.
3258 1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
3259 the input position (in the moving direction) is not available in current box, word
3260 boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
3261 word boundaries. Instead, the word boundaries are saved as a pair
3262 (VisiblePosition, offset) to avoid recomputing VisiblePosition.
3264 2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
3265 and right boundary of a word in RTL block). And word boundaries are collected using
3266 previousWordPosition() and nextWordPosition(). So when box directionality is the same as
3267 block directionality, word boundaries are collected from right to left visually in a LTR
3268 box, and word boundaries are collected from left to right visually in a RTL box. It is
3269 the other way around when box directionality is different from block directionality.
3271 3. To find the right kinds of word boundaries, we must move back and forth between words
3272 in some situations. For example, if we're moving to the right in a LTR box in LTR block,
3273 we cannot simply return nextWordPosition() because it would return the right boundary
3274 of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
3276 4. When collecting word breaks inside a box, it first computes a start position, then
3277 collect the right kind of word breaks until it reaches the end of (or beyond) the box.
3278 In the meanwhile, it might need special handling on the rightmost or leftmost position
3279 based on the directionality of the box and block. These computations do not consider the
3282 * editing/visible_units.cpp:
3283 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
3284 (WebCore::collectWordBreaksInBox):
3285 (WebCore::previousWordBoundaryInBox):
3286 (WebCore::nextWordBoundaryInBox):
3287 (WebCore::visuallyLastWordBoundaryInBox):
3288 (WebCore::leftWordBoundary):
3289 (WebCore::rightWordBoundary):
3290 (WebCore::leftWordPosition):
3291 (WebCore::rightWordPosition):
3293 2011-04-14 Zhenyao Mo <zmo@google.com>
3295 Reviewed by Kenneth Russell.
3297 Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
3298 https://bugs.webkit.org/show_bug.cgi?id=58501
3300 * html/canvas/WebGLRenderingContext.cpp:
3301 (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
3302 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
3303 (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
3304 * html/canvas/WebGLRenderingContext.h:
3306 2011-04-07 MORITA Hajime <morrita@google.com>
3308 Reviewed by Ryosuke Niwa.
3310 DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
3311 https://bugs.webkit.org/show_bug.cgi?id=58112
3313 - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
3314 - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
3315 - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
3316 which should allow a combination of MarkerType constansts.
3317 - Removed some MarkerType arguments on DocumentMarkerController API
3318 which only received AllMarkers.
3320 No new tests, no behavior change.
3323 * dom/DocumentMarker.h:
3324 (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
3325 (WebCore::DocumentMarker::MarkerTypes::contains):
3326 (WebCore::DocumentMarker::MarkerTypes::intersects):
3327 (WebCore::DocumentMarker::MarkerTypes::operator==):
3328 (WebCore::DocumentMarker::MarkerTypes::add):
3329 (WebCore::DocumentMarker::MarkerTypes::remove):
3330 (WebCore::DocumentMarker::AllMarkers::AllMarkers):
3331 * dom/DocumentMarkerController.cpp:
3332 (WebCore::DocumentMarkerController::possiblyHasMarkers):
3333 (WebCore::DocumentMarkerController::addMarker):
3334 (WebCore::DocumentMarkerController::copyMarkers):
3335 (WebCore::DocumentMarkerController::removeMarkers):
3336 (WebCore::DocumentMarkerController::markerContainingPoint):
3337 (WebCore::DocumentMarkerController::markersInRange):
3338 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3339 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
3340 (WebCore::DocumentMarkerController::repaintMarkers):
3341 (WebCore::DocumentMarkerController::shiftMarkers):
3342 (WebCore::DocumentMarkerController::setMarkersActive):
3343 (WebCore::DocumentMarkerController::hasMarkers):
3344 (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3345 * dom/DocumentMarkerController.h:
3347 2011-04-14 Geoffrey Garen <ggaren@apple.com>
3349 Reviewed by Oliver Hunt.
3351 Complicated hash table is complicated
3352 https://bugs.webkit.org/show_bug.cgi?id=58631
3354 Now that we use the opaque roots system to track node wrapper lifetime,
3355 we can remove a lot of complicated hash-tablery that used to do the same.
3357 Now normal world node wrappers are just set as direct properties of
3358 ScriptWrappable, while isolated world node wrappers and other DOM object
3359 wrappers are stored in a shared, per-world hash table.
3361 In addition to reducing complexity, this makes DOM wrapper allocation
3362 1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
3363 footprint of normal world wrappers by ~2/3, and isolated world wrappers
3366 * WebCore.exp.in: Paying the patch tithe.
3368 * bindings/js/DOMWrapperWorld.cpp:
3369 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3370 (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
3372 (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
3373 so the code to destroy a wrapper can live next to the code to create one.
3375 * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
3377 * bindings/js/JSDOMBinding.cpp:
3378 (WebCore::uncacheDOMObjectWrapper):
3379 * bindings/js/JSDOMBinding.h:
3380 (WebCore::createDOMNodeWrapper):
3381 (WebCore::getDOMNodeWrapper): No more per-document hash tables.
3382 Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
3384 * bindings/js/JSDocumentCustom.cpp:
3386 * bindings/js/JSElementCustom.cpp:
3387 (WebCore::toJSNewlyCreated):
3388 * bindings/js/JSNodeCustom.cpp:
3389 (WebCore::createWrapperInline): Ditto.
3391 * bindings/js/JSNodeCustom.h:
3392 (WebCore::getCachedDOMNodeWrapper):
3393 (WebCore::cacheDOMNodeWrapper):
3394 (WebCore::uncacheDOMNodeWrapper):
3395 (WebCore::toJS): Implemented the scheme described above.
3397 * bindings/js/ScriptWrappable.h:
3398 (WebCore::ScriptWrappable::wrapper):
3399 (WebCore::ScriptWrappable::setWrapper):
3400 (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
3401 owner now, since we don't have an extra handle living in a hash table
3402 to maintain ownership for us.
3405 (WebCore::Document::Document):
3406 (WebCore::Document::~Document):
3409 (WebCore::Node::setDocument): No more per-document hash tables.
3411 * html/HTMLCanvasElement.cpp:
3412 (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
3413 hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
3414 things, and I was in the mood for getting rid of the old way. It's
3415 debatable whether the check was ever a good idea. Even when a <canvas>
3416 doesn't have a direct JS wrapper, other JS references can still keep
3417 the <canvas> alive. So, it's probably best always to report extra cost.
3419 2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
3421 Reviewed by Pavel Feldman.
3423 Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
3424 https://bugs.webkit.org/show_bug.cgi?id=58650
3426 * inspector/Inspector.json:
3427 * inspector/InspectorResourceAgent.cpp:
3428 (WebCore::buildObjectForResourceResponse):
3429 * inspector/front-end/NetworkManager.js:
3430 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
3431 * inspector/front-end/Resource.js:
3432 (WebInspector.Resource.prototype.get requestHeadersText):
3433 (WebInspector.Resource.prototype.set requestHeadersText):
3434 (WebInspector.Resource.prototype.get requestHeadersSize):
3435 (WebInspector.Resource.prototype.get responseHeadersText):
3436 (WebInspector.Resource.prototype.set responseHeadersText):
3437 (WebInspector.Resource.prototype.get responseHeadersSize):
3438 (WebInspector.Resource.prototype._headersSize):
3439 * inspector/front-end/ResourceHeadersView.js:
3440 (WebInspector.ResourceHeadersView):
3441 (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
3442 (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
3443 (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
3444 (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
3445 (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
3446 (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
3447 (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
3448 * inspector/front-end/networkPanel.css:
3449 (.resource-headers-view .outline-disclosure li.headers-text):
3450 * platform/network/ResourceLoadInfo.h:
3452 2011-04-15 Luke Macpherson <macpherson@chromium.org>
3454 Reviewed by Dimitri Glazkov.
3456 Implement css overflow properties in CSSStyleApplyProperty
3457 https://bugs.webkit.org/show_bug.cgi?id=58633
3459 No new tests required as no functionality changes.
3461 * css/CSSStyleApplyProperty.cpp:
3462 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3463 Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
3464 * css/CSSStyleSelector.cpp:
3465 (WebCore::CSSStyleSelector::applyProperty):
3466 Delete existing implementations.
3468 2011-04-15 Sam Weinig <sam@webkit.org>
3470 Reviewed by Maciej Stachowiak.
3472 Make mac WebKit1 use the default localization strategy
3473 https://bugs.webkit.org/show_bug.cgi?id=58628
3475 * English.lproj/Localizable.strings:
3476 Update by running update-webkit-localizable-strings.
3478 * platform/DefaultLocalizationStrategy.cpp:
3479 (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
3480 (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
3481 (WebCore::DefaultLocalizationStrategy::imageTitle):
3482 Match the WebKit1 versions of these functions by special casing CF platforms.
3484 2011-04-15 Vsevolod Vlasov <vsevik@chromium.org>
3486 Reviewed by Pavel Feldman.
3488 Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
3489 https://bugs.webkit.org/show_bug.cgi?id=58136
3491 Passed response info to inspector when X-Frame-Options header blocks resource loading.
3493 Test: http/tests/inspector/network/x-frame-options-deny.html
3495 * inspector/InspectorInstrumentation.cpp:
3496 (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
3497 * inspector/InspectorInstrumentation.h:
3498 (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
3499 * loader/MainResourceLoader.cpp:
3500 (WebCore::MainResourceLoader::didReceiveResponse):
3502 2011-04-15 Andrey Adaikin <aandrey@google.com>
3504 Reviewed by Pavel Feldman.
3506 Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
3507 https://bugs.webkit.org/show_bug.cgi?id=58449
3509 Test: inspector/editor/text-editor-model.html
3511 * inspector/front-end/TextEditorModel.js:
3512 (WebInspector.TextEditorModel):
3513 (WebInspector.TextEditorModel.prototype.get text):
3514 (WebInspector.TextEditorModel.prototype.setText):
3515 (WebInspector.TextEditorModel.prototype._innerSetText):
3516 (WebInspector.TextEditorModel.prototype.copyRange):
3518 2011-04-15 Sergey Vorobyev <sergeyvorobyev@google.com>
3520 Reviewed by Yury Semikhatsky.
3522 Web Inspector: Network events don't preserves,
3523 when inspector frontend closed and open again
3524 https://bugs.webkit.org/show_bug.cgi?id=58064
3526 Added InspectorFrontendProxy and EventsCollector.
3527 They allow captured messages from InspectorResourceAgent
3528 to frontend (or mockFrontend if frontend disabled) and
3529 push collected data when frontend reconnect.
3530 This functionality is disabled by default.
3533 * GNUmakefile.list.am:
3536 * WebCore.vcproj/WebCore.vcproj:
3537 * WebCore.xcodeproj/project.pbxproj:
3538 * inspector/EventsCollector.cpp: Added.
3539 (WebCore::EventsCollector::EventsCollector):
3540 (WebCore::EventsCollector::addEvent):
3541 (WebCore::EventsCollector::sendCollectedEvents):
3542 * inspector/EventsCollector.h: Added.
3543 (WebCore::EventsCollector::~EventsCollector):
3544 * inspector/Inspector.json:
3545 * inspector/InspectorFrontendProxy.cpp: Added.
3546 (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
3547 (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
3548 (WebCore::InspectorFrontendProxy::setEventsCollector):
3549 (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
3550 * inspector/InspectorFrontendProxy.h: Added.
3551 (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
3552 * inspector/InspectorInstrumentation.cpp:
3553 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3554 (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3555 * inspector/InspectorInstrumentation.h:
3556 (WebCore::InspectorInstrumentation::willSendRequest):
3557 (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3558 (WebCore::InspectorInstrumentation::didReceiveContentLength):
3559 (WebCore::InspectorInstrumentation::didFinishLoading):
3560 (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3561 (WebCore::InspectorInstrumentation::loadEventFired):
3562 (WebCore::InspectorInstrumentation::frameDetachedFromParent):
3563 (WebCore::InspectorInstrumentation::didCreateWebSocket):
3564 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
3565 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
3566 (WebCore::InspectorInstrumentation::didCloseWebSocket):
3567 * inspector/InspectorResourceAgent.cpp:
3568 (WebCore::InspectorResourceAgent::setFrontend):
3569 (WebCore::InspectorResourceAgent::resourceContent):
3570 (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3571 (WebCore::InspectorResourceAgent::didReceiveResponse):
3572 (WebCore::InspectorResourceAgent::domContentEventFired):
3573 (WebCore::InspectorResourceAgent::loadEventFired):
3574 (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
3575 (WebCore::InspectorResourceAgent::enable):
3576 (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3577 * inspector/InspectorResourceAgent.h:
3578 * inspector/front-end/NetworkManager.js:
3579 (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
3580 (WebInspector.NetworkDispatcher.prototype.loadEventFired):
3581 * inspector/front-end/inspector.js:
3582 (WebInspector.domContentEventFired):
3583 (WebInspector.loadEventFired):
3585 2011-04-15 Alexis Menard <alexis.menard@openbossa.org>
3587 Reviewed by Dimitri Glazkov.
3589 REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
3590 https://bugs.webkit.org/show_bug.cgi?id=58477
3592 Since r83397 the media controls elements are actual DOM elements.
3593 Therefore the global style-sheet applies to them. html.css defines
3594 input[type="button"]:active to be border-style: inset which means
3595 that when the buttons are active they grow by their border size. Therefore
3596 ports which are not using the borders must explicitly disable them in their custom
3599 * css/mediaControlsQt.css:
3600 (audio::-webkit-media-controls-mute-button):
3601 (video::-webkit-media-controls-mute-button):
3602 (audio::-webkit-media-controls-play-button):
3603 (video::-webkit-media-controls-play-button):
3604 (video::-webkit-media-controls-fullscreen-button):
3605 * css/mediaControlsQuickTime.css:
3606 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3607 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3608 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3609 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3610 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
3611 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3612 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3613 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3614 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
3616 2011-04-15 Zelidrag Hornung <zelidrag@chromium.org>
3618 Reviewed by Darin Fisher.
3620 Added enums for external file system type.
3621 https://bugs.webkit.org/show_bug.cgi?id=58456
3623 * fileapi/DOMFileSystemBase.cpp:
3624 (WebCore::DOMFileSystemBase::crackFileSystemURL):
3625 * fileapi/DOMFileSystemBase.h:
3626 * fileapi/EntryBase.cpp:
3627 (WebCore::EntryBase::toURL):
3628 * page/DOMWindow.cpp:
3629 (WebCore::DOMWindow::requestFileSystem):
3631 * platform/AsyncFileSystem.h:
3632 * workers/WorkerContext.cpp:
3633 (WebCore::WorkerContext::requestFileSystem):
3634 (WebCore::WorkerContext::requestFileSystemSync):
3635 * workers/WorkerContext.h:
3637 2011-04-15 Pavel Feldman <pfeldman@google.com>
3639 Reviewed by Yury Semikhatsky.
3641 Web Inspector: make resource revisions use dedicated type (not Resource clone).
3642 https://bugs.webkit.org/show_bug.cgi?id=58659
3644 * inspector/front-end/CSSStyleModel.js:
3645 (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3646 * inspector/front-end/Resource.js:
3647 (WebInspector.Resource.prototype.addRevision):
3648 (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
3649 (WebInspector.Resource.prototype._innerRequestContent):
3650 (WebInspector.ResourceRevision):
3651 (WebInspector.ResourceRevision.prototype.get resource):
3652 (WebInspector.ResourceRevision.prototype.get timestamp):
3653 (WebInspector.ResourceRevision.prototype.get content):
3654 (WebInspector.ResourceRevision.prototype.revertToThis):
3655 (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
3656 (WebInspector.ResourceRevision.prototype.requestContent):
3657 * inspector/front-end/ResourceView.js:
3658 (WebInspector.ResourceView.resourceViewTypeMatchesResource):
3659 (WebInspector.ResourceView.resourceViewForResource):
3660 (WebInspector.ResourceView.recreateResourceView):
3661 (WebInspector.ResourceView.existingResourceViewForResource):
3662 (WebInspector.RevisionSourceFrame):
3663 (WebInspector.RevisionSourceFrame.prototype.get resource):
3664 (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
3665 (WebInspector.RevisionSourceFrame.prototype.requestContent):
3666 * inspector/front-end/ResourcesPanel.js:
3667 (WebInspector.ResourcesPanel.prototype._showResourceView):
3668 (WebInspector.ResourcesPanel.prototype._showRevisionView):
3669 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
3670 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
3671 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
3672 (WebInspector.ResourceRevisionTreeElement):
3673 (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
3674 (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
3675 (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3676 (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3677 * inspector/front-end/SourceFrame.js:
3678 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
3679 (WebInspector.SourceFrame.prototype.requestContent):
3680 (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
3681 (WebInspector.SourceFrame.prototype.commitEditing):
3683 2011-04-15 Alexander Pavlov <apavlov@chromium.org>
3685 Reviewed by Yury Semikhatsky.
3687 Web Inspector: Prevent Backspace keypresses from routing into the inspected page
3688 https://bugs.webkit.org/show_bug.cgi?id=58653
3690 * inspector/front-end/inspector.js:
3691 (WebInspector.documentKeyDown):
3693 2011-04-15 Alice Boxhall <aboxhall@chromium.org>
3695 Reviewed by Ryosuke Niwa.
3697 Text selection changes unexpectedly when dragging out of the <input>
3698 https://bugs.webkit.org/show_bug.cgi?id=55552
3700 Tests: editing/selection/select-out-of-editable.html
3701 editing/selection/select-out-of-floated-contenteditable.html
3702 editing/selection/select-out-of-floated-input.html
3703 editing/selection/select-out-of-floated-textarea.html
3705 * page/EventHandler.cpp:
3706 (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
3707 the endpoint is not outside the element. If it is, translate the point into a local point within
3708 the editable element.
3709 (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
3710 calculate the selection endpoint.
3712 2011-04-15 Adam Roben <aroben@apple.com>
3716 It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
3719 See <http://webkit.org/b/58610>.
3721 * bindings/js/JSDOMWindowCustom.cpp:
3722 (WebCore::JSDOMWindow::setTimeout):
3723 (WebCore::JSDOMWindow::setInterval):
3724 * bindings/js/JSWorkerContextCustom.cpp:
3725 (WebCore::JSWorkerContext::setTimeout):
3726 (WebCore::JSWorkerContext::setInterval):
3727 * bindings/js/ScheduledAction.cpp:
3728 (WebCore::ScheduledAction::create):
3729 * bindings/js/ScheduledAction.h:
3730 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3731 (WebCore::WindowSetTimeoutImpl):
3732 * page/ContentSecurityPolicy.cpp:
3733 * page/ContentSecurityPolicy.h:
3735 2011-04-15 Pavel Feldman <pfeldman@google.com>
3737 Reviewed by Yury Semikhatsky.
3739 Web Inspector: refactor resource setContent / revisions infrastructure to get
3740 rid of onRevert callback.
3741 https://bugs.webkit.org/show_bug.cgi?id=58649
3743 Instead, we will have DomainModel/Resource binding responsible for changing
3744 underlying model upon resource changes and vice versa.
3746 * inspector/Inspector.json:
3747 * inspector/InspectorCSSAgent.cpp:
3748 (WebCore::InspectorCSSAgent::getStyleSheet):
3749 (WebCore::InspectorCSSAgent::getStyleSheetText):
3750 (WebCore::InspectorCSSAgent::setStyleSheetText):
3751 (WebCore::InspectorCSSAgent::setPropertyText):
3752 (WebCore::InspectorCSSAgent::toggleProperty):
3753 (WebCore::InspectorCSSAgent::setRuleSelector):
3754 (WebCore::InspectorCSSAgent::assertStyleSheetForId):
3755 * inspector/InspectorCSSAgent.h:
3756 * inspector/front-end/CSSStyleModel.js:
3757 (WebInspector.CSSStyleModel):
3758 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3759 (WebInspector.CSSStyleModel.prototype.addRule):
3760 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
3761 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
3762 (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3763 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3764 (WebInspector.CSSProperty.prototype.setText):
3765 (WebInspector.CSSProperty.prototype.setText.callback):
3766 (WebInspector.CSSProperty.prototype.setDisabled.callback):
3767 (WebInspector.CSSProperty.prototype.setDisabled):
3768 (WebInspector.CSSStyleSheet.prototype.setText):
3769 (WebInspector.CSSStyleModelResourceBinding):
3770 (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
3771 (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
3772 (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
3773 (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
3774 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
3775 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
3776 * inspector/front-end/DebuggerPresentationModel.js:
3777 (WebInspector.DebuggerPresentationModel):
3778 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
3779 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
3780 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
3781 (WebInspector.DebuggerPresentationModelResourceBinding):
3782 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3783 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3784 * inspector/front-end/Object.js:
3785 (WebInspector.Object.prototype.hasEventListeners):
3786 * inspector/front-end/Resource.js:
3787 (WebInspector.Resource):
3788 (WebInspector.Resource.registerDomainModelBinding):
3789 (WebInspector.Resource.prototype.isEditable):
3790 (WebInspector.Resource.prototype.setContent):
3791 (WebInspector.Resource.prototype.addRevision):
3792 (WebInspector.Resource.prototype.revertToThis.callback):
3793 (WebInspector.Resource.prototype.revertToThis):
3794 (WebInspector.ResourceDomainModelBinding):
3795 (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
3796 (WebInspector.ResourceDomainModelBinding.prototype.setContent):
3797 * inspector/front-end/ResourceView.js:
3798 (WebInspector.ResourceView.createResourceView):
3799 (WebInspector.ResourceView.resourceViewTypeMatchesResource):
3800 (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
3801 (WebInspector.ResourceSourceFrame.prototype.editContent):
3802 (WebInspector.ResourceSourceFrame.prototype.endEditing):
3803 (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
3804 (WebInspector.ResourceSourceFrame.prototype._requestContent):
3805 * inspector/front-end/ResourcesPanel.js:
3806 (WebInspector.ResourcesPanel.prototype._resourceAdded):
3807 (WebInspector.FrameResourceTreeElement):
3808 (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
3809 (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
3810 (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
3811 * inspector/front-end/inspector.html:
3813 2011-04-15 Andrey Kosyakov <caseq@chromium.org>
3815 Unreviewed, rolling out r83949.
3816 http://trac.webkit.org/changeset/83949
3817 https://bugs.webkit.org/show_bug.cgi?id=57960
3819 broke 31 tests in chromium win & linux
3821 * platform/graphics/chromium/GLES2Canvas.cpp:
3822 (WebCore::GLES2Canvas::drawTexturedRect):
3823 * platform/graphics/chromium/GLES2Canvas.h:
3824 * platform/graphics/gpu/Texture.cpp:
3825 (WebCore::copySubRect):
3826 (WebCore::Texture::load):
3827 (WebCore::Texture::updateSubRect):
3828 * platform/graphics/gpu/Texture.h:
3829 * platform/graphics/skia/ImageBufferSkia.cpp:
3830 (WebCore::getImageData):
3831 (WebCore::putImageData):
3832 (WebCore::ImageBuffer::putUnmultipliedImageData):
3833 (WebCore::ImageBuffer::putPremultipliedImageData):
3835 2011-04-15 Ben Taylor <bentaylor.solx86@gmail.com>
3837 Reviewed by Alexey Proskuryakov.
3839 Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
3840 https://bugs.webkit.org/show_bug.cgi?id=58508
3842 Since extern "C" makes a different type (although most compilers ignore that),
3843 we should be more careful when passing NPAPI callback functions.
3845 * plugins/npapi.cpp:
3846 (NPN_PluginThreadAsyncCall):
3848 2011-04-15 Adam Barth <abarth@webkit.org>
3850 Reviewed by Eric Seidel.
3852 CSP should block string arguments to setTimeout and setInterval unless options eval-script
3853 https://bugs.webkit.org/show_bug.cgi?id=58610
3855 It's somewhat sadness that the JSC and V8 code for setTimeout and
3856 setInterval are so different. I struggled for a while with how to
3857 handle the worker case, but I decided to punt on it for now.
3859 Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
3860 http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
3861 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
3862 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
3864 * bindings/js/JSDOMWindowCustom.cpp:
3865 (WebCore::JSDOMWindow::setTimeout):
3866 (WebCore::JSDOMWindow::setInterval):
3867 * bindings/js/JSWorkerContextCustom.cpp:
3868 (WebCore::JSWorkerContext::setTimeout):
3869 (WebCore::JSWorkerContext::setInterval):
3870 * bindings/js/ScheduledAction.cpp:
3871 (WebCore::ScheduledAction::create):
3872 * bindings/js/ScheduledAction.h:
3873 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3874 (WebCore::WindowSetTimeoutImpl):
3875 * page/ContentSecurityPolicy.cpp:
3876 (WebCore::ContentSecurityPolicy::allowEval):
3877 * page/ContentSecurityPolicy.h:
3879 2011-04-15 Adam Barth <abarth@webkit.org>
3881 Reviewed by Eric Seidel.
3883 Add support for CSP's 'self' source
3884 https://bugs.webkit.org/show_bug.cgi?id=58604
3886 This change is now trivially easy.
3888 Test: http/tests/security/contentSecurityPolicy/script-src-self.html
3890 * page/ContentSecurityPolicy.cpp:
3891 (WebCore::CSPSourceList::addSourceSelf):
3893 2011-04-15 Anna Cavender <annacc@chromium.org>
3895 Reviewed by Eric Carlson.
3897 Renaming TRACK feature define to VIDEO_TRACK
3898 https://bugs.webkit.org/show_bug.cgi?id=53556
3900 No new tests. No new functionality.
3903 * Configurations/FeatureDefines.xcconfig:
3904 * DerivedSources.make:
3907 * html/HTMLTagNames.in:
3908 * html/HTMLTrackElement.cpp:
3909 * html/HTMLTrackElement.h:
3910 * html/HTMLTrackElement.idl:
3912 2011-04-14 Andrey Adaikin <aandrey@google.com>
3914 Reviewed by Pavel Feldman.
3916 Web Inspector: Ctrl+Left/Right switch panels during live editing
3917 https://bugs.webkit.org/show_bug.cgi?id=58521
3919 Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
3921 * inspector/front-end/SourceFrame.js:
3922 (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
3923 * inspector/front-end/TextViewer.js:
3924 (WebInspector.TextViewer.prototype.set readOnly):
3925 (WebInspector.TextViewer.prototype.get readOnly):
3926 (WebInspector.TextViewer.prototype._doubleClick):
3927 (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
3928 (WebInspector.TextViewer.prototype._commitEditing):
3929 (WebInspector.TextViewer.prototype._cancelEditing):
3930 (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
3931 (WebInspector.TextEditorMainPanel.prototype.set readOnly):
3932 * inspector/front-end/inspector.js:
3933 (WebInspector.markBeingEdited):
3934 (WebInspector.isEditingAnyField):
3935 (WebInspector.startEditing.cleanUpAfterEditing):
3937 2011-04-14 Vsevolod Vlasov <vsevik@chromium.org>
3939 Reviewed by Pavel Feldman.
3941 Web Inspector: Enable raw HTTP headers support
3942 https://bugs.webkit.org/show_bug.cgi?id=58259
3944 Added raw headers text support to inspector.
3946 * English.lproj/localizedStrings.js:
3947 * inspector/Inspector.json:
3948 * inspector/InspectorResourceAgent.cpp:
3949 (WebCore::buildObjectForResourceResponse):
3950 * inspector/front-end/NetworkManager.js:
3951 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
3952 * inspector/front-end/Resource.js:
3953 (WebInspector.Resource):
3954 (WebInspector.Resource.prototype.get transferSize):
3955 (WebInspector.Resource.prototype.set requestHeaders):
3956 (WebInspector.Resource.prototype.get rawRequestHeadersText):
3957 (WebInspector.Resource.prototype.set rawRequestHeadersText):
3958 (WebInspector.Resource.prototype.get requestHeadersSize):
3959 (WebInspector.Resource.prototype.set responseHeaders):
3960 (WebInspector.Resource.prototype.get rawResponseHeadersText):
3961 (WebInspector.Resource.prototype.set rawResponseHeadersText):
3962 (WebInspector.Resource.prototype.get responseHeadersSize):
3963 (WebInspector.Resource.prototype._headersSize):
3964 * inspector/front-end/ResourceHeadersView.js:
3965 (WebInspector.ResourceHeadersView):
3966 (WebInspector.ResourceHeadersView.prototype._refreshParms):
3967 (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
3968 (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
3969 (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
3970 (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
3971 (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
3972 (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
3973 (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
3974 (WebInspector.ResourceHeadersView.prototype._createToggleButton):
3975 (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
3976 * inspector/front-end/networkPanel.css:
3977 (.resource-headers-view .outline-disclosure li .header-toggle):
3978 (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
3979 (.resource-headers-view .outline-disclosure li .header-toggle:hover):
3980 (.resource-headers-view .outline-disclosure li.raw-headers-text):
3981 * platform/network/ResourceLoadInfo.h:
3983 2011-04-14 Justin Novosad <junov@chromium.org>
3985 Reviewed by Kenneth Russell.
3987 [Chromium] Accelerated 2D Canvas is slow to execute putImageData
3988 https://bugs.webkit.org/show_bug.cgi?id=57960
3990 * platform/graphics/chromium/GLES2Canvas.cpp:
3991 (WebCore::GLES2Canvas::drawTexturedRect):
3992 Added an option for using the blend ops for alpha multiplication
3993 instead of compositing.
3994 (WebCore::GLES2Canvas::applyClipping):
3995 (WebCore::GLES2Canvas::putImageData):
3996 New method for drawing raw pixel data from memory to the canvas
3997 (WebCore::GLES2Canvas::putUnmultipliedImageData):
3998 Wrapper for putImageData
3999 (WebCore::GLES2Canvas::putPremultipliedImageData):
4000 Wrapper for putImageData
4001 * platform/graphics/chromium/GLES2Canvas.h:
4002 * platform/graphics/gpu/Texture.cpp:
4003 (WebCore::copySubRect):
4004 (WebCore::Texture::load):
4005 (WebCore::Texture::updateSubRect):
4006 Added an overload of the updateSubRect method that can receive a pixel
4007 of a size that is different from texture size. Improved the performance
4008 of updateSubrect by avoiding the allocation of a temporary buffer when
4010 * platform/graphics/gpu/Texture.h:
4011 * platform/graphics/skia/ImageBufferSkia.cpp:
4012 (WebCore::getImageData):
4013 In the unmultiplied path, division by alpha now performs proper
4014 rounding in order to avoid generational degradation with putImageData
4015 (WebCore::putImageData):
4016 Alpha multiplication now performs proper rounding in order to be
4017 consistent with the hardware rendering path: OpenGL always rounds when
4018 converting to fixed point representation.
4019 (WebCore::ImageBuffer::putUnmultipliedImageData):
4020 Now supports a hardware rendering path, which eliminates the need
4021 for a readback from the GPU
4022 (WebCore::ImageBuffer::putPremultipliedImageData):
4023 Now supports a hardware rendering path, which eliminates the need
4024 for a readback from the GPU
4026 2011-04-14 Joone Hur <joone.hur@collabora.co.uk>
4028 Reviewed by Martin Robinson.
4030 Creating a CairoPath instance is not thread safe
4031 https://bugs.webkit.org/show_bug.cgi?id=58514
4033 This patch allows a cairo surface to be created just one time in order to
4034 guarantee thread safety.
4035 In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
4036 prevent confusing them with PathCairo.cpp
4038 * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
4039 * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
4040 * platform/graphics/cairo/CairoPath.h: Removed.
4041 * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
4042 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
4043 * platform/graphics/cairo/PathCairo.cpp: Ditto.
4044 * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
4045 (WebCore::getPathSurface): Getting a static cairo surface.
4046 (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
4048 * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
4049 (WebCore::CairoPath::~CairoPath):
4050 (WebCore::CairoPath::context):
4052 2011-04-14 Nat Duca <nduca@chromium.org>
4054 Reviewed by Darin Fisher.
4056 [chromium] Add lowpass filter and graph to fps indicator
4057 https://bugs.webkit.org/show_bug.cgi?id=58186
4059 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: