1 2011-05-09 Robin Dunn <robin@alldunn.com>
3 Reviewed by Kevin Ollivier.
5 [wx] Add invalid file handle check.
7 https://bugs.webkit.org/show_bug.cgi?id=60483
9 * platform/wx/FileSystemWx.cpp:
12 2011-05-09 Robin Dunn <robin@alldunn.com>
14 Reviewed by Kevin Ollivier.
16 [wx] Update the popup menu code to grab the native control and initialize the
17 event handler properly.
19 https://bugs.webkit.org/show_bug.cgi?id=60482
21 * platform/wx/PopupMenuWx.cpp:
22 (WebCore::PopupMenuWx::PopupMenuWx):
23 (WebCore::PopupMenuWx::~PopupMenuWx):
24 (WebCore::PopupMenuWx::show):
26 2011-05-09 Robin Dunn <robin@alldunn.com>
28 Reviewed by Kevin Ollivier.
30 [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
31 adjustment in 2.9.2+ where it is handled internally by wx.
33 Also add a couple drawing and focus handling fixes for text fields and menulist controls.
35 https://bugs.webkit.org/show_bug.cgi?id=60481
37 * platform/wx/RenderThemeWx.cpp:
38 (WebCore::getAdjustedRect):
39 (WebCore::RenderThemeWx::supportsFocus):
40 (WebCore::RenderThemeWx::paintButton):
41 (WebCore::RenderThemeWx::adjustTextFieldStyle):
42 (WebCore::RenderThemeWx::paintTextField):
43 (WebCore::RenderThemeWx::adjustMenuListStyle):
44 (WebCore::RenderThemeWx::paintMenuList):
45 (WebCore::RenderThemeWx::paintMenuListButton):
47 2011-05-09 Tony Gentilcore <tonyg@chromium.org>
49 Reviewed by Darin Adler.
51 Style fix: Function names must begin with lowercase letter and should not use "get".
52 https://bugs.webkit.org/show_bug.cgi?id=60475
55 (WebCore::Document::webkitVisibilityState):
56 * page/PageVisibilityState.cpp:
57 (WebCore::pageVisibilityStateString): Renamed.
58 * page/PageVisibilityState.h:
60 2011-05-09 Adam Barth <abarth@webkit.org>
62 Reviewed by Tony Gentilcore.
64 Make Chromium build with strict PassOwnPtr
65 https://bugs.webkit.org/show_bug.cgi?id=60461
67 Fix many, many PassOwnPtr nits.
69 * bindings/v8/V8Proxy.cpp:
70 (WebCore::V8Proxy::precompileScript):
71 * bindings/v8/custom/V8DOMWindowCustom.cpp:
72 (WebCore::WindowSetTimeoutImpl):
73 * bindings/v8/custom/V8MessageEventCustom.cpp:
74 (WebCore::V8MessageEvent::initMessageEventCallback):
75 * bindings/v8/custom/V8WorkerContextCustom.cpp:
76 (WebCore::SetTimeoutOrInterval):
78 (WebCore::Document::removedLastRef):
79 (WebCore::Document::detach):
80 * fileapi/DOMFileSystem.h:
81 (WebCore::DOMFileSystem::scheduleCallback):
82 * fileapi/FileSystemCallbacks.cpp:
83 (WebCore::FileSystemCallbacks::didOpenFileSystem):
84 (WebCore::ResolveURICallbacks::didOpenFileSystem):
85 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
86 (WebCore::GraphicsLayer::create):
87 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
88 (WebCore::CCLayerImpl::createRenderSurface):
89 * platform/graphics/gpu/BicubicShader.cpp:
90 (WebCore::BicubicShader::create):
91 * platform/graphics/gpu/ConvolutionShader.cpp:
92 (WebCore::ConvolutionShader::create):
93 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
94 (WebCore::LoopBlinnSolidFillShader::create):
95 * platform/graphics/gpu/SolidFillShader.cpp:
96 (WebCore::SolidFillShader::create):
97 * platform/graphics/gpu/TexShader.cpp:
98 (WebCore::TexShader::create):
99 * platform/graphics/gpu/Texture.cpp:
100 (WebCore::Texture::create):
101 * storage/chromium/DatabaseTrackerChromium.cpp:
102 (WebCore::TrackerRemoveOpenDatabaseTask::create):
103 * storage/chromium/SQLTransactionClientChromium.cpp:
104 (WebCore::NotifyDatabaseChangedTask::create):
106 2011-05-07 Martin Robinson <mrobinson@igalia.com>
108 Reviewed by Daniel Bates.
110 [Soup] Clean up error handling in ResourceHandleSoup
111 https://bugs.webkit.org/show_bug.cgi?id=60436
113 Instead of repeating the ResourceError creation twice, abstract
114 it into a helper method.
116 No new tests. This is a code cleanup.
118 * platform/network/soup/ResourceHandleSoup.cpp:
119 (WebCore::soupErrorShouldCauseLoadFailure): Added.
120 (WebCore::convertSoupErrorToResourceError): Added.
121 (WebCore::sendRequestCallback): Use the new helpers.
122 (WebCore::readCallback): Ditto.
124 2011-05-09 Abhishek Arya <inferno@chromium.org>
126 Reviewed by Dave Hyatt.
128 Regression(r85869): Restore dirty line logic in RenderInline::destroy.
129 https://bugs.webkit.org/show_bug.cgi?id=60448
131 Test: fast/inline/inline-destroy-dirty-lines-crash.html
133 * rendering/RenderInline.cpp:
134 (WebCore::RenderInline::destroy):
136 2011-05-09 Alejandro G. Castro <alex@igalia.com>
138 Reviewed by Martin Robinson.
140 [GTK] WidgetGtk setFocus can not access directly the widget in WK2
141 https://bugs.webkit.org/show_bug.cgi?id=60016
143 Added code to check the situation where we do not have direct
144 access to the widget. We use the page to grab the focus which
145 would send a request to the UIProcess in WK2.
147 * platform/gtk/WidgetGtk.cpp:
148 (WebCore::Widget::setFocus):
150 2011-05-09 Leandro Gracia Gil <leandrogracia@chromium.org>
152 Reviewed by Tony Gentilcore.
154 Media Stream API: add exception raising to the getUserMedia method.
155 https://bugs.webkit.org/show_bug.cgi?id=60387
157 Perform the required changes to support rising exceptions in the
158 navigator.getUserMedia method. This is required by the latest changes in the spec:
159 http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia
161 Test: fast/dom/MediaStream/argument-types.html
163 * bindings/js/JSNavigatorCustom.cpp:
164 (WebCore::JSNavigator::webkitGetUserMedia):
165 * bindings/v8/custom/V8NavigatorCustom.cpp:
166 (WebCore::V8Navigator::webkitGetUserMediaCallback):
167 * page/Navigator.cpp:
168 (WebCore::Navigator::webkitGetUserMedia):
170 * page/Navigator.idl:
172 2011-05-09 Csaba Osztrogonác <ossy@webkit.org>
174 Unreviewed Qt 4.8 fix.
176 * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
178 2011-05-09 Adam Roben <aroben@apple.com>
180 Windows project file fix after r86047
182 * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.
184 2011-05-06 Chris Marrin <cmarrin@apple.com>
186 Reviewed by Darin Adler.
188 Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
189 https://bugs.webkit.org/show_bug.cgi?id=60417
191 Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
192 the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
193 but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
194 instead of the PlatformCALayer everywhere.
196 * platform/graphics/ca/GraphicsLayerCA.cpp:
197 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
199 2011-05-09 Rob Buis <rbuis@rim.com>
201 Reviewed by Dirk Schulze.
203 Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
204 https://bugs.webkit.org/show_bug.cgi?id=22576
206 Add tag name ASSERTs in SVG Element constructors.
208 No new tests, since no change in behaviour.
210 * svg/SVGAElement.cpp:
211 (WebCore::SVGAElement::SVGAElement):
212 * svg/SVGAltGlyphElement.cpp:
213 (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
214 * svg/SVGAnimateColorElement.cpp:
215 (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
216 * svg/SVGAnimateElement.cpp:
217 (WebCore::SVGAnimateElement::SVGAnimateElement):
218 * svg/SVGAnimateMotionElement.cpp:
219 (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
220 * svg/SVGAnimateTransformElement.cpp:
221 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
222 * svg/SVGCircleElement.cpp:
223 (WebCore::SVGCircleElement::SVGCircleElement):
224 * svg/SVGClipPathElement.cpp:
225 (WebCore::SVGClipPathElement::SVGClipPathElement):
226 * svg/SVGCursorElement.cpp:
227 (WebCore::SVGCursorElement::SVGCursorElement):
228 * svg/SVGDefsElement.cpp:
229 (WebCore::SVGDefsElement::SVGDefsElement):
230 * svg/SVGDescElement.cpp:
231 (WebCore::SVGDescElement::SVGDescElement):
232 * svg/SVGEllipseElement.cpp:
233 (WebCore::SVGEllipseElement::SVGEllipseElement):
234 * svg/SVGFEBlendElement.cpp:
235 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
236 * svg/SVGFEColorMatrixElement.cpp:
237 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
238 * svg/SVGFEComponentTransferElement.cpp:
239 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
240 * svg/SVGFECompositeElement.cpp:
241 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
242 * svg/SVGFEConvolveMatrixElement.cpp:
243 (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
244 * svg/SVGFEDiffuseLightingElement.cpp:
245 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
246 * svg/SVGFEDisplacementMapElement.cpp:
247 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
248 * svg/SVGFEDistantLightElement.cpp:
249 (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
250 * svg/SVGFEDropShadowElement.cpp:
251 (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
252 * svg/SVGFEFloodElement.cpp:
253 (WebCore::SVGFEFloodElement::SVGFEFloodElement):
254 * svg/SVGFEFuncAElement.cpp:
255 (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
256 * svg/SVGFEFuncBElement.cpp:
257 (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
258 * svg/SVGFEFuncGElement.cpp:
259 (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
260 * svg/SVGFEFuncRElement.cpp:
261 (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
262 * svg/SVGFEGaussianBlurElement.cpp:
263 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
264 * svg/SVGFEImageElement.cpp:
265 (WebCore::SVGFEImageElement::SVGFEImageElement):
266 * svg/SVGFEMergeElement.cpp:
267 (WebCore::SVGFEMergeElement::SVGFEMergeElement):
268 * svg/SVGFEMergeNodeElement.cpp:
269 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
270 * svg/SVGFEMorphologyElement.cpp:
271 (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
272 * svg/SVGFEOffsetElement.cpp:
273 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
274 * svg/SVGFEPointLightElement.cpp:
275 (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
276 * svg/SVGFESpecularLightingElement.cpp:
277 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
278 * svg/SVGFESpotLightElement.cpp:
279 (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
280 * svg/SVGFETileElement.cpp:
281 (WebCore::SVGFETileElement::SVGFETileElement):
282 * svg/SVGFETurbulenceElement.cpp:
283 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
284 * svg/SVGFilterElement.cpp:
285 (WebCore::SVGFilterElement::SVGFilterElement):
286 * svg/SVGFontElement.cpp:
287 (WebCore::SVGFontElement::SVGFontElement):
288 * svg/SVGFontFaceElement.cpp:
289 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
290 * svg/SVGFontFaceFormatElement.cpp:
291 (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
292 * svg/SVGFontFaceNameElement.cpp:
293 (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
294 * svg/SVGFontFaceSrcElement.cpp:
295 (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
296 * svg/SVGFontFaceUriElement.cpp:
297 (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
298 * svg/SVGForeignObjectElement.cpp:
299 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
300 * svg/SVGGElement.cpp:
301 (WebCore::SVGGElement::SVGGElement):
302 * svg/SVGGlyphElement.cpp:
303 (WebCore::SVGGlyphElement::SVGGlyphElement):
304 * svg/SVGHKernElement.cpp:
305 (WebCore::SVGHKernElement::SVGHKernElement):
306 * svg/SVGImageElement.cpp:
307 (WebCore::SVGImageElement::SVGImageElement):
308 * svg/SVGLineElement.cpp:
309 (WebCore::SVGLineElement::SVGLineElement):
310 * svg/SVGLinearGradientElement.cpp:
311 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
312 * svg/SVGMPathElement.cpp:
313 (WebCore::SVGMPathElement::SVGMPathElement):
314 * svg/SVGMarkerElement.cpp:
315 (WebCore::SVGMarkerElement::SVGMarkerElement):
316 * svg/SVGMaskElement.cpp:
317 (WebCore::SVGMaskElement::SVGMaskElement):
318 * svg/SVGMetadataElement.cpp:
319 (WebCore::SVGMetadataElement::SVGMetadataElement):
320 * svg/SVGMissingGlyphElement.cpp:
321 (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
322 * svg/SVGPathElement.cpp:
323 (WebCore::SVGPathElement::SVGPathElement):
324 * svg/SVGPatternElement.cpp:
325 (WebCore::SVGPatternElement::SVGPatternElement):
326 * svg/SVGPolygonElement.cpp:
327 (WebCore::SVGPolygonElement::SVGPolygonElement):
328 * svg/SVGPolylineElement.cpp:
329 (WebCore::SVGPolylineElement::SVGPolylineElement):
330 * svg/SVGRadialGradientElement.cpp:
331 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
332 * svg/SVGRectElement.cpp:
333 (WebCore::SVGRectElement::SVGRectElement):
334 * svg/SVGSVGElement.cpp:
335 (WebCore::SVGSVGElement::SVGSVGElement):
336 * svg/SVGScriptElement.cpp:
337 (WebCore::SVGScriptElement::SVGScriptElement):
338 * svg/SVGSetElement.cpp:
339 (WebCore::SVGSetElement::SVGSetElement):
340 * svg/SVGStopElement.cpp:
341 (WebCore::SVGStopElement::SVGStopElement):
342 * svg/SVGStyleElement.cpp:
343 (WebCore::SVGStyleElement::SVGStyleElement):
344 * svg/SVGSwitchElement.cpp:
345 (WebCore::SVGSwitchElement::SVGSwitchElement):
346 * svg/SVGSymbolElement.cpp:
347 (WebCore::SVGSymbolElement::SVGSymbolElement):
348 * svg/SVGTRefElement.cpp:
349 (WebCore::SVGTRefElement::SVGTRefElement):
350 * svg/SVGTSpanElement.cpp:
351 (WebCore::SVGTSpanElement::SVGTSpanElement):
352 * svg/SVGTextElement.cpp:
353 (WebCore::SVGTextElement::SVGTextElement):
354 * svg/SVGTextPathElement.cpp:
355 (WebCore::SVGTextPathElement::SVGTextPathElement):
356 * svg/SVGTitleElement.cpp:
357 (WebCore::SVGTitleElement::SVGTitleElement):
358 * svg/SVGUseElement.cpp:
359 (WebCore::SVGUseElement::SVGUseElement):
360 * svg/SVGVKernElement.cpp:
361 (WebCore::SVGVKernElement::SVGVKernElement):
362 * svg/SVGViewElement.cpp:
363 (WebCore::SVGViewElement::SVGViewElement):
365 2011-05-09 Shishir Agrawal <shishir@chromium.org>
367 Reviewed by Tony Gentilcore.
369 Implement Page Visibility API.
370 https://bugs.webkit.org/show_bug.cgi?id=54181
372 Tests: fast/events/page-visibility-iframe-delete-test.html
373 fast/events/page-visibility-iframe-move-test.html
374 fast/events/page-visibility-iframe-propagation-test.html
375 fast/events/page-visibility-transition-test.html
378 * GNUmakefile.list.am:
381 * WebCore.vcproj/WebCore.vcproj:
382 * WebCore.xcodeproj/project.pbxproj:
384 (WebCore::Document::visibilityState):
385 (WebCore::Document::webkitVisibilityState):
386 (WebCore::Document::webkitIsVisible):
387 (WebCore::Document::dispatchVisibilityStateChangeEvent):
392 (WebCore::Frame::dispatchVisibilityStateChangeEvent):
395 (WebCore::Page::Page):
396 (WebCore::Page::setVisibilityState):
397 (WebCore::Page::visibilityState):
399 * page/PageVisibilityState.cpp: Added.
400 (WebCore::GetPageVisibilityStateString):
401 * page/PageVisibilityState.h: Added.
403 2011-05-09 Luke Macpherson <macpherson@chromium.org>
405 Reviewed by Eric Seidel.
407 Implement expanding CSS border properties in CSSStyleApplyProperty.
408 https://bugs.webkit.org/show_bug.cgi?id=60456
410 No new tests added as no functionality changed.
412 * css/CSSStyleApplyProperty.cpp:
413 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
414 Create CSS border expanding property handlers.
415 * css/CSSStyleSelector.cpp:
416 (WebCore::CSSStyleSelector::applyProperty):
417 Remove property handlers that are no longer needed.
419 2011-05-08 Ryosuke Niwa <rniwa@webkit.org>
421 Reviewed by Kent Tamura.
423 selectstart event does not fire when selection is made via select all
424 https://bugs.webkit.org/show_bug.cgi?id=60376
426 Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
427 document, editable region, or text control.
429 Tests: editing/selection/selectstart-on-selectall.html
430 editing/selection/selectstart-prevent-selectall.html
432 * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
433 * editing/FrameSelection.cpp:
434 (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
435 input element or textarea element when the current selection is inside a shadow DOM, and the root
436 editable element if it's inside a non-shadow editable region, and the body element otherwise.
437 * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
440 2011-05-08 Luke Macpherson <macpherson@chromium.org>
442 Reviewed by Eric Seidel.
444 Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
445 https://bugs.webkit.org/show_bug.cgi?id=60249
447 No new tests added as no functionality changed.
449 * css/CSSStyleSelector.cpp:
450 (WebCore::CSSStyleSelector::applyProperty):
451 Remove special-case code and use appropriate macro.
452 * rendering/style/RenderStyle.h:
453 (WebCore::InheritedFlags::setColumnBreakInside):
454 Assert that supported values are used.
456 2011-05-08 Ryosuke Niwa <rniwa@webkit.org>
458 Reviewed by Darin Adler.
460 Extract a DragCaretController from FrameSelection
461 https://bugs.webkit.org/show_bug.cgi?id=60273
463 Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
464 DragCaretController and FrameSelection and provides functions to paint caret.
466 Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.
469 * editing/FrameSelection.cpp:
470 (WebCore::CaretBase::CaretBase): Added.
471 (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
472 (WebCore::DragCaretController::isContentRichlyEditable): Added.
473 (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
474 (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
475 (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
476 (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
477 (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
478 and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
479 FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
480 we used to execute the first if clause and cleared render tree selection and DOM tree selection.
481 This is exactly what new DragCaretController::nodeWillBeRemoved does.
482 (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
483 (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
484 (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
485 Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
486 FrameSelection's start was not null.
487 (WebCore::caretRendersInsideNode): Moved; Made static local.
488 (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
489 (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
490 (WebCore::DragCaretController::caretRenderer): Ditto.
491 (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
492 (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
493 (WebCore::CaretBase::caretRepaintRect): Ditto.
494 (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
495 and shouldRepaintCaret with extra arguments.
496 (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
497 (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
498 (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
499 (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
500 (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
501 (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
503 (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
504 * editing/FrameSelection.h:
505 (WebCore::CaretBase::localCaretRectForPainting): Added.
506 (WebCore::DragCaretController::isContentEditable): Added.
507 (WebCore::DragCaretController::hasCaret): Added.
508 (WebCore::DragCaretController::caretPosition): Added.
509 (WebCore::DragCaretController::clear): Added.
510 * page/DragController.cpp:
511 (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
512 (WebCore::DragController::dispatchTextInputEventFor): Ditto.
513 (WebCore::DragController::concludeEditDrag): Ditto.
514 (WebCore::DragController::placeDragCaret): Ditto.
516 (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
518 (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
519 * rendering/RenderBlock.cpp:
520 (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.
522 2011-05-08 Dan Bernstein <mitz@apple.com>
524 Reviewed by Darin Adler.
526 <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
527 https://bugs.webkit.org/show_bug.cgi?id=60432
529 * rendering/InlineTextBox.h:
530 (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
531 variable is a (truncated) int anyway.
532 * rendering/RenderBlockLineLayout.cpp:
533 (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
534 so that the right amount is added to the total width. Also changed to use an early return.
536 2011-05-08 Pavel Feldman <pfeldman@chromium.org>
538 Not reviewed: ignore 0 responses in the inspector network instrumentation.
540 * inspector/front-end/NetworkManager.js:
542 2011-05-08 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
544 Reviewed by Kenneth Rohde Christiansen.
546 [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
547 https://bugs.webkit.org/show_bug.cgi?id=58556
549 Tests: fast/canvas/webgl/gl-teximage.html
551 * platform/graphics/qt/GraphicsContext3DQt.cpp:
552 (WebCore::GraphicsContext3D::getImageData):
554 2011-05-07 Dan Bernstein <mitz@apple.com>
556 Reviewed by Maciej Stachowiak.
558 <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
559 https://bugs.webkit.org/show_bug.cgi?id=60443
561 Test: fast/replaced/table-percent-height-positioned.html
563 * rendering/RenderBox.cpp:
564 (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
565 replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
566 doesn’t affect the table cell’s height).
568 2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
570 Unreviewed, rolling out r86016.
571 http://trac.webkit.org/changeset/86016
572 https://bugs.webkit.org/show_bug.cgi?id=60445
574 caused crashes on the WK2 Windows bots (Requested by
575 jessieberlin on #webkit).
577 * platform/network/ResourceHandle.h:
578 * platform/network/cf/CookieStorageCFNet.cpp:
579 (WebCore::currentCookieStorage):
580 (WebCore::defaultCookieStorage):
581 * platform/network/cf/ResourceHandleCFNet.cpp:
582 (WebCore::willSendRequest):
583 (WebCore::makeFinalRequest):
584 (WebCore::ResourceHandle::willSendRequest):
585 * platform/network/cf/ResourceRequestCFNet.cpp:
586 (WebCore::ResourceRequest::doUpdatePlatformRequest):
588 2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
590 Unreviewed, rolling out r85974.
591 http://trac.webkit.org/changeset/85974
592 https://bugs.webkit.org/show_bug.cgi?id=60444
594 broke browser tests (Requested by inferno-sec on #webkit).
596 * platform/network/chromium/ResourceResponse.cpp:
597 (WebCore::ResourceResponse::doPlatformCopyData):
598 (WebCore::ResourceResponse::doPlatformAdopt):
599 * platform/network/chromium/ResourceResponse.h:
600 (WebCore::ResourceResponse::downloadFilePath):
601 (WebCore::ResourceResponse::setDownloadFilePath):
603 2011-05-07 Jessie Berlin <jberlin@apple.com>
605 Reviewed by Steve Falkenburg.
607 [Windows WebKit2] Use cookies set in WebKit1
608 https://bugs.webkit.org/show_bug.cgi?id=60274
610 Share the default storage session between the UI and Web Processes.
612 * platform/network/cf/CookieStorageCFNet.cpp:
613 (WebCore::defaultSessionCookieStorage):
614 Keep track of the default storage session cookie storage.
615 (WebCore::currentCookieStorage):
616 Call defaultCookieStorage to get the default cookie storage.
617 (WebCore::defaultCookieStorage):
618 If there is a default storage session cookie storage, prefer that over getting the default
619 cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
620 without specifying a storage session will not get the cookie storage being shared by the UI
623 * platform/network/ResourceHandle.h:
624 * platform/network/cf/ResourceHandleCFNet.cpp:
625 (WebCore::willSendRequest):
626 Make sure to set the current storage session on any requests used by the Web
627 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
628 doing anything with the Web Process's default storage session (which is not the one shared
629 with the UI Process).
630 (WebCore::makeFinalRequest):
632 (WebCore::ResourceHandle::willSendRequest):
634 (WebCore::ResourceHandle::currentStorageSession):
635 If there is a Private Browsing storage session, return that.
636 If not, on Windows return the default storage session that is being shared with the UI
637 Process and on Mac return 0.
638 (WebCore::defaultCFURLStorageSession):
639 (WebCore::ResourceHandle::setDefaultStorageSession):
640 (WebCore::ResourceHandle::defaultStorageSession):
642 * platform/network/cf/ResourceRequestCFNet.cpp:
643 (WebCore::ResourceRequest::doUpdatePlatformRequest):
644 Make sure to set the current storage session on any requests used by the Web
645 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
646 doing anything with the Web Process's default storage session (which is not the one shared
647 with the UI Process).
649 2011-05-07 Joe Mason <jmason@rim.com>
651 Reviewed by Daniel Bates.
653 FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect
654 https://bugs.webkit.org/show_bug.cgi?id=52211
656 Create a UserGestureIndicator when calling the clientRedirected callback.
658 * loader/NavigationScheduler.cpp:
659 (WebCore::ScheduledURLNavigation::didStartTimer):
660 (WebCore::ScheduledURLNavigation::didStopTimer):
661 (WebCore::ScheduledFormSubmission::didStartTimer):
662 (WebCore::ScheduledFormSubmission::didStopTimer):
664 2011-05-06 Jon Lee <jonlee@apple.com>
666 Reviewed by Alice Liu.
668 Crash when sending a wheel event to a node with no shadow ancestor node
669 https://bugs.webkit.org/show_bug.cgi?id=60429
670 <rdar://problem/9389619>
672 * page/EventHandler.cpp:
673 (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it.
675 2011-05-06 Kent Tamura <tkent@chromium.org>
677 Reviewed by Ryosuke Niwa.
679 Eliminate WebCore/dom/InputElement.{cpp,h}
680 https://bugs.webkit.org/show_bug.cgi?id=60262
682 - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement
683 and TextFieldInputType.
684 - Change the return type of Node::toInputElement():
685 InputElement* -> HTMLInputElement*
687 No new tests. This change should not change the existing behaviour.
689 * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h.
690 * GNUmakefile.list.am: ditto.
691 * WebCore.exp.in: Add symbols of functions exposed to WebKit.
692 * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h.
693 * WebCore.pro: ditto.
694 * WebCore.vcproj/WebCore.vcproj: ditto.
695 * WebCore.xcodeproj/project.pbxproj: ditto.
696 * accessibility/AXObjectCache.cpp:
697 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
698 Follow the return type change of Node::toInputElement().
699 * accessibility/AccessibilityRenderObject.cpp:
700 (WebCore::AccessibilityRenderObject::isPasswordField): ditto.
701 (WebCore::AccessibilityRenderObject::isIndeterminate): ditto.
702 (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto.
703 (WebCore::AccessibilityRenderObject::isChecked): ditto.
704 * css/CSSStyleSelector.cpp:
705 (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto.
706 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
707 * dom/CheckedRadioButtons.cpp:
708 (WebCore::CheckedRadioButtons::removeButton): ditto.
709 * dom/DOMAllInOne.cpp: Remove InputElement.h.
710 * dom/InputElement.cpp: Removed.
711 * dom/InputElement.h: Removed.
713 (WebCore::Node::toInputElement):
714 Change the return type from InputElement* to HTMLInputElement*.
716 * html/HTMLInputElement.cpp:
717 (WebCore::HTMLInputElement::HTMLInputElement):
718 (WebCore::HTMLInputElement::formControlName):
719 (WebCore::HTMLInputElement::tooLong):
720 (WebCore::HTMLInputElement::updateFocusAppearance):
721 (WebCore::HTMLInputElement::aboutToUnload):
722 (WebCore::HTMLInputElement::handleFocusEvent):
723 (WebCore::HTMLInputElement::handleBlurEvent):
724 (WebCore::HTMLInputElement::updateType):
725 (WebCore::HTMLInputElement::parseMappedAttribute):
726 (WebCore::HTMLInputElement::size):
727 (WebCore::HTMLInputElement::copyNonAttributeProperties):
728 (WebCore::HTMLInputElement::value):
729 (WebCore::HTMLInputElement::suggestedValue):
730 (WebCore::HTMLInputElement::setSuggestedValue):
731 (WebCore::HTMLInputElement::setValue):
732 (WebCore::HTMLInputElement::setValueFromRenderer):
733 (WebCore::HTMLInputElement::setFileListFromRenderer):
734 (WebCore::HTMLInputElement::setDefaultName):
735 (WebCore::HTMLInputElement::maxLength):
736 (WebCore::HTMLInputElement::cacheSelection):
737 (WebCore::formatCodes): Moved from InputElement.
738 (WebCore::cursorPositionToMaskIndex): ditto.
739 (WebCore::HTMLInputElement::isConformToInputMask): ditto.
740 (WebCore::HTMLInputElement::validateInputMask): ditto.
741 (WebCore::HTMLInputElement::setWapInputFormat): ditto.
742 (WebCore::HTMLInputElement::notifyFormStateChanged): ditto.
743 (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto.
744 (WebCore::HTMLInputElement::updateValueIfNeeded):ditto.
745 * html/HTMLInputElement.h:
746 - Add data members which were defined in InputElementData.
747 - Make some functions public because the public interface InputElement is removed.
748 - Make some functions non-virtual because they don't override
749 corresponding virtual functions of InputElement anymore.
750 (WebCore::HTMLInputElement::toInputElement):
751 Follow the return type change of Node::toInputElement().
752 (WebCore::HTMLInputElement::isIndeterminate):
753 (WebCore::HTMLInputElement::isAutofilled):
754 (WebCore::HTMLInputElement::supportsMaxLength):
755 (WebCore::HTMLInputElement::cachedSelectionStart):
756 (WebCore::HTMLInputElement::cachedSelectionEnd):
757 * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h.
758 * html/InputType.cpp:
759 (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code.
760 * html/InputType.h: Update for the above.
761 * html/TextFieldInputType.cpp:
762 (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp.
763 (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength().
764 (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
765 Move the code from InputElement::handleBeforeTextInsertedEvent().
766 * html/TextFieldInputType.h: Update declarations.
767 * rendering/RenderTextControlSingleLine.cpp:
768 - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor.
769 - Follow the return type change of inputElement().
770 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
771 Make sure node() is an HTMLInputElement instance.
772 (WebCore::RenderTextControlSingleLine::addSearchResult):
773 (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
774 (WebCore::RenderTextControlSingleLine::showPopup):
775 (WebCore::RenderTextControlSingleLine::hidePopup):
776 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
777 (WebCore::RenderTextControlSingleLine::updateFromElement):
778 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
779 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
780 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
781 (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
782 (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
783 (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
784 (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
785 (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
786 (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
787 (WebCore::RenderTextControlSingleLine::valueChanged):
788 (WebCore::RenderTextControlSingleLine::setTextFromItem):
789 (WebCore::RenderTextControlSingleLine::inputElement):
790 * rendering/RenderTextControlSingleLine.h:
791 Change the return type of inputElement(): InputElement* -> HTMLInputElement*.
792 * rendering/RenderTheme.cpp:
793 (WebCore::RenderTheme::isChecked):
794 Follow the return type change of Node::toInputElement().
795 (WebCore::RenderTheme::isIndeterminate): ditto.
796 (WebCore::RenderTheme::shouldHaveSpinButton):
797 Change the parameter type: InputElement* -> HTMLInputElement*.
798 * rendering/RenderTheme.h: ditto.
800 2011-05-06 Adam Barth <abarth@webkit.org>
802 Reviewed by Eric Seidel.
804 Implement "Report-Only" mode for CSP
805 https://bugs.webkit.org/show_bug.cgi?id=60402
807 This mode lets web sites try out CSP by getting violation reports (and
808 console spam) without actually changing the behavior of their web sites.
810 Test: http/tests/security/contentSecurityPolicy/report-only.html
813 (WebCore::Document::processHttpEquiv):
814 * loader/FrameLoader.cpp:
815 (WebCore::FrameLoader::didBeginDocument):
816 * page/ContentSecurityPolicy.cpp:
817 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
818 (WebCore::ContentSecurityPolicy::didReceiveHeader):
819 (WebCore::ContentSecurityPolicy::reportViolation):
820 (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
821 (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
822 (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
823 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
824 * page/ContentSecurityPolicy.h:
826 2011-05-06 Beth Dakin <bdakin@apple.com>
828 Reviewed by Darin Adler.
830 https://bugs.webkit.org/show_bug.cgi?id=60421
831 Custom scrollbars nested inside an overlay scrollbar overflow region end up
834 <rdar://problem/9389072>
836 Be sure not to paint custom css scrollbars during the special overlay-scrollbar
838 * rendering/RenderLayer.cpp:
839 (WebCore::RenderLayer::paintOverflowControls):
841 2011-05-06 Cary Clark <caryclark@google.com>
843 Reviewed by Eric Seidel.
845 Add utility for converting SkCanvas to CGContext
846 https://bugs.webkit.org/show_bug.cgi?id=59808
848 Skia on Mac uses Skia to render WebKit, and CG
849 to render UI elements. The CG elements need a
850 transcribed graphics context that preserves the
851 canvas matrix, and the canvas clip.
853 The BitLockerSkia utility class sets up a CGContext
854 from the SkCanvas, locks the bitmap's bits, and
855 releases the lock when the class goes out of scope.
857 Each time the CGContext is retrieved, it is rebuilt.
858 This permits the caller to modify the same canvas
861 This change adds utilities but does not modify any
862 existing code. For now, there are no callers to these
863 utilities, so there is no functional change.
867 * platform/graphics/skia/BitLockerSkia.cpp: Added.
868 (WebCore::SkMatrixToCGAffineTransform): Conversion utility.
869 (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas.
870 (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up.
871 (WebCore::BitLockerSkia::release): Internal private helper.
872 (WebCore::BitLockerSkia::cgContext): Returns CGContextRef.
873 * platform/graphics/skia/BitLockerSkia.h: Added.
875 2011-05-06 Martin Robinson <mrobinson@igalia.com>
877 Reviewed by Xan Lopez.
879 [GTK] [WebKit2] WebView::windowToScreen needs an implementation
880 https://bugs.webkit.org/show_bug.cgi?id=55960
882 Abstract coordinate system translation code from WebKit into WebCore.
883 This will allow the code to be shared between WebKit and WebKit2. The code
884 now lives in a new GtkUtilities.cpp helper file.
886 * GNUmakefile.list.am: Added GtkUtilities to the source list.
887 * platform/gtk/GtkUtilities.cpp: Added.
888 (WebCore::convertWidgetRectToScreenRect):
889 * platform/gtk/GtkUtilities.h: Added.
891 2011-05-06 Martin Robinson <mrobinson@igalia.com>
893 Reviewed by Xan Lopez.
895 Remove some unnecessary static methods in ResourceHandleSoup.
897 No new tests. This is only a small cleanup.
899 * platform/network/soup/ResourceHandleSoup.cpp:
900 (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly.
901 (WebCore::gotHeadersCallback):Ditto.
902 (WebCore::contentSniffedCallback):Ditto.
903 (WebCore::sendRequestCallback):Ditto.
904 (WebCore::ResourceHandle::defaultSession): Create the soup session directly.
906 2011-05-06 Martin Robinson <mrobinson@igalia.com>
908 Reviewed by Xan Lopez.
910 [Soup] ResourceHandles are leaked on 304 responses
911 https://bugs.webkit.org/show_bug.cgi?id=60413
913 Always call cleanupSoupRequestOperation, even when the request was not
914 canceled. Before the code would call didFinishLoading and then never clean up
917 No new tests. This simply fixes a memory leak.
919 * platform/network/soup/ResourceHandleSoup.cpp:
920 (WebCore::sendRequestCallback):
922 2011-05-06 Adam Barth <abarth@webkit.org>
924 Reviewed by Eric Seidel.
926 Add disable-javascript-urls CSP directive
927 https://bugs.webkit.org/show_bug.cgi?id=60301
929 This CSP directive is not in the CSP spec. This patch is somewhat of
930 an experiment to see whether this feature is useful. Based on our
931 implementation experience, we will coordinate with folks via the W3C to
932 see if this makes sense to add to the spec.
934 Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html
936 * page/ContentSecurityPolicy.cpp:
937 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
938 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
939 (WebCore::ContentSecurityPolicy::addDirective):
940 * page/ContentSecurityPolicy.h:
942 2011-05-06 Brett Wilson <brettw@chromium.org>
944 Reviewed by Adam Barth.
946 Use a File object to store the downloaded file reference rather than
947 just the path. This keeps the file and permissions in scope (using the
948 already-existing blob system) so the browser won't delete the file
949 when the load is complete. Instead, the file will be cleaned up when
950 the request objects are deleted.
951 https://bugs.webkit.org/show_bug.cgi?id=60281
953 * platform/network/chromium/ResourceResponse.cpp:
954 (WebCore::ResourceResponse::doPlatformCopyData):
955 (WebCore::ResourceResponse::doPlatformAdopt):
956 * platform/network/chromium/ResourceResponse.h:
957 (WebCore::ResourceResponse::downloadedFile):
958 (WebCore::ResourceResponse::setDownloadedFile):
960 2011-05-06 Alexis Menard <alexis.menard@openbossa.org>
962 Reviewed by Darin Adler.
964 Fix two warnings of unused variables.
965 https://bugs.webkit.org/show_bug.cgi?id=60370
967 Remove two unused local variable from the code.
969 No new tests, the existing ones should cover.
971 * rendering/RenderFlexibleBox.cpp:
972 (WebCore::RenderFlexibleBox::layoutVerticalBox):
973 * svg/animation/SVGSMILElement.cpp:
974 (WebCore::SVGSMILElement::calculateNextProgressTime):
976 2011-05-06 Adam Barth <abarth@webkit.org>
978 Reviewed by Eric Seidel.
980 Wire up CSP's eval blocking to V8's new API
981 https://bugs.webkit.org/show_bug.cgi?id=60384
983 * bindings/v8/ScriptController.cpp:
984 (WebCore::ScriptController::disableEval):
986 2011-05-06 David Hyatt <hyatt@apple.com>
988 Reviewed by Dan Bernstein.
990 https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
991 REGRESSION (r81684?): cox.com sign in button is missing
993 Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
994 This restores the original behavior before the refactoring messed it up.
996 Added fast/inline/nested-top-alignment.html
998 * rendering/InlineFlowBox.cpp:
999 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1001 2011-05-06 David Hyatt <hyatt@apple.com>
1003 Reviewed by Dan Bernstein.
1005 https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
1006 REGRESSION (r81992): portions of ticketmaster site render blank
1008 Make simplified layout skip from a positioned object out to its containing block. There is no
1009 need to dirty the intermediate inlines, and in this case it's actively harmful, since the
1010 block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
1012 Added fast/block/positioning/hiding-inside-relpositioned-inline.html
1014 * rendering/RenderObject.h:
1015 (WebCore::RenderObject::markContainingBlocksForLayout):
1017 2011-05-06 Pavel Feldman <pfeldman@chromium.org>
1019 Not reviewed: move selection test into the text area branch.
1021 * inspector/front-end/TextViewer.js:
1022 (WebInspector.TextViewer.prototype._contextMenu):
1024 2011-05-04 Adrienne Walker <enne@google.com>
1026 Reviewed by James Robinson.
1028 [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
1029 https://bugs.webkit.org/show_bug.cgi?id=59020
1031 Allow for empty scissor rects, which implies scissoring to the render
1032 surface. The previous code and previous patch on this bug both didn't
1033 take into account that the scissor rect should be the render surface
1034 and not the projection of the layer itself, because child layers
1035 aren't necessarily contained within the bounds of their superlayer.
1037 Test: compositing/flat-with-transformed-child.html
1039 * platform/graphics/chromium/LayerRendererChromium.cpp:
1040 (WebCore::LayerRendererChromium::paintLayerContents):
1041 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1042 (WebCore::LayerRendererChromium::drawLayer):
1043 (WebCore::LayerRendererChromium::setScissorToRect):
1045 2011-05-06 Simon Fraser <simon.fraser@apple.com>
1047 Reviewed by Sam Weinig.
1049 Lazily allocate ScrollAnimator in ScrollableArea
1050 https://bugs.webkit.org/show_bug.cgi?id=60327
1052 Avoid allocating the ScrollAnimator up-front, because we
1053 create lots of ScrollableAreas via RenderLayer, and we should
1054 only need the animator when scrolling.
1056 * platform/ScrollableArea.cpp:
1057 (WebCore::ScrollableArea::ScrollableArea):
1058 (WebCore::ScrollableArea::scrollAnimator):
1059 (WebCore::ScrollableArea::scroll):
1060 (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
1061 (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
1062 (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
1063 (WebCore::ScrollableArea::handleWheelEvent):
1064 (WebCore::ScrollableArea::handleGestureEvent):
1065 * platform/ScrollableArea.h:
1067 2011-05-06 Eric Carlson <eric.carlson@apple.com>
1069 Reviewed by Darin Adler.
1071 REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
1072 https://bugs.webkit.org/show_bug.cgi?id=60304
1073 <rdar://problem/9392609>
1075 Don't assume that the only time the media controls UI may need to change is on a
1076 network state change, readyState changes can be significant as well.
1078 Tested manually because we don't have any live streams to test in DRT.
1080 * html/HTMLMediaElement.cpp:
1081 (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
1082 (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
1084 * html/shadow/MediaControlRootElement.cpp:
1085 (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
1086 (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
1087 * html/shadow/MediaControlRootElement.h:
1089 * html/shadow/MediaControlRootElementChromium.cpp:
1090 (WebCore::MediaControlRootElementChromium::reset): Ditto.
1091 (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
1092 * html/shadow/MediaControlRootElementChromium.h:
1093 * html/shadow/MediaControls.h:
1095 2011-05-06 Andreas Kling <andreas.kling@nokia.com>
1097 Unreviewed Qt 4.8 build fix.
1099 * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
1100 enable it after the 4.8 bots are updated with the full QRawFont APIs.
1102 2011-05-06 Alexander Pavlov <apavlov@chromium.org>
1104 Reviewed by Yury Semikhatsky.
1106 Web Inspector: editing CSS in the Resources panel and not committing does not revert the change.
1107 https://bugs.webkit.org/show_bug.cgi?id=60319
1109 * inspector/front-end/ResourceView.js:
1110 (WebInspector.ResourceSourceFrame.prototype.cancelEditing):
1112 2011-05-06 Joe Mason <jmason@rim.com>
1114 Reviewed by Adam Barth.
1116 WebSocket urls should always be encoded as UTF-8.
1117 https://bugs.webkit.org/show_bug.cgi?id=57138
1119 Change WebSocket::connect to take the raw URL string and parse it
1120 internally using the simple KURL constructor, which expects an absolute
1121 UTF-8 encoded URL. This ensures that all code that creates a WebSocket
1122 goes through this method instead of completeURL.
1124 Test: http/tests/websocket/tests/url-with-nonascii-query.html
1126 * bindings/js/JSWebSocketCustom.cpp:
1127 (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect().
1128 * websockets/WebSocket.cpp:
1129 (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8.
1130 * websockets/WebSocket.h:
1132 2011-05-06 Luke Macpherson <macpherson@chromium.org>
1134 Reviewed by Eric Seidel.
1136 Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro.
1137 https://bugs.webkit.org/show_bug.cgi?id=60339
1139 No tests added as no functionality changed.
1141 * css/CSSStyleSelector.cpp:
1142 (WebCore::CSSStyleSelector::applyProperty):
1143 Use correct macro for CSSPropertySpeak.
1144 * rendering/style/RenderStyle.h:
1145 (WebCore::InheritedFlags::initialColorSpace):
1146 Add initialColorSpace() static method.
1148 2011-05-06 Luke Macpherson <macpherson@chromium.org>
1150 Reviewed by Eric Seidel.
1152 Make RenderStyle::setPageBreakInside() reject unsupported enum values.
1153 https://bugs.webkit.org/show_bug.cgi?id=60235
1155 No tests added as no functionality changed.
1157 * css/CSSStyleSelector.cpp:
1158 (WebCore::CSSStyleSelector::applyProperty):
1159 Remove special-case code and use appropriate macro.
1160 * rendering/style/RenderStyle.h:
1161 (WebCore::InheritedFlags::setPageBreakInside):
1162 Assert that only supported values are used.
1164 2011-05-06 Luke Macpherson <macpherson@chromium.org>
1166 Reviewed by Eric Seidel.
1168 Move burden of checking for BJustify box alignment into RenderStyle
1169 https://bugs.webkit.org/show_bug.cgi?id=60246
1171 No new tests added as no functionality changed.
1173 * css/CSSStyleSelector.cpp:
1174 (WebCore::CSSStyleSelector::applyProperty):
1175 Remove special-case logic checking for BJUSTIFY and use existing macro.
1176 * rendering/style/RenderStyle.h:
1177 (WebCore::InheritedFlags::setBoxAlign):
1178 Assert valid values are used.
1180 2011-05-06 Luke Macpherson <macpherson@chromium.org>
1182 Reviewed by Eric Seidel.
1184 Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro.
1185 https://bugs.webkit.org/show_bug.cgi?id=60338
1187 No tests added as no functionality changed.
1189 * css/CSSStyleSelector.cpp:
1190 (WebCore::CSSStyleSelector::applyProperty):
1191 Use correct macro for CSSPropertySpeak.
1193 2011-05-06 Alexis Menard <alexis.menard@openbossa.org>
1195 Reviewed by Alexey Proskuryakov.
1197 Build fix with gcc 4.6 and c++0x support.
1198 https://bugs.webkit.org/show_bug.cgi?id=60284
1200 When enabling support of c++0x the compilation fails because of an
1201 ambiguous overload error. In this code when constructing the pair
1202 we use the new c++0x rvalue reference feature (&&). It means we are
1203 calling String(const WTF::AtomicString&) which becomes ambiguous because
1204 it has an overload WTF::String::String(const WTF::String&) and usually one
1205 with the native port string type (e.g. QString). In this code we want the
1206 String version because the pair store Strings.
1208 No new tests, build fix.
1210 * loader/FormSubmission.cpp:
1211 (WebCore::FormSubmission::create):
1213 2011-05-06 Cris Neckar <cdn@chromium.org>
1215 Reviewed by Dirk Schulze.
1217 Tests for crash when a transform is applied to certain filters.
1218 https://bugs.webkit.org/show_bug.cgi?id=59551
1220 Test: svg/filters/filter-after-transform-crash.svg
1222 * platform/graphics/filters/FEComposite.cpp:
1223 (WebCore::FEComposite::determineAbsolutePaintRect):
1224 * platform/graphics/filters/FEConvolveMatrix.h:
1225 (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
1226 * platform/graphics/filters/FEDisplacementMap.h:
1227 (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
1228 * platform/graphics/filters/FEFlood.h:
1229 (WebCore::FEFlood::determineAbsolutePaintRect):
1230 * platform/graphics/filters/FELighting.h:
1231 (WebCore::FELighting::determineAbsolutePaintRect):
1232 * platform/graphics/filters/FETile.h:
1233 (WebCore::FETile::determineAbsolutePaintRect):
1234 * platform/graphics/filters/FETurbulence.h:
1235 (WebCore::FETurbulence::determineAbsolutePaintRect):
1236 * platform/graphics/filters/FilterEffect.cpp:
1237 (WebCore::isFilterSizeValid):
1238 (WebCore::FilterEffect::determineAbsolutePaintRect):
1239 (WebCore::FilterEffect::asUnmultipliedImage):
1240 (WebCore::FilterEffect::asPremultipliedImage):
1241 (WebCore::FilterEffect::copyUnmultipliedImage):
1242 (WebCore::FilterEffect::copyPremultipliedImage):
1243 (WebCore::FilterEffect::createUnmultipliedImageResult):
1244 (WebCore::FilterEffect::createPremultipliedImageResult):
1245 * platform/graphics/filters/FilterEffect.h:
1246 (WebCore::FilterEffect::maxEffectRect):
1247 (WebCore::FilterEffect::setMaxEffectRect):
1248 * rendering/svg/RenderSVGResourceFilter.cpp:
1249 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1250 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
1252 2011-05-06 Luke Macpherson <macpherson@chromium.org>
1254 Reviewed by Eric Seidel.
1256 Use cast to convert primitive value to FontSmoothingMode.
1257 https://bugs.webkit.org/show_bug.cgi?id=60242
1259 No tests added as no functionality changed.
1261 * css/CSSStyleSelector.cpp:
1262 (WebCore::CSSStyleSelector::applyProperty):
1263 Use cast to convert primitive value to FontSmoothingMode.
1265 2011-05-05 Luke Macpherson <macpherson@chromium.org>
1267 Reviewed by Eric Seidel.
1269 Make CSSPropertySpeak use the correct macro.
1270 https://bugs.webkit.org/show_bug.cgi?id=60335
1272 No tests added as no functionality changed.
1274 * css/CSSStyleSelector.cpp:
1275 (WebCore::CSSStyleSelector::applyProperty):
1276 Use correct macro for CSSPropertySpeak.
1278 2011-05-05 Eric Carlson <eric.carlson@apple.com>
1280 Reviewed by Maciej Stachowiak.
1282 <rdar://problem/9390864>
1283 https://bugs.webkit.org/show_bug.cgi?id=60343
1284 Crash on Recovery System when trying to load page that includes media element
1286 Automated test not possible, tested manually.
1288 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1289 (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if
1290 AVFoundation and CoreMedia are installed.
1292 * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to
1293 SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist.
1295 2011-05-05 Eric Carlson <eric.carlson@apple.com>
1297 Reviewed by Darin Adler.
1299 Live streams sometimes won't play with AVFoundation backend
1300 https://bugs.webkit.org/show_bug.cgi?id=58961
1301 rdar://problem/9284748
1303 Tested manually because we don't have any live streams to test in DRT.
1305 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1306 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume
1307 AVFoundation will notify us when internal states change.
1309 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver
1311 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1312 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
1313 (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
1315 2011-05-05 Jay Civelli <jcivelli@chromium.org>
1317 Reviewed by Adam Barth.
1319 Adding quoted-printable encoding/decoding capabilities.
1320 This is needed for MHTML support.
1321 https://bugs.webkit.org/show_bug.cgi?id=59834
1324 * GNUmakefile.list.am:
1327 * WebCore.vcproj/WebCore.vcproj:
1328 * WebCore.xcodeproj/project.pbxproj:
1329 * platform/text/QuotedPrintable.cpp: Added.
1330 * platform/text/QuotedPrintable.h: Added.
1332 2011-05-05 Andy Estes <aestes@apple.com>
1334 Reviewed by Eric Seidel.
1336 Implement document.innerHTML
1337 https://bugs.webkit.org/show_bug.cgi?id=60316
1339 ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder
1340 for fragment parsing. This assertion will become invalid when
1341 document.innerHTML is implemented, which is the only case where HTML5
1342 specifies that a fragment will not have a context element.
1344 * html/parser/HTMLTreeBuilder.cpp:
1345 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1347 2011-05-05 Kevin Ollivier <kevino@theolliviers.com>
1349 [wx] Unreviewed build fix. Include ApplicationServices for wx port.
1351 * platform/graphics/GlyphBuffer.h:
1352 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1354 2011-05-05 Dan Bernstein <mitz@apple.com>
1356 Reviewed by Simon Fraser.
1358 WebCore part of <rdar://problem/9155590> Broken animation in iAd producer
1360 * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard.
1361 * platform/graphics/ca/GraphicsLayerCA.cpp:
1362 (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity
1363 check in Core Animation.
1364 * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard.
1365 * platform/mac/WebCoreSystemInterface.mm: Ditto.
1367 2011-05-05 Sam Weinig <sam@webkit.org>
1369 Reviewed by Anders Carlsson.
1371 WebKit2 (Mac): Background tabs/windows can force themselves to the front
1372 <rdar://problem/9386346>
1373 https://bugs.webkit.org/show_bug.cgi?id=60315
1375 * platform/mac/WidgetMac.mm:
1376 (WebCore::Widget::setFocus):
1377 It is incorrect for us to call Chrome::focus() here, which could bring a window/tab
1378 to the front. Calling focusNSView() was only necessary because in WebKit we must inform
1379 the platform widget that the focus has changed. WebKit2 Mac now matches other ports.
1381 2011-05-05 Justin Novosad <junov@chromium.org>
1383 Reviewed by Kenneth Russell.
1385 [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose
1386 https://bugs.webkit.org/show_bug.cgi?id=60173
1389 (WebCore::Page::sharedGraphicsContext3D):
1390 Flipping the switch to make Skia the default for the accelerated 2d canvas
1392 2011-05-05 Tony Gentilcore <tonyg@chromium.org>
1394 Reviewed by Adam Barth.
1396 ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
1397 https://bugs.webkit.org/show_bug.cgi?id=60101
1399 Test: fast/parser/close-while-stopping.html
1402 (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
1403 the close() steps should be aborted if there is no script-created parser
1404 associated with the document. Our parser lives throughout
1405 http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
1406 the spec doesn't consider the parser active any more. So to properly
1407 respect this, we need to check that the parser is still parsing.
1409 2011-04-28 Evan Martin <evan@chromium.org>
1411 Reviewed by Ojan Vafai.
1413 REGRESSION: backspace should not go back on Linux
1414 https://bugs.webkit.org/show_bug.cgi?id=59731
1416 Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
1417 Linux, and test for it in the default backspace handler.
1419 * editing/EditingBehavior.h:
1420 (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
1421 * page/EventHandler.cpp:
1422 (WebCore::EventHandler::defaultBackspaceEventHandler):
1424 2011-05-05 Igor Oliveira <igor.oliveira@openbossa.org>
1426 Reviewed by Kenneth Russell.
1428 Framebuffer object is being created twice
1429 https://bugs.webkit.org/show_bug.cgi?id=60207
1431 Does not create more than one opengl framebuffer
1433 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1434 (WebCore::DrawingBuffer::DrawingBuffer):
1435 * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
1436 (WebCore::DrawingBuffer::DrawingBuffer):
1437 * platform/graphics/gtk/DrawingBufferGtk.cpp:
1438 (WebCore::DrawingBuffer::DrawingBuffer):
1440 2011-05-05 Simon Fraser <simon.fraser@apple.com>
1442 Reviewed by Beth Dakin.
1444 Every RenderLayer registers itself as a ScrollableArea
1445 https://bugs.webkit.org/show_bug.cgi?id=59650
1447 Rather than registering every RenderLayer as a ScrollableArea
1448 on layer creation, only register RenderLayers which are overflow-
1449 scrollable. Use the m_scrollableAreaPage pointer to keep track
1450 of whether we've registered to avoid excess work.
1452 * rendering/RenderLayer.cpp:
1453 (WebCore::RenderLayer::RenderLayer):
1454 (WebCore::RenderLayer::scrollsOverflow):
1455 (WebCore::RenderLayer::styleChanged):
1456 * rendering/RenderLayer.h:
1458 2011-05-05 Jer Noble <jer.noble@apple.com>
1460 Reviewed by Steve Falkenburg.
1462 Workaround iTunes' incorrect registry entry for .m4a extensions.
1463 https://bugs.webkit.org/show_bug.cgi?id=60229
1465 No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html).
1466 The test failed to catch this regression because the build bots haven't installed iTunes.
1468 Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'.
1470 * platform/win/MIMETypeRegistryWin.cpp:
1471 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1473 2011-05-05 Abhishek Arya <inferno@chromium.org>
1475 Reviewed by Dave Hyatt.
1477 When style changes for a RenderBlock and we lose our ability to intrude into
1478 floats in the next siblings block (e.g a position change), make sure to mark
1479 our childs with floats for layout and iterate through our next sibling block
1480 chain to see which ones contain the float that also exists in our floating
1481 objects list and clear those using markAllDescendantsWithFloatsForLayout.
1482 https://bugs.webkit.org/show_bug.cgi?id=56299
1484 Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
1485 fast/block/float/float-not-removed-from-next-sibling.html
1486 fast/block/float/float-not-removed-from-next-sibling2.html
1487 fast/block/float/float-not-removed-from-next-sibling3.html
1488 fast/block/float/float-not-removed-from-next-sibling4.html
1490 * rendering/RenderBlock.cpp:
1491 (WebCore::RenderBlock::styleWillChange):
1492 (WebCore::RenderBlock::styleDidChange):
1493 (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
1494 * rendering/RenderBlock.h:
1496 2011-05-05 Brian Weinstein <bweinstein@apple.com>
1498 Reviewed by Timothy Hatcher.
1500 WebKit2: Docking Web Inspector doesn't respect maximum inspector size
1501 https://bugs.webkit.org/show_bug.cgi?id=60294
1502 <rdar://problem/9388518>
1504 Make a needed function public and export it.
1506 * WebCore.exp.in: Export constrainedAttaechedWindowHeight.
1507 * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public.
1509 2011-05-05 Tony Gentilcore <tonyg@chromium.org>
1511 Reviewed by Nate Chapin.
1513 [Navigation Timing] navigationStart should always be available
1514 https://bugs.webkit.org/show_bug.cgi?id=59448
1516 * page/PerformanceTiming.cpp:
1517 (WebCore::PerformanceTiming::navigationStart):
1519 2011-05-05 Eric Carlson <eric.carlson@apple.com>
1521 Reviewed by Adam Roben.
1523 Block callbacks delivered during destruction
1524 https://bugs.webkit.org/show_bug.cgi?id=60291
1525 <rdar://problem/9382942>
1527 No new tests, tested by existing tests.
1529 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1530 (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call
1531 setIgnoreLoadStateChanges(true) to cancel all callbacks.
1532 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if
1533 m_ignoreLoadStateChanges is true.
1534 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
1535 Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
1536 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1538 2011-05-05 David Hyatt <hyatt@apple.com>
1540 Reviewed by Darin Adler.
1542 <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive
1544 Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
1545 Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
1546 (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
1547 (the object being removed has no effect on any lines).
1549 Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
1550 is encountered has a null inlineBoxWrapper(). Just a slight speed optimization to avoid an extra null check.
1552 * rendering/RenderBlock.cpp:
1553 (WebCore::RenderBlock::destroy):
1554 * rendering/RenderInline.cpp:
1555 (WebCore::RenderInline::destroy):
1556 (WebCore::RenderInline::culledInlineFirstLineBox):
1557 (WebCore::RenderInline::culledInlineLastLineBox):
1559 2011-05-05 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com>
1561 Reviewed by Holger Freyther.
1563 Fix build-webkit --minimal.
1564 https://bugs.webkit.org/show_bug.cgi?id=60257
1566 No new tests. This is just a build fix.
1568 * bindings/js/JSDOMBinding.cpp:
1570 2011-05-05 Eric Carlson <eric.carlson@apple.com>
1572 Reviewed by Adam Roben.
1574 The preload attribute of the video tag is not completely implemented
1575 https://bugs.webkit.org/show_bug.cgi?id=43673
1576 <rdar://problem/9369746>
1578 This change implements "preload=metadata" for the AVFoundation backend.
1579 Tested manually with manual-tests/media-elements/video-preload.html.
1581 * html/HTMLMediaElement.cpp:
1582 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
1583 (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
1584 (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
1585 (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
1586 because we need to have media data loaded to seek.
1587 (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
1588 * html/HTMLMediaElement.h:
1590 * manual-tests/media-elements/video-preload.html: Make changing urls work.
1592 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1593 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Remove
1594 m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
1595 (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
1596 (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
1597 Move all preload logic to setPreload, call it from here.
1598 (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
1599 setPreload, call it.
1600 (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
1601 unlikely to be correct and isn't worth caching. Use invalidTime() function.
1602 (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
1603 (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
1604 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
1605 to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
1606 without one. Set networkState to 'idle' when the playback buffer is full because that is
1607 a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
1608 when the first frame is available.
1609 (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
1610 width, height, hasVideo, etc.
1611 (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
1612 (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
1613 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
1614 (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
1616 (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
1617 AVAsset and AVPlayerItem here.
1618 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1620 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
1621 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1622 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
1623 m_videoFrameHasDrawn.
1624 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
1625 videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
1626 if we have painted a frame to the context.
1627 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
1629 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
1630 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
1631 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
1632 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
1633 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
1635 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
1636 AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
1637 when we only have metadata.
1638 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
1639 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
1640 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
1641 when when we haven't allocated the AVPlayerItem yet so that we can report attributes
1642 when we only have metadata.
1643 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
1644 we have allocated the AVPlayerItem.
1646 2011-05-05 Ryosuke Niwa <rniwa@webkit.org>
1648 Reviewed by Eric Seidel.
1650 Rename SelectionController to FrameSelection
1651 https://bugs.webkit.org/show_bug.cgi?id=60234
1654 * GNUmakefile.list.am:
1658 * WebCore.vcproj/WebCore.vcproj:
1659 * WebCore.xcodeproj/project.pbxproj:
1660 * accessibility/AccessibilityObject.cpp:
1661 * accessibility/AccessibilityRenderObject.cpp:
1662 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
1663 * accessibility/mac/AccessibilityObjectWrapper.mm:
1664 * bindings/objc/ExceptionHandlers.h:
1665 * css/CSSStyleSelector.cpp:
1666 * dom/ContainerNode.cpp:
1667 (WebCore::ContainerNode::cloneChildNodes):
1669 * dom/InputElement.cpp:
1670 * editing/DeleteButtonController.cpp:
1671 * editing/EditCommand.cpp:
1672 * editing/EditingAllInOne.cpp:
1673 * editing/EditingStyle.cpp:
1674 * editing/Editor.cpp:
1675 (WebCore::Editor::canCopy):
1676 (WebCore::Editor::canDelete):
1677 (WebCore::Editor::markMisspellingsAfterTypingToWord):
1678 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1679 (WebCore::Editor::changeSelectionAfterCommand):
1680 (WebCore::Editor::respondToChangedSelection):
1682 * editing/EditorCommand.cpp:
1683 (WebCore::executeDeleteToMark):
1684 (WebCore::executeMoveBackward):
1685 (WebCore::executeMoveBackwardAndModifySelection):
1686 (WebCore::executeMoveDown):
1687 (WebCore::executeMoveDownAndModifySelection):
1688 (WebCore::executeMoveForward):
1689 (WebCore::executeMoveForwardAndModifySelection):
1690 (WebCore::executeMoveLeft):
1691 (WebCore::executeMoveLeftAndModifySelection):
1692 (WebCore::executeMovePageDown):
1693 (WebCore::executeMovePageDownAndModifySelection):
1694 (WebCore::executeMovePageUp):
1695 (WebCore::executeMovePageUpAndModifySelection):
1696 (WebCore::executeMoveRight):
1697 (WebCore::executeMoveRightAndModifySelection):
1698 (WebCore::executeMoveToBeginningOfDocument):
1699 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
1700 (WebCore::executeMoveToBeginningOfLine):
1701 (WebCore::executeMoveToBeginningOfLineAndModifySelection):
1702 (WebCore::executeMoveToBeginningOfParagraph):
1703 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
1704 (WebCore::executeMoveToBeginningOfSentence):
1705 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
1706 (WebCore::executeMoveToEndOfDocument):
1707 (WebCore::executeMoveToEndOfDocumentAndModifySelection):
1708 (WebCore::executeMoveToEndOfSentence):
1709 (WebCore::executeMoveToEndOfSentenceAndModifySelection):
1710 (WebCore::executeMoveToEndOfLine):
1711 (WebCore::executeMoveToEndOfLineAndModifySelection):
1712 (WebCore::executeMoveToEndOfParagraph):
1713 (WebCore::executeMoveToEndOfParagraphAndModifySelection):
1714 (WebCore::executeMoveParagraphBackwardAndModifySelection):
1715 (WebCore::executeMoveParagraphForwardAndModifySelection):
1716 (WebCore::executeMoveUp):
1717 (WebCore::executeMoveUpAndModifySelection):
1718 (WebCore::executeMoveWordBackward):
1719 (WebCore::executeMoveWordBackwardAndModifySelection):
1720 (WebCore::executeMoveWordForward):
1721 (WebCore::executeMoveWordForwardAndModifySelection):
1722 (WebCore::executeMoveWordLeft):
1723 (WebCore::executeMoveWordLeftAndModifySelection):
1724 (WebCore::executeMoveWordRight):
1725 (WebCore::executeMoveWordRightAndModifySelection):
1726 (WebCore::executeMoveToLeftEndOfLine):
1727 (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
1728 (WebCore::executeMoveToRightEndOfLine):
1729 (WebCore::executeMoveToRightEndOfLineAndModifySelection):
1730 * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
1731 (WebCore::FrameSelection::FrameSelection):
1732 (WebCore::FrameSelection::moveTo):
1733 (WebCore::FrameSelection::setSelection):
1734 (WebCore::FrameSelection::nodeWillBeRemoved):
1735 (WebCore::FrameSelection::respondToNodeModification):
1736 (WebCore::FrameSelection::textWillBeReplaced):
1737 (WebCore::FrameSelection::setIsDirectional):
1738 (WebCore::FrameSelection::directionOfEnclosingBlock):
1739 (WebCore::FrameSelection::willBeModified):
1740 (WebCore::FrameSelection::positionForPlatform):
1741 (WebCore::FrameSelection::startForPlatform):
1742 (WebCore::FrameSelection::endForPlatform):
1743 (WebCore::FrameSelection::modifyExtendingRight):
1744 (WebCore::FrameSelection::modifyExtendingForward):
1745 (WebCore::FrameSelection::modifyMovingRight):
1746 (WebCore::FrameSelection::modifyMovingForward):
1747 (WebCore::FrameSelection::modifyExtendingLeft):
1748 (WebCore::FrameSelection::modifyExtendingBackward):
1749 (WebCore::FrameSelection::modifyMovingLeft):
1750 (WebCore::FrameSelection::modifyMovingBackward):
1751 (WebCore::FrameSelection::modify):
1752 (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
1753 (WebCore::FrameSelection::clear):
1754 (WebCore::FrameSelection::setStart):
1755 (WebCore::FrameSelection::setEnd):
1756 (WebCore::FrameSelection::setBase):
1757 (WebCore::FrameSelection::setExtent):
1758 (WebCore::FrameSelection::setCaretRectNeedsUpdate):
1759 (WebCore::FrameSelection::updateCaretRect):
1760 (WebCore::FrameSelection::caretRenderer):
1761 (WebCore::FrameSelection::localCaretRect):
1762 (WebCore::FrameSelection::absoluteBoundsForLocalRect):
1763 (WebCore::FrameSelection::absoluteCaretBounds):
1764 (WebCore::FrameSelection::caretRepaintRect):
1765 (WebCore::FrameSelection::recomputeCaretRect):
1766 (WebCore::FrameSelection::shouldRepaintCaret):
1767 (WebCore::FrameSelection::invalidateCaretRect):
1768 (WebCore::FrameSelection::paintCaret):
1769 (WebCore::FrameSelection::debugRenderer):
1770 (WebCore::FrameSelection::contains):
1771 (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
1772 (WebCore::FrameSelection::selectAll):
1773 (WebCore::FrameSelection::setSelectedRange):
1774 (WebCore::FrameSelection::isInPasswordField):
1775 (WebCore::FrameSelection::caretRendersInsideNode):
1776 (WebCore::FrameSelection::focusedOrActiveStateChanged):
1777 (WebCore::FrameSelection::pageActivationChanged):
1778 (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
1779 (WebCore::FrameSelection::setUseSecureKeyboardEntry):
1780 (WebCore::FrameSelection::setFocused):
1781 (WebCore::FrameSelection::isFocusedAndActive):
1782 (WebCore::FrameSelection::updateAppearance):
1783 (WebCore::FrameSelection::setCaretVisible):
1784 (WebCore::FrameSelection::clearCaretRectIfNeeded):
1785 (WebCore::FrameSelection::caretBlinkTimerFired):
1786 (WebCore::FrameSelection::notifyRendererOfSelectionChange):
1787 (WebCore::FrameSelection::setFocusedNodeIfNeeded):
1788 (WebCore::FrameSelection::paintDragCaret):
1789 (WebCore::FrameSelection::copyTypingStyle):
1790 (WebCore::FrameSelection::shouldDeleteSelection):
1791 (WebCore::FrameSelection::bounds):
1792 (WebCore::FrameSelection::getClippedVisibleTextRectangles):
1793 (WebCore::FrameSelection::currentForm):
1794 (WebCore::FrameSelection::revealSelection):
1795 (WebCore::FrameSelection::setSelectionFromNone):
1796 (WebCore::FrameSelection::shouldChangeSelection):
1797 (WebCore::FrameSelection::formatForDebugger):
1798 (WebCore::FrameSelection::showTreeForThis):
1800 * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
1801 (WebCore::FrameSelection::typingStyle):
1802 (WebCore::FrameSelection::clearTypingStyle):
1803 (WebCore::FrameSelection::setTypingStyle):
1804 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1805 * editing/ModifySelectionListLevel.cpp:
1806 * editing/RemoveFormatCommand.cpp:
1807 * editing/ReplaceSelectionCommand.cpp:
1808 * editing/SelectionController.cpp: Removed.
1809 * editing/SelectionController.h: Removed.
1810 * editing/SetSelectionCommand.cpp:
1811 (WebCore::SetSelectionCommand::SetSelectionCommand):
1812 (WebCore::SetSelectionCommand::doApply):
1813 (WebCore::SetSelectionCommand::doUnapply):
1814 * editing/SetSelectionCommand.h:
1815 (WebCore::SetSelectionCommand::create):
1816 * editing/SpellingCorrectionCommand.cpp:
1817 (WebCore::SpellingCorrectionCommand::doApply):
1818 * editing/SpellingCorrectionController.cpp:
1819 (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
1820 * editing/TypingCommand.cpp:
1821 (WebCore::TypingCommand::deleteKeyPressed):
1822 (WebCore::TypingCommand::forwardDeleteKeyPressed):
1823 * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
1824 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1825 * editing/chromium/SelectionControllerChromium.cpp: Removed.
1826 * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
1827 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1828 * editing/gtk/SelectionControllerGtk.cpp: Removed.
1829 * editing/mac/EditorMac.mm:
1830 (WebCore::Editor::canCopyExcludingStandaloneImages):
1831 * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
1832 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1833 * editing/mac/SelectionControllerMac.mm: Removed.
1834 * editing/qt/EditorQt.cpp:
1835 * loader/archive/cf/LegacyWebArchive.cpp:
1836 * page/ContextMenuController.cpp:
1837 (WebCore::ContextMenuController::populate):
1838 * page/DOMSelection.cpp:
1839 (WebCore::DOMSelection::type):
1840 (WebCore::DOMSelection::modify):
1841 (WebCore::DOMSelection::addRange):
1842 (WebCore::DOMSelection::deleteFromDocument):
1843 (WebCore::DOMSelection::containsNode):
1844 * page/DragController.cpp:
1845 (WebCore::DragController::dragIsMove):
1846 * page/DragController.h:
1847 * page/EventHandler.cpp:
1848 (WebCore::setSelectionIfNeeded):
1849 (WebCore::setNonDirectionalSelectionIfNeeded):
1850 (WebCore::EventHandler::sendContextMenuEventForKey):
1851 (WebCore::EventHandler::handleKeyboardSelectionMovement):
1852 * page/EventHandler.h:
1853 * page/FocusController.cpp:
1854 (WebCore::clearSelectionIfNeeded):
1856 (WebCore::Frame::Frame):
1858 (WebCore::Frame::selection):
1860 (WebCore::Page::Page):
1862 (WebCore::Page::dragCaretController):
1863 * page/chromium/DragControllerChromium.cpp:
1864 * page/chromium/EventHandlerChromium.cpp:
1865 * page/win/DragControllerWin.cpp:
1866 * page/win/EventHandlerWin.cpp:
1867 * rendering/HitTestResult.cpp:
1868 * rendering/RenderBlock.cpp:
1869 (WebCore::RenderBlock::destroy):
1870 (WebCore::RenderBlock::paintCaret):
1871 * rendering/RenderImage.cpp:
1872 * rendering/RenderInline.cpp:
1873 (WebCore::RenderInline::destroy):
1874 * rendering/RenderLayer.cpp:
1875 * rendering/RenderListBox.cpp:
1876 * rendering/RenderObjectChildList.cpp:
1877 (WebCore::RenderObjectChildList::removeChildNode):
1878 * rendering/RenderTextControl.cpp:
1879 * rendering/RenderTextControlSingleLine.cpp:
1880 * rendering/RenderTheme.cpp:
1881 * rendering/RenderTreeAsText.cpp:
1882 * svg/SVGSVGElement.cpp:
1883 * svg/SVGTextContentElement.cpp:
1884 (WebCore::SVGTextContentElement::selectSubString):
1886 2011-05-05 Brent Fulgham <bfulgham@webkit.org>
1888 [WinCairo] unreviewed build correction.
1890 * platform/network/curl/ResourceRequest.h:
1891 Stub out the new pipelined http logic for cURL.
1893 2011-05-05 Pavel Feldman <pfeldman@chromium.org>
1895 Reviewed by Yury Semikhatsky.
1897 Web Inspector: searching for node does not result in bringToFront call.
1898 https://bugs.webkit.org/show_bug.cgi?id=60222
1900 * inspector/front-end/ElementsPanel.js:
1901 (WebInspector.ElementsPanel.prototype.updateFocusedNode):
1903 2011-05-05 Andreas Kling <andreas.kling@nokia.com>
1905 Reviewed by Simon Hausmann.
1907 [Qt] Implement the fast font path for Qt.
1908 https://bugs.webkit.org/show_bug.cgi?id=51106
1910 Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
1911 rendering and measurement of simple text.
1913 Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
1914 classes are fully integrated into the Qt 4.8 release branch.
1916 * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
1918 * platform/graphics/Font.cpp:
1919 (WebCore::Font::drawText): Disable fast font path for stroked text, and when
1920 painting text with a shadow. (Qt-only)
1921 (WebCore::Font::codePath): Try to use fast font path in more cases.
1923 * platform/graphics/qt/FontCacheQt.cpp:
1924 (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
1925 to use for rendering a given string. Goes through QTextLayout to find the best
1926 font based on the original QFont query.
1927 (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
1929 * platform/graphics/qt/FontPlatformData.h:
1930 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
1931 (WebCore::FontPlatformData::FontPlatformData):
1932 (WebCore::FontPlatformData::rawFont):
1933 * platform/graphics/qt/FontPlatformDataQt.cpp:
1934 (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
1936 * platform/graphics/qt/FontQt.cpp:
1937 (WebCore::fillPenForContext):
1938 (WebCore::strokePenForContext):
1939 (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
1940 to share code between complex and simple font rendering paths.
1941 (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
1943 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
1944 (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
1946 * platform/graphics/qt/SimpleFontDataQt.cpp:
1947 (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
1948 have no way of knowing the pitch.
1949 (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
1950 (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
1951 (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
1952 (WebCore::SimpleFontData::smallCapsFontData): Ditto.
1953 (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
1954 (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
1955 (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
1956 (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
1958 2011-05-05 Alexis Menard <alexis.menard@openbossa.org>
1960 Reviewed by Andreas Kling.
1962 [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
1963 https://bugs.webkit.org/show_bug.cgi?id=60224
1965 We should use nullptr rather than 0. nullptr will be added in the new C++ standard
1966 but WebKit already has a nullptr class if there is no c++0x support.
1968 * platform/qt/RenderThemeQt.cpp:
1969 (WebCore::RenderThemeQt::adjustProgressBarStyle):
1970 (WebCore::RenderThemeQt::adjustSliderTrackStyle):
1971 (WebCore::RenderThemeQt::adjustSliderThumbStyle):
1973 2011-05-05 Ilya Tikhonovsky <loislo@chromium.org>
1975 Reviewed by Yury Semikhatsky.
1977 Web Inspector: rename BrowserDebugger to DOMDebugger.
1979 https://bugs.webkit.org/show_bug.cgi?id=60256
1980 InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
1981 browserDebugger => domDebugger
1984 * GNUmakefile.list.am:
1987 * WebCore.vcproj/WebCore.vcproj:
1988 * WebCore.xcodeproj/project.pbxproj:
1989 * inspector/CodeGeneratorInspector.pm:
1990 * inspector/InspectorAgent.cpp:
1991 (WebCore::InspectorAgent::InspectorAgent):
1992 (WebCore::InspectorAgent::inspectedPageDestroyed):
1993 (WebCore::InspectorAgent::disconnectFrontend):
1994 * inspector/InspectorAgent.h:
1995 (WebCore::InspectorAgent::DOMDebuggerAgent):
1996 * inspector/InspectorController.cpp:
1997 (WebCore::InspectorController::connectFrontend):
1998 * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
1999 (WebCore::InspectorDOMDebuggerAgent::create):
2000 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2001 (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
2002 (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
2003 (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
2004 (WebCore::InspectorDOMDebuggerAgent::disable):
2005 (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
2006 (WebCore::InspectorDOMDebuggerAgent::discardBindings):
2007 (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
2008 (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
2009 (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
2010 (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
2011 (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
2012 (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
2013 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
2014 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
2015 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
2016 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
2017 (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
2018 (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
2019 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2020 (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
2021 (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
2022 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2023 (WebCore::InspectorDOMDebuggerAgent::clear):
2024 * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
2025 * inspector/InspectorInstrumentation.cpp:
2026 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2027 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2028 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2029 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2030 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2031 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2032 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2033 * inspector/InstrumentingAgents.h:
2034 (WebCore::InstrumentingAgents::InstrumentingAgents):
2035 (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
2036 (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
2037 * inspector/WorkerInspectorController.cpp:
2038 (WebCore::WorkerInspectorController::connectFrontend):
2040 2011-05-04 Yury Semikhatsky <yurys@chromium.org>
2042 Reviewed by Pavel Feldman.
2044 Web Inspector: show only Console and Scripts panels in worker inspector front-end
2045 https://bugs.webkit.org/show_bug.cgi?id=60159
2047 * inspector/front-end/WorkerManager.js:
2048 (WebInspector.WorkerManager.isWorkerFrontend):
2049 * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
2051 2011-05-03 Hans Wennborg <hans@chromium.org>
2053 Reviewed by Steve Block.
2055 IndexedDB: Unit tests for LevelDB key coding functions
2056 https://bugs.webkit.org/show_bug.cgi?id=59692
2058 Fix some embarrassing bugs uncovered by unit tests.
2060 No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
2062 * storage/IDBLevelDBCoding.cpp:
2063 (WebCore::IDBLevelDBCoding::decodeInt):
2064 (WebCore::IDBLevelDBCoding::decodeVarInt):
2066 2011-05-05 Young Han Lee <joybro@company100.net>
2068 Reviewed by Csaba Osztrogonác.
2070 [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
2071 https://bugs.webkit.org/show_bug.cgi?id=60251
2073 No new tests. Build fix.
2075 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2076 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2078 2011-05-04 Jay Civelli <jcivelli@chromium.org>
2080 Reviewed by Adam Barth.
2082 Adding a utility class to read a SharedBuffer line by line.
2083 https://bugs.webkit.org/show_bug.cgi?id=59946
2086 * GNUmakefile.list.am:
2089 * WebCore.vcproj/WebCore.vcproj:
2090 * WebCore.xcodeproj/project.pbxproj:
2091 * platform/SharedBufferCRLFLineReader.cpp: Added.
2092 * platform/SharedBufferCRLFLineReader.h: Added.
2094 2011-05-04 Sheriff Bot <webkit.review.bot@gmail.com>
2096 Unreviewed, rolling out r85788.
2097 http://trac.webkit.org/changeset/85788
2098 https://bugs.webkit.org/show_bug.cgi?id=60250
2100 svg/text/text-block-child-crash.xhtml asserts (Requested by
2103 * css/CSSStyleSelector.cpp:
2104 (WebCore::CSSStyleSelector::applyProperty):
2106 2011-05-04 Ryosuke Niwa <rniwa@webkit.org>
2108 Reviewed by Eric Seidel.
2110 Make more member functions in EventHandler private
2111 https://bugs.webkit.org/show_bug.cgi?id=60200
2113 Reduced the number of public member functions in EventHandler.
2116 * page/EventHandler.cpp:
2117 (WebCore::EventHandler::handleAutoscroll):
2118 (WebCore::EventHandler::autoscrollTimerFired):
2119 (WebCore::EventHandler::stopAutoscrollTimer):
2120 (WebCore::EventHandler::handleMousePressEvent):
2121 (WebCore::EventHandler::handleMouseMoveEvent):
2122 (WebCore::EventHandler::keyEvent):
2123 (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
2124 * page/EventHandler.h:
2125 (WebCore::EventHandler::mouseDownMayStartSelect):
2127 2011-05-04 James Robinson <jamesr@chromium.org>
2129 Reviewed by Kenneth Russell.
2131 [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
2132 https://bugs.webkit.org/show_bug.cgi?id=60202
2134 In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check. This switches
2135 the order back and adds a regression test.
2137 Test: compositing/repaint/transform-style-change.html
2139 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2140 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2142 2011-05-04 Cris Neckar <cdn@chromium.org>
2144 Reviewed by Adam Barth.
2146 Expose WebView directly through ChromeClient.
2147 https://bugs.webkit.org/show_bug.cgi?id=49902
2149 Test: fast/media/media-svg-crash.html
2151 * loader/EmptyClients.h:
2152 (WebCore::EmptyChromeClient::webView):
2153 * page/ChromeClient.h:
2154 * page/brew/ChromeClientBrew.h:
2155 (WebCore::ChromeClientBrew::webView):
2157 2011-05-04 Joseph Pecoraro <joepeck@webkit.org>
2159 Reviewed by Darin Adler.
2161 Unable to Paste After Deleting Text from Input due to -webkit-user-select
2162 https://bugs.webkit.org/show_bug.cgi?id=60219
2164 When deleting all the text inside the input a placeholder <br>
2165 element was inserted for the selection point. However, when
2166 pasting, the test run computes the -webkit-user-select for the
2167 <br> element, instead of what would be the text inside the
2168 <input> and incorrectly disallows selection and prevented
2171 Test: editing/pasteboard/paste-placeholder-input.html
2173 * editing/ReplaceSelectionCommand.cpp:
2174 (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
2175 <br> elements above us as those are likely placeholder elements.
2177 2011-05-04 Fridrich Strba <fridrich.strba@bluewin.ch>
2179 Reviewed by Martin Robinson.
2181 Windows build of WebKit GTK needs to be able to find SystemInfo.h
2182 https://bugs.webkit.org/show_bug.cgi?id=60221
2184 * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
2185 for headers, since Source/WebCore/platform/win/SystemInfo.h
2186 header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
2189 2011-05-04 Vangelis Kokkevis <vangelis@chromium.org>
2191 Reviewed by Kenneth Russell.
2193 [chromium] Improve sorting of layers in hierarchies that preserve-3d
2194 by testing for overlapping regions between layer pairs and doing a
2195 topological sort to determine the right order.
2196 https://bugs.webkit.org/show_bug.cgi?id=59255
2198 Test: platform/chromium/compositing/perpendicular-layer-sorting.html
2201 * platform/graphics/chromium/LayerRendererChromium.cpp:
2202 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2203 * platform/graphics/chromium/LayerRendererChromium.h:
2204 * platform/graphics/chromium/cc/CCLayerImpl.h:
2205 (WebCore::CCLayerImpl::clearRenderSurface):
2206 * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
2207 (WebCore::perpProduct):
2208 (WebCore::innerProduct):
2209 (WebCore::pointInColinearEdge):
2210 (WebCore::edgeEdgeTest):
2211 (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
2212 (WebCore::CCLayerSorter::LayerIntersector::go):
2213 (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
2214 (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
2215 (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
2216 (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
2217 (WebCore::CCLayerSorter::CCLayerSorter):
2218 (WebCore::CCLayerSorter::checkOverlap):
2219 (WebCore::CCLayerSorter::createGraphNodes):
2220 (WebCore::CCLayerSorter::createGraphEdges):
2221 (WebCore::CCLayerSorter::removeEdgeFromList):
2222 (WebCore::CCLayerSorter::sort):
2223 * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
2224 (WebCore::CCLayerSorter::GraphNode::GraphNode):
2225 (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
2227 2011-05-03 Jer Noble <jer.noble@apple.com>
2229 Reviewed by Antti Koivisto.
2231 Safari: Video at apple.com cannot play at full screen mode with layout distortion
2232 https://bugs.webkit.org/show_bug.cgi?id=60140
2234 Because a fullscreen element may be in a stacking context with a lower z-index than
2235 a sibling stacking context, those higher contexts would sometimes "pop" through the
2236 full screen renderer. To facilitate eliminating all the stacking contexts aside from
2237 the full screen renderer, added a new pseudo-class specific to video or audio full
2238 screen elements. Then, added a new UA rule which resets the z-index and opacities of
2239 all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
2240 identity checking of HTMLMediaElements, added isMediaElement() virtual function to
2241 Element and HTMLMediaElement.
2243 Test: fullscreen/full-screen-stacking-context.html
2245 * css/CSSSelector.cpp:
2246 (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
2247 (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
2248 (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
2249 * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
2250 * css/CSSStyleSelector.cpp:
2251 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
2252 * css/fullscreen.css:
2253 (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names,
2254 which were missing the -webkit prefix.
2255 (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
2257 (WebCore::Element::isMediaElement): Added, returns false.
2258 * html/HTMLMediaElement.h:
2259 (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
2260 * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
2262 2011-05-04 Levi Weintraub <leviw@chromium.org>
2264 Reviewed by Eric Seidel.
2266 Split findNextLineBreak into a LineBreaker class
2267 https://bugs.webkit.org/show_bug.cgi?id=60209
2269 Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
2270 nearly no state, but subsequent patches will move some of the local variables used throughout
2271 the nextLineBreak function into member variables to simplify breaking off helper functions from
2272 the bloated function.
2274 No new tests since this is just moving code around.
2276 * WebCore.xcodeproj/project.pbxproj:
2277 * rendering/RenderBlock.h:
2278 (WebCore::RenderBlock::LineBreaker::LineBreaker):
2279 (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
2280 (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
2281 (WebCore::RenderBlock::LineBreaker::clear): Ditto.
2282 * rendering/RenderBlockLineLayout.cpp:
2283 (WebCore::RenderBlock::layoutRunsAndFloats):
2284 (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
2285 (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
2286 (WebCore::RenderBlock::LineBreaker::reset):
2287 (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2289 2011-05-04 Fridrich Strba <fridrich.strba@bluewin.ch>
2291 Reviewed by Adam Barth.
2293 Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
2294 The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
2295 https://bugs.webkit.org/show_bug.cgi?id=58579
2297 * dom/XMLDocumentParserLibxml2.cpp:
2298 (WebCore::XMLDocumentParser::error):
2300 2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
2302 Unreviewed warning fix.
2304 The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
2305 a warning in Release build.
2308 (WebCore::Node::removeEventListener):
2309 * platform/DateComponents.cpp:
2310 (WebCore::DateComponents::parseTime):
2311 * rendering/RenderLayer.cpp:
2312 (WebCore::RenderLayer::convertToLayerCoords):
2313 * storage/StorageMap.cpp:
2314 (WebCore::StorageMap::importItem):
2315 * svg/SVGUseElement.cpp:
2316 (WebCore::SVGUseElement::buildShadowTree):
2317 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2319 2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
2321 Unreviewed warning fix.
2323 The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
2324 a warning in Release build.
2326 * accessibility/AccessibilityRenderObject.cpp:
2327 (WebCore::lastChildConsideringContinuation):
2329 2011-05-04 Dimitri Glazkov <dglazkov@chromium.org>
2331 Sort xcodeproj files.
2333 The WebCore.xcodeproj got out of sorts again.
2335 * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
2337 2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
2339 Reviewed by Adam Barth.
2343 * bindings/js/DOMObjectHashTableMap.h:
2344 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
2346 2011-05-04 Rob Buis <rbuis@rim.com>
2348 Reviewed by Darin Adler.
2350 NULL deref when SVG elements have table styles
2351 https://bugs.webkit.org/show_bug.cgi?id=45561
2353 Restrict computed CSS values for SVG display property to block, inline or none.
2355 Tests: svg/custom/display-table-caption-foreignObject.svg
2356 svg/custom/display-table-caption-inherit-foreignObject.xhtml
2357 svg/custom/display-table-caption-inherit-text.xhtml
2358 svg/custom/display-table-caption-text.svg
2360 * css/CSSStyleSelector.cpp:
2361 (WebCore::CSSStyleSelector::applyProperty):
2363 2011-05-04 Tao Bai <michaelbai@chromium.org>
2365 Reviewed by David Kilzer.
2367 Populate touch-icon url to FrameLoaderClient
2368 https://bugs.webkit.org/show_bug.cgi?id=59143
2370 Parsed and populated apple-touch-icon url to FrameLoaderClient.
2371 Changed favicon to be a type of icon.
2374 * Configurations/FeatureDefines.xcconfig:
2376 * GNUmakefile.list.am:
2378 * WebCore.vcproj/WebCore.vcproj:
2379 * WebCore.xcodeproj/project.pbxproj:
2381 (WebCore::Document::iconURL):
2382 (WebCore::Document::setIconURL):
2384 * dom/IconURL.cpp: Added.
2385 (WebCore::toIconIndex):
2386 * dom/IconURL.h: Added.
2387 (WebCore::IconURL::IconURL):
2389 * html/HTMLLinkElement.cpp:
2390 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2391 (WebCore::HTMLLinkElement::process):
2392 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
2393 * html/HTMLLinkElement.h:
2394 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
2395 (WebCore::HTMLLinkElement::isEnabledViaScript):
2396 * html/parser/HTMLPreloadScanner.cpp:
2397 (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
2398 * loader/DocumentLoader.cpp:
2399 (WebCore::DocumentLoader::iconURL):
2400 (WebCore::DocumentLoader::setIconURL):
2401 * loader/DocumentLoader.h:
2402 * loader/EmptyClients.h:
2403 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
2404 * loader/FrameLoader.cpp:
2405 (WebCore::FrameLoader::iconURL):
2406 (WebCore::FrameLoader::iconURLs):
2407 (WebCore::FrameLoader::fillIconURL):
2408 (WebCore::FrameLoader::getDefaultIconURL):
2409 (WebCore::FrameLoader::setIconURL):
2410 (WebCore::FrameLoader::didChangeIcons):
2411 * loader/FrameLoader.h:
2412 * loader/FrameLoaderClient.h:
2414 2011-05-04 Chris Marrin <cmarrin@apple.com>
2416 Reviewed by Simon Fraser.
2418 Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
2419 https://bugs.webkit.org/show_bug.cgi?id=60191
2421 Skip replaceSublayer when there is no superlayer rather than asserting.
2422 This is probably not a problem and happens when restructuring the layer
2423 tree. Avoiding this crash will allow us to get more testing.
2425 * platform/graphics/ca/GraphicsLayerCA.cpp:
2426 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2428 2011-05-04 Martin Robinson <mrobinson@igalia.com>
2430 Reviewed by Gustavo Noronha Silva.
2432 Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
2433 method, just use extern declarations to avoid having to declare it in the header.
2434 This will prevent having to include glib.h in RenderThemeGtk.h, which is included
2437 No new tests. This is just a build fix.
2439 * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
2440 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2441 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2442 (WebCore::RenderThemeGtk::paintCapsLockIndicator):
2443 (WebCore::RenderThemeGtk::paintMediaButton):
2444 * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
2445 gtkEntry() public because they are now accessed externally from getStockIcon().
2446 * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
2447 (WebCore::getStockIconForWidgetType):
2448 * platform/gtk/RenderThemeGtk3.cpp: Ditto.
2449 (WebCore::getStockIconForWidgetType):
2451 2011-05-04 Mark Pilgrim <pilgrim@chromium.org>
2453 Reviewed by Tony Chang.
2455 IndexedDB open (database) should fail if name is null
2456 https://bugs.webkit.org/show_bug.cgi?id=60022
2458 Test: storage/indexeddb/mozilla/open-database-null-name.html
2460 Combination problem: Bug in IDL didn't pass null values to .cpp layer,
2461 then .cpp layer didn't check for null value anyway.
2463 * storage/IDBFactory.cpp:
2464 (WebCore::IDBFactory::open): check for null name
2465 * storage/IDBFactory.idl: pass null name as null
2467 2011-05-04 Jer Noble <jer.noble@apple.com>
2469 Reviewed by Darin Adler.
2471 Entering full screen fails >= second time on Vimeo.com.
2472 https://bugs.webkit.org/show_bug.cgi?id=60143
2474 Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
2475 Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
2476 at the end of an animation, if it determined that the RenderFullScreen would still require
2477 a layer even when not animating.
2479 * rendering/RenderFullScreen.cpp:
2480 (RenderFullScreen::setAnimating): Clear the renderer's layer.
2482 2011-05-04 Simon Fraser <simon.fraser@apple.com>
2484 Reviewed by Darin Adler.
2486 Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
2487 https://bugs.webkit.org/show_bug.cgi?id=59849
2489 When attempting to unwind the graphics state stack in the
2490 CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
2491 to create a new ImageBuffer.
2493 * html/HTMLCanvasElement.cpp:
2494 (WebCore::HTMLCanvasElement::existingDrawingContext):
2495 * html/HTMLCanvasElement.h:
2496 * html/canvas/CanvasRenderingContext2D.cpp:
2497 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2499 2011-05-04 Andrey Kosyakov <caseq@chromium.org>
2501 Reviewed by Yury Semikhatsky.
2503 Web Inspector: expose shadow DOM in the Elements panel
2504 https://bugs.webkit.org/show_bug.cgi?id=60160
2506 Test: inspector/elements/shadow-dom.html
2509 (WebCore::Element::ensureShadowRoot):
2510 (WebCore::Element::removeShadowRoot):
2511 * inspector/Inspector.json:
2512 * inspector/InspectorDOMAgent.cpp:
2513 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2514 (WebCore::InspectorDOMAgent::buildObjectForNode):
2515 (WebCore::InspectorDOMAgent::didInsertDOMNode):
2516 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2517 (WebCore::InspectorDOMAgent::isContainerNode):
2518 * inspector/InspectorDOMAgent.h:
2519 * inspector/front-end/DOMAgent.js:
2520 (WebInspector.DOMNode):
2521 (WebInspector.DOMNode.prototype.inShadowTree):
2522 (WebInspector.DOMNode.prototype._setShadowRootPayload):
2523 (WebInspector.DOMNode.prototype._renumber):
2524 (WebInspector.DOMAgent.prototype._bindNodes):
2525 (WebInspector.DOMAgent.prototype.querySelectorAll):
2526 (WebInspector.DOMAgent.prototype._shadowRootUpdated):
2527 (WebInspector.DOMDispatcher.prototype.searchResults):
2528 (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
2529 * inspector/front-end/ElementsPanel.js:
2530 (WebInspector.ElementsPanel):
2531 (WebInspector.ElementsPanel.prototype._nodeUpdated):
2532 (WebInspector.ElementsPanel.prototype._attributesUpdated):
2533 (WebInspector.ElementsPanel.prototype._nodeRemoved):
2534 (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2535 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2536 * inspector/front-end/ElementsTreeOutline.js:
2537 (WebInspector.ElementsTreeElement):
2538 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2539 (WebInspector.ElementsTreeElement.prototype._updateChildren):
2541 * inspector/front-end/inspector.css:
2542 (#elements-content .dom-shadow-root):
2543 (.outline-disclosure li .webkit-html-tag.shadow):
2544 * inspector/front-end/utilities.js:
2546 2011-05-03 Adam Roben <aroben@apple.com>
2548 Remove an unnecessary OwnPtr equality check in XSLT code
2550 Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
2552 Reviewed by Anders Carlsson and Antti Koivisto.
2555 (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
2556 equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
2559 2011-05-04 Leandro Gracia Gil <leandrogracia@chromium.org>
2561 Reviewed by Tony Gentilcore.
2563 Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
2564 https://bugs.webkit.org/show_bug.cgi?id=56922
2566 Add the basic outlines of the page controller, the per-frame controller and the embedder
2567 client interface for the Media Stream API. Provide methods to handle the situations
2568 where a frame is detached from the page or transferred between pages.
2570 Tests for the Media Stream API will be provided by the bug 56587.
2573 * GNUmakefile.list.am:
2576 * WebCore.vcproj/WebCore.vcproj:
2577 * WebCore.xcodeproj/project.pbxproj:
2579 (WebCore::Frame::Frame):
2580 (WebCore::Frame::~Frame):
2581 (WebCore::Frame::pageDestroyed):
2582 (WebCore::Frame::transferChildFrameToNewDocument):
2584 (WebCore::Frame::mediaStreamFrameController):
2585 * page/MediaStreamClient.h: Added.
2586 (WebCore::MediaStreamClient::~MediaStreamClient):
2587 * page/MediaStreamController.cpp: Added.
2588 (WebCore::MediaStreamController::Request::Request):
2589 (WebCore::MediaStreamController::Request::localId):
2590 (WebCore::MediaStreamController::Request::frameController):
2591 (WebCore::MediaStreamController::MediaStreamController):
2592 (WebCore::MediaStreamController::~MediaStreamController):
2593 (WebCore::MediaStreamController::unregisterFrameController):
2594 (WebCore::MediaStreamController::registerRequest):
2595 * page/MediaStreamController.h: Added.
2596 * page/MediaStreamFrameController.cpp: Added.
2597 (WebCore::MediaStreamFrameController::Request::Request):
2598 (WebCore::MediaStreamFrameController::Request::~Request):
2599 (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
2600 (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
2601 (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
2602 (WebCore::MediaStreamFrameController::RequestMap::abort):
2603 (WebCore::MediaStreamFrameController::RequestMap::abortAll):
2604 (WebCore::MediaStreamFrameController::MediaStreamFrameController):
2605 (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
2606 (WebCore::MediaStreamFrameController::securityOrigin):
2607 (WebCore::MediaStreamFrameController::scriptExecutionContext):
2608 (WebCore::MediaStreamFrameController::pageController):
2609 (WebCore::MediaStreamFrameController::enterDetachedState):
2610 (WebCore::MediaStreamFrameController::disconnectPage):
2611 (WebCore::MediaStreamFrameController::disconnectFrame):
2612 (WebCore::MediaStreamFrameController::transferToNewPage):
2613 * page/MediaStreamFrameController.h: Added.
2615 (WebCore::Page::Page):
2616 (WebCore::Page::PageClients::PageClients):
2618 (WebCore::Page::mediaStreamController):
2620 2011-05-04 Alexander Pavlov <apavlov@chromium.org>
2622 Reviewed by Yury Semikhatsky.
2624 Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
2625 https://bugs.webkit.org/show_bug.cgi?id=60150
2627 * inspector/front-end/StylesSidebarPane.js:
2628 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
2630 2011-05-04 Dominic Battre <battre@chromium.org>
2632 Reviewed by Tony Gentilcore.
2634 Fix missing header in case SVG is disabled
2635 https://bugs.webkit.org/show_bug.cgi?id=60153
2637 * dom/EventDispatcher.cpp:
2639 2011-05-04 Luke Macpherson <macpherson@chromium.org>
2641 Reviewed by Eric Seidel.
2643 Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
2644 https://bugs.webkit.org/show_bug.cgi?id=60006
2646 No new tests as no functionality added. Simple rename only.
2648 * css/CSSStyleApplyProperty.cpp:
2649 Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
2650 * css/CSSStyleApplyProperty.h:
2651 Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
2653 2011-05-04 Ryosuke Niwa <rniwa@webkit.org>
2655 Reviewed by Eric Seidel.
2657 Cleanup conditionals in findNextLineBreak
2658 https://bugs.webkit.org/show_bug.cgi?id=60117
2660 Simplified conditional statements in findNextLineBreak.
2662 * rendering/RenderBlockLineLayout.cpp:
2663 (WebCore::RenderBlock::findNextLineBreak):
2665 2011-05-04 Luke Macpherson <macpherson@chromium.org>
2667 Reviewed by Eric Seidel.
2669 Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
2670 https://bugs.webkit.org/show_bug.cgi?id=60114
2672 No new tests as no functionality changes.
2674 * css/CSSStyleSelector.cpp:
2675 (WebCore::CSSStyleSelector::applyProperty):
2676 Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
2678 2011-05-04 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2680 Reviewed by Andreas Kling.
2682 [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
2683 https://bugs.webkit.org/show_bug.cgi?id=59070
2685 Applications using our API and our autotests subclass QNetworkReply as part of providing a
2686 custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
2687 QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
2688 4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
2690 The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
2691 watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
2692 indicating that it is finished. When there's no finished signal (synchronous) we set the
2693 dynamic property once we get the reply.
2695 This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
2696 emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
2698 * platform/network/qt/QNetworkReplyHandler.cpp:
2699 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
2700 Connect the finished signal to the new setFinished() slot.
2702 (WebCore::QNetworkReplyWrapper::synchronousLoad):
2703 Since we don't get the finished signal for synchronous loads, set the dynamic property
2704 before processing it.
2706 (WebCore::QNetworkReplyWrapper::resetConnections):
2707 Do not reset the connection to setFinished().
2709 (WebCore::QNetworkReplyWrapper::setFinished):
2710 Set the dynamic property in the reply.
2712 (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
2713 (WebCore::QNetworkReplyHandler::start):
2714 Change to use wrapper's isFinished() instead of asking the reply directly.
2716 * platform/network/qt/QNetworkReplyHandler.h:
2717 (WebCore::QNetworkReplyWrapper::isFinished):
2718 Checks the dynamic property of the reply.
2720 * platform/network/qt/QtMIMETypeSniffer.cpp:
2721 (QtMIMETypeSniffer::sniff):
2722 Use the dynamic property to check if the reply is finished.
2724 2011-05-04 Eric Seidel <eric@webkit.org>
2726 Reviewed by Ryosuke Niwa.
2728 Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
2729 https://bugs.webkit.org/show_bug.cgi?id=60080
2731 No functional change, just moving code.
2733 * rendering/RenderBlock.h:
2734 * rendering/RenderBlockLineLayout.cpp:
2735 (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
2736 (WebCore::RenderBlock::layoutRunsAndFloats):
2738 2011-05-04 Andreas Kling <andreas.kling@nokia.com>
2740 Reviewed by Kenneth Rohde Christiansen.
2742 [Qt] Remove unused function FontPlatformData::pixelSize()
2743 https://bugs.webkit.org/show_bug.cgi?id=60156
2745 * platform/graphics/qt/FontPlatformData.h:
2746 (WebCore::FontPlatformData::pixelSize): Removed.
2748 2011-05-04 Luke Macpherson <macpherson@chromium.org>
2750 Reviewed by Darin Adler.
2752 Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
2753 https://bugs.webkit.org/show_bug.cgi?id=60011
2755 No new tests added as no functionality changed.
2757 * css/CSSStyleSelector.cpp:
2758 (WebCore::CSSStyleSelector::applyProperty):
2759 Remove reundant check for auto table layout.
2761 2011-05-04 Mihai Parparita <mihaip@chromium.org>
2763 Reviewed by Darin Adler.
2765 Remove double-free checks for bug 56124
2766 https://bugs.webkit.org/show_bug.cgi?id=60037
2768 Antti's speculative fix for bug 56124 (r84151) appears to have worked,
2769 these CRASH() calls are not triggering anymore.
2771 * css/CSSSelector.h:
2772 (WebCore::CSSSelector::CSSSelector):
2773 (WebCore::CSSSelector::~CSSSelector):
2774 * css/CSSSelectorList.cpp:
2775 (WebCore::CSSSelectorList::deleteSelectors):
2777 2011-05-04 Satish Sampath <satish@chromium.org>
2779 Reviewed by Tony Gentilcore.
2781 Layout the speech input button to the left of outer spin button properly.
2782 https://bugs.webkit.org/show_bug.cgi?id=59742
2784 * rendering/RenderTextControlSingleLine.cpp:
2785 (WebCore::RenderTextControlSingleLine::layout):
2787 2011-05-04 Yury Semikhatsky <yurys@chromium.org>
2789 Unreviewed. Build fix.
2791 * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
2793 2011-05-03 Yury Semikhatsky <yurys@chromium.org>
2795 Reviewed by Pavel Feldman.
2797 Web Inspector: can't inspect element in an iframe when element originates from non-frame document
2798 https://bugs.webkit.org/show_bug.cgi?id=60031
2800 Inspected object type evaluation has moved into native bindings. This way it doesn't
2801 depend on the current JS context.
2803 Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
2805 * bindings/js/JSInjectedScriptHostCustom.cpp:
2806 (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
2807 real undefined values from HTMLAllCollection
2808 (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
2810 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2811 (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
2812 (WebCore::V8InjectedScriptHost::typeCallback):
2813 * inspector/InjectedScriptHost.idl:
2814 * inspector/InjectedScriptSource.js:
2817 2011-05-03 Pratik Solanki <psolanki@apple.com>
2819 Reviewed by Antti Koivisto.
2821 Part of WebCore should use CFNetwork-based loader on Mac
2822 https://bugs.webkit.org/show_bug.cgi?id=51836
2824 Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
2825 up some warnings and #if USE(CFNETWORK) around code.
2827 * platform/mac/CookieJar.mm:
2828 * platform/network/CookieStorage.h:
2829 * platform/network/cf/CookieStorageCFNet.cpp:
2830 (WebCore::privateBrowsingCookieStorage):
2831 (WebCore::currentCookieStorage):
2832 (WebCore::setCurrentCookieStorage):
2833 (WebCore::setCookieStoragePrivateBrowsingEnabled):
2834 (WebCore::notifyCookiesChangedOnMainThread):
2835 (WebCore::notifyCookiesChanged):
2836 * platform/network/cf/CookieStorageCFNet.h:
2837 * platform/network/mac/CookieStorageMac.mm:
2839 2011-05-03 Justin Novosad <junov@chromium.org>
2841 Reviewed by Kenneth Russell.
2843 [Chromium] Make accelerated 2d canvas enabled by default with skia
2844 https://bugs.webkit.org/show_bug.cgi?id=59929
2846 No new tests. Covered by existing layout tests
2848 * html/canvas/CanvasRenderingContext2D.cpp:
2849 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2850 Initialized for accelerated canvas if either the accelerated2dCanvas
2851 or the legacyAccelerated2dCanvas flags are enabled
2853 (WebCore::Page::sharedGraphicsContext3D):
2854 This is where the code goes to implement the functionality for the
2855 legacy vs current acceleration paths for the 2D canvas. Currently,
2856 this is a no-op, and always select the legacy path. This is temporary
2857 until we are ready to sort the GPU layout tests (rebasline vs. bug)
2858 * page/Settings.cpp: Added new flage for legacyAccelerated2dCanvas
2859 (WebCore::Settings::Settings):
2860 (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
2862 (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
2864 2011-04-29 Jer Noble <jer.noble@apple.com>
2866 Reviewed by Eric Seidel.
2868 Implement FULLSCREEN_API on Windows, Part 4: Enable it
2869 https://bugs.webkit.org/show_bug.cgi?id=59798
2871 * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
2872 files to the project.
2874 2011-05-03 Alpha Lam <hclam@chromium.org>
2876 Not reviewed. Build fix.
2878 More places from 0 to nullptr.
2880 * bindings/v8/V8Proxy.cpp:
2881 (WebCore::V8Proxy::precompileScript):
2882 * platform/graphics/chromium/LayerTilerChromium.cpp:
2883 (WebCore::LayerTilerChromium::create):
2884 * platform/graphics/gpu/BicubicShader.cpp:
2885 (WebCore::BicubicShader::create):
2886 * platform/graphics/gpu/ConvolutionShader.cpp:
2887 (WebCore::ConvolutionShader::create):
2888 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
2889 (WebCore::LoopBlinnSolidFillShader::create):
2890 * platform/graphics/gpu/SolidFillShader.cpp:
2891 (WebCore::SolidFillShader::create):
2892 * platform/graphics/gpu/TexShader.cpp:
2893 (WebCore::TexShader::create):
2894 * platform/graphics/skia/PlatformContextSkia.cpp:
2895 (WebCore::PlatformContextSkia::~PlatformContextSkia):
2896 * platform/leveldb/LevelDBDatabase.cpp:
2897 (WebCore::LevelDBDatabase::createIterator):
2898 * platform/text/LocalizedNumberICU.cpp:
2899 (WebCore::createFormatterForCurrentLocale):
2901 2011-05-03 Alpha Lam <hclam@chromium.org>
2903 Not reviewed. Build fix.
2905 Using nullptr instead of 0. This makes visual studio happy.
2907 * storage/IDBTransactionBackendInterface.h:
2909 2011-05-03 Luke Macpherson <macpherson@chromium.org>
2911 Reviewed by Dimitri Glazkov.
2913 Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
2914 https://bugs.webkit.org/show_bug.cgi?id=59774
2916 No new tests required as on new functionality.
2918 * css/CSSStyleApplyProperty.cpp:
2919 (WebCore::ApplyPropertyColor::applyValue):
2920 Added template parameter "inheritColorFromParent = false".
2921 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2922 Use template parameter where appropriate.
2924 2011-05-03 Dan Bernstein <mitz@apple.com>
2926 Reviewed by Darin Adler.
2928 <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
2930 Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
2931 dirty the line when the float is removed, instead of relying on the float always intersecting
2932 its originating line.
2934 * rendering/RenderBlock.cpp:
2935 (WebCore::RenderBlock::removeFloatingObject):
2936 (WebCore::RenderBlock::removeFloatingObjectsBelow):
2937 (WebCore::RenderBlock::clearFloats):
2938 * rendering/RenderBlock.h:
2939 (WebCore::RenderBlock::FloatingObject::FloatingObject):
2940 * rendering/RenderBlockLineLayout.cpp:
2941 (WebCore::RenderBlock::appendFloatingObjectToLastLine):
2942 (WebCore::RenderBlock::layoutRunsAndFloats):
2943 (WebCore::RenderBlock::determineStartPosition):
2945 2011-05-02 Jer Noble <jer.noble@apple.com>
2947 Reviewed by Adam Roben.
2949 Implement FULLSCREEN_API on Windows, Part 3: WebKit2
2950 https://bugs.webkit.org/show_bug.cgi?id=59845
2952 Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
2953 and WebKit2. WebFullScreenController now uses a Client class to request work on its
2954 behalf by WebKit and WebKit2. MediaPlayerPrivateFullscreenWindow now only creates a
2955 CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
2956 problems, and because a CALayerHost is overkill if the window is only drawing black to
2959 * WebCore.vcproj/WebCore.vcproj:
2960 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2961 (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create
2962 m_layerHost in the constructor.
2963 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
2964 (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
2965 (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
2966 not present, fill the window with black in WM_PAINT.
2967 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2968 * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
2969 * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
2970 * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
2971 (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
2973 2011-05-03 Brady Eidson <beidson@apple.com>
2975 Reviewed by Sam Weinig.
2977 https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
2978 WK2 Icon Database should provide access to all image representations in the icon.
2980 Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
2981 * platform/graphics/BitmapImage.h:
2982 * platform/graphics/Image.h:
2983 (WebCore::Image::getCGImageArray):
2984 * platform/graphics/cg/ImageCG.cpp:
2985 (WebCore::BitmapImage::getCGImageArray):
2987 2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
2989 Reviewed by Eric Seidel.
2991 findNextLineBreak splits InlineIterator into 3 pieces
2992 https://bugs.webkit.org/show_bug.cgi?id=60082
2994 Avoid splitting InlineIterator into 3 variables with inter-dependencies.
2996 * rendering/InlineIterator.h:
2997 (WebCore::InlineIterator::fastIncrementInTextNode): Added.
2998 (WebCore::InlineIterator::previousInSameNode): Added.
2999 * rendering/RenderBlockLineLayout.cpp:
3000 (WebCore::RenderBlock::findNextLineBreak):
3002 2011-05-03 Dean Jackson <dino@apple.com>
3004 Reviewed by Simon Fraser.
3006 Interrupted transitions are not correctly removed
3007 https://bugs.webkit.org/show_bug.cgi?id=60062
3009 CompositeAnimation was replacing any existing
3010 transition as a new one was created. However, it wasn't
3011 clearing the lists in AnimationControllerPrivate that
3012 signal when a hardware animation starts. Rather than
3013 simple removing the existing transition, we now tell
3014 AnimationControllerPrivate that is has gone.
3016 Test: transitions/3d/interrupted-transition.html
3018 * page/animation/CompositeAnimation.cpp:
3019 (WebCore::CompositeAnimation::updateTransitions):
3021 2011-05-03 Enrica Casucci <enrica@apple.com>
3023 Reviewed by Ryosuke Niwa.
3025 Crash in SpellingCorrectionController::respondToChangedSelection.
3026 https://bugs.webkit.org/show_bug.cgi?id=60071
3027 <rdar://problem/9358190>
3029 Creating a Visible position could trigger a layout and there is no
3030 guarantee that the selection is still valid after that.
3032 Tests: editing/selection/undo-crash.html
3034 * editing/SpellingCorrectionController.cpp:
3035 (WebCore::SpellingCorrectionController::respondToChangedSelection):
3037 2011-05-03 Levi Weintraub <leviw@chromium.org>
3039 Reviewed by Eric Seidel.
3041 Refactor computeInlineDirectionPositionsForLine into smaller functions
3042 https://bugs.webkit.org/show_bug.cgi?id=60072
3044 Split three functions off from computeInlineDirectionPositionsForLine
3045 to improve its readability.
3047 No new tests since this is just moving code around.
3049 * rendering/RenderBlock.h:
3050 * rendering/RenderBlockLineLayout.cpp:
3051 (WebCore::RenderBlock::setMarginsForRubyRun):
3052 (WebCore::setLogicalWidthForTextRun):
3053 (WebCore::computeExpansionForJustifiedText):
3054 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3056 2011-05-03 David Kilzer <ddkilzer@apple.com>
3058 <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
3060 Reviewed by Antti Koivisto.
3062 * platform/network/cf/ResourceRequestCFNet.cpp:
3063 (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
3064 priority on the request if HTTP pipelining is enabled.
3065 (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
3066 priority from the request if HTTP pipelining is enabled.
3067 (readBooleanPreference): Enable code when compiling with
3069 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
3070 Comment out setting the minimum fast lane priority on Windows
3071 since it's not currently available.
3073 2011-05-03 Simon Fraser <simon.fraser@apple.com>
3075 Reviewed by Dan Bernstein.
3077 <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
3079 Conditionalize compositing tiled layer size-constraining logic to older
3082 * platform/graphics/ca/GraphicsLayerCA.cpp:
3083 (WebCore::GraphicsLayerCA::constrainedSize):
3085 2011-05-03 Roland Steiner <rolandsteiner@chromium.org>
3087 Reviewed by Dimitri Glazkov.
3089 Allow access keys to be used in shadow DOM
3090 https://bugs.webkit.org/show_bug.cgi?id=59979
3092 Move access key methods and members back to Document from TreeScope.
3093 Also traverse into shadow trees when building the access key map.
3095 No new tests. (refactoring)
3098 (WebCore::Document::Document):
3099 (WebCore::Document::getElementByAccessKey):
3100 (WebCore::Document::buildAccessKeyMap):
3101 (WebCore::Document::invalidateAccessKeyMap):
3103 * dom/TreeScope.cpp:
3104 (WebCore::TreeScope::TreeScope):
3105 (WebCore::TreeScope::destroyTreeScopeData):
3108 2011-05-03 Dan Bernstein <mitz@apple.com>
3110 Reviewed by Darin Adler.
3112 <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
3113 https://bugs.webkit.org/show_bug.cgi?id=60067
3115 No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
3117 * rendering/RenderText.cpp:
3118 (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
3119 and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
3120 results for flipped writing modes.
3122 2011-05-03 Anton Muhin <antonm@chromium.org>
3124 Reviewed by Yury Semikhatsky.
3126 [v8] remove an ASSERT from grouping logic
3127 https://bugs.webkit.org/show_bug.cgi?id=60024
3129 This ASSERT was exploratory. Alas, right now I am aware of no easy way to
3130 repro it. Removing for now for greener bots.
3132 No new tests, only an ASSERT removal.
3134 * bindings/v8/V8GCController.cpp:
3135 (WebCore::calculateGroupId):
3137 2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
3139 Reviewed by Darin Adler.
3141 WebKit allows selection that crosses the shadow boundary of a readonly input element
3142 https://bugs.webkit.org/show_bug.cgi?id=60000
3144 The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
3145 Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
3146 in its validation process.
3148 Tests: editing/selection/select-across-readonly-input-1.html
3149 editing/selection/select-across-readonly-input-2.html
3150 editing/selection/select-across-readonly-input-3.html
3151 editing/selection/select-across-readonly-input-4.html
3152 editing/selection/select-across-readonly-input-5.html
3154 * editing/VisibleSelection.cpp:
3155 (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
3156 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
3157 * editing/VisibleSelection.h:
3159 2011-05-03 Eric Seidel <eric@webkit.org>
3161 Reviewed by Ryosuke Niwa.
3163 Split out layoutRunsAndFloats from layoutInlineChildren
3164 https://bugs.webkit.org/show_bug.cgi?id=60052
3166 No new tests, just moving code here. There should be
3167 no change in behavior.
3169 * rendering/RenderBlock.h:
3170 * rendering/RenderBlockLineLayout.cpp:
3171 (WebCore::RenderBlock::layoutRunsAndFloats):
3172 (WebCore::RenderBlock::layoutInlineChildren):
3174 2011-05-03 James Robinson <jamesr@chromium.org>
3176 Reviewed by Kenneth Russell.
3178 [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
3179 https://bugs.webkit.org/show_bug.cgi?id=59965
3181 Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
3183 Test: fast/canvas/canvas-resize-after-paint.html
3185 * html/canvas/CanvasRenderingContext2D.cpp:
3186 (WebCore::CanvasRenderingContext2D::reset):
3187 Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
3188 DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
3189 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3190 (WebCore::Canvas2DLayerChromium::setLayerRenderer):
3191 Add a null check for m_drawingBuffer
3192 * platform/graphics/gpu/DrawingBuffer.cpp:
3193 (WebCore::DrawingBuffer::clear):
3194 Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
3195 this is unnecessary.
3197 2011-05-03 Adam Roben <aroben@apple.com>
3199 Fix most strict PassOwnPtr violations on Windows
3201 Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
3204 Reviewed by Anders Carlsson.
3206 * loader/EmptyClients.h:
3207 * platform/GeolocationService.cpp:
3208 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3209 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3210 * platform/mock/GeolocationServiceMock.cpp:
3211 * rendering/RenderTheme.cpp:
3212 * rendering/RenderThemeSafari.cpp:
3214 2011-05-03 Levi Weintraub <leviw@chromium.org>
3216 Reviewed by Eric Seidel.
3218 Extract LineInfo class
3219 https://bugs.webkit.org/show_bug.cgi?id=60044
3221 Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
3222 layout information about a line. This simplifies function signatures and clears up initialization.
3224 No new tests as this is refactoring.
3226 * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
3227 * rendering/RenderBlockLineLayout.cpp:
3228 (WebCore::LineInfo::LineInfo):
3229 (WebCore::LineInfo::isFirstLine):
3230 (WebCore::LineInfo::isLastLine):
3231 (WebCore::LineInfo::isEmpty):
3232 (WebCore::LineInfo::previousLineBrokeCleanly):
3233 (WebCore::LineInfo::setFirstLine):
3234 (WebCore::LineInfo::setLastLine):
3235 (WebCore::LineInfo::setEmpty):
3236 (WebCore::LineInfo::setPreviousLineBrokeCleanly):
3237 (WebCore::RenderBlock::createLineBoxes):
3238 (WebCore::RenderBlock::constructLine):
3239 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3240 (WebCore::RenderBlock::layoutInlineChildren):
3241 (WebCore::RenderBlock::determineStartPosition):
3242 (WebCore::skipNonBreakingSpace):
3243 (WebCore::shouldCollapseWhiteSpace):
3244 (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
3245 (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
3246 (WebCore::RenderBlock::skipTrailingWhitespace):
3247 (WebCore::RenderBlock::skipLeadingWhitespace):
3248 (WebCore::RenderBlock::findNextLineBreak):
3250 2011-05-03 Roland Steiner <rolandsteiner@chromium.org>
3252 Reviewed by Dimitri Glazkov.
3254 Update node list cache count on the containing TreeScope rather than the Document
3255 https://bugs.webkit.org/show_bug.cgi?id=59983
3257 Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
3258 Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
3259 Make setDocument() and setDocumentRecursively() private.
3261 No new tests. (refactoring)
3263 * dom/ContainerNode.cpp:
3264 (WebCore::ContainerNode::childrenChanged):
3266 (WebCore::Node::~Node):
3267 (WebCore::Node::setDocument):
3268 (WebCore::Node::setTreeScopeRecursively):
3269 (WebCore::Node::childNodes):
3270 (WebCore::Node::registerDynamicNodeList):
3271 (WebCore::Node::unregisterDynamicNodeList):
3272 (WebCore::Node::notifyLocalNodeListsAttributeChanged):
3273 (WebCore::Node::notifyLocalNodeListsChildrenChanged):
3274 (WebCore::Node::getElementsByTagName):
3275 (WebCore::Node::getElementsByTagNameNS):
3276 (WebCore::Node::getElementsByName):
3277 (WebCore::Node::getElementsByClassName):
3279 * html/HTMLFormControlElement.cpp:
3280 (WebCore::HTMLFormControlElement::labels):
3282 2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
3284 Reviewed by Eric Seidel.
3286 Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
3287 https://bugs.webkit.org/show_bug.cgi?id=60046
3289 Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
3291 * rendering/RenderBlockLineLayout.cpp:
3292 (WebCore::TrailingObjects::TrailingObjects):
3293 (WebCore::TrailingObjects::setTrailingWhitespace):
3294 (WebCore::TrailingObjects::clear):
3295 (WebCore::TrailingObjects::appendBoxIfNeeded):
3296 (WebCore::TrailingObjects::addMidpoints):
3297 (WebCore::RenderBlock::findNextLineBreak):
3299 2011-05-03 Igor Oliveira <igor.oliveira@openbossa.org>
3301 Reviewed by Eric Seidel.
3303 [Qt] Implement initial support to DataTransferItems
3304 https://bugs.webkit.org/show_bug.cgi?id=58448
3306 Implement initial support to DataTransferItems. DataTransferItems are used to
3307 hold data for drag and drop operations. DataTransferItems hold a list of
3308 DataTransferItem objects each of which holds an item being dragged.
3311 * dom/DataTransferItems.idl:
3312 * editing/qt/EditorQt.cpp:
3313 (WebCore::Editor::newGeneralClipboard):
3314 * page/qt/EventHandlerQt.cpp:
3315 (WebCore::EventHandler::createDraggingClipboard):
3316 * platform/chromium/DataTransferItemsChromium.h:
3317 * platform/qt/ClipboardQt.cpp:
3318 (WebCore::Clipboard::create):
3319 (WebCore::ClipboardQt::ClipboardQt):
3320 (WebCore::ClipboardQt::items):
3321 * platform/qt/ClipboardQt.h:
3322 (WebCore::ClipboardQt::create):
3323 * platform/qt/DataTransferItemQt.cpp: Added.
3324 (WebCore::DataTransferItem::create):
3325 (WebCore::DataTransferItemQt::createFromPasteboard):
3326 (WebCore::DataTransferItemQt::create):
3327 (WebCore::DataTransferItemQt::DataTransferItemQt):
3328 (WebCore::DataTransferItemQt::getAsString):
3329 (WebCore::DataTransferItemQt::getAsFile):
3330 * platform/qt/DataTransferItemQt.h: Added.
3331 * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
3332 (WebCore::DataTransferItemsQt::create):
3333 (WebCore::DataTransferItemsQt::DataTransferItemsQt):
3334 (WebCore::DataTransferItemsQt::addPasteboardItem):
3335 * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
3337 2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
3339 Reviewed by Dimitri Glazkov.
3341 Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
3342 https://bugs.webkit.org/show_bug.cgi?id=58703
3344 No new tests, refactoring only.
3347 (WebCore::Element::copyNonAttributeProperties):
3348 (WebCore::Element::insertedIntoDocument):
3349 (WebCore::Element::removedFromDocument):
3350 (WebCore::Element::insertedIntoTree):
3351 (WebCore::Element::removedFromTree):
3352 (WebCore::Element::attach):
3353 (WebCore::Element::detach):
3354 (WebCore::Element::recalcStyle):
3355 (WebCore::Element::shadowRoot):
3356 (WebCore::Element::ensureShadowRoot):
3357 (WebCore::Element::childrenChanged):
3359 (WebCore::Node::setTreeScopeRecursively):
3360 (WebCore::shadowRoot):
3361 (WebCore::Node::setDocumentRecursively):
3362 (WebCore::NodeRendererFactory::findVisualParent):
3363 Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
3366 * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
3368 * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
3370 * html/HTMLDetailsElement.cpp:
3371 * html/HTMLSummaryElement.cpp:
3372 Added #include for ShadowRoot.h.
3374 2011-05-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3376 Reviewed by Kenneth Rohde Christiansen.
3378 [EFL] Implement mediaSliderTrack
3379 https://bugs.webkit.org/show_bug.cgi?id=59998
3381 Implement paintMediaSliderTrack.
3383 * platform/efl/RenderThemeEfl.cpp:
3384 (WebCore::RenderThemeEfl::RenderThemeEfl):
3385 (WebCore::RenderThemeEfl::paintMediaSliderTrack):
3386 * platform/efl/RenderThemeEfl.h:
3388 2011-05-03 Mikhail Naganov <mnaganov@chromium.org>
3390 Reviewed by Pavel Feldman.
3392 WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
3393 https://bugs.webkit.org/show_bug.cgi?id=60023
3395 * inspector/front-end/DetailedHeapshotGridNodes.js:
3396 (WebInspector.HeapSnapshotConstructorNode):
3397 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
3398 * inspector/front-end/HeapSnapshot.js:
3399 (WebInspector.HeapSnapshot.prototype.dispose):
3400 (WebInspector.HeapSnapshot.prototype.aggregates):
3401 (WebInspector.HeapSnapshot.prototype._buildAggregates):
3402 (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
3403 (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
3404 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3405 (WebInspector.HeapSnapshotNodesProvider):
3406 * inspector/front-end/HeapSnapshotProxy.js:
3407 (WebInspector.HeapSnapshotProxy.prototype.aggregates):
3408 (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
3410 2011-05-03 Mikhail Naganov <mnaganov@chromium.org>
3412 Reviewed by Pavel Feldman.
3414 WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
3415 https://bugs.webkit.org/show_bug.cgi?id=60029
3417 * English.lproj/localizedStrings.js:
3418 * inspector/front-end/DetailedHeapshotView.js:
3419 (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
3420 (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
3422 2011-05-03 Beth Dakin <bdakin@apple.com>
3424 Reviewed by Dan Bernstein.
3426 https://bugs.webkit.org/show_bug.cgi?id=60045
3427 Scrollbar thumb sometimes leaves artifacts in the track after scrolling
3429 <rdar://problem/9015376>
3431 When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should
3433 * platform/mac/ScrollbarThemeMac.mm:
3434 (WebCore::updateArrowPlacement):
3436 2011-05-03 David Hyatt <hyatt@apple.com>
3438 Reviewed by Dan Bernstein.
3440 https://bugs.webkit.org/show_bug.cgi?id=60040
3441 <rdar://problem/9261591>
3443 Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
3444 a translation of a 0,0 point to absolute coordinates so that the top left position is
3447 Added fast/inline/skipped-whitespace-client-rect.html
3449 * rendering/RenderInline.cpp:
3450 (WebCore::RenderInline::culledInlineAbsoluteQuads):
3452 2011-05-03 Sam Weinig <sam@webkit.org>
3456 * page/Settings.cpp:
3458 2011-05-02 Roland Steiner <rolandsteiner@chromium.org>
3460 Reviewed by Dimitri Glazkov.
3462 Bug 59974 - Update image map on the containing TreeScope rather than the Document
3463 https://bugs.webkit.org/show_bug.cgi?id=59974
3465 No new tests. (reefactoring)
3467 * html/HTMLMapElement.cpp:
3468 (WebCore::HTMLMapElement::parseMappedAttribute):
3469 (WebCore::HTMLMapElement::insertedIntoDocument):
3470 (WebCore::HTMLMapElement::removedFromDocument):
3471 * rendering/RenderImage.cpp:
3472 (WebCore::RenderImage::imageMap):
3474 2011-05-03 Sam Weinig <sam@webkit.org>
3478 * loader/HistoryController.cpp:
3480 2011-05-02 Roland Steiner <rolandsteiner@chromium.org>