1 2012-01-27 Zeno Albisser <zeno@webkit.org>
3 [Qt][Mac] Build fails after adding ICU support (r105997).
4 https://bugs.webkit.org/show_bug.cgi?id=77118
6 Use SmareReplaceCF.cpp code path if platform Mac.
8 Reviewed by Tor Arne Vestbø.
12 2012-01-27 Ilya Tikhonovsky <loislo@chromium.org>
14 Web Inspector: detailed heap snapshot: Replace (Native objects) root element
15 with '(Detached DOM trees)' and '(Document DOM trees)'
16 https://bugs.webkit.org/show_bug.cgi?id=77201
18 I think it'd be nice to replace one group containing all native objects with
19 separate groups for different types of native objects.
21 Reviewed by Yury Semikhatsky.
23 * bindings/v8/RetainedDOMInfo.cpp:
24 (WebCore::RetainedDOMInfo::GetGroupLabel):
26 * bindings/v8/RetainedDOMInfo.h:
29 2012-01-27 Nikolas Zimmermann <nzimmermann@rim.com>
31 <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
32 https://bugs.webkit.org/show_bug.cgi?id=77205
34 Reviewed by Antti Koivisto.
36 Consider following testcase:
37 <svg width="1000" height="500">
39 <circle id="c" cx="50%" cy="50%" r="10%"/>
40 <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
41 <feImage xlink:href="#c"/>
44 <rect width="100" height="100" filter="url(#f)"/>
47 The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
48 as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
49 in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
51 That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
52 the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
53 middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
54 the 100x100 sized image buffer.
56 So how to resolve this?
57 The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
58 resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
59 to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
60 SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
61 This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
62 subtree to an image buffer.
64 The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
65 center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
66 subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
67 <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
68 resolve only cx against the new viewport, and not cy.
70 Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
71 that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
72 back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
73 using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
75 Adding lots of new testcases, trying all the different feImage modes.
77 Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
78 svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
79 svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
80 svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
81 svg/filters/feImage-position.svg
82 svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
83 svg/filters/feImage-subregions-preseveAspectRatio-none.svg
84 svg/filters/feImage-subregions.svg
86 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
87 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
88 * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
89 * svg/graphics/filters/SVGFEImage.cpp:
90 (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
91 (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
92 Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
93 * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.
95 2012-01-26 Vsevolod Vlasov <vsevik@chromium.org>
97 Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
98 https://bugs.webkit.org/show_bug.cgi?id=77126
100 Reviewed by Pavel Feldman.
102 * inspector/front-end/ScriptsPanel.js:
103 (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
104 (WebInspector.ScriptsPanel.prototype._reset):
105 (WebInspector.ScriptsPanel.prototype._showSourceLine):
106 (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
107 (WebInspector.ScriptsPanel.prototype._editorClosed):
108 (WebInspector.ScriptsPanel.prototype._editorSelected):
109 (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
110 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
111 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
112 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
113 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
114 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
115 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
116 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
117 * inspector/front-end/TabbedEditorContainer.js:
118 (WebInspector.TabbedEditorContainer):
119 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
120 (WebInspector.TabbedEditorContainer.prototype._tabSelected):
121 (WebInspector.TabbedEditorContainer.prototype.reset):
123 2012-01-27 Nikolas Zimmermann <nzimmermann@rim.com>
125 <feImage> DOM mutation problems
126 https://bugs.webkit.org/show_bug.cgi?id=77198
128 Reviewed by Antti Koivisto.
130 Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
131 Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
133 Integrate <feImage> properly within the pending resources concept, fixing the bug.
135 Tests: svg/filters/feImage-target-add-to-document.svg
136 svg/filters/feImage-target-changes-id.svg
137 svg/filters/feImage-target-id-change.svg
138 svg/filters/feImage-target-reappend-to-document.svg
139 svg/filters/feImage-target-remove-from-document.svg
141 * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
142 (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
143 (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
144 (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
145 (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
146 (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
147 (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
148 (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
149 (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
150 (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
151 * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.
153 2012-01-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
155 [Qt] WKTR: Use a software rendering pipiline when running tests.
156 https://bugs.webkit.org/show_bug.cgi?id=76708
158 Reviewed by Kenneth Rohde Christiansen.
160 * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
161 (WebCore::TextureMapperQt::setGraphicsContext):
162 * platform/graphics/qt/TextureMapperQt.h:
163 (WebCore::TextureMapperQt::initialize):
165 2012-01-27 Branimir Lambov <blambov@google.com>
167 SVG filters incorrectly move elements
168 https://bugs.webkit.org/show_bug.cgi?id=73643
170 Reviewed by Nikolas Zimmermann.
172 Fixes SVG image buffer creation to use the enclosing integer rect
173 instead of unstable rounded coordinates with scaling which was causing
174 animated images to jump around under filters. The image buffer was not
175 aligned on a pixel boundary, and thus the positions and sizes of anything
176 drawn under that filter changed by 1-2 pixels compared to the same
177 elements drawn without an intermediate buffer, or drawn with a buffer
178 with a different target rectangle.
180 The change improves the positioning of clip paths, masks and filters.
182 Tests: svg/clip-path/clip-in-clip.svg
183 svg/clip-path/clipper-placement-issue.svg
184 svg/filters/filter-placement-issue.svg
186 * platform/graphics/filters/FETile.cpp:
187 (WebCore::FETile::platformApplySoftware):
188 * rendering/svg/RenderSVGResourceClipper.cpp:
189 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
190 * rendering/svg/RenderSVGResourceFilter.cpp:
191 (WebCore::RenderSVGResourceFilter::applyResource):
192 * rendering/svg/RenderSVGResourceGradient.cpp:
193 (WebCore::createMaskAndSwapContextForTextGradient):
194 (WebCore::clipToTextMask):
195 * rendering/svg/RenderSVGResourceMasker.cpp:
196 (WebCore::RenderSVGResourceMasker::applyResource):
197 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
198 * rendering/svg/RenderSVGResourcePattern.cpp:
199 (WebCore::RenderSVGResourcePattern::createTileImage):
200 * rendering/svg/SVGImageBufferTools.cpp:
201 (WebCore::SVGImageBufferTools::createImageBuffer):
202 (WebCore::SVGImageBufferTools::createImageBufferForPattern):
203 (WebCore::SVGImageBufferTools::clipToImageBuffer):
204 (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
205 (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
206 * rendering/svg/SVGImageBufferTools.h:
207 (WebCore::SVGImageBufferTools::calcImageBufferRect):
209 2012-01-25 Yury Semikhatsky <yurys@chromium.org>
211 Web Inspector: should be possible to open function declaration from script popover
212 https://bugs.webkit.org/show_bug.cgi?id=76913
214 Added inferred/display function name and source location to the popover in scripts panel.
215 Now when a function is hovered user can navigate to its definition.
217 Reviewed by Pavel Feldman.
219 Test: inspector/debugger/function-details.html
221 * bindings/js/JSInjectedScriptHostCustom.cpp:
222 (WebCore::JSInjectedScriptHost::functionDetails):
223 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
224 (WebCore::V8InjectedScriptHost::functionDetailsCallback):
225 * inspector/InjectedScript.cpp:
226 (WebCore::InjectedScript::getFunctionDetails):
227 * inspector/InjectedScript.h:
229 * inspector/InjectedScriptHost.idl:
230 * inspector/InjectedScriptSource.js:
232 * inspector/Inspector.json:
233 * inspector/InspectorDebuggerAgent.cpp:
234 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
235 * inspector/InspectorDebuggerAgent.h:
236 (InspectorDebuggerAgent):
237 * inspector/front-end/DebuggerPresentationModel.js:
238 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
239 * inspector/front-end/ObjectPopoverHelper.js:
240 (WebInspector.ObjectPopoverHelper):
241 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
242 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
243 (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
244 * inspector/front-end/ObjectPropertiesSection.js:
245 (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
246 (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
247 * inspector/front-end/RemoteObject.js:
248 (WebInspector.RemoteObject):
249 (WebInspector.RemoteObject.fromPayload):
250 (WebInspector.RemoteObject.prototype.get functionName):
251 * inspector/front-end/scriptsPanel.css:
252 (.function-location-link):
253 (.function-popover-title):
254 (.function-popover-title .function-name):
256 2012-01-26 Noel Gordon <noel.gordon@gmail.com>
258 Remove FIXME: ColorProfile encapsulation as a Vector<char> works well
259 https://bugs.webkit.org/show_bug.cgi?id=77176
261 Reviewed by Adam Barth.
263 No new tests. No change in behavior.
265 * platform/image-decoders/ImageDecoder.h:
267 2012-01-26 Matthew Delaney <mdelaney@apple.com>
269 ImageBuffer::draw should deep copy if drawing to an accelerated context
270 https://bugs.webkit.org/show_bug.cgi?id=77185
272 Reviewed by Simon Fraser.
274 No new tests since any test for this issue would be flaky at best.
276 * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
277 an accelerated context for both draw and drawPattern.
278 (WebCore::ImageBuffer::draw):
279 (WebCore::ImageBuffer::drawPattern):
281 2012-01-26 Kevin Ollivier <kevino@theolliviers.com>
283 [wx] Unreviewed. Build fixes.
284 - Remove some constructors not generated by CPP bindings
285 from being added to CPP binding headers
286 - Keyboard event fixes after modifier changes
287 - Add stubs for Language and RunLoop platform methods
289 * bindings/scripts/CodeGeneratorCPP.pm:
290 (GetNamespaceForClass):
291 (GenerateImplementation):
292 * platform/mac/WebCoreSystemInterface.h:
293 * platform/wx/KeyboardEventWx.cpp:
294 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
295 * platform/wx/LanguageWx.cpp: Added.
297 (WebCore::platformLanguage):
298 (WebCore::platformUserPreferredLanguages):
299 * platform/wx/RunLoopWx.cpp: Added.
301 (WebCore::RunLoop::run):
302 (WebCore::RunLoop::stop):
303 (WebCore::RunLoop::RunLoop):
304 (WebCore::RunLoop::~RunLoop):
305 (WebCore::RunLoop::wakeUp):
306 * storage/DOMWindowSQLDatabase.idl:
307 * webaudio/DOMWindowWebAudio.idl:
308 * websockets/DOMWindowWebSocket.idl:
310 2012-01-26 Sheriff Bot <webkit.review.bot@gmail.com>
312 Unreviewed, rolling out r105486.
313 http://trac.webkit.org/changeset/105486
314 https://bugs.webkit.org/show_bug.cgi?id=77182
316 This patch doesn't take web workers into account. (Requested
317 by dave_levin on #webkit).
320 (WebCore::DOMURL::DOMURL):
321 (WebCore::DOMURL::~DOMURL):
322 (WebCore::DOMURL::contextDestroyed):
324 (WebCore::DOMURL::createObjectURL):
325 (WebCore::DOMURL::revokeObjectURL):
327 (WebCore::DOMURL::create):
330 * page/DOMWindow.cpp:
332 (WebCore::DOMWindow::webkitURL):
336 * page/DOMWindow.idl:
337 * workers/WorkerContext.cpp:
339 (WebCore::WorkerContext::webkitURL):
340 (WebCore::WorkerContext::webkitRequestFileSystem):
341 * workers/WorkerContext.h:
344 * workers/WorkerContext.idl:
346 2012-01-26 Noel Gordon <noel.gordon@gmail.com>
348 Cleanup JPEGImageDecoder includes
349 https://bugs.webkit.org/show_bug.cgi?id=77171
351 Reviewed by Adam Barth.
353 No new tests. Refactoring cleanup only.
355 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
357 2012-01-26 Tim Horton <hortont424@gmail.com>
359 3D transformed elements hide when showing the print dialog
360 https://bugs.webkit.org/show_bug.cgi?id=45894
361 <rdar://problem/7441593>
363 Reviewed by Andy Estes.
365 Suspend updates of the compositing layer tree while printing is taking place,
366 preventing on-screen layers from moving to their print-mode positions.
368 No new tests, as WebKitTestRunner doesn't support putting the document
371 * page/FrameView.cpp:
372 (WebCore::FrameView::syncCompositingStateForThisFrame):
373 (WebCore::FrameView::paintContents):
374 * platform/graphics/ca/LayerFlushScheduler.h:
375 (WebCore::LayerFlushScheduler::isSuspended): Added.
377 2012-01-26 Pablo Flouret <pablof@motorola.com>
379 Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
380 https://bugs.webkit.org/show_bug.cgi?id=77165
382 Reviewed by Oliver Hunt.
384 Missing parameter in a call to deserialize() and using 'this' in the
385 attribute accessor functions (which are static).
387 * bindings/scripts/CodeGeneratorJS.pm:
388 (GenerateImplementation):
390 * bindings/scripts/test/JS/JSTestObj.cpp:
391 (WebCore::jsTestObjCachedAttribute1):
392 (WebCore::jsTestObjCachedAttribute2):
393 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
394 (WebCore::jsTestSerializedScriptValueInterfaceValue):
396 2012-01-26 W. James MacLean <wjmaclean@chromium.org>
398 [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
399 https://bugs.webkit.org/show_bug.cgi?id=76349
401 Reviewed by James Robinson.
403 Prior to this patch, draw culling either rejects a DrawQuad because it is completely
404 occluded, or draws the entire quad (even if it is largely occluded). This patch
405 attempts to reduce the number of pixels drawn by determining if a partially
406 occluded DrawQuad can be resized to a smaller quad, based on what portion of the
407 DrawQuad is actually visible, and performing that resizing where possible.
409 Added cases to existing unit tests.
411 * platform/graphics/chromium/LayerRendererChromium.cpp:
412 (WebCore::LayerRendererChromium::drawTileQuad):
413 * platform/graphics/chromium/cc/CCDrawQuad.cpp:
414 (WebCore::CCDrawQuad::CCDrawQuad):
415 * platform/graphics/chromium/cc/CCDrawQuad.h:
416 (WebCore::CCDrawQuad::setQuadVisibleRect):
417 (WebCore::CCDrawQuad::quadVisibleRect):
418 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
419 (WebCore::rectSubtractRegion):
420 (WebCore::CCQuadCuller::cullOccludedQuads):
422 2012-01-26 Anders Carlsson <andersca@apple.com>
424 Scrollbars disappear when switching from legacy to overlay scrollbars
425 https://bugs.webkit.org/show_bug.cgi?id=77166
427 Reviewed by Dan Bernstein.
429 * platform/ScrollView.cpp:
430 (WebCore::ScrollView::scrollbarStyleChanged):
431 Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.
433 * platform/mac/ScrollAnimatorMac.mm:
434 (WebCore::ScrollAnimatorMac::updateScrollerStyle):
435 Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
436 to set the horizontal or vertical imp, since setting the imp will reset the knob style.
438 2012-01-26 Adam Barth <abarth@webkit.org>
440 NULL ptr in WebCore::ContainerNode::parserAddChild
441 https://bugs.webkit.org/show_bug.cgi?id=76258
443 Reviewed by Eric Seidel.
445 Test: fast/parser/nested-fragment-parser-crash.html
447 We always need a parent element to attach to. In crazy cases, we can
448 have elements in the stack of open elements that are already detached
449 from the DOM. In those cases, they don't have a parent, so we aren't
450 able to enforce the maximum DOM depth. (Fortunately, they're not
451 attached to the DOM anymore so we don't need to enforce the maximum DOM
454 * html/parser/HTMLConstructionSite.cpp:
455 (WebCore::HTMLConstructionSite::attachLater):
456 (WebCore::HTMLConstructionSite::fosterParent):
458 2012-01-26 Cris Neckar <cdn@chromium.org>
460 The registration of schemes is currently racey as they are not registered from the main thread.
461 Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.
463 Thank you ap@webkit for helping us identify this.
465 https://bugs.webkit.org/show_bug.cgi?id=77160
467 Reviewed by Adam Barth.
469 * platform/SchemeRegistry.cpp:
470 (WebCore::CORSEnabledSchemes):
472 2012-01-26 Anders Carlsson <andersca@apple.com>
474 We don't need to always repaint overlay scrollbars if they're in layers
475 https://bugs.webkit.org/show_bug.cgi?id=77159
477 Reviewed by Beth Dakin.
479 If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
480 whether both scroll offsets actually change since they're translucent and we want to draw the new page
483 However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
484 need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).
486 * platform/ScrollableArea.cpp:
487 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
489 2012-01-26 Joshua Bell <jsbell@chromium.org>
491 IndexedDB: WebCore::IDBKey objects are leaked
492 https://bugs.webkit.org/show_bug.cgi?id=77114
494 Reviewed by Tony Chang.
496 Fixing memory leaks, no new tests.
499 (WebCore::IDBKey::createInvalid):
500 (WebCore::IDBKey::createNumber):
501 (WebCore::IDBKey::createString):
502 (WebCore::IDBKey::createDate):
503 (WebCore::IDBKey::createArray):
505 2012-01-25 Cris Neckar <cdn@chromium.org>
507 Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
508 https://bugs.webkit.org/show_bug.cgi?id=77041
510 Reviewed by Alexey Proskuryakov.
512 * loader/DocumentThreadableLoader.cpp:
513 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
514 * platform/SchemeRegistry.cpp:
515 (WebCore::CORSEnabledSchemes):
517 (WebCore::SchemeRegistry::registerCORSEnabledScheme):
518 (WebCore::SchemeRegistry::isCORSEnabledScheme):
519 * platform/SchemeRegistry.h:
522 2012-01-26 Noel Gordon <noel.gordon@gmail.com>
524 File extension for webp files is .webp
525 https://bugs.webkit.org/show_bug.cgi?id=76982
527 Reviewed by Adam Barth.
529 No new tests. No change in behavior.
531 * platform/image-decoders/webp/WEBPImageDecoder.h:
532 (WebCore::WEBPImageDecoder::filenameExtension):
534 2012-01-26 Alok Priyadarshi <alokp@chromium.org>
536 [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
537 https://bugs.webkit.org/show_bug.cgi?id=77137
539 Reviewed by James Robinson.
541 No new test needed. Only removing dead code.
543 * platform/graphics/chromium/LayerChromium.cpp:
544 * platform/graphics/chromium/LayerChromium.h:
545 (WebCore::LayerChromium::layerTreeHost):
546 * platform/graphics/chromium/TiledLayerChromium.cpp:
547 (WebCore::TiledLayerChromium::setLayerTreeHost):
549 2012-01-26 Anders Carlsson <andersca@apple.com>
551 Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
552 https://bugs.webkit.org/show_bug.cgi?id=77147
554 Reviewed by Adam Roben.
556 * platform/mac/ScrollAnimatorMac.h:
558 * platform/mac/ScrollAnimatorMac.mm:
559 (WebCore::ScrollAnimatorMac::handleWheelEvent):
560 Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
561 didEndScrollGesture if the event was actually handled.
563 (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
566 * platform/mac/ScrollElasticityController.h:
567 * platform/mac/ScrollElasticityController.mm:
568 (WebCore::ScrollElasticityController::handleWheelEvent):
569 Check if we should rubber-band and return false if we shouldn't.
571 (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
572 Ask the client if we should rubber-band.
574 2012-01-19 James Robinson <jamesr@chromium.org>
576 [chromium] Remove setLayerTreeHost nonsense on lost context
577 https://bugs.webkit.org/show_bug.cgi?id=76675
579 Reviewed by Kenneth Russell.
581 This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
582 the proxy and no layer types need special lost context handling.
584 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
585 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
587 2012-01-26 Anders Carlsson <andersca@apple.com>
589 Simplify checking of whether we should rubberband horizontally
590 https://bugs.webkit.org/show_bug.cgi?id=77141
592 Reviewed by Adam Roben.
594 Have a single check for horizontal rubber-banding in both directions. This is in preparation
595 for moving this code into ScrollElasticityController.
597 * platform/mac/ScrollAnimatorMac.mm:
598 (WebCore::shouldRubberBandInHorizontalDirection):
599 (WebCore::ScrollAnimatorMac::handleWheelEvent):
601 2012-01-26 Scott Graham <scottmg@chomium.org>
603 Fix include path in gyp file for V8InternalSettings.h
604 https://bugs.webkit.org/show_bug.cgi?id=77128
606 Reviewed by Kent Tamura.
608 * WebCore.gyp/WebCore.gyp:
610 2012-01-26 James Robinson <jamesr@chromium.org>
612 We shouldn't synchronously update styles on all documents after running script
613 https://bugs.webkit.org/show_bug.cgi?id=46761
615 Reviewed by Simon Fraser.
617 Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
618 slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
619 unnecessary as any code that depends on styles or the render tree being up to date must call
620 updateStyleIfNeeded() on the document it is accessing.
622 The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
623 cargo culted forward ever since.
625 * bindings/ScriptControllerBase.cpp:
626 (WebCore::ScriptController::executeScript):
627 * bindings/js/ScheduledAction.cpp:
628 (WebCore::ScheduledAction::execute):
629 * bindings/js/ScriptController.cpp:
630 (WebCore::ScriptController::ScriptController):
631 (WebCore::ScriptController::executeScriptInWorld):
632 * bindings/js/ScriptController.h:
633 * bindings/v8/ScheduledAction.cpp:
634 (WebCore::ScheduledAction::execute):
635 * bindings/v8/ScriptController.cpp:
636 (WebCore::ScriptController::ScriptController):
637 * bindings/v8/ScriptController.h:
638 * dom/ScriptElement.cpp:
639 (WebCore::ScriptElement::executeScript):
640 * inspector/InspectorClient.cpp:
641 (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
643 2012-01-26 Anders Carlsson <andersca@apple.com>
645 Get rid of ScrollElasticityController::beginScrollGesture()
646 https://bugs.webkit.org/show_bug.cgi?id=77138
648 Reviewed by Adam Roben.
650 ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
651 PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
653 * platform/mac/ScrollAnimatorMac.mm:
654 (WebCore::ScrollAnimatorMac::handleWheelEvent):
655 * platform/mac/ScrollElasticityController.h:
656 (ScrollElasticityController):
657 * platform/mac/ScrollElasticityController.mm:
658 (WebCore::ScrollElasticityController::handleWheelEvent):
660 2012-01-26 Anders Carlsson <andersca@apple.com>
662 Get rid of ScrollElasticityController::endScrollGesture()
663 https://bugs.webkit.org/show_bug.cgi?id=77134
665 Reviewed by Adam Roben.
667 Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
668 event phase is PlatformWheelEventPhaseEnded.
670 * platform/mac/ScrollAnimatorMac.mm:
671 (WebCore::ScrollAnimatorMac::handleWheelEvent):
672 * platform/mac/ScrollElasticityController.h:
673 (ScrollElasticityController):
674 * platform/mac/ScrollElasticityController.mm:
675 (WebCore::ScrollElasticityController::handleWheelEvent):
677 2012-01-26 Abhishek Arya <inferno@chromium.org>
679 Crash in SVGSVGElement::currentViewBoxRect.
680 https://bugs.webkit.org/show_bug.cgi?id=77121
682 Reviewed by Nikolas Zimmermann.
684 Symbols shouldn't be rendered. Revert the ASSERT
685 from r105513 into a hard check.
687 Test: svg/custom/symbol-viewport-element-crash.svg
689 * svg/SVGLengthContext.cpp:
690 (WebCore::SVGLengthContext::determineViewport):
692 2012-01-26 Anders Carlsson <andersca@apple.com>
694 Inline beginScrollGesture/endScrollGesture in handleWheelEvent
695 https://bugs.webkit.org/show_bug.cgi?id=77133
697 Reviewed by Andreas Kling.
699 * platform/mac/ScrollAnimatorMac.h:
701 * platform/mac/ScrollAnimatorMac.mm:
702 (WebCore::ScrollAnimatorMac::handleWheelEvent):
704 2012-01-26 Anders Carlsson <andersca@apple.com>
706 No need to set m_haveScrolledSincePageLoad in beginScrollGesture
707 https://bugs.webkit.org/show_bug.cgi?id=77132
709 Reviewed by Andreas Kling.
711 m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
712 to set it to true again.
714 * platform/mac/ScrollAnimatorMac.mm:
715 (WebCore::ScrollAnimatorMac::beginScrollGesture):
717 2012-01-26 Anders Carlsson <andersca@apple.com>
719 Simplify checking for whether we should rubberband or not when at the edge
720 https://bugs.webkit.org/show_bug.cgi?id=77131
722 Reviewed by Beth Dakin.
724 We only need to check once if we're pinned at either edge whether we should rubber-band
725 or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
726 remove a bunch of code that would keep track of the current horizontal scroll direction.
728 * platform/mac/ScrollAnimatorMac.h:
730 * platform/mac/ScrollAnimatorMac.mm:
731 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
732 (WebCore::ScrollAnimatorMac::handleWheelEvent):
733 (WebCore::ScrollAnimatorMac::beginScrollGesture):
735 2012-01-26 Eli Fidler <efidler@rim.com>
737 [JSC] Inspector instrumentation for JavaScript calls.
738 https://bugs.webkit.org/show_bug.cgi?id=40119
740 Reviewed by Geoffrey Garen.
742 Covered by existing Chromium inspector tests
744 * bindings/js/JSCallbackData.cpp:
745 (WebCore::JSCallbackData::invokeCallback):
746 * bindings/js/JSEventListener.cpp:
747 (WebCore::JSEventListener::handleEvent):
748 * bindings/js/JSMainThreadExecState.h:
749 (WebCore::JSMainThreadExecState::instrumentedCall):
750 * inspector/InspectorInstrumentation.cpp:
751 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
753 2012-01-26 Mike Reed <reed@google.com>
755 Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
756 https://bugs.webkit.org/show_bug.cgi?id=76547
758 Reviewed by Stephen White.
760 Existing tests should confirm nothing is broken. Antialiased text
761 is disabled in layouttests, so they should be unaffected by the
762 difference in antialiasing quality.
764 * platform/graphics/skia/SkiaFontWin.cpp:
765 (WebCore::setupPaintForFont):
768 2012-01-26 Anders Carlsson <andersca@apple.com>
770 Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
771 https://bugs.webkit.org/show_bug.cgi?id=77127
773 Reviewed by Beth Dakin.
775 * platform/mac/ScrollAnimatorMac.h:
777 Remove handleGestureEvent.
779 * platform/mac/ScrollAnimatorMac.mm:
780 (WebCore::ScrollAnimatorMac::handleWheelEvent):
781 Look at the event phase to determine when to call didBeginGesture and didEndGesture.
783 2012-01-26 Benjamin Poulain <benjamin@webkit.org>
785 Using strncmp() for comparing scheme and port numbers is inefficient
786 https://bugs.webkit.org/show_bug.cgi?id=75821
788 Reviewed by Darin Adler.
790 Replace the equal() function comparing 2 arbitrary strings by a template
791 comparing the string to an array, character by character.
793 This is only used for small strings: the schemes and the ports.
797 (WebCore::isDefaultPortForScheme):
798 (WebCore::isNonFileHierarchicalScheme):
799 (WebCore::isCanonicalHostnameLowercaseForScheme):
801 2012-01-26 Anders Carlsson <andersca@apple.com>
803 WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
804 https://bugs.webkit.org/show_bug.cgi?id=77123
806 Reviewed by Beth Dakin.
808 * platform/PlatformWheelEvent.h:
810 * platform/mac/PlatformEventFactoryMac.mm:
811 (WebCore::phaseForEvent):
813 2012-01-26 Daniel Cheng <dcheng@chromium.org>
815 Revert code changes from r105800
816 https://bugs.webkit.org/show_bug.cgi?id=77071
818 The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
819 no need to call lower() again.
821 Reviewed by Tony Chang.
823 Covered by existing tests.
826 (WebCore::Clipboard::hasDropZoneType):
828 2012-01-26 Stephen Chenney <schenney@chromium.org>
830 REGRESSION (r91125): Polyline tool in google docs is broken
831 https://bugs.webkit.org/show_bug.cgi?id=65796
833 Reviewed by Nikolas Zimmermann.
835 It turns out that the CG problem is a design decision. The bounding code
836 returns CGRectNull for cases where a bound is ill-defined, rather than the
837 empty bound as expected.
839 I'm also removing the workaround for isEmpty to get correct zero length paths.
840 It is no longer necessary.
842 Tested by existing layout tests.
844 * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
845 (WebCore::Path::boundingRect): Added check for CGRectNull
846 (WebCore::Path::fastBoundingRect): Added check for CGRectNull
847 (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
848 (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
849 (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
850 (WebCore::Path::transform): Reverted to former behavior, using isEmpty.
852 2012-01-26 Andreas Kling <awesomekling@apple.com>
854 Refactor application of additional style attributes for table elements.
855 <http://webkit.org/b/77095>
857 Reviewed by Darin Adler.
859 The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
860 Instead of using the mapped attribute decl table for additional table style, just use
861 regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
862 that's shared between a table's cells. That one is cached per-table since it depends
863 on the table's border and padding.
865 * dom/CSSMappedAttributeDeclaration.cpp:
866 (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
867 * dom/MappedAttributeEntry.h:
869 Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
870 ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
871 in the decl table, but unreachable since we always leaked one ref to those decls.
873 * dom/StyledElement.h:
874 (WebCore::StyledElement::additionalAttributeStyle):
875 * html/HTMLTableCellElement.cpp:
876 (WebCore::HTMLTableCellElement::additionalAttributeStyle):
877 * html/HTMLTableCellElement.h:
878 (HTMLTableCellElement):
879 * html/HTMLTableColElement.cpp:
880 (WebCore::HTMLTableColElement::additionalAttributeStyle):
881 * html/HTMLTableColElement.h:
882 (HTMLTableColElement):
883 * html/HTMLTableElement.cpp:
884 (WebCore::HTMLTableElement::parseMappedAttribute):
885 (WebCore::leakBorderStyle):
886 (WebCore::HTMLTableElement::additionalAttributeStyle):
887 (WebCore::HTMLTableElement::createSharedCellStyle):
888 (WebCore::HTMLTableElement::additionalCellStyle):
889 (WebCore::leakGroupBorderStyle):
890 (WebCore::HTMLTableElement::additionalGroupStyle):
891 * html/HTMLTableElement.h:
893 * html/HTMLTableSectionElement.cpp:
894 (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
895 * html/HTMLTableSectionElement.h:
896 (HTMLTableSectionElement):
898 Instead of collecting additional style decls into a vector, switch over to a
899 "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
900 All style declarations that can be reused for all elements are cached at the return
901 sites, leaving only the shared table cell style which we cache on HTMLTableElement.
902 Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
903 additionalAttributeStyle() will just return 0.
905 * css/CSSStyleSelector.cpp:
906 (WebCore::CSSStyleSelector::matchAllRules):
908 Updated for the new additional style conventions.
910 2012-01-26 Vsevolod Vlasov <vsevik@chromium.org>
912 Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
913 https://bugs.webkit.org/show_bug.cgi?id=77098
915 Reviewed by Pavel Feldman.
917 * inspector/front-end/ScriptsNavigator.js:
918 * inspector/front-end/ScriptsPanel.js:
919 (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
920 (WebInspector.ScriptsPanel.prototype.get visibleView):
921 (WebInspector.ScriptsPanel.prototype.viewForFile):
922 (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
923 (WebInspector.EditorContainer):
924 (WebInspector.EditorContainer.prototype.get visibleView):
925 (WebInspector.EditorContainer.prototype.showFile):
926 (WebInspector.EditorContainer.prototype.setFileIsDirty):
927 (WebInspector.EditorContainer.prototype.replaceFiles):
928 (WebInspector.EditorContainer.prototype.reset):
929 (WebInspector.EditorContainerDelegate):
930 (WebInspector.EditorContainerDelegate.prototype.viewForFile):
931 (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
932 (WebInspector.ScriptsPanel.SingleFileEditorContainer):
933 (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
934 (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
935 (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
936 (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
937 (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
938 * inspector/front-end/TabbedEditorContainer.js:
939 (WebInspector.TabbedEditorContainer):
940 (WebInspector.TabbedEditorContainer.prototype.get visibleView):
941 (WebInspector.TabbedEditorContainer.prototype._titleForFile):
942 (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
943 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
944 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
945 (WebInspector.TabbedEditorContainer.prototype._tabSelected):
946 (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
947 (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
948 (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
949 (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
950 (WebInspector.TabbedEditorContainer.prototype.reset):
952 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
954 SVG + <object> tests are flakey
955 https://bugs.webkit.org/show_bug.cgi?id=77099
957 Reviewed by Andreas Kling.
959 Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
960 ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
961 which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
962 which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.
964 This is the source of current flakiness bugs.
966 In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
967 finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
968 on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
969 RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.
971 This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
972 without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).
974 Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)
976 * page/FrameView.cpp: Remove m_inLayoutParentView.
977 (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
978 (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
979 (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
981 (FrameView): Remove m_inLayoutParentView.
982 * rendering/svg/RenderSVGRoot.cpp:
983 (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
984 (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
985 (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
986 * rendering/svg/RenderSVGRoot.h:
987 (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.
989 2012-01-23 Andreas Kling <awesomekling@apple.com>
991 Make elements that don't have attributes smaller.
992 <http://webkit.org/b/76876>
994 Reviewed by Antti Koivisto.
996 Move the inline style declaration from StyledElement to NamedNodeMap, since having
997 an inline style declaration also implies having a style attribute on the element.
998 This saves one CPU word per element that has no attributes.
1000 This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
1001 HTML5 spec at <http://whatwg.org/c>.
1003 * dom/NamedNodeMap.cpp:
1004 (WebCore::NamedNodeMap::ensureInlineStyleDecl):
1005 (WebCore::NamedNodeMap::destroyInlineStyleDecl):
1006 (WebCore::NamedNodeMap::createInlineStyleDecl):
1007 * dom/NamedNodeMap.h:
1008 (WebCore::NamedNodeMap::inlineStyleDecl):
1009 * dom/StyledElement.cpp:
1010 (WebCore::StyledElement::updateStyleAttribute):
1011 (WebCore::StyledElement::addSubresourceAttributeURLs):
1012 * dom/StyledElement.h:
1013 (WebCore::StyledElement::inlineStyleDecl):
1014 (WebCore::StyledElement::ensureInlineStyleDecl):
1015 (WebCore::StyledElement::destroyInlineStyleDecl):
1017 2012-01-26 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1019 [Qt] Use ICU if available
1020 https://bugs.webkit.org/show_bug.cgi?id=76821
1022 Reviewed by Simon Hausmann.
1024 Adding correct sources to a Qt 5 based build.
1026 No new tests, it's just a build dependency change.
1030 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1032 Not reviewed. Fix mac build after r105988.
1036 2012-01-26 Nándor Huszka <huszka.nandor@stud.u-szeged.hu>
1038 [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
1039 https://bugs.webkit.org/show_bug.cgi?id=42545
1041 Reviewed by Zoltan Herczeg.
1043 No need for new tests, there is no behavior change.
1045 Added a line to file which copies the forwarding headers.
1047 * WebCore.vcproj/copyForwardingHeaders.cmd:
1049 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1051 Not reviewed. Fix Qt build after r105978.
1053 * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
1054 * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
1055 * rendering/svg/SVGInlineTextBox.cpp: Ditto.
1056 * rendering/svg/SVGRenderSupport.cpp: Ditto.
1058 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1060 Not reviewed. Fix non-AllInOne builds after r105978.
1062 * rendering/svg/RenderSVGResource.cpp:
1064 2012-01-26 Vsevolod Vlasov <vsevik@chromium.org>
1066 Unreviewed inspector closure compilation fix.
1068 * inspector/front-end/externs.js:
1069 (WebInspector.closeDrawerView):
1071 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1073 Not reviewed. Fix release builds after r105978.
1075 * rendering/svg/SVGInlineTextBox.cpp:
1076 (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.
1078 2012-01-26 Kent Tamura <tkent@chromium.org>
1080 Unreviewed, rolling out r105968.
1081 http://trac.webkit.org/changeset/105968
1082 https://bugs.webkit.org/show_bug.cgi?id=76995
1084 Incorrect behavior change
1086 * html/HTMLInputElement.cpp:
1087 (WebCore::HTMLInputElement::setIndeterminate):
1089 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1091 crash in WebCore::RenderSVGContainer::paint
1092 https://bugs.webkit.org/show_bug.cgi?id=69714
1094 Reviewed by Dirk Schulze.
1096 When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
1097 - fill-opacity/stroke-opacity/opacity forced to 1
1098 - masker/filter resources shouldn't be applied to the children
1099 - fill must be set to the initial fill paint server for all children (solid black)
1100 - stroke must be set to the initial stroke paint server for all children (none)
1102 This was achieved before by mutating the style of the children, which made them need a relayout.
1103 SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.
1105 This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
1106 Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
1107 state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
1108 having to mutate the style of the children and without having to relayout.
1110 We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.
1112 Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
1113 svg/custom/layout-loop.svg
1115 * rendering/PaintPhase.h:
1116 * rendering/svg/RenderSVGResource.cpp:
1117 (WebCore::requestPaintingResource):
1118 * rendering/svg/RenderSVGResourceClipper.cpp:
1119 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
1120 (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
1121 (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1122 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1123 (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1124 * rendering/svg/RenderSVGResourceClipper.h:
1125 * rendering/svg/RenderSVGResourceMasker.cpp:
1126 (WebCore::RenderSVGResourceMasker::applyResource):
1127 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1128 * rendering/svg/RenderSVGResourceMasker.h:
1129 * rendering/svg/RenderSVGResourcePattern.cpp:
1130 (WebCore::RenderSVGResourcePattern::createTileImage):
1131 * rendering/svg/RenderSVGResourceSolidColor.cpp:
1132 (WebCore::RenderSVGResourceSolidColor::applyResource):
1133 * rendering/svg/SVGImageBufferTools.cpp:
1134 (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
1135 * rendering/svg/SVGInlineTextBox.cpp:
1136 (WebCore::SVGInlineTextBox::paintSelectionBackground):
1137 (WebCore::SVGInlineTextBox::paint):
1138 * rendering/svg/SVGRenderSupport.cpp:
1139 (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
1141 2012-01-26 Nikolas Zimmermann <nzimmermann@rim.com>
1143 Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.
1145 * GNUmakefile.list.am:
1147 2012-01-24 Vsevolod Vlasov <vsevik@chromium.org>
1149 Web Inspector: Improve user experience of advanced search panel closing.
1150 https://bugs.webkit.org/show_bug.cgi?id=76983
1152 Reviewed by Pavel Feldman.
1154 Added close button to search panel.
1155 Esc now closes the panel even when search filed has focus.
1157 * English.lproj/localizedStrings.js:
1158 * inspector/front-end/AdvancedSearchController.js:
1159 (WebInspector.AdvancedSearchController.prototype.close):
1160 (WebInspector.SearchView):
1161 (WebInspector.SearchView.prototype._onKeyDown):
1162 (WebInspector.SearchView.prototype._closeButtonPressed):
1163 * inspector/front-end/inspector.css:
1164 (.search-view .search-panel):
1165 (.search-view .search-panel button.search-close-button):
1166 * inspector/front-end/inspector.js:
1167 (WebInspector._escPressed):
1168 (WebInspector.closeDrawerView):
1170 2012-01-26 Joe Thomas <joethomas@motorola.com>
1172 https://bugs.webkit.org/show_bug.cgi?id=76995.
1173 WebKit fails IETC :indeterminate and input type=radio test.
1175 As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
1176 only checkbox input type should respect the indeterminate state.
1177 Removed the support for indeterminate state for radio input types.
1179 Reviewed by Eric Seidel.
1181 Modified the existing test cases.
1183 * html/HTMLInputElement.cpp:
1184 (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.
1186 2012-01-25 Daniel Cheng <dcheng@chromium.org>
1188 [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
1189 https://bugs.webkit.org/show_bug.cgi?id=76996
1191 As it turns out, we were always calling validateFilename on a data object with an empty
1192 extension. Now we call it on an actual extension so that it's sanitized.
1194 Reviewed by Tony Chang.
1196 Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*
1199 * platform/chromium/ClipboardChromium.cpp:
1200 (WebCore::writeImageToDataObject):
1201 * platform/chromium/ClipboardChromium.h:
1202 (ClipboardChromium):
1203 * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
1204 * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
1206 (WebCore::isInvalidFileCharacter):
1207 (WebCore::ClipboardChromium::validateFilename):
1208 * platform/chromium/ClipboardChromiumWin.cpp:
1210 (WebCore::ClipboardChromium::validateFilename):
1212 2012-01-25 James Robinson <jamesr@chromium.org>
1214 [chromium] Rollout r100751, this mechanism does not work and is very slow
1215 https://bugs.webkit.org/show_bug.cgi?id=77055
1217 Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
1218 but it still triggers a very slow codepath and triggers races on some platforms.
1220 * platform/PlatformScreen.h:
1222 * platform/chromium/PlatformScreenChromium.cpp:
1223 * platform/chromium/PlatformSupport.h:
1226 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1227 (WebCore::CCSettings::CCSettings):
1229 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1230 (WebCore::CCThreadProxy::initializeImplOnImplThread):
1232 2012-01-25 Mark Rowe <mrowe@apple.com>
1234 Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
1236 Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
1237 (https://bugs.webkit.org/show_bug.cgi?id=75049)
1239 Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
1240 LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
1241 WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
1244 (WebCore::KURL::innerURL):
1246 2012-01-25 Eric Seidel <eric@webkit.org>
1248 Unreviewed, rolling out r105940.
1249 http://trac.webkit.org/changeset/105940
1250 https://bugs.webkit.org/show_bug.cgi?id=76095
1252 Only half this change landed
1254 * DerivedSources.cpp:
1255 * DerivedSources.make:
1256 * DerivedSources.pri:
1258 2012-01-25 Mark Rowe <mrowe@apple.com>
1260 Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
1262 <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
1264 Reviewed by David Kilzer.
1266 * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
1267 the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
1268 the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
1269 NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
1270 are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
1271 directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
1272 based on the normal framework location. This prevents an incorrect install name from being
1273 used when installing in to the staged frameworks directory. Look for our other frameworks
1274 in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.
1276 2012-01-25 Eric Seidel <eric@webkit.org>
1278 "text" and "URL" legacy clipboard types should not be case sensitive
1279 https://bugs.webkit.org/show_bug.cgi?id=76947
1281 Reviewed by Adam Barth.
1283 This matches the HTML5 spec which says the first thing to do is to lowercase
1284 the type before comparing.
1285 I also removed the stripping of whitespace since that is not part of the modern spec (and no tests failed as a result of removal).
1286 Turns out we already had a test for case sensitivity, but it was disabled on Mac
1287 so I just re-enabled it and have added failing expectations for the parts
1288 of the test we still fail.
1290 * platform/mac/ClipboardMac.mm:
1291 (WebCore::cocoaTypeFromHTMLClipboardType):
1292 (WebCore::ClipboardMac::getData):
1294 2012-01-25 Eric Seidel <eric@webkit.org>
1296 HTMLIsIndexElement should not expose HTMLInputElement properties
1297 https://bugs.webkit.org/show_bug.cgi?id=76095
1299 Reviewed by Adam Barth.
1301 document.createElement("isindex") should produce an HTMLUnknownElement
1302 per the HTML5 spec. The parser automagically translates <isindex> into
1303 a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
1305 This patch just removes our support for HTMLIsIndexElement. The parser
1306 support was already in. Having support for HTMLIsIndexElement was causing
1307 one of the IE TestCenter tests to fail.
1309 Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
1311 * DerivedSources.cpp:
1312 * DerivedSources.make:
1313 * DerivedSources.pri:
1314 * GNUmakefile.list.am:
1319 * WebCore.vcproj/WebCore.vcproj:
1320 * WebCore.xcodeproj/project.pbxproj:
1321 * bindings/gobject/GNUmakefile.am:
1322 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1323 (WebKit::createHTMLElementWrapper):
1324 * bindings/objc/DOM.mm:
1325 (WebCore::createElementClassMap):
1326 * bindings/objc/DOMHTML.h:
1327 * bindings/objc/PublicDOMInterfaces.h:
1328 * html/HTMLElementsAllInOne.cpp:
1329 * html/HTMLIsIndexElement.cpp: Removed.
1330 * html/HTMLIsIndexElement.h: Removed.
1331 * html/HTMLIsIndexElement.idl: Removed.
1332 * html/HTMLTagNames.in:
1333 * page/DOMWindow.idl:
1335 2012-01-25 Eric Seidel <eric@webkit.org>
1337 HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
1338 https://bugs.webkit.org/show_bug.cgi?id=74360
1340 Reviewed by Adam Barth.
1342 Neither of these !renderer() checks is strictly necessary since requestObject()
1343 makes the same check. However requestObject() asserts before it makes that
1344 check, so it makes sense to add the check to HTMLEmebedObject instead of
1345 removing the check from HTMLObjectElement.
1346 I also moved the protect RefPtr to before the beforeload dispatch since
1347 beforeload can remove the whole DOM element (as this test does) and
1348 thus I beleive the renderer() check could be checking free'd memory.
1350 Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
1351 <embed> as well as <object>.
1353 * html/HTMLEmbedElement.cpp:
1354 (WebCore::HTMLEmbedElement::updateWidget):
1355 * html/HTMLObjectElement.cpp:
1356 (WebCore::HTMLObjectElement::updateWidget):
1358 2012-01-25 Kent Tamura <tkent@chromium.org>
1360 Move focus/blur handling code of HTMLInputElement to InputType
1361 https://bugs.webkit.org/show_bug.cgi?id=76984
1363 Reviewed by Dimitri Glazkov.
1365 No new tests. Just a refactoring.
1367 * html/HTMLInputElement.cpp:
1368 (WebCore::HTMLInputElement::handleFocusEvent):
1369 Move the code to PasswordInputType::handleFocusEvent().
1370 (WebCore::HTMLInputElement::handleBlurEvent):
1371 Move the code to TextFieldInputType::handleBlurEvent() and
1372 PasswordInputType::handleBlurEvent().
1373 * html/InputType.cpp:
1374 (WebCore::InputType::handleFocusEvent):
1376 (InputType): Add handleFocusEvent().
1377 * html/PasswordInputType.cpp:
1378 (WebCore::PasswordInputType::handleFocusEvent):
1379 Move the code for type=password from HTMLInputElement::handleFocusEvent().
1380 (WebCore::PasswordInputType::handleBlurEvent):
1381 Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
1382 * html/PasswordInputType.h:
1383 (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
1384 * html/TextFieldInputType.cpp:
1385 (WebCore::TextFieldInputType::handleBlurEvent):
1386 Move the code for text field types from HTMLInputElement::handleBlurEvent().
1387 * html/TextFieldInputType.h:
1388 (TextFieldInputType): Add handleBlurEvent().
1390 2012-01-25 Adam Barth <abarth@webkit.org>
1392 Node.cpp shouldn't duplicate QualifiedName parsing logic
1393 https://bugs.webkit.org/show_bug.cgi?id=76672
1395 Reviewed by Eric Seidel.
1397 I added this code out of ignorance that this logic already existed in
1398 Document.cpp. In a future patch, we should consider moving it to
1403 (WebCore::Node::checkSetPrefix):
1405 2012-01-25 Eric Seidel <eric@webkit.org>
1407 Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
1408 https://bugs.webkit.org/show_bug.cgi?id=74340
1410 Reviewed by Adam Barth.
1412 I'm preparing to unify these two methods, and starting by sharing more code between them.
1414 * html/HTMLEmbedElement.cpp:
1415 (WebCore::HTMLEmbedElement::updateWidget):
1416 * html/HTMLObjectElement.cpp:
1417 (WebCore::HTMLObjectElement::updateWidget):
1418 * html/HTMLPlugInElement.cpp:
1419 (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
1420 * html/HTMLPlugInElement.h:
1422 2012-01-25 Eric Uhrhane <ericu@chromium.org>
1424 Add full support for filesystem URLs.
1425 https://bugs.webkit.org/show_bug.cgi?id=75049
1427 Reviewed by Adam Barth.
1429 No new tests; existing layout tests cover the basic functionality, and
1430 the new functionality won't be there until Chromium adds it. This patch
1431 merely enables that, without changing behavior.
1433 * fileapi/EntryBase.cpp:
1434 (WebCore::EntryBase::toURL): Add missing escaping of URL path.
1436 * page/SecurityOrigin.cpp:
1437 (WebCore::extractInnerURL): Use innerURL member, if it's populated.
1440 (WebCore::KURL::innerURL): Add innerURL member.
1442 * platform/KURLGoogle.cpp:
1443 (WebCore::KURLGooglePrivate::KURLGooglePrivate):
1444 (WebCore::KURLGooglePrivate::operator=):
1445 Add copy constructor and operator=, which are now needed since
1446 m_innerURL needs special handling.
1447 (WebCore::KURLGooglePrivate::setUtf8):
1448 (WebCore::KURLGooglePrivate::setAscii):
1449 Add calls to initInnerURL.
1450 (WebCore::KURLGooglePrivate::initInnerURL):
1451 Add method to init/copy m_innerURL.
1452 (WebCore::KURLGooglePrivate::copyTo):
1453 Handle m_innerURL during copies.
1454 (WebCore::encodeWithURLEscapeSequences):
1455 Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
1457 * platform/KURLGooglePrivate.h:
1458 (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
1460 2012-01-25 Daniel Cheng <dcheng@chromium.org>
1462 [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
1463 https://bugs.webkit.org/show_bug.cgi?id=76993
1465 We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
1466 that, we want use a similar representation to DataTransferItem list inside
1467 ChromiumDataObject. However, since ChromiumDataObject should be valid in scopes where
1468 Clipboard is not (e.g. default drag processing), we need to separate the clipboard
1469 invalidation logic into a wrapper class.
1471 Reviewed by Tony Chang.
1473 Covered by existing tests.
1475 * platform/chromium/ClipboardChromium.cpp:
1477 (WebCore::ClipboardChromium::items):
1478 * platform/chromium/DataTransferItemChromium.cpp:
1479 (WebCore::DataTransferItemChromium::getAsString):
1480 * platform/chromium/DataTransferItemListChromium.cpp:
1481 (WebCore::DataTransferItemListChromium::length):
1482 (WebCore::DataTransferItemListChromium::item):
1483 (WebCore::DataTransferItemListChromium::deleteItem):
1484 (WebCore::DataTransferItemListChromium::clear):
1485 (WebCore::DataTransferItemListChromium::add):
1487 2012-01-25 No'am Rosenthal <noam.rosenthal@nokia.com>
1489 [Texmap] Divide TextureMapperNode.cpp to 3 files.
1490 https://bugs.webkit.org/show_bug.cgi?id=76660
1492 Reviewed by Kenneth Rohde Christiansen.
1494 Split the animation part of TextureMapperNode out to a separate file, called
1495 TextureMapperAnimation.
1496 Provide a clean interface for that class, that allows separating the internals of the scene
1497 painting from the internals of the animation interpolation.
1499 No new tests. Existing animation tests cover this.
1501 * GNUmakefile.list.am:
1504 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1505 (WebCore::GraphicsLayerTextureMapper::addAnimation):
1506 (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
1507 (WebCore::GraphicsLayerTextureMapper::removeAnimation):
1508 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1509 (GraphicsLayerTextureMapper):
1510 * platform/graphics/texmap/TextureMapperNode.cpp:
1511 (WebCore::TextureMapperNode::syncCompositingStateSelf):
1512 (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
1513 (WebCore::TextureMapperNode::syncAnimations):
1514 (WebCore::TextureMapperNode::syncAnimationsRecursively):
1515 (WebCore::TextureMapperNode::syncCompositingState):
1516 * platform/graphics/texmap/TextureMapperNode.h:
1517 (TextureMapperNode):
1519 2012-01-25 Hajime Morita <morrita@google.com>
1521 ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
1522 https://bugs.webkit.org/show_bug.cgi?id=76863
1524 Reviewed by Dimitri Glazkov.
1526 Added a feature flag.
1528 No tests, it's a behid flag configuration change.
1531 * Configurations/FeatureDefines.xcconfig:
1532 * DerivedSources.cpp:
1533 * DerivedSources.make:
1534 * DerivedSources.pri:
1536 * GNUmakefile.list.am:
1537 * WebCore.vcproj/WebCore.vcproj:
1538 * WebCore.xcodeproj/project.pbxproj:
1540 2012-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
1542 Unreviewed, rolling out r105906.
1543 http://trac.webkit.org/changeset/105906
1544 https://bugs.webkit.org/show_bug.cgi?id=77038
1546 Breaks compositing/visibility/layer-visible-content.html and
1547 compositing/visibility/visibility-image-layers-dynamic.html
1548 (Requested by leviw|gardening on #webkit).
1550 * rendering/RenderLayerBacking.cpp:
1551 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1553 2012-01-25 Mike Fenton <mifenton@rim.com>
1555 Page Up and Page Down mappings are backwards on BlackBerry port.
1556 https://bugs.webkit.org/show_bug.cgi?id=77021
1558 Fix Page Up and Page Down mappings as they are reversed.
1560 Reviewed by Antonio Gomes.
1562 * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1563 (WebCore::keyIdentifierForBlackBerryCharacter):
1564 (WebCore::windowsKeyCodeForBlackBerryCharacter):
1566 2012-01-25 Hajime Morita <morrita@google.com>
1568 <content> should create HTMLContentElement object
1569 https://bugs.webkit.org/show_bug.cgi?id=76439
1571 Reviewed by Dimitri Glazkov.
1573 - Added HTMLContentElement.idl which has @select attribute.
1574 - Added "content" element.
1576 Both are behind ENABLE_SHADOW_DOM.
1578 Tests: fast/dom/shadow/content-element-api.html
1579 fast/dom/shadow/content-element-outside-shadow.html
1582 * DerivedSources.cpp:
1583 * DerivedSources.make:
1584 * DerivedSources.pri:
1585 * GNUmakefile.list.am:
1587 * WebCore.vcproj/WebCore.vcproj:
1588 * WebCore.xcodeproj/project.pbxproj:
1589 * html/HTMLTagNames.in:
1590 * html/shadow/HTMLContentElement.cpp:
1591 (WebCore::contentTagName):
1593 (WebCore::HTMLContentElement::create):
1594 * html/shadow/HTMLContentElement.h:
1595 (HTMLContentElement):
1596 * html/shadow/HTMLContentElement.idl: Added.
1598 2012-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
1600 Unreviewed, rolling out r105828.
1601 http://trac.webkit.org/changeset/105828
1602 https://bugs.webkit.org/show_bug.cgi?id=77036
1604 Caused many crashes in ClusterFuzz and PerformanceTests
1605 (Requested by inferno-sec on #webkit).
1607 * rendering/RenderBlock.cpp:
1608 (WebCore::RenderBlock::removeChild):
1609 * rendering/RenderBlock.h:
1612 2012-01-25 Shawn Singh <shawnsingh@chromium.org>
1614 Fix the semantics of passing contentsVisible flag to GraphicsLayers
1615 https://bugs.webkit.org/show_bug.cgi?id=76975
1617 Reviewed by Simon Fraser.
1619 This patch is covered by existing tests, in particular
1620 compositing/visibility/layer-visible-content.html; its
1621 expectations are rebaselined.
1623 * rendering/RenderLayerBacking.cpp:
1624 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1626 2012-01-25 Tony Chang <tony@chromium.org>
1628 support overflow:auto and overflow:scroll in new flexbox
1629 https://bugs.webkit.org/show_bug.cgi?id=76953
1631 Reviewed by David Hyatt.
1633 Tests: css3/flexbox/flexbox-overflow-auto-expected.html
1634 css3/flexbox/flexbox-overflow-auto.html
1636 * rendering/RenderBox.cpp:
1637 (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
1638 * rendering/RenderFlexibleBox.cpp:
1639 (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
1640 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
1641 (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
1642 * rendering/RenderFlexibleBox.h:
1643 (RenderFlexibleBox): Make isHorizontalFlow public.
1644 * rendering/style/RenderStyle.h:
1645 (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
1647 2012-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
1649 Unreviewed, rolling out r105885.
1650 http://trac.webkit.org/changeset/105885
1651 https://bugs.webkit.org/show_bug.cgi?id=77027
1653 Causes assertions in Position. (Requested by leviw|gardening
1657 (WebCore::Position::upstream):
1658 (WebCore::Position::downstream):
1659 * dom/PositionIterator.cpp:
1660 * dom/PositionIterator.h:
1662 * editing/htmlediting.cpp:
1663 (WebCore::nextCandidate):
1664 (WebCore::nextVisuallyDistinctCandidate):
1665 (WebCore::previousCandidate):
1666 (WebCore::previousVisuallyDistinctCandidate):
1668 2012-01-25 Alexis Menard <alexis.menard@openbossa.org>
1670 border-image should be implemented like a shorthand.
1671 https://bugs.webkit.org/show_bug.cgi?id=76697
1673 Reviewed by Tony Chang.
1675 Make sure that border-image is implemented like a shorthand : when we parse
1676 it we set the correct value to its longhands. The code was not doing it
1677 previously as we inherited the old implementation of -webkit-border-image which
1678 is not a shorthand but a regular property. It will then increase
1679 style.length for a given element as we now expand the longhands.
1680 The behavior stays the same for -webkit-border-image.
1682 Test: fast/css/border-image-style-length.html
1684 * css/CSSParser.cpp:
1685 (WebCore::CSSParser::parseValue):
1686 (WebCore::BorderImageParseContext::BorderImageParseContext):
1687 (WebCore::BorderImageParseContext::commitWebKitBorderImage):
1688 (WebCore::BorderImageParseContext::commitBorderImage):
1689 (BorderImageParseContext):
1690 (WebCore::BorderImageParseContext::commitBorderImageProperty):
1691 (WebCore::CSSParser::parseBorderImage):
1694 * css/CSSPropertyLonghand.cpp:
1695 (WebCore::initShorthandMap):
1696 * css/CSSStyleApplyProperty.cpp:
1698 (WebCore::ApplyPropertyExpanding::applyInheritValue):
1699 (WebCore::ApplyPropertyExpanding::applyInitialValue):
1700 (WebCore::ApplyPropertyExpanding::applyValue):
1701 (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1702 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1703 * css/CSSStyleSelector.cpp:
1704 (WebCore::CSSStyleSelector::mapNinePieceImage):
1705 * page/animation/AnimationBase.cpp:
1706 (WebCore::AnimationBase::ensurePropertyMap):
1707 (WebCore::addShorthandProperties):
1708 * rendering/style/RenderStyle.h:
1709 (WebCore::RenderStyleBitfields::borderImageSlices):
1710 (WebCore::RenderStyleBitfields::borderImageWidth):
1711 (WebCore::RenderStyleBitfields::borderImageOutset):
1712 (RenderStyleBitfields):
1713 (WebCore::RenderStyleBitfields::setBorderImageSlices):
1714 (WebCore::RenderStyleBitfields::setBorderImageWidth):
1715 (WebCore::RenderStyleBitfields::setBorderImageOutset):
1717 2012-01-23 MORITA Hajime <morrita@google.com>
1719 [Refactoring][Internals] Should have InternalSettings
1720 https://bugs.webkit.org/show_bug.cgi?id=76424
1722 Reviewed by Kent Tamura.
1724 This change extracted setting related method from window.internals
1725 to window.internals.settings object.
1726 - Invoked Internals::reset() in the constructor to employ Document object.
1727 - Moved setting and configuration related Internals methods to
1728 newly introduced InternalSettings object.
1730 No new tests, covered by existing tests.
1732 * DerivedSources.make:
1733 * DerivedSources.pri:
1735 * GNUmakefile.list.am:
1737 * WebCore.gyp/WebCore.gyp:
1739 * WebCore.vcproj/WebCoreTestSupport.vcproj:
1740 * WebCore.xcodeproj/project.pbxproj:
1741 * testing/InternalSettings.cpp: Added.
1742 (WebCore::InternalSettings::create):
1743 (WebCore::InternalSettings::~InternalSettings):
1744 (WebCore::InternalSettings::InternalSettings):
1745 (WebCore::InternalSettings::settings):
1746 (WebCore::InternalSettings::document):
1747 (WebCore::InternalSettings::page):
1748 (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
1749 (WebCore::InternalSettings::setForceCompositingMode):
1750 (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
1751 (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
1752 (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
1753 (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
1754 (WebCore::InternalSettings::setEnableScrollAnimator):
1755 (WebCore::InternalSettings::setZoomAnimatorTransform):
1756 (WebCore::InternalSettings::setZoomParameters):
1757 (WebCore::InternalSettings::setMockScrollbarsEnabled):
1758 (WebCore::InternalSettings::setPasswordEchoEnabled):
1759 (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
1760 (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
1761 (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
1762 (WebCore::InternalSettings::unifiedTextCheckingEnabled):
1763 (WebCore::InternalSettings::pageScaleFactor):
1764 (WebCore::InternalSettings::setPageScaleFactor):
1765 (WebCore::InternalSettings::setPerTileDrawingEnabled):
1766 * testing/InternalSettings.h: Added.
1767 * testing/InternalSettings.idl: Added.
1768 * testing/Internals.cpp:
1769 (WebCore::Internals::create):
1770 (WebCore::Internals::Internals):
1771 (WebCore::Internals::reset):
1772 * testing/Internals.h:
1773 (WebCore::Internals::settings):
1774 * testing/Internals.idl:
1775 * testing/js/WebCoreTestSupport.cpp:
1776 (WebCoreTestSupport::injectInternalsObject):
1777 * testing/v8/WebCoreTestSupport.cpp:
1778 (WebCoreTestSupport::injectInternalsObject):
1780 2012-01-25 Alexis Menard <alexis.menard@openbossa.org>
1782 border-image should not crash when the source is not specified.
1783 https://bugs.webkit.org/show_bug.cgi?id=77001
1785 Reviewed by Andreas Kling.
1787 This bug was introduced by r105502 but was exposed by r105738.
1788 The image-source of a border-image is not mandatory therefore it
1789 may happen that you have no value set for it. WebCore::createBorderImageValue
1790 was wrongly assuming that the image is always set. This problem also required a bit
1791 of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
1792 the image could be optional (just like other properties).
1794 Test: fast/css/border-image-null-image-crash.html
1796 * css/CSSBorderImage.cpp:
1797 (WebCore::createBorderImageValue):
1798 * css/CSSStyleSelector.cpp:
1799 (WebCore::CSSStyleSelector::mapNinePieceImage):
1801 2012-01-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
1803 [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
1804 https://bugs.webkit.org/show_bug.cgi?id=76914
1806 Reviewed by Simon Hausmann.
1808 Implement highlighting of dom nodes with a rounded rect, respecting
1809 the color of -webkit-tap-highlight-color and any transform applied
1812 Tested with manual test.
1815 * page/GestureTapHighlighter.cpp: Added.
1816 (WebCore::GestureTapHighlighter::pathForNodeHighlight):
1817 * page/GestureTapHighlighter.h: Added.
1819 2012-01-25 Joshua Bell <jsbell@chromium.org>
1821 IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
1822 https://bugs.webkit.org/show_bug.cgi?id=76487
1824 Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
1825 if there is a key generator (autoIncrement) and the path yields a value and the value
1826 is not a valid key; raise an error if any of the index key paths yield a value which
1829 Reviewed by Tony Chang.
1831 Tests: storage/indexeddb/keypath-edges.html
1832 storage/indexeddb/objectstore-basics.html
1834 * storage/IDBObjectStoreBackendImpl.cpp:
1835 (WebCore::IDBObjectStoreBackendImpl::put):
1837 2012-01-25 Yong Li <yoli@rim.com>
1839 https://bugs.webkit.org/show_bug.cgi?id=65377
1840 Skip the entire node when it is right to do so, instead of stepping
1841 through every character, so we save CPU time on checking every position
1844 Reviewed by Darin Adler.
1846 Test: perf/selection-skip-hidden-node.html
1849 (WebCore::Position::upstream):
1850 (WebCore::Position::downstream):
1851 * dom/PositionIterator.cpp:
1852 (WebCore::PositionIterator::moveToLeafNodeStart):
1853 (WebCore::PositionIterator::moveToLeafNodeEnd):
1854 * dom/PositionIterator.h:
1855 * editing/htmlediting.cpp:
1856 (WebCore::nextCandidate):
1857 (WebCore::nextVisuallyDistinctCandidate):
1858 (WebCore::previousCandidate):
1859 (WebCore::previousVisuallyDistinctCandidate):
1861 2012-01-25 Kaustubh Atrawalkar <kaustubh@motorola.com>
1863 Remove unnecessary member variable from PluginView.
1864 https://bugs.webkit.org/show_bug.cgi?id=76909
1866 Reviewed by Adam Roben.
1868 No new tests needed.
1870 * plugins/PluginView.cpp:
1871 (WebCore::PluginView::getURLNotify):
1872 (WebCore::PluginView::getURL):
1873 (WebCore::PluginView::PluginView):
1874 (WebCore::PluginView::handlePost):
1875 (WebCore::PluginView::getValueForURL):
1876 (WebCore::PluginView::setValueForURL):
1877 * plugins/PluginView.h:
1879 2012-01-25 Yael Aharon <yael.aharon@nokia.com>
1881 [Qt] Build fix when using force_static_libs_as_shared
1882 https://bugs.webkit.org/show_bug.cgi?id=76832
1884 Reviewed by Simon Hausmann.
1886 Add a dependency on QtWidgets, when compiling against Qt5.
1888 No new tests. This is a build fix.
1892 2012-01-25 Sami Kyostila <skyostil@chromium.org>
1894 Clipping of render layer boundaries does not take page scale into account
1895 https://bugs.webkit.org/show_bug.cgi?id=76850
1897 Reviewed by Simon Fraser.
1899 When inserting render layers into the compositor's overlap map, the
1900 layer boundaries are clipped against any potential parent clip rects.
1901 The clip rects are given in CSS coordinates, while the render layer
1902 boundaries are in scaled CSS coordinates, so the result is incorrect.
1903 This patch scales the clip rects before calculating the intersection.
1905 Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
1907 * rendering/RenderLayerCompositor.cpp:
1908 (WebCore::RenderLayerCompositor::addToOverlapMap):
1910 2012-01-25 Stephen Chenney <schenney@chromium.org>
1912 Linecaps wrong for zero length lines
1913 https://bugs.webkit.org/show_bug.cgi?id=71820
1915 Reviewed by Nikolas Zimmermann.
1917 Total reworking of the method used to draw zero-length linecaps for
1918 SVG. This patch works for all zero length sub-paths.
1920 Tests: svg/stroke/zero-length-path-linecap-rendering.svg
1921 svg/stroke/zero-length-subpaths-linecap-rendering.svg
1923 * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
1924 new implementation and clarify code.
1925 (WebCore::RenderSVGShape::createShape):
1926 (WebCore::RenderSVGShape::strokeContains):
1927 (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
1928 (WebCore::RenderSVGShape::zeroLengthSubpathRect):
1929 (WebCore::RenderSVGShape::zeroLengthLinecapPath):
1930 (WebCore::RenderSVGShape::nonScalingStrokePath):
1931 (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
1932 (WebCore::RenderSVGShape::fillShape):
1933 (WebCore::RenderSVGShape::strokePath):
1934 (WebCore::RenderSVGShape::fillAndStrokePath):
1935 (WebCore::RenderSVGShape::updateCachedBoundaries):
1936 (WebCore::RenderSVGShape::processZeroLengthSubpaths):
1937 * rendering/svg/RenderSVGShape.h: Declarations for new methods.
1938 * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
1939 * svg/SVGPathBuilder.h: Fix typos
1940 * svg/SVGPathConsumer.h: Fix typos
1941 * svg/SVGPathSegListBuilder.h: Fix typos
1942 * svg/SVGPathTraversalStateBuilder.h: Fix typos
1944 2012-01-23 Yury Semikhatsky <yurys@chromium.org>
1946 Web Inspector: show memory counter graphs in timeline panel
1947 https://bugs.webkit.org/show_bug.cgi?id=76843
1949 Timeline panel is extended with several graphs depicting total node count,
1950 number of DOM groups and event listeners. This feature is hidden behind
1951 experimental setting.
1953 Reviewed by Pavel Feldman.
1955 * English.lproj/localizedStrings.js:
1956 * inspector/Inspector.json:
1957 * inspector/InspectorController.cpp:
1958 (WebCore::InspectorController::InspectorController):
1959 * inspector/InspectorTimelineAgent.cpp:
1960 (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
1961 (WebCore::InspectorTimelineAgent::didCallFunction):
1962 (WebCore::InspectorTimelineAgent::didDispatchEvent):
1963 (WebCore::InspectorTimelineAgent::didWriteHTML):
1964 (WebCore::InspectorTimelineAgent::didFireTimer):
1965 (WebCore::InspectorTimelineAgent::didEvaluateScript):
1966 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1967 (WebCore::InspectorTimelineAgent::collectDomCounters):
1968 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1969 * inspector/InspectorTimelineAgent.h:
1970 (WebCore::InspectorTimelineAgent::create):
1971 * inspector/TimelineRecordFactory.cpp:
1972 * inspector/front-end/Settings.js:
1973 (WebInspector.ExperimentsSettings):
1974 * inspector/front-end/TimelinePanel.js:
1975 (WebInspector.TimelinePanel):
1976 (WebInspector.MemoryStatistics):
1977 (WebInspector.MemoryStatistics.prototype.setTopPosition):
1978 (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
1979 (WebInspector.MemoryStatistics.prototype._sidebarResized):
1980 (WebInspector.MemoryStatistics.prototype._updateSize):
1981 (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
1982 (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
1983 (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1984 (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
1985 (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
1986 (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
1987 (WebInspector.MemoryStatistics.prototype._draw):
1988 (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
1989 (WebInspector.MemoryStatistics.prototype._onMouseOver):
1990 (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1991 (WebInspector.MemoryStatistics.prototype.visible):
1992 (WebInspector.MemoryStatistics.prototype.show):
1993 (WebInspector.MemoryStatistics.prototype.refresh):
1994 (WebInspector.MemoryStatistics.prototype.hide):
1995 (WebInspector.MemoryStatistics.prototype._setVerticalClip):
1996 (WebInspector.MemoryStatistics.prototype._calculateXValues):
1997 (WebInspector.MemoryStatistics.prototype._drawPolyline):
1998 (WebInspector.MemoryStatistics.prototype._drawBottomBound):
1999 (WebInspector.MemoryStatistics.prototype._clear):
2000 (WebInspector.TimelinePanel.prototype._startSplitterDragging):
2001 (WebInspector.TimelinePanel.prototype._splitterDragging):
2002 (WebInspector.TimelinePanel.prototype._endSplitterDragging):
2003 (WebInspector.TimelinePanel.prototype._setSplitterPosition):
2004 (WebInspector.TimelinePanel.prototype.get statusBarItems):
2005 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2006 (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
2007 (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
2008 (WebInspector.TimelinePanel.prototype.sidebarResized):
2009 (WebInspector.TimelinePanel.prototype._refresh):
2010 * inspector/front-end/timelinePanel.css:
2011 (#timeline-memory-splitter):
2012 (#memory-counters-graph):
2013 (#memory-graphs-container):
2014 (#memory-graphs-container .split-view-contents):
2016 (.memory-counter-sidebar-info):
2017 (.memory-counter-sidebar-info.bottom-border-visible):
2019 2012-01-25 Joseph Pecoraro <pecoraro@apple.com>
2021 <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
2023 Reviewed by Pavel Feldman.
2025 * inspector/front-end/InspectorFrontendHostStub.js:
2027 2012-01-25 Vsevolod Vlasov <vsevik@chromium.org>
2029 Unreviewed inspector style fix.
2031 * inspector/front-end/tabbedPane.css:
2032 (.tabbed-pane-header-tab-close-button):
2033 (select.tabbed-pane-header-tabs-drop-down-select):
2035 2012-01-25 Pablo Flouret <pablof@motorola.com>
2037 Fix incorrect behavior in HTMLCollection.prototype.item().
2038 https://bugs.webkit.org/show_bug.cgi?id=74468
2040 Reviewed by Adam Barth.
2042 HTMLCollection.prototype.item("someString") was falling back to
2043 .namedItem("someString"), which is wrong per spec. Also align the
2044 handling of various other types of objects passed as the argument with
2045 the spec and the rest of the browsers.
2047 Test: fast/dom/collection-item.html
2049 * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
2050 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
2051 * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
2053 2012-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
2055 Unreviewed, rolling out r105858.
2056 http://trac.webkit.org/changeset/105858
2057 https://bugs.webkit.org/show_bug.cgi?id=77004
2059 It made many tests crash on Qt (Requested by Ossy on #webkit).
2061 * GNUmakefile.list.am:
2064 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2065 (WebCore::GraphicsLayerTextureMapper::addAnimation):
2066 (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
2067 (WebCore::GraphicsLayerTextureMapper::removeAnimation):
2068 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2069 (GraphicsLayerTextureMapper):
2070 * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
2071 * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
2072 * platform/graphics/texmap/TextureMapperNode.cpp:
2073 (WebCore::TextureMapperNode::syncCompositingStateSelf):
2074 (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
2075 (WebCore::normalizedAnimationValue):
2077 (WebCore::TextureMapperNode::applyOpacityAnimation):
2078 (WebCore::solveEpsilon):
2079 (WebCore::solveCubicBezierFunction):
2080 (WebCore::solveStepsFunction):
2081 (WebCore::applyTimingFunction):
2082 (WebCore::TextureMapperNode::applyTransformAnimation):
2083 (WebCore::TextureMapperNode::applyAnimationFrame):
2084 (WebCore::TextureMapperNode::applyAnimation):
2085 (WebCore::TextureMapperNode::hasOpacityAnimation):
2086 (WebCore::TextureMapperNode::hasTransformAnimation):
2087 (WebCore::TextureMapperNode::syncAnimations):
2088 (WebCore::TextureMapperNode::syncAnimationsRecursively):
2089 (WebCore::TextureMapperNode::syncCompositingState):
2090 (WebCore::TextureMapperAnimation::TextureMapperAnimation):
2091 * platform/graphics/texmap/TextureMapperNode.h:
2092 (TextureMapperAnimation):
2093 (WebCore::TextureMapperAnimation::create):
2095 (TextureMapperNode):
2097 2012-01-25 Kenichi Ishibashi <bashi@chromium.org>
2099 fast/text/unicode-variation-selector.html doesn't pass on Lion
2100 https://bugs.webkit.org/show_bug.cgi?id=76041
2102 Reviewed by Dan Bernstein.
2104 Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
2105 account Ideographic variation selectors (these are non-BMP marks).
2107 No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
2109 * platform/graphics/mac/ComplexTextController.cpp:
2110 (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
2111 to iterate the loop which consumes marks.
2113 2012-01-25 Ilya Tikhonovsky <loislo@chromium.org>
2115 Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
2116 https://bugs.webkit.org/show_bug.cgi?id=76989
2118 Reviewed by Pavel Feldman.
2120 * English.lproj/localizedStrings.js:
2121 * inspector/front-end/DetailedHeapshotGridNodes.js:
2122 (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2123 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2124 (WebInspector.HeapSnapshotObjectNode):
2125 (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2126 (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
2127 * inspector/front-end/HeapSnapshot.js:
2128 (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
2130 2012-01-25 Vsevolod Vlasov <vsevik@chromium.org>
2132 Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
2133 https://bugs.webkit.org/show_bug.cgi?id=76711
2135 Reviewed by Yury Semikhatsky.
2137 * inspector/Inspector.json:
2138 * inspector/InspectorIndexedDBAgent.cpp:
2140 (WebCore::assertDocument):
2141 (WebCore::assertIDBFactory):
2142 (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2143 (WebCore::InspectorIndexedDBAgent::requestDatabase):
2144 * inspector/InspectorIndexedDBAgent.h:
2145 (InspectorIndexedDBAgent):
2146 * inspector/front-end/IndexedDBModel.js:
2147 (WebInspector.IndexedDBModel):
2148 (WebInspector.IndexedDBModel.prototype._frameDetached):
2149 (WebInspector.IndexedDBModel.prototype._reset):
2150 (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
2151 (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
2152 (WebInspector.IndexedDBModel.prototype._originRemoved):
2153 (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2154 (WebInspector.IndexedDBModel.prototype._databaseRemoved):
2155 (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2156 (WebInspector.IndexedDBModel.prototype._loadDatabase):
2157 (WebInspector.IndexedDBModel.Frame):
2158 (WebInspector.IndexedDBModel.Database):
2159 (WebInspector.IndexedDBModel.ObjectStore):
2160 (WebInspector.IndexedDBModel.ObjectStoreIndex):
2161 (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
2162 (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
2163 (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
2164 (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
2165 (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
2166 (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
2167 (WebInspector.IndexedDBRequestManager.prototype._reset):
2168 (WebInspector.IndexedDBRequestManager.DatabaseRequest):
2169 (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
2170 (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
2172 2012-01-25 Peter Rybin <peter.rybin@gmail.com>
2174 Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
2175 https://bugs.webkit.org/show_bug.cgi?id=76676
2177 Reviewed by Yury Semikhatsky.
2179 Generator algorithm is redone significantly.
2181 * inspector/CodeGeneratorInspector.py:
2182 (RawTypes.BaseType):
2183 (RawTypes.BaseType.request_raw_internal_runtime_cast):
2184 (RawTypes.BaseType.generate_validate_method_impl):
2186 (RawTypes.generate_validate_methods):
2188 (RawTypes.String.generate_validate_method):
2189 (RawTypes.String.get_raw_validator_call_text):
2191 (RawTypes.Int.generate_validate_method):
2192 (RawTypes.Int.get_raw_validator_call_text):
2194 (RawTypes.Number.generate_validate_method):
2195 (RawTypes.Number.get_raw_validator_call_text):
2197 (RawTypes.Bool.generate_validate_method):
2198 (RawTypes.Bool.get_raw_validator_call_text):
2200 (RawTypes.Object.generate_validate_method):
2201 (RawTypes.Object.get_raw_validator_call_text):
2203 (RawTypes.Any.generate_validate_method):
2204 (RawTypes.Any.get_raw_validator_call_text):
2206 (RawTypes.Array.generate_validate_method):
2207 (RawTypes.Array.get_raw_validator_call_text):
2208 (TypeBindings.create_named_type_declaration.Helper):
2209 (TypeBindings.create_ad_hoc_type_declaration.Helper):
2210 (TypeBindings.create_type_declaration_.EnumBinding):
2211 (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
2212 (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
2213 (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
2214 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
2215 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2216 (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
2217 (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
2218 (TypeBindings.create_type_declaration_.PlainString):
2219 (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
2220 (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
2221 (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
2222 (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
2223 (TypeBindings.create_type_declaration_.TypedefString):
2224 (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
2225 (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
2226 (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
2227 (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
2228 (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
2229 (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
2230 (TypeBindings.create_type_declaration_.ClassBinding):
2231 (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
2232 (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
2233 (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
2234 (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
2235 (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
2236 (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
2237 (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
2238 (get_validator_call_text):
2239 (get_in_c_type_text):
2240 (AdHocTypeContextImpl):
2241 (AdHocTypeContextImpl.__init__):
2242 (AdHocTypeContextImpl.get_type_name_fix):
2243 (AdHocTypeContextImpl.get_type_name_fix.NameFix):
2244 (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
2245 (AdHocTypeContextImpl.add_type):
2246 (PlainObjectBinding):
2247 (PlainObjectBinding.resolve_inner):
2248 (PlainObjectBinding.request_user_runtime_cast):
2249 (PlainObjectBinding.request_internal_runtime_cast):
2250 (PlainObjectBinding.get_validator_call_text):
2252 (ArrayBinding.resolve_inner):
2253 (ArrayBinding.resolve_inner.AdHocTypeContext):
2254 (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
2255 (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
2256 (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
2257 (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
2258 (ArrayBinding.resolve_inner.ResolveData):
2259 (ArrayBinding.request_user_runtime_cast):
2260 (ArrayBinding.request_internal_runtime_cast):
2261 (ArrayBinding.get_code_generator):
2262 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
2263 (ArrayBinding.get_validator_call_text):
2264 (ArrayBinding.get_in_c_type_text):
2265 (RawTypeBinding.resolve_inner):
2267 (RawTypeBinding.request_user_runtime_cast):
2268 (RawTypeBinding.request_internal_runtime_cast):
2269 (RawTypeBinding.get_validator_call_text):
2270 (TypeData.get_name):
2272 (TypeData.get_domain_name):
2273 (resolve_param_type):
2274 (NeedRuntimeCastRequest):
2275 (NeedRuntimeCastRequest.__init__):
2276 (NeedRuntimeCastRequest.acknowledge):
2277 (NeedRuntimeCastRequest.is_acknowledged):
2278 (resolve_all_types):
2279 (resolve_all_types.ForwardListener):
2280 (resolve_all_types.ForwardListener.add_type_data):
2281 (resolve_all_types.ResolveContext):
2284 (Generator.process_event):
2285 (Generator.process_event.AdHocTypeContext):
2286 (Generator.process_event.AdHocTypeContext.add_type):
2287 (Generator.process_event.EventForwardListener):
2288 (Generator.process_event.EventForwardListener.add_type_data):
2289 (Generator.process_event.EventResolveContext):
2290 (Generator.process_event.EventGenerateContext):
2291 (Generator.process_types.GenerateContext):
2292 (Generator.process_types.create_type_builder_caller.call_type_builder):
2293 (Generator.process_types.generate_forward_callback):
2294 * inspector/InspectorValues.h:
2295 (WebCore::InspectorObject::size):
2297 2012-01-25 Anton Muhin <antonm@chromium.org>
2299 Unreview manual revert of r105843.
2301 * fileapi/EntryBase.cpp:
2302 (WebCore::EntryBase::toURL):
2303 * page/SecurityOrigin.cpp:
2304 (WebCore::extractInnerURL):
2307 * platform/KURLGoogle.cpp:
2309 (WebCore::KURLGooglePrivate::setUtf8):
2310 (WebCore::KURLGooglePrivate::setAscii):
2311 (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
2312 (WebCore::KURLGooglePrivate::copyTo):
2313 (WebCore::encodeWithURLEscapeSequences):
2314 * platform/KURLGooglePrivate.h:
2315 (KURLGooglePrivate):
2317 2012-01-25 Noel Gordon <noel.gordon@gmail.com>
2319 Use maximum image dimension definition from libwebp
2320 https://bugs.webkit.org/show_bug.cgi?id=76980
2322 Reviewed by Kent Tamura.
2324 No new tests, no change in behavior.
2326 * platform/image-encoders/skia/WEBPImageEncoder.cpp:
2327 (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
2328 * platform/image-encoders/skia/WEBPImageEncoder.h:
2329 (): Remove local definition of the maximum webp image dimension
2331 2012-01-25 Noel Gordon <noel.gordon@gmail.com>
2333 JPEGDecoder should use imageDecoder colorProfile helpers
2334 https://bugs.webkit.org/show_bug.cgi?id=76968
2336 Reviewed by Adam Barth.
2338 No new tests. Cover by existing tests, in particular:
2339 fast/images/ycbcr-with-cmyk-color-profile.html
2340 fast/images/gray-scale-jpeg-with-color-profile.html
2341 fast/images/cmyk-jpeg-with-color-profile.html
2342 fast/images/color-jpeg-with-color-profile.html
2344 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
2345 (WebCore::readColorProfile): Use ImageDecoder.h color profile helper routines.
2346 (WebCore::JPEGImageReader::JPEGImageReader):
2347 (WebCore::JPEGImageReader::decode):
2349 2012-01-25 No'am Rosenthal <noam.rosenthal@nokia.com>
2351 [Texmap] Divide TextureMapperNode.cpp to 3 files.
2352 https://bugs.webkit.org/show_bug.cgi?id=76660
2354 Reviewed by Kenneth Rohde Christiansen.
2356 Split the animation part of TextureMapperNode out to a separate file, called
2357 TextureMapperAnimation.
2358 Provide a clean interface for that class, that allows separating the internals of the scene
2359 painting from the internals of the animation interpolation.
2361 No new tests. Existing animation tests cover this.
2363 * GNUmakefile.list.am: Added new TextureMapper-related files.
2364 * Target.pri: Added new TextureMapper-related files.
2365 * WebCore.gypi: Added new TextureMapper-related files.
2366 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2367 (WebCore::GraphicsLayerTextureMapper::addAnimation):
2368 (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
2369 (WebCore::GraphicsLayerTextureMapper::removeAnimation):
2370 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2371 * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
2372 * platform/graphics/texmap/TextureMapperAnimation.h: Added.
2373 * platform/graphics/texmap/TextureMapperNode.cpp:
2374 (WebCore::TextureMapperNode::syncCompositingStateSelf):
2375 (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
2376 (WebCore::TextureMapperNode::syncAnimations):
2377 (WebCore::TextureMapperNode::syncAnimationsRecursively):
2378 (WebCore::TextureMapperNode::syncCompositingState):
2379 * platform/graphics/texmap/TextureMapperNode.h:
2381 2012-01-25 Roland Steiner <rolandsteiner@chromium.org>
2383 <style scoped>: Implement registering of <style scoped> with the scoping element
2384 https://bugs.webkit.org/show_bug.cgi?id=67790
2386 Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
2387 Update the registration whenever the 'scoped' attribute is changed,
2388 or the <style> element eneters or leaves the tree.
2390 Also, extend windows.internals to allow for testing of the registration ref-counting.
2392 Reviewed by Dimitri Glazkov.
2394 Test: fast/css/style-scoped/registering.html
2398 (WebCore::Element::hasScopedHTMLStyleChild):
2399 (WebCore::Element::numberOfScopedHTMLStyleChildren):
2400 (WebCore::Element::registerScopedHTMLStyleChild):
2401 (WebCore::Element::unregisterScopedHTMLStyleChild):
2403 * dom/ElementRareData.h:
2404 (WebCore::ElementRareData::ElementRareData):
2405 (WebCore::ElementRareData::registerScopedHTMLStyleChild):
2406 (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
2407 (WebCore::ElementRareData::hasScopedHTMLStyleChild):
2408 (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
2409 * html/HTMLStyleElement.cpp:
2410 (WebCore::HTMLStyleElement::HTMLStyleElement):
2411 (WebCore::HTMLStyleElement::~HTMLStyleElement):
2412 (WebCore::HTMLStyleElement::parseMappedAttribute):
2413 (WebCore::HTMLStyleElement::registerWithScopingNode):
2414 (WebCore::HTMLStyleElement::unregisterWithScopingNode):
2415 (WebCore::HTMLStyleElement::insertedIntoDocument):
2416 (WebCore::HTMLStyleElement::removedFromDocument):
2417 (WebCore::HTMLStyleElement::willRemove):
2418 * html/HTMLStyleElement.h:
2419 * testing/Internals.cpp:
2420 (WebCore::Internals::numberOfScopedHTMLStyleChildren):
2421 * testing/Internals.h:
2422 * testing/Internals.idl:
2424 2012-01-24 Daniel Bates <dbates@webkit.org>
2426 Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
2427 (https://bugs.webkit.org/show_bug.cgi?id=75049)
2429 Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
2430 LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
2431 WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
2434 (WebCore::KURL::innerURL):
2436 2012-01-24 Vangelis Kokkevis <vangelis@chromium.org>
2438 [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
2439 https://bugs.webkit.org/show_bug.cgi?id=76735
2441 This is to add skipped layers to their RenderSurface's layer list so that they
2442 are considered in the next update. Without this change, m_skipsDraw = false sticks
2443 with the layer for the remainder of its lifetime.
2445 Reviewed by James Robinson.
2447 Tests: Unit test (TiledLayerChromiumTest.cpp)
2449 * platform/graphics/chromium/TiledLayerChromium.cpp:
2450 (WebCore::TiledLayerChromium::drawsContent):
2451 * platform/graphics/chromium/TiledLayerChromium.h:
2452 (WebCore::TiledLayerChromium::skipsDraw):
2454 2012-01-24 Kentaro Hara <haraken@chromium.org>
2456 Invalidate r105697, r105766, r105809 and r105805
2457 https://bugs.webkit.org/show_bug.cgi?id=76970
2459 Reviewed by Adam Barth.
2461 I've been trying to stop rebuilding .h/.cpp files generated by
2462 unchanged IDLs (bug 76836), but the approach was wrong.
2463 This patch invalidates patches committed in r105697, r105766,
2464 r105809 and r105805.
2466 In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
2467 so that they overwrite .h/.cpp files only when the bytes differ.
2468 By this fix, we were able to stop rebuilding .h/.cpp files that are not
2469 changed. However, the fix has made generate-bindings.pl run for almost
2470 all IDLs every time. The reason is as follows:
2472 (0) Assume that there are A.idl, B.idl and C.idl.
2476 (3) supplemental_dependency.tmp is updated.
2477 (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
2478 (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
2481 (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
2482 (8) B.h, B.cpp, C.h and C.cpp are not updated.
2485 (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
2486 (11) B.h, B.cpp, C.h and C.cpp are not updated.
2489 We should fix the bug somehow, but how to fix it is not obvious.
2490 For the time being, this patch invalidates r105697, r105766, r105809
2493 No tests. No change in behavior.
2495 * bindings/scripts/CodeGenerator.pm:
2497 * bindings/scripts/CodeGeneratorCPP.pm:
2499 * bindings/scripts/CodeGeneratorJS.pm:
2501 * bindings/scripts/CodeGeneratorObjC.pm:
2503 * bindings/scripts/CodeGeneratorV8.pm:
2506 2012-01-24 Eric Uhrhane <ericu@chromium.org>
2508 Add full support for filesystem URLs.
2509 https://bugs.webkit.org/show_bug.cgi?id=75049
2511 Reviewed by Adam Barth.
2513 No new tests; existing layout tests cover the basic functionality, and
2514 the new functionality won't be there until Chromium adds it. This patch
2515 merely enables that, without changing behavior.
2517 * fileapi/EntryBase.cpp:
2518 (WebCore::EntryBase::toURL): Add missing escaping of URL path.
2520 * page/SecurityOrigin.cpp:
2521 (WebCore::extractInnerURL): Use innerURL member, if it's populated.
2524 (WebCore::KURL::innerURL): Add innerURL member.
2526 * platform/KURLGoogle.cpp:
2527 (WebCore::KURLGooglePrivate::KURLGooglePrivate):
2528 (WebCore::KURLGooglePrivate::operator=):
2529 Add copy constructor and operator=, which are now needed since
2530 m_innerURL needs special handling.
2531 (WebCore::KURLGooglePrivate::setUtf8):
2532 (WebCore::KURLGooglePrivate::setAscii):
2533 Add calls to initInnerURL.
2534 (WebCore::KURLGooglePrivate::initInnerURL):
2535 Add method to init/copy m_innerURL.
2536 (WebCore::KURLGooglePrivate::copyTo):
2537 Handle m_innerURL during copies.
2538 (WebCore::encodeWithURLEscapeSequences):
2539 Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
2541 * platform/KURLGooglePrivate.h:
2542 (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
2544 2012-01-24 Ken Buchanan <kenrb@chromium.org>
2546 Crash in updateFirstLetter() from unnecessary anonymous block
2547 https://bugs.webkit.org/show_bug.cgi?id=72675
2549 Reviewed by David Hyatt.
2551 There was a problem with anonymous blocks not getting removed when
2552 their only block flow siblings are removed if they also have non-block
2553 flow first-letter siblings (i.e. floats). This patch modifies
2554 RenderBlock::removeChild() to look for this situation and strip out
2555 unnecessary anonymous container blocks if it occurs.
2557 * rendering/RenderBlock.cpp:
2558 (WebCore::RenderBlock::removeChild):
2559 (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2560 * rendering/RenderBlock.h:
2561 (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2563 2012-01-24 Daniel Cheng <dcheng@chromium.org>
2565 [chromium] event.dataTransfer.types should not return "Text" or "URL"
2566 https://bugs.webkit.org/show_bug.cgi?id=76218
2568 Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
2569 dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
2572 Reviewed by Tony Chang.
2574 Test: fast/events/dropzone-005.html
2576 * platform/chromium/ChromiumDataObject.cpp:
2577 (WebCore::ChromiumDataObject::types):
2578 (WebCore::ChromiumDataObject::getData):
2579 * platform/chromium/DragDataChromium.cpp:
2580 (WebCore::DragData::containsURL):
2581 (WebCore::DragData::asURL):
2582 (WebCore::DragData::canSmartReplace):
2584 2012-01-24 Daniel Cheng <dcheng@chromium.org>
2586 Make DataTransferItemList::length() const.
2587 https://bugs.webkit.org/show_bug.cgi?id=76946
2589 Just a const-correctness change.
2591 Reviewed by Tony Chang.
2593 No new tests since no functionality changed.
2595 * dom/DataTransferItemList.h:
2596 (DataTransferItemList):
2597 * platform/chromium/DataTransferItemListChromium.cpp:
2598 (WebCore::DataTransferItemListChromium::length):
2599 * platform/chromium/DataTransferItemListChromium.h:
2600 (DataTransferItemListChromium):
2601 * platform/qt/DataTransferItemListQt.cpp:
2602 (WebCore::DataTransferItemListQt::length):
2603 * platform/qt/DataTransferItemListQt.h:
2604 (DataTransferItemListQt):
2606 2012-01-24 Tony Chang <tony@chromium.org>
2608 REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
2609 https://bugs.webkit.org/show_bug.cgi?id=76317
2611 Reviewed by Darin Adler.
2613 Test: scrollbars/scroll-rtl-or-bt-layer.html
2615 * rendering/RenderLayer.cpp:
2616 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
2617 scrolling to the just computed offset.
2619 2012-01-24 Mark Rowe <mrowe@apple.com>
2621 Fix all of the builds after r105812.
2623 * loader/EmptyClients.h: Move the #include in to the correct #if.
2625 2012-01-24 Dmitry Lomov <dslomov@google.com>
2627 [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
2628 https://bugs.webkit.org/show_bug.cgi?id=76944.
2630 Reviewed by David Levin.
2632 * bindings/v8/V8Proxy.cpp:
2633 (WebCore::V8Proxy::retrieveWindowForCallingContext):
2634 * bindings/v8/V8Proxy.h:
2635 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2636 (WebCore::handlePostMessageCallback):
2638 2012-01-24 Geoffrey Garen <ggaren@apple.com>
2640 Updated bindings test expectations after my last patch.
2644 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2645 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2646 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2647 (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
2648 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2649 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2650 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2651 * bindings/scripts/test/JS/JSTestInterface.cpp:
2652 (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2653 (WebCore::setJSTestInterfaceSupplementalStr2):
2654 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2655 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2656 (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2657 * bindings/scripts/test/JS/JSTestObj.cpp:
2658 (WebCore::setJSTestObjStringAttr):
2659 (WebCore::setJSTestObjStringAttrWithGetterException):
2660 (WebCore::setJSTestObjStringAttrWithSetterException):
2661 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2662 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2663 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2664 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2665 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2666 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2667 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2668 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2669 (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
2670 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2671 * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
2672 (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
2673 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2674 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2676 2012-01-24 Greg Billock <gbillock@google.com>
2678 Change dispatchIntent API to pure virtual in FrameLoaderClient.
2680 The Windows compiler needs this to deal with the forward declaration
2681 of WebCore::IntentRequest.
2682 https://bugs.webkit.org/show_bug.cgi?id=76940
2684 Reviewed by Adam Barth.
2686 * loader/EmptyClients.h:
2687 (WebCore::EmptyFrameLoaderClient::dispatchIntent):
2688 * loader/FrameLoaderClient.h:
2690 2012-01-24 Kentaro Hara <haraken@chromium.org>
2692 CodeGeneratorJS.pm should overwrite the output .h/.cpp
2693 only if the bytes differ
2694 https://bugs.webkit.org/show_bug.cgi?id=76922
2696 Reviewed by Darin Adler.
2698 This is one of steps to stop rebuilding .h/.cpp files
2699 generated by unchanged IDLs (bug 76836).
2700 This patch makes a change on CodeGeneratorJS.pm so that
2701 it overwrites the output .h/.cpp only if the bytes differ.
2703 No tests. No change in behavior.
2704 I manually confirmed that when I add a new attribute to Element.idl,
2705 the time-stamps of unrelated JS*.h and JS*.cpp do not change.
2707 * bindings/scripts/CodeGeneratorJS.pm:
2708 (WriteData): Used UpdateFileIfChanged().
2710 2012-01-24 Kentaro Hara <haraken@chromium.org>
2712 CodeGeneratorCPP.pm should overwrite the output .h/.cpp
2713 only if the bytes differ
2714 https://bugs.webkit.org/show_bug.cgi?id=76926
2716 Reviewed by Adam Barth.
2718 This is one of steps to stop rebuilding .h/.cpp files
2719 generated by unchanged IDLs (bug 76836).
2720 This patch makes a change on CodeGeneratorCPP.pm so that
2721 it overwrites the output .h/.cpp only if the bytes differ.
2723 No tests. No change in behavior.
2724 Manually confirm that when you add a new attribute to Element.idl,
2725 the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
2727 * bindings/scripts/CodeGeneratorCPP.pm:
2728 (WriteData): Used UpdateFileIfChanged().
2730 2012-01-24 Sheriff Bot <webkit.review.bot@gmail.com>
2732 Unreviewed, rolling out r105238.
2733 http://trac.webkit.org/changeset/105238
2734 https://bugs.webkit.org/show_bug.cgi?id=76943
2736 Remove the assert text hack as it served its purpose.
2737 (Requested by dave_levin on #webkit).
2739 * dom/ActiveDOMObject.cpp:
2740 (WebCore::ContextDestructionObserver::ContextDestructionObserver):
2741 (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
2742 (WebCore::ActiveDOMObject::ActiveDOMObject):
2743 (WebCore::ActiveDOMObject::~ActiveDOMObject):
2744 * storage/DatabaseSync.cpp:
2745 (WebCore::DatabaseSync::openDatabaseSync):
2746 (WebCore::DatabaseSync::~DatabaseSync):
2747 (WebCore::DatabaseSync::changeVersion):
2748 (WebCore::DatabaseSync::runTransaction):
2750 2012-01-24 Kentaro Hara <haraken@chromium.org>
2752 [Refactoring] In CodeGeneratorGObject.pm, merge
2753 GeneratePrivateHeader() into WriteData()
2754 https://bugs.webkit.org/show_bug.cgi?id=76923
2756 Reviewed by Adam Barth.
2758 This patch merges GeneratePrivateHeader() into WriteData(),
2759 so that all code to output .h/.cpp is managed by WriteData(),
2760 just like other CodeGenerator*.pm does.
2762 No tests. No change in behavior.
2763 Confirm that GTK/GObject build passes.
2765 * bindings/scripts/CodeGeneratorGObject.pm:
2767 (WriteData): Copied GeneratePrivateHeader() to here.
2768 Removed $hasLegacyParen, $hasRealParent and $hasParent
2769 since they are not used.
2770 (GenerateInterface):
2772 2012-01-24 Daniel Cheng <dcheng@chromium.org>
2774 dropzone does not normalize type strings
2775 https://bugs.webkit.org/show_bug.cgi?id=76925
2777 Per the HTML spec, we are supposed to normalize types during dropzone processing by
2780 Reviewed by Tony Chang.
2782 Tests: fast/events/dropzone-002.html
2784 * dom/Clipboard.cpp:
2785 (WebCore::Clipboard::hasDropZoneType):
2787 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
2789 [GTK] Refactor GTK's accessibilitity code to be more modular
2790 https://bugs.webkit.org/show_bug.cgi?id=76783
2792 Reviewed by Martin Robinson.
2794 Don't expose functions for the ATK interfaces in header files.
2796 Expose only the initialization function for each interface, and
2797 use the generic functions from ATK interfaces where needed.
2799 * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
2800 (webkitAccessibleActionDoAction): Made this function static.
2801 (webkitAccessibleActionGetNActions): Ditto.
2802 (webkitAccessibleActionGetDescription): Ditto.
2803 (webkitAccessibleActionGetKeybinding): Ditto.
2804 (webkitAccessibleActionGetName): Ditto.
2805 (webkitAccessibleActionInterfaceInit): Moved to the bottom.
2806 * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
2807 functions but the one for initializing the interface from here.
2809 * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
2810 (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
2811 (webkitAccessibleComponentGetExtents): Ditto.
2812 (webkitAccessibleComponentGrabFocus): Ditto.
2813 (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
2814 * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
2815 functions but the one for initializing the interface from here.
2817 * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
2818 (webkitAccessibleDocumentGetAttributeValue): Made this function static.
2819 (webkitAccessibleDocumentGetAttributes): Ditto.
2820 (webkitAccessibleDocumentGetLocale): Ditto.
2821 (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
2822 * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
2823 functions but the one for initializing the interface from here.
2825 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
2826 (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
2827 (webkitAccessibleEditableTextSetTextContents): Ditto.
2828 (webkitAccessibleEditableTextInsertText): Ditto.
2829 (webkitAccessibleEditableTextCopyText): Ditto.
2830 (webkitAccessibleEditableTextCutText): Ditto.
2831 (webkitAccessibleEditableTextDeleteText): Ditto.
2832 (webkitAccessibleEditableTextPasteText): Ditto.
2833 (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
2834 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
2835 functions but the one for initializing the interface from here.
2837 * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
2838 (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
2839 (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
2840 * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
2841 functions but the one for initializing the interface from here.
2843 * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
2844 (webkitAccessibleHypertextGetLink): Made this function static.
2845 (webkitAccessibleHypertextGetNLinks): Ditto.
2846 (webkitAccessibleHypertextGetLinkIndex): Ditto.
2847 (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
2848 * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
2849 functions but the one for initializing the interface from here.
2851 * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
2852 (webkitAccessibleImageGetImagePosition): Made this function static.
2853 (webkitAccessibleImageGetImageDescription): Ditto.
2854 (webkitAccessibleImageGetImageSize): Ditto.
2855 (webkitAccessibleImageInterfaceInit): Moved to the bottom.
2856 * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
2857 functions but the one for initializing the interface from here.
2859 * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
2860 (webkitAccessibleSelectionAddSelection): Made this function static.
2861 (webkitAccessibleSelectionClearSelection): Ditto.
2862 (webkitAccessibleSelectionRefSelection): Ditto.
2863 (webkitAccessibleSelectionGetSelectionCount): Ditto.
2864 (webkitAccessibleSelectionIsChildSelected): Ditto.
2865 (webkitAccessibleSelectionRemoveSelection): Ditto.
2866 (webkitAccessibleSelectionSelectAllSelection): Ditto.
2867 (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
2868 * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
2869 functions but the one for initializing the interface from here.
2871 * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
2872 (webkitAccessibleTableRefAt): Made this function static.
2873 (webkitAccessibleTableGetIndexAt): Ditto.
2874 (webkitAccessibleTableGetColumnAtIndex): Ditto.
2875 (webkitAccessibleTableGetRowAtIndex): Ditto.
2876 (webkitAccessibleTableGetNColumns): Ditto.
2877 (webkitAccessibleTableGetNRows): Ditto.
2878 (webkitAccessibleTableGetColumnExtentAt): Ditto.
2879 (webkitAccessibleTableGetRowExtentAt): Ditto.
2880 (webkitAccessibleTableGetColumnHeader): Ditto.
2881 (webkitAccessibleTableGetRowHeader): Ditto.
2882 (webkitAccessibleTableGetCaption): Ditto.
2883 (webkitAccessibleTableGetColumnDescription): Ditto.
2884 (webkitAccessibleTableGetRowDescription): Ditto.
2885 (webkitAccessibleTableInterfaceInit): Moved to the bottom.
2886 * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
2887 functions but the one for initializing the interface from here.
2889 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2890 (textForRenderer): Made this function static.
2891 (textForObject): Ditto.
2892 (webkitAccessibleTextGetText): Ditto.
2893 (webkitAccessibleTextGetTextAfterOffset): Ditto.
2894 (webkitAccessibleTextGetTextAtOffset): Ditto.
2895 (webkitAccessibleTextGetTextBeforeOffset): Ditto.
2896 (webkitAccessibleTextGetCharacterAtOffset): Ditto.
2897 (webkitAccessibleTextGetCaretOffset): Ditto.
2898 (webkitAccessibleTextGetRunAttributes): Ditto.
2899 (webkitAccessibleTextGetDefaultAttributes): Ditto.
2900 (webkitAccessibleTextGetCharacterExtents): Ditto.
2901 (webkitAccessibleTextGetRangeExtents): Ditto.
2902 (webkitAccessibleTextGetCharacterCount): Ditto.
2903 (webkitAccessibleTextGetOffsetAtPoint): Ditto.
2904 (webkitAccessibleTextGetNSelections): Ditto.
2905 (webkitAccessibleTextGetSelection): Ditto.
2906 (webkitAccessibleTextAddSelection): Ditto.
2907 (webkitAccessibleTextSetSelection): Ditto.
2908 (webkitAccessibleTextRemoveSelection): Ditto.
2909 (webkitAccessibleTextSetCaretOffset): Ditto.
2910 (webkitAccessibleTextInterfaceInit): Moved to the bottom.
2911 * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
2912 functions but the one for initializing the interface from here.
2914 * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
2915 (webkitAccessibleValueGetCurrentValue): Made this function static.
2916 (webkitAccessibleValueGetMaximumValue): Ditto.
2917 (webkitAccessibleValueGetMinimumValue): Ditto.
2918 (webkitAccessibleValueSetCurrentValue): Ditto.
2919 (webkitAccessibleValueGetMinimumIncrement): Ditto.
2920 (webkitAccessibleValueInterfaceInit): Moved to the bottom.
2921 * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
2922 functions but the one for initializing the interface from here.
2924 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2925 (webkitAccessibleGetName): Replace call to
2926 webkitAccessibleTextGetText with atk_text_get_text.
2928 2012-01-24 James Robinson <jamesr@chromium.org>
2930 [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
2931 https://bugs.webkit.org/show_bug.cgi?id=76887
2933 Reviewed by Dimitri Glazkov.
2935 A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
2936 It's possible in some circumstances for this to happen during painting. The null check for this pointer was
2937 erroneously removed from the base class TiledLayerChromium in r105460.
2939 No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
2940 trying!). Fix based on crash reports from the field.
2942 * platform/graphics/chromium/ContentLayerChromium.cpp:
2943 (WebCore::ContentLayerChromium::drawsContent):
2944 * platform/graphics/chromium/ContentLayerChromium.h:
2946 2012-01-16 Robert Hogan <robert@webkit.org>
2948 REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
2949 https://bugs.webkit.org/show_bug.cgi?id=74874
2951 Reviewed by Julien Chaffraix.
2953 Tests: fast/css/min-width-with-spanned-cell-fixed.html
2954 fast/css/min-width-with-spanned-cell.html
2956 A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
2957 columns are all percent and the width of the span cell is wider than the cells it spans in any other
2958 row then it will squeeze those cells beyond the width required to display their contents.
2960 To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
2961 their contents. The squeezing remains for fixed layout tables as per FF and Opera.
2963 * rendering/AutoTableLayout.cpp:
2964 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2966 2012-01-24 Tommy Widenflycht <tommyw@google.com>
2968 MediaStream API: Split the MediaStream track list into audio/video specific ones.
2969 https://bugs.webkit.org/show_bug.cgi?id=76614
2971 The latest draft of the WebRTC standard have split the MediaStream combined track list
2972 into audio/video specific ones.
2974 Reviewed by Darin Fisher.
2976 Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
2978 * mediastream/LocalMediaStream.cpp:
2979 (WebCore::LocalMediaStream::create):
2980 (WebCore::LocalMediaStream::LocalMediaStream):
2981 * mediastream/LocalMediaStream.h:
2982 * mediastream/MediaStream.cpp:
2983 (WebCore::processTrackList):
2984 (WebCore::MediaStream::create):
2985 (WebCore::MediaStream::MediaStream):
2986 * mediastream/MediaStream.h:
2987 (WebCore::MediaStream::audioTracks):
2988 (WebCore::MediaStream::videoTracks):
2989 * mediastream/MediaStream.idl:
2990 * mediastream/MediaStreamTrack.cpp:
2991 (WebCore::MediaStreamTrack::create):
2992 (WebCore::MediaStreamTrack::MediaStreamTrack):
2993 (WebCore::MediaStreamTrack::kind):
2994 (WebCore::MediaStreamTrack::label):
2995 (WebCore::MediaStreamTrack::enabled):
2996 (WebCore::MediaStreamTrack::setEnabled):
2997 (WebCore::MediaStreamTrack::component):
2998 * mediastream/MediaStreamTrack.h:
2999 * mediastream/UserMediaClient.h:
3000 * mediastream/UserMediaRequest.cpp:
3001 (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
3002 (WebCore::UserMediaRequest::succeed):
3003 * mediastream/UserMediaRequest.h:
3004 * platform/mediastream/MediaStreamCenter.cpp:
3005 (WebCore::MediaStreamCenter::queryMediaStreamSources):
3006 (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
3007 * platform/mediastream/MediaStreamCenter.h:
3008 * platform/mediastream/MediaStreamDescriptor.h:
3009 (WebCore::MediaStreamDescriptor::create):
3010 (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
3011 (WebCore::MediaStreamDescriptor::audioComponent):
3012 (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
3013 (WebCore::MediaStreamDescriptor::videoComponent):
3014 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3016 2012-01-24 Sheriff Bot <webkit.review.bot@gmail.com>
3018 Unreviewed, rolling out r105738.
3019 http://trac.webkit.org/changeset/105738
3020 https://bugs.webkit.org/show_bug.cgi?id=76930
3022 caused fast/css/getComputedStyle/computed-style-border-
3023 image.html to crash (Requested by kling on #webkit).
3025 * dom/NamedNodeMap.cpp:
3026 * dom/NamedNodeMap.h:
3027 * dom/StyledElement.cpp:
3028 (WebCore::StyledElement::updateStyleAttribute):
3029 (WebCore::StyledElement::createInlineStyleDecl):
3030 (WebCore::StyledElement::destroyInlineStyleDecl):
3031 (WebCore::StyledElement::ensureInlineStyleDecl):
3032 (WebCore::StyledElement::style):
3033 (WebCore::StyledElement::addSubresourceAttributeURLs):
3034 * dom/StyledElement.h:
3035 (WebCore::StyledElement::inlineStyleDecl):
3037 2012-01-24 Parag Radke <nrqv63@motorola.com>
3039 REGRESSION (r73385): Marquee with behavior="alternate" is not working
3040 https://bugs.webkit.org/show_bug.cgi?id=64230
3042 Reviewed by Simon Fraser.
3044 This patch gives correct content width for marquee, which computes
3045 correct start position to scroll marquee.
3047 Test: fast/html/marquee-alternate.html
3049 * rendering/RenderBlock.cpp:
3050 (WebCore::RenderBlock::computePreferredLogicalWidths):
3051 We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's
3052 actual content width to compute the initial/end position in case of 'MALTERNATE'.
3053 So we need to calculate the logical width in Alternate case even if fixed width is specified
3054 as content has to animate between renderBox().right().x() - contentWidth() and
3055 renderBox().left().x() + contentWidth().
3057 * rendering/RenderMarquee.cpp:
3058 (WebCore::RenderMarquee::computePosition):
3059 Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
3061 2012-01-24 Andreas Kling <awesomekling@apple.com>
3063 RenderInline: Skip caching the computed line height.
3064 <http://webkit.org/b/76929>
3066 Reviewed by David Hyatt.
3068 Stop caching the computed line height on RenderInline and make retrieving it from
3069 RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
3070 This appears to be mostly performance neutral, I don't get more than the occasional
3071 sample hit when instrumenting heavier web pages.
3073 This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
3074 HTML5 spec at <http://whatwg.org/c>.
3076 * rendering/RenderInline.cpp:
3077 (WebCore::RenderInline::RenderInline):
3078 (WebCore::RenderInline::styleDidChange):
3079 (WebCore::RenderInline::lineHeight):
3080 * rendering/RenderInline.h:
3081 * rendering/style/RenderStyle.h:
3082 (WebCore::RenderStyle::computedLineHeight):
3084 Optimize computedLineHeight() to mitigate some of the damage of calling
3087 2012-01-24 Abhishek Arya <inferno@chromium.org>
3089 Crash when rendering -webkit-column-span.
3090 https://bugs.webkit.org/show_bug.cgi?id=73265
3092 Reviewed by David Hyatt.
3094 This patch addresses 2 problems causing crashes in multi-column layout
3095 1. Trying to render -webkit-column-span for :before, :after caused
3096 re-entrancy in updateBeforeAfterContent while working on splitFlow.
3097 2. Cloning a block which has its :before, :after content not added yet,
3098 caused issues because cloneBlock will definitely have its :before,
3099 :after content created when setStyle() is called. So, we would
3100 overwrite cloneBlock with a wrong childrenInline value.
3102 Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
3103 fast/multicol/span/generated-child-split-flow-crash.html
3105 * rendering/RenderBlock.cpp:
3106 (WebCore::RenderBlock::clone):
3107 (WebCore::RenderBlock::columnsBlockForSpanningElement):
3109 2012-01-22 Robert Hogan <robert@webkit.org>
3111 Incorrect positioning of floating pseudo-elements in table captions
3112 https://bugs.webkit.org/show_bug.cgi?id=76664
3114 Reviewed by Julien Chaffraix.
3116 Tests: fast/table/caption-encloses-overhanging-float-expected.html
3117 fast/table/caption-encloses-overhanging-float.html
3119 Allow table captions to expand and enclose overhanging floats. When performing
3120 layout on a caption ensure that its logical top is set so that it does not mistakenly
3121 conclude that floats in a previous sibling are intruding into it when they're not.
3123 Mostly diagnosed by Abhishek Arya.
3125 * rendering/RenderBlock.cpp:
3126 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
3127 that can enclosed overhanging floats.
3128 * rendering/RenderTable.cpp:
3129 (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
3130 top offset before laying it out.
3131 (WebCore::RenderTable::layout):
3132 * rendering/RenderTable.h:
3134 2012-01-24 Kentaro Hara <haraken@chromium.org>
3136 In CodeGeneratorV8.pm, overwrite the output .h/.cpp
3137 only if the bytes differ
3138 https://bugs.webkit.org/show_bug.cgi?id=76920
3140 Reviewed by Darin Adler.
3142 This is one of steps to stop rebuilding .h/.cpp files
3143 generated by unchanged IDLs (bug 76836).
3144 This patch makes a change on CodeGeneratorV8.pm so that
3145 it overwrites the output .h/.cpp only if the bytes differ.
3147 No tests. No change in behavior.
3148 I manually confirmed that when I add a new attribute to Element.idl,
3149 the time-stamps of unrelated V8*.h and V8*.cpp do not change.
3151 * bindings/scripts/CodeGeneratorV8.pm:
3152 (WriteData): Used UpdateFileIfChanged().
3154 2012-01-24 Kentaro Hara <haraken@chromium.org>
3156 [Refactoring] Remove finish() from all CodeGenerator*.pm
3157 https://bugs.webkit.org/show_bug.cgi?id=76918
3159 Reviewed by Darin Adler.
3161 Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
3163 No tests. No change in behavior.
3165 * bindings/scripts/CodeGenerator.pm:
3167 * bindings/scripts/CodeGeneratorCPP.pm:
3168 * bindings/scripts/CodeGeneratorGObject.pm:
3169 * bindings/scripts/CodeGeneratorJS.pm:
3170 * bindings/scripts/CodeGeneratorObjC.pm:
3171 * bindings/scripts/CodeGeneratorV8.pm:
3173 2012-01-24 Vsevolod Vlasov <vsevik@chromium.org>
3175 Web Inspector: incorrect highlight position when searching in console
3176 https://bugs.webkit.org/show_bug.cgi?id=76837
3178 Reviewed by Yury Semikhatsky.
3180 * inspector/front-end/ConsoleMessage.js:
3181 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
3182 (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
3183 (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
3184 (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
3185 (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
3187 2012-01-23 Simon Fraser <simon.fraser@apple.com>
3189 Show layer borders for scrollbar layers
3190 https://bugs.webkit.org/show_bug.cgi?id=76888
3192 Reviewed by Beth Dakin.
3194 When compositing layer borders are showing, show the borders
3195 for scrollbars layers. This reduces confusion about whether scrollbars
3196 are rendering into their own layers.
3198 Requires a new parameter to two GraphicsLayerClient methods.
3200 * platform/graphics/GraphicsLayer.h:
3201 (WebCore::GraphicsLayer::showDebugBorders):
3202 (WebCore::GraphicsLayer::showRepaintCounter):
3203 * platform/graphics/GraphicsLayerClient.h:
3204 * rendering/RenderLayerBacking.cpp:
3205 (WebCore::RenderLayerBacking::showDebugBorders):
3206 (WebCore::RenderLayerBacking::showRepaintCounter):
3207 * rendering/RenderLayerBacking.h:
3208 * rendering/RenderLayerCompositor.cpp:
3209 (WebCore::RenderLayerCompositor::showDebugBorders):
3210 (WebCore::RenderLayerCompositor::showRepaintCounter):
3211 * rendering/RenderLayerCompositor.h:
3213 2012-01-24 David Levin <levin@chromium.org>
3215 [windows] Convert usage of GetDC to HWndDC Part 3.
3216 https://bugs.webkit.org/show_bug.cgi?id=76889
3218 Reviewed by Adam Roben.
3220 No new functionality so no new tests.
3222 * platform/graphics/win/UniscribeController.cpp:
3223 (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
3224 (WebCore::UniscribeController::shape): Use the delayed allocation.
3225 * platform/win/PopupMenuWin.cpp:
3226 (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
3228 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
3230 [GTK] Refactor GTK's accessibilitity code to be more modular
3231 https://bugs.webkit.org/show_bug.cgi?id=76783
3233 Reviewed by Martin Robinson.
3235 Fix coding style in the ATK AccessibilityObject wrapper.
3237 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
3238 (webkitAccessibleGetName):
3239 (webkitAccessibleGetDescription):
3240 (webkitAccessibleGetParent):
3241 (webkitAccessibleGetNChildren):
3242 (webkitAccessibleRefChild):
3243 (webkitAccessibleGetIndexInParent):
3244 (webkitAccessibleGetAttributes):
3246 (webkitAccessibleGetRole):
3247 (setAtkStateSetFromCoreObject):
3248 (webkitAccessibleRefStateSet):
3249 (webkitAccessibleRefRelationSet):
3250 (webkitAccessibleInit):
3251 (webkitAccessibleFinalize):
3252 (webkit_accessible_class_init):
3254 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
3256 [GTK] Refactor GTK's accessibilitity code to be more modular
3257 https://bugs.webkit.org/show_bug.cgi?id=76783
3259 Reviewed by Martin Robinson.
3261 Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
3263 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
3264 'include' lines that are no longer needed after the refactor.
3266 2012-01-24 Raphael Kubo da Costa <kubo@profusion.mobi>
3268 [EFL] Remove CookieJarEfl.cpp
3269 https://bugs.webkit.org/show_bug.cgi?id=76916
3271 Reviewed by Gustavo Noronha Silva.
3273 CookieJarEfl.cpp has not been used for years -- we either need
3274 CookieJarCurl or CookieJarSoup depending on the chosen network
3277 No new tests, just an unused file being removed.
3279 * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
3280 * platform/efl/CookieJarEfl.cpp: Removed.
3282 2012-01-24 Abhishek Arya <inferno@chromium.org>
3284 Crash when accessing removed parent in InlineTextBox.
3285 https://bugs.webkit.org/show_bug.cgi?id=72982
3287 Reviewed by James Robinson.
3289 The crash happens because:
3290 1. We add heading element(h1) before the span element(span1),
3291 causing splitflow on the anonymous block containing BeforeText,
3292 span1(and SpanText) and AfterText.
3293 2. span1 moves to the cloneBlock (continuation).
3294 3. Our anonymous block and cloneBlock are both marked for layout,
3295 however we still have a copy of our lineboxes with its childs
3296 as the textboxes belonging to SpanText.
3297 4. Our anonymous block only child BeforeText is getting removed,
3298 so we dont have any children anymore and we delete our lineboxes,
3299 leaving behind the children textboxes belonging to SpanText.
3300 5. SpanText is getting destroyed, so it tries to inform removed
3301 parent lineboxes causing the crash.
3303 Test: fast/block/block-remove-child-delete-line-box-crash.html
3305 * rendering/RenderBlock.cpp:
3306 (WebCore::RenderBlock::removeChild):
3308 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
3310 [GTK] Refactor GTK's accessibilitity code to be more modular
3311 https://bugs.webkit.org/show_bug.cgi?id=76783
3313 Reviewed by Martin Robinson.
3315 New files for the implementation of the AtkTable interface,
3316 containing the related code from WebKitAccessibleWrapperAtk.cpp.
3318 * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
3323 (webkitAccessibleTableInterfaceInit):
3324 (webkitAccessibleTableRefAt):
3325 (webkitAccessibleTableGetIndexAt):
3326 (webkitAccessibleTableGetColumnAtIndex):
3327 (webkitAccessibleTableGetRowAtIndex):
3328 (webkitAccessibleTableGetNColumns):
3329 (webkitAccessibleTableGetNRows):
3330 (webkitAccessibleTableGetColumnExtentAt):
3331 (webkitAccessibleTableGetRowExtentAt):
3332 (webkitAccessibleTableGetColumnHeader):
3333 (webkitAccessibleTableGetRowHeader):
3334 (webkitAccessibleTableGetCaption):
3335 (webkitAccessibleTableGetColumnDescription):
3336 (webkitAccessibleTableGetRowDescription):
3337 * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
3338 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3339 related to the implementation of the AtkTable interface.
3341 Add new files to build files.
3343 * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
3344 * WebCore.gypi: Ditto.
3346 2012-01-24 Vsevolod Vlasov <vsevik@chromium.org>
3348 Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
3349 https://bugs.webkit.org/show_bug.cgi?id=76903
3351 Reviewed by Yury Semikhatsky.
3353 * inspector/front-end/TabbedPane.js:
3354 (WebInspector.TabbedPane.prototype._updateTabElements):
3355 * inspector/front-end/tabbedPane.css:
3356 (.tabbed-pane-content.has-no-tabs):
3358 2012-01-24 Vsevolod Vlasov <vsevik@chromium.org>
3360 Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
3361 https://bugs.webkit.org/show_bug.cgi?id=76907
3363 Reviewed by Yury Semikhatsky.
3365 * inspector/front-end/FilteredItemSelectionDialog.js:
3366 (WebInspector.OpenResourceDialog.install):
3367 * inspector/front-end/ScriptsPanel.js:
3369 2012-01-24 Peter Rybin <peter.rybin@gmail.com>
3371 Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
3372 https://bugs.webkit.org/show_bug.cgi?id=76868
3374 Reviewed by Yury Semikhatsky.
3376 Configurations of (hopefully) all build systems are fixed.
3379 * DerivedSources.make:
3380 * DerivedSources.pri:
3382 * GNUmakefile.list.am:
3383 * WebCore.gyp/WebCore.gyp:
3385 * WebCore.vcproj/WebCore.vcproj:
3386 * WebCore.xcodeproj/project.pbxproj:
3387 * inspector/CodeGeneratorInspector.py:
3388 (dash_to_camelcase):
3389 (InspectorFrontend_h):
3390 (InspectorBackendDispatcher_h):
3392 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
3394 [GTK] Refactor GTK's accessibilitity code to be more modular
3395 https://bugs.webkit.org/show_bug.cgi?id=76783
3397 Reviewed by Martin Robinson.
3399 New files for the implementation of the AtkText interface,
3400 containing the related code from WebKitAccessibleWrapperAtk.cpp.
3402 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
3406 (getGailTextUtilForAtk):
3407 (getPangoLayoutForAtk):
3408 (baselinePositionForRenderObject):
3409 (getAttributeSetForAccessibilityObject):
3411 (attributeSetDifference):
3412 (accessibilityObjectLength):
3413 (getAccessibilityObjectForOffset):
3414 (getRunAttributesFromAccesibilityObject):
3416 (getSelectionOffsetsForObject):
3417 (webkitAccessibleTextInterfaceInit):
3418 (webkitAccessibleTextGetText):
3419 (webkitAccessibleTextGetTextAfterOffset):
3420 (webkitAccessibleTextGetTextAtOffset):
3421 (webkitAccessibleTextGetTextBeforeOffset):
3422 (webkitAccessibleTextGetCharacterAtOffset):
3423 (webkitAccessibleTextGetCaretOffset):
3424 (webkitAccessibleTextGetRunAttributes):
3425 (webkitAccessibleTextGetDefaultAttributes):
3426 (webkitAccessibleTextGetCharacterExtents):
3427 (webkitAccessibleTextGetRangeExtents):
3428 (webkitAccessibleTextGetCharacterCount):
3429 (webkitAccessibleTextGetOffsetAtPoint):
3430 (webkitAccessibleTextGetNSelections):
3431 (webkitAccessibleTextGetSelection):
3432 (webkitAccessibleTextAddSelection):
3433 (webkitAccessibleTextRemoveSelection):
3434 (webkitAccessibleTextSetSelection):
3435 (webkitAccessibleTextSetCaretOffset):
3436 * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
3438 Move common function selectionBelongsToObject out from the wrapper
3439 to the utility file, used from WebKitAccessibleInterfaceText.cpp.
3441 * accessibility/gtk/WebKitAccessibleUtil.cpp:
3442 (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
3443 * accessibility/gtk/WebKitAccessibleUtil.h:
3444 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
3445 implementation of selectionBelongsToObject, and the code related
3446 to the implementation of the AtkText interface.
3447 (webkit_accessible_get_name): Update call to the former function
3448 webkit_accessible_text_get_text and use the new function name.
3449 (webkit_accessible_table_get_column_description): Ditto.
3450 (webkit_accessible_table_get_row_description): Ditto.
3452 Add new files to build files.
3454 * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
3455 * WebCore.gypi: Ditto.
3457 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com>
3459 [GTK] Refactor GTK's accessibilitity code to be more modular
3460 https://bugs.webkit.org/show_bug.cgi?id=76783
3462 Reviewed by Martin Robinson.
3464 New files for the implementation of the AtkValue interface,