Web Inspector: speed-up Network panel. Change _staleResources type from array to...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
4         https://bugs.webkit.org/show_bug.cgi?id=69081
5
6         There is a test with 30 requests.
7         For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
8         NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
9         This array can be replaced with a hash map just because the resource associated with the entry is the same for all the entries with the same request id.
10
11         Reviewed by Pavel Feldman.
12
13         Test: inspector/performance/resources/network-append-30-requests.html
14
15         * inspector/front-end/NetworkPanel.js:
16         (WebInspector.NetworkLogView):
17         (WebInspector.NetworkLogView.prototype._invalidateAllItems):
18         (WebInspector.NetworkLogView.prototype.refresh):
19         (WebInspector.NetworkLogView.prototype._reset):
20         (WebInspector.NetworkLogView.prototype._refreshResource):
21
22 2011-09-28  Pavel Feldman  <pfeldman@google.com>
23
24         Web Inspector: make inspector protocol validation a part of the build process.
25         https://bugs.webkit.org/show_bug.cgi?id=68999
26
27         Since we'd like to commit to inspector protocol backwards compatibility, violating it
28         should be a build failure.
29
30         Reviewed by Yury Semikhatsky.
31
32         * CMakeLists.txt:
33         * CodeGenerators.pri:
34         * DerivedSources.make:
35         * GNUmakefile.am:
36         * WebCore.gyp/WebCore.gyp:
37         * inspector/Inspector.draft-01.json:
38         * inspector/Inspector.json:
39         * inspector/generate-inspector-idl:
40         * inspector/generate-protocol-externs:
41         * inspector/validate-protocol-compatibility:
42
43 2011-09-27  Pavel Feldman  <pfeldman@google.com>
44
45         Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
46         https://bugs.webkit.org/show_bug.cgi?id=68827
47
48         Reviewed by Yury Semikhatsky.
49
50         * inspector/front-end/ScriptsPanel.js:
51         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
52         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
53         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
54
55 2011-09-28  Andrey Kosyakov  <caseq@chromium.org>
56
57         Web Inspector: network log view refresh optimizations
58         https://bugs.webkit.org/show_bug.cgi?id=69010
59
60         Reviewed by Pavel Feldman.
61
62         * inspector/front-end/NetworkPanel.js:
63         (WebInspector.NetworkLogView.prototype.refresh):
64
65 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
66
67         Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
68         https://bugs.webkit.org/show_bug.cgi?id=69068
69
70         Reviewed by Yury Semikhatsky.
71
72         * WebCore.gypi:
73         * WebCore.vcproj/WebCore.vcproj:
74         * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
75         (WebInspector.RawSourceCode): Moved from SourceFile.js.
76         (WebInspector.UILocation): Moved from SourceFile.js.
77         * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
78         (WebInspector.ScriptContentProvider):
79         (WebInspector.ScriptContentProvider.prototype.requestContent):
80         (WebInspector.ConcatenatedScriptsContentProvider):
81         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
82         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
83         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
84         (WebInspector.ResourceContentProvider):
85         (WebInspector.ResourceContentProvider.prototype.requestContent):
86         (WebInspector.StaticContentProvider):
87         (WebInspector.StaticContentProvider.prototype.requestContent):
88         * inspector/front-end/WebKit.qrc:
89         * inspector/front-end/inspector.html:
90
91 2011-09-29  Philippe Normand  <pnormand@igalia.com>
92
93         [GStreamer] 2 flaky media tests
94         https://bugs.webkit.org/show_bug.cgi?id=67407
95
96         Reviewed by Martin Robinson.
97
98         Workaround for GStreamer bug#639941. In GStreamer
99         0.10.35 basesink reports wrong duration in case of EOS and
100         negative playback rate. This workaround fixes two media tests,
101         media/video-timeupdate-reverse-play.html and
102         media/video-reverse-play-duration.html.
103
104         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
105         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
106         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
107         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
108
109 2011-09-29  Philippe Normand  <pnormand@igalia.com>
110
111         [GStreamer] fullscreen video pause/play fails
112         https://bugs.webkit.org/show_bug.cgi?id=66936
113
114         Reviewed by Martin Robinson.
115
116         Don't use the identity element to avoid painting of the in-window
117         video. Instead simply make the sink aware of the fullscreen state
118         and ignore buffers if fullscreen and autovideosink are
119         active. Also fixed two deadlocks happening when a paused pipeline
120         is switched to fullscreen and when fullscreen is disabled for a
121         paused pipeline.
122
123         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
124         (WebCore::GStreamerGWorld::enterFullscreen):
125         (WebCore::GStreamerGWorld::exitFullscreen):
126         * platform/graphics/gstreamer/GStreamerGWorld.h:
127         (WebCore::GStreamerGWorld::isFullscreen):
128         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
129         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
130         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
131         (webkit_video_sink_render):
132         (webkit_video_sink_new):
133         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
134
135 2011-09-29  Tim Horton  <timothy_horton@apple.com>
136
137         REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
138         https://bugs.webkit.org/show_bug.cgi?id=68679
139         <rdar://problem/10204649>
140
141         Reviewed by Nikolas Zimmermann.
142
143         Strip prefixes from SVG attributes before testing if they're supported.
144         Namespaced attributes will be matched using their namespace instead of
145         the (user-choosable) prefix.
146
147         Test: svg/custom/xlink-custom-namespace.svg
148
149         * svg/SVGAElement.cpp:
150         (WebCore::SVGAElement::isSupportedAttribute):
151         * svg/SVGAnimateMotionElement.cpp:
152         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
153         * svg/SVGAnimateTransformElement.cpp:
154         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
155         * svg/SVGAnimationElement.cpp:
156         (WebCore::SVGAnimationElement::isSupportedAttribute):
157         * svg/SVGCircleElement.cpp:
158         (WebCore::SVGCircleElement::isSupportedAttribute):
159         * svg/SVGClipPathElement.cpp:
160         (WebCore::SVGClipPathElement::isSupportedAttribute):
161         * svg/SVGComponentTransferFunctionElement.cpp:
162         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
163         * svg/SVGCursorElement.cpp:
164         (WebCore::SVGCursorElement::isSupportedAttribute):
165         * svg/SVGElement.h:
166         (WebCore::SVGAttributeHashTranslator::hash):
167         (WebCore::SVGAttributeHashTranslator::equal):
168         * svg/SVGEllipseElement.cpp:
169         (WebCore::SVGEllipseElement::isSupportedAttribute):
170         * svg/SVGExternalResourcesRequired.h:
171         * svg/SVGFEBlendElement.cpp:
172         (WebCore::SVGFEBlendElement::isSupportedAttribute):
173         * svg/SVGFEColorMatrixElement.cpp:
174         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
175         * svg/SVGFEComponentTransferElement.cpp:
176         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
177         * svg/SVGFECompositeElement.cpp:
178         (WebCore::SVGFECompositeElement::isSupportedAttribute):
179         * svg/SVGFEConvolveMatrixElement.cpp:
180         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
181         * svg/SVGFEDiffuseLightingElement.cpp:
182         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
183         * svg/SVGFEDisplacementMapElement.cpp:
184         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
185         * svg/SVGFEDropShadowElement.cpp:
186         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
187         * svg/SVGFEGaussianBlurElement.cpp:
188         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
189         * svg/SVGFEImageElement.cpp:
190         (WebCore::SVGFEImageElement::isSupportedAttribute):
191         * svg/SVGFELightElement.cpp:
192         (WebCore::SVGFELightElement::isSupportedAttribute):
193         * svg/SVGFEMergeNodeElement.cpp:
194         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
195         * svg/SVGFEMorphologyElement.cpp:
196         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
197         * svg/SVGFEOffsetElement.cpp:
198         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
199         * svg/SVGFESpecularLightingElement.cpp:
200         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
201         * svg/SVGFETileElement.cpp:
202         (WebCore::SVGFETileElement::isSupportedAttribute):
203         * svg/SVGFETurbulenceElement.cpp:
204         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
205         * svg/SVGFilterElement.cpp:
206         (WebCore::SVGFilterElement::isSupportedAttribute):
207         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
208         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
209         * svg/SVGForeignObjectElement.cpp:
210         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
211         * svg/SVGGElement.cpp:
212         (WebCore::SVGGElement::isSupportedAttribute):
213         * svg/SVGGradientElement.cpp:
214         (WebCore::SVGGradientElement::isSupportedAttribute):
215         * svg/SVGImageElement.cpp:
216         (WebCore::SVGImageElement::isSupportedAttribute):
217         * svg/SVGLineElement.cpp:
218         (WebCore::SVGLineElement::isSupportedAttribute):
219         * svg/SVGLinearGradientElement.cpp:
220         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
221         * svg/SVGMPathElement.cpp:
222         (WebCore::SVGMPathElement::isSupportedAttribute):
223         * svg/SVGMarkerElement.cpp:
224         (WebCore::SVGMarkerElement::isSupportedAttribute):
225         * svg/SVGMaskElement.cpp:
226         (WebCore::SVGMaskElement::isSupportedAttribute):
227         * svg/SVGPathElement.cpp:
228         (WebCore::SVGPathElement::isSupportedAttribute):
229         * svg/SVGPatternElement.cpp:
230         (WebCore::SVGPatternElement::isSupportedAttribute):
231         * svg/SVGPolyElement.cpp:
232         (WebCore::SVGPolyElement::isSupportedAttribute):
233         * svg/SVGRadialGradientElement.cpp:
234         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
235         * svg/SVGRectElement.cpp:
236         (WebCore::SVGRectElement::isSupportedAttribute):
237         * svg/SVGScriptElement.cpp:
238         (WebCore::SVGScriptElement::isSupportedAttribute):
239         * svg/SVGStopElement.cpp:
240         (WebCore::SVGStopElement::isSupportedAttribute):
241         * svg/SVGStyleElement.cpp:
242         (WebCore::SVGStyleElement::isSupportedAttribute):
243         * svg/SVGStyledTransformableElement.cpp:
244         (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
245         * svg/SVGSymbolElement.cpp:
246         (WebCore::SVGSymbolElement::isSupportedAttribute):
247         * svg/SVGTRefElement.cpp:
248         (WebCore::SVGTRefElement::isSupportedAttribute):
249         * svg/SVGTextContentElement.cpp:
250         (WebCore::SVGTextContentElement::isSupportedAttribute):
251         * svg/SVGTextElement.cpp:
252         (WebCore::SVGTextElement::isSupportedAttribute):
253         * svg/SVGTextPathElement.cpp:
254         (WebCore::SVGTextPathElement::isSupportedAttribute):
255         * svg/SVGTextPositioningElement.cpp:
256         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
257         * svg/SVGURIReference.cpp:
258         (WebCore::SVGURIReference::addSupportedAttributes):
259         * svg/SVGUseElement.cpp:
260         (WebCore::SVGUseElement::isSupportedAttribute):
261         * svg/SVGViewElement.cpp:
262         (WebCore::SVGViewElement::isSupportedAttribute):
263
264 2011-09-28  Kentaro Hara  <haraken@chromium.org>
265
266         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&"
267         https://bugs.webkit.org/show_bug.cgi?id=68984
268
269         Reviewed by Darin Adler.
270
271         Just a follow-up fix for the bug 68345. For performance,
272         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&".
273
274         Tests: fast/events/constructors/pop-state-event-constructor.html
275                fast/events/fire-popstate-event.html
276
277         * dom/PopStateEvent.cpp:
278         (WebCore::PopStateEvent::PopStateEvent):
279         (WebCore::PopStateEvent::create):
280         (WebCore::PopStateEvent::initPopStateEvent):
281         * dom/PopStateEvent.h:
282
283 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
284
285         [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
286         https://bugs.webkit.org/show_bug.cgi?id=66890
287
288         Added a GtkDragAndDropHelper class to hold all the logic that is common
289         between WebKit1 and WebKit2. This will allow greater code sharing between
290         the two ports.
291
292         Reviewed by Philippe Normand.
293
294         No new tests. This patch should not change behavior.
295
296         * GNUmakefile.list.am: Added the GtkDragAndDropHelper to the sources list.
297         * platform/gtk/GtkDragAndDropHelper.cpp: Added.
298         * platform/gtk/GtkDragAndDropHelper.h: Added.
299
300 2011-09-28  Dan Bernstein  <mitz@apple.com>
301
302         <rdar://problem/10196497> first-letter after list marker not updated correctly
303
304         Reviewed by Simon Fraser.
305
306         Test: fast/dynamic/first-letter-after-list-marker.html
307
308         * rendering/RenderBlock.cpp:
309         (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
310         when trying to locate a first letter to update.
311
312 2011-09-28  Kent Tamura  <tkent@chromium.org>
313
314         REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
315         https://bugs.webkit.org/show_bug.cgi?id=68981
316
317         Reviewed by Darin Adler.
318
319         * html/parser/HTMLParserIdioms.cpp:
320         (WebCore::parseHTMLInteger):
321         Check the failure of charactersToIntStrict().
322         (WebCore::parseHTMLNonNegativeInteger):
323         Check the failure of charactersToUIntStrict().
324
325 2011-09-28  Antoine Labour  <piman@chromium.org>
326
327         Remove unused createRootLayerPainter from CCLayerTreeHostClient
328         https://bugs.webkit.org/show_bug.cgi?id=69042
329
330         Reviewed by James Robinson.
331
332         No new test needed: no semantic change.
333
334         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
335
336 2011-09-28  Luke Macpherson   <macpherson@chromium.org>
337
338         Only resolve direction aware properties when properties are direction aware.
339         https://bugs.webkit.org/show_bug.cgi?id=68968
340
341         Reviewed by Eric Seidel.
342
343         No new tests / no functionality changed.
344
345         Profiling showed a ~8% improvement in applyProperty by not calling resolveDirectionAwareProperty for every property.
346
347         * css/CSSStyleSelector.cpp:
348         (WebCore::CSSStyleSelector::applyProperty):
349
350 2011-09-28  Simon Fraser  <simon.fraser@apple.com>
351
352         fast/dom/scroll-element-to-rect.html fails on WK1 Mac port
353         https://bugs.webkit.org/show_bug.cgi?id=68815
354
355         Reviewed by Dan Bernstein.
356         
357         FrameView::scrollElementToRect() was incorrectly using Element::boundsInWindowSpace(),
358         which is window-relative (not web view-relative), and has flipped coordinates
359         in WebKit1.
360         
361         Change to use Node::getRect() which is what the author intended.
362
363         * dom/Element.h:
364         * page/FrameView.cpp:
365         (WebCore::FrameView::scrollElementToRect):
366
367 2011-09-28  Peter Beverloo  <peter@chromium.org>
368
369         Don't clamp cubic-bezier timing functions between 0 and 1
370         https://bugs.webkit.org/show_bug.cgi?id=45761
371
372         Remove the limitation of clamping the cubic-bezier timing function
373         values between 0 and 1, following the specification change made on
374         April 5 of this year.
375
376         Reviewed by Dean Jackson.
377
378         Tests: transitions/cubic-bezier-overflow-color.html
379                transitions/cubic-bezier-overflow-length.html
380                transitions/cubic-bezier-overflow-shadow.html
381                transitions/cubic-bezier-overflow-svg-length.html
382                transitions/cubic-bezier-overflow-transform.html
383
384         * css/CSSParser.cpp:
385         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
386
387 2011-09-28  Chris Rogers  <crogers@google.com>
388
389         DelayNode must set the context on delayTime AudioParam to support automation
390         https://bugs.webkit.org/show_bug.cgi?id=68828
391
392         Reviewed by Kenneth Russell.
393
394         Test: webaudio/delaynode-scheduling.html
395
396         * webaudio/DelayNode.cpp:
397         (WebCore::DelayNode::DelayNode):
398
399 2011-09-28  Sergey Glazunov  <serg.glazunov@gmail.com>
400
401         JavaScript generated documents don't inherit the cookie URL
402         https://bugs.webkit.org/show_bug.cgi?id=69003
403
404         Reviewed by Adam Barth.
405
406         Test: http/tests/security/cookies/cookie-theft-with-javascript-doc.html
407
408         * dom/Document.h:
409         (WebCore::Document::setCookieURL):
410         * loader/DocumentWriter.cpp:
411         (WebCore::DocumentWriter::replaceDocument):
412         (WebCore::DocumentWriter::begin):
413         * loader/DocumentWriter.h:
414
415 2011-09-27  Dimitri Glazkov  <dglazkov@chromium.org>
416
417         REGRESSION(r95573): Crash when loading SVG documents in a flattened frame or any SVG document in Chromium/Mac.
418         https://bugs.webkit.org/show_bug.cgi?id=68938
419
420         Reviewed by David Hyatt.
421
422         Test: all svg tests in LayoutTests.
423
424         * rendering/RenderBlock.cpp:
425         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Added a null-check for containingBlock.
426
427 2011-09-28  Una Sabovic  <una.sabovic@palm.com>
428
429         Setting innerText to an empty string on editable div loses focus
430         https://bugs.webkit.org/show_bug.cgi?id=62092
431
432         Reviewed by Ryosuke Niwa.
433
434         When selection start or end node is being deleted do not clear the selection.
435         Instead update the start/end position to an equivalent parent-anchored positions.
436         When text is inserted/deleted update selection per range modification spec:
437         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation
438
439         Tests: editing/selection/document-mutation.html
440                editing/selection/editable-div-clear-on-keydown.html
441
442         * editing/FrameSelection.cpp:
443         (WebCore::FrameSelection::respondToNodeModification):
444         (WebCore::updatePositionAfterAdoptingTextReplacement):
445         (WebCore::FrameSelection::textWillBeReplaced):
446         * editing/htmlediting.cpp:
447         (WebCore::updatePositionForNodeRemoval):
448
449 2011-09-28  Joseph Pecoraro  <joepeck@webkit.org>
450
451         FTPDirectoryDocument Shows Garbled String for Last Modified Date
452         https://bugs.webkit.org/show_bug.cgi?id=69011
453
454         Reviewed by Dan Bernstein.
455
456         Force WTF::String concatenation instead of an accidental char* pointer addition.
457
458         * html/FTPDirectoryDocument.cpp:
459         (WebCore::processFileDateString):
460
461 2011-09-28  Nate Chapin  <japhet@chromium.org>
462
463         Fix a regression in r96060. ResourceLoader shouldn't get
464         initialized with a null DocumentLoader.
465         https://bugs.webkit.org/show_bug.cgi?id=69004
466
467         Reviewed by Csaba Osztrogonác.
468
469         This should fix a debug crash in some platforms in
470         plugins/js-from-destroy.html
471
472         * loader/ResourceLoader.cpp:
473         (WebCore::ResourceLoader::init): Move the activeDocumentLoader() null checks back
474             to SubresouceLoader::create().
475         * loader/SubresourceLoader.cpp:
476         (WebCore::SubresourceLoader::create):
477
478 2011-09-28  Adam Barth  <abarth@webkit.org>
479
480         CSP doesn't work for a wide variety of cases
481         https://bugs.webkit.org/show_bug.cgi?id=68921
482
483         Reviewed by Darin Adler.
484
485         Patch suggested by Sam Weinig.  It's unclear to me how to test this
486         change because all our tests run on non-default ports, which is why we
487         have this bug in the first place.  Mozilla uses a proxy while testing
488         so they can test with URLs like http://example.com, but we don't have
489         such a facility.
490
491         * page/ContentSecurityPolicy.cpp:
492         (WebCore::CSPSource::portMatches):
493
494 2011-09-28  Fady Samuel  <fsamuel@chromium.org>
495
496         [Chromium] Seperate GTK specific Gyp rules from X11 Gyp rules
497         https://bugs.webkit.org/show_bug.cgi?id=68936
498
499         Reviewed by Tony Chang.
500
501         Chromium need to be built without Gtk for future version of ChromiumOS.
502
503         * WebCore.gyp/WebCore.gyp:
504
505 2011-09-28  Tom Sepez  <tsepez@chromium.org>
506
507         Revert change which broke displaying end script tags in view-source, instead
508         deal with any trailing </script> tag included by mistake in the XSSAuditor
509         itself.  Correct tests to detect the missing close tags.
510         https://bugs.webkit.org/show_bug.cgi?id=68898
511
512         Reviewed by Adam Barth.
513
514         * html/parser/HTMLSourceTracker.cpp:
515         (WebCore::HTMLSourceTracker::end):
516         * html/parser/HTMLTokenizer.cpp:
517         (WebCore::HTMLTokenizer::nextToken):
518         * html/parser/XSSAuditor.cpp:
519         (WebCore::startsHTMLEndTagAt):
520         (WebCore::XSSAuditor::snippetForJavaScript):
521
522 2011-09-28  Adam Barth  <abarth@webkit.org>
523
524         Remove empty directories.
525
526         * editing/brew: Removed.
527         * page/brew: Removed.
528         * platform/brew: Removed.
529         * platform/graphics/brew: Removed.
530         * platform/network/brew: Removed.
531         * platform/text/brew: Removed.
532
533 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
534
535         Web Inspector: optional arguments support for the frontend needs to be extended.
536         https://bugs.webkit.org/show_bug.cgi?id=69005
537
538         Generator supports optional arguments but they are transferred by value.
539         It is not suitable if the used type doesn't have operator bool.
540         I'll transfer such arguments by pointer.
541
542         Reviewed by Pavel Feldman.
543
544         Build is the test.
545
546         * inspector/CodeGeneratorInspector.pm:
547         (generateFrontendFunction):
548         (paramTypeTraits):
549         * inspector/InspectorDebuggerAgent.cpp:
550         (WebCore::InspectorDebuggerAgent::didParseSource):
551         * inspector/InspectorResourceAgent.cpp:
552         (WebCore::InspectorResourceAgent::didFailLoading):
553
554 2011-09-28  Antaryami Pandia  <antaryami.pandia@motorola.com>
555
556         Reflected attribute input.size wraps on negative values (Chrome), or
557         returns them (Safari).
558         https://bugs.webkit.org/show_bug.cgi?id=44886
559
560         Reviewed by Darin Adler.
561
562         Test: fast/dom/HTMLInputElement/input-size-attribute.html
563
564         * html/HTMLInputElement.cpp:
565         (WebCore::HTMLInputElement::parseMappedAttribute):
566
567 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
568
569         Web Inspector: Add support for search in single resource to page agent.
570         https://bugs.webkit.org/show_bug.cgi?id=68998
571
572         Reviewed by Pavel Feldman.
573
574         Test: http/tests/inspector/search/search-in-resource.html
575
576         * inspector/ContentSearchUtils.cpp:
577         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
578         * inspector/ContentSearchUtils.h:
579         * inspector/Inspector.json:
580         * inspector/InspectorPageAgent.cpp:
581         (WebCore::buildObjectForSearchMatch):
582         (WebCore::InspectorPageAgent::searchInResource):
583         * inspector/InspectorPageAgent.h:
584         * inspector/front-end/Resource.js:
585         (WebInspector.Resource.prototype.searchInContent):
586         * inspector/front-end/SourceFile.js:
587         (WebInspector.ResourceContentProvider.prototype.requestContent):
588         (WebInspector.ResourceContentProvider.prototype.searchInContent):
589         * inspector/front-end/UISourceCode.js:
590         (WebInspector.ContentProvider.prototype.requestContent):
591         (WebInspector.ContentProvider.prototype.searchInContent):
592
593 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
594
595         Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
596         https://bugs.webkit.org/show_bug.cgi?id=69002
597
598         Reviewed by Yury Semikhatsky.
599
600         * inspector/CodeGeneratorInspector.pm:
601
602 2011-09-27  Pavel Podivilov  <podivilov@chromium.org>
603
604         Web Inspector: live edit cursor always appears at the beginning of the file.
605         https://bugs.webkit.org/show_bug.cgi?id=68900
606
607         Reviewed by Pavel Feldman.
608
609         * inspector/front-end/TextViewer.js:
610         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
611
612 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
613
614         Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
615         https://bugs.webkit.org/show_bug.cgi?id=68930
616
617         Reviewed by Yury Semikhatsky.
618
619         Search moved out from page agent.
620         Fixed search for non regex case which is not yet used.
621
622         Test: http/tests/inspector/search/search-in-resources.html
623
624         * CMakeLists.txt:
625         * GNUmakefile.list.am:
626         * WebCore.gypi:
627         * WebCore.pro:
628         * WebCore.vcproj/WebCore.vcproj:
629         * WebCore.xcodeproj/project.pbxproj:
630         * inspector/ContentSearchUtils.cpp: Added.
631         (WebCore::ContentSearchUtils::createSearchRegexSource):
632         (WebCore::ContentSearchUtils::createSearchRegex):
633         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
634         * inspector/ContentSearchUtils.h: Added.
635         * inspector/InspectorPageAgent.cpp:
636         (WebCore::hasTextContent):
637         (WebCore::InspectorPageAgent::cachedResourceContent):
638         (WebCore::textContentForCachedResource):
639         (WebCore::buildObjectForSearchResult):
640         (WebCore::InspectorPageAgent::searchInResources):
641         * inspector/front-end/utilities.js:
642         ():
643
644 2011-09-28  Kentaro Hara  <haraken@chromium.org>
645
646         Implement a PopStateEvent constructor for V8
647         https://bugs.webkit.org/show_bug.cgi?id=68896
648
649         Reviewed by Adam Barth.
650
651         Test: fast/events/constructors/pop-state-event-constructor.html
652
653         * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
654         * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
655
656 2011-09-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
657
658         [Texmap] Allow TextureMapperGL to work without a GraphicsContext
659         https://bugs.webkit.org/show_bug.cgi?id=68980
660
661         Reviewed by Andreas Kling.
662
663         Perform a null-check for m_context and initialize that variable.
664         If a graphics-context doesn't exist, we don't need to reset it.
665
666         No new functionality so no new tests.
667
668         * platform/graphics/opengl/TextureMapperGL.cpp:
669         (WebCore::TextureMapperGL::TextureMapperGL):
670         (WebCore::TextureMapperGL::beginPainting):
671         (WebCore::TextureMapperGL::endPainting):
672
673 2011-09-28  Kentaro Hara  <haraken@chromium.org>
674
675         Implement an ErrorEvent constructor for V8
676         https://bugs.webkit.org/show_bug.cgi?id=68336
677
678         Reviewed by Adam Barth.
679
680         Test: fast/events/constructors/error-event-constructor.html
681
682         * bindings/v8/OptionsObject.cpp:
683         (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
684         * bindings/v8/OptionsObject.h:
685         * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
686         * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
687
688 2011-09-27  Andy Estes  <aestes@apple.com>
689
690         WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
691         https://bugs.webkit.org/show_bug.cgi?id=68863
692
693         Reviewed by Darin Adler.
694
695         The SolarWalk binary does not link against WebKit.framework directly,
696         so calling NSVersionOfLinkTimeLibrary() will not return the version of
697         WebKit against which SolarWalk was linked. Since Solar Walk has
698         released an update that addresses the issue for which this app-specific
699         hack was originally added, we should just remove the hack.
700
701         * WebCore.exp.in: Remove applicationIsSolarWalkMac().
702         * platform/RuntimeApplicationChecks.cpp: Ditto.
703         * platform/RuntimeApplicationChecks.h: Ditto.
704
705 2011-09-28  Tim Horton  <timothy_horton@apple.com>
706
707         Fix potential SVG performance regression (over-invalidation of caches) from 96052
708         https://bugs.webkit.org/show_bug.cgi?id=68941
709         <rdar://problem/10196224>
710
711         Reviewed by Zoltan Herczeg.
712
713         Only invalidate the cache of a filter when target style changes, as of the different types of cached
714         resources, only filters make use of the style of the target element and thus need to be invalidated
715         when the target style changes.
716
717         No new tests, performance improvement.
718
719         * rendering/svg/SVGResourcesCache.cpp:
720         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
721
722 2011-09-28  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
723
724         Missing initialization of member in ImageFrameQt class
725         https://bugs.webkit.org/show_bug.cgi?id=68943
726
727         Reviewed by Kenneth Rohde Christiansen.
728
729         No new tests, this fixes internal implementation detail.
730
731         * platform/image-decoders/qt/ImageFrameQt.cpp:
732         (WebCore::ImageFrame::ImageFrame):
733         (WebCore::ImageFrame::operator=):
734
735 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
736
737         Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
738         https://bugs.webkit.org/show_bug.cgi?id=68964
739
740         Reviewed by Eric Seidel.
741
742         No new tests / no functionality changed.
743
744         Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
745         before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
746
747         * css/CSSStyleSelector.cpp:
748         (WebCore::CSSStyleSelector::applyProperty):
749
750 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
751
752         Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
753         https://bugs.webkit.org/show_bug.cgi?id=68939
754
755         Reviewed by Darin Adler.
756
757         Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
758
759         This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
760         text at ends are not removed when it has a render object. Fixed the bug by checking the length of
761         the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
762
763         This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
764         on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
765         issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
766
767         * dom/Position.cpp:
768         (WebCore::Position::rendersInDifferentPosition):
769         * editing/ReplaceSelectionCommand.cpp:
770         (WebCore::nodeHasVisibleRenderText): Added.
771         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
772         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
773         * editing/visible_units.cpp:
774         (WebCore::startOfParagraph): Calls renderedTextLength.
775         (WebCore::endOfParagraph): Ditto.
776         * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
777         * rendering/InlineBox.h: Ditto.
778         * rendering/InlineTextBox.cpp: Ditto.
779         * rendering/InlineTextBox.h: Ditto.
780         * rendering/RenderBR.cpp: Ditto.
781         * rendering/RenderBR.h: Ditto.
782         * rendering/RenderObject.cpp: Ditto.
783         * rendering/RenderObject.h: Ditto.
784         * rendering/RenderReplaced.cpp: Ditto.
785         * rendering/RenderReplaced.h: Ditto.
786         * rendering/RenderText.cpp:
787         (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
788         * rendering/RenderText.h:
789
790 2011-09-27  James Robinson  <jamesr@chromium.org>
791
792         [chromium] LayerRenderChromium asserts about leaking textures.
793         https://bugs.webkit.org/show_bug.cgi?id=68190
794
795         Reviewed by Kenneth Russell.
796
797         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
798         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
799         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
800         to make sure we aren't leaking any textures.
801
802         * WebCore.gypi:
803         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
804         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
805         * platform/graphics/chromium/Canvas2DLayerChromium.h:
806         * platform/graphics/chromium/ImageLayerChromium.cpp:
807         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
808         * platform/graphics/chromium/LayerChromium.h:
809         (WebCore::LayerChromium::updateCompositorResources):
810         * platform/graphics/chromium/LayerRendererChromium.cpp:
811         (WebCore::LayerRendererChromium::LayerRendererChromium):
812         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
813         (WebCore::LayerRendererChromium::drawLayers):
814         (WebCore::LayerRendererChromium::useRenderSurface):
815         (WebCore::LayerRendererChromium::initializeSharedObjects):
816         (WebCore::LayerRendererChromium::cleanupSharedObjects):
817         * platform/graphics/chromium/LayerRendererChromium.h:
818         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
819         (WebCore::LayerRendererChromium::contentsTextureAllocator):
820         * platform/graphics/chromium/LayerTextureUpdater.h:
821         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
822         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
823         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
824         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
825         * platform/graphics/chromium/ManagedTexture.cpp:
826         (WebCore::ManagedTexture::bindTexture):
827         (WebCore::ManagedTexture::framebufferTexture2D):
828         * platform/graphics/chromium/ManagedTexture.h:
829         * platform/graphics/chromium/TextureManager.cpp:
830         (WebCore::TextureManager::memoryUseBytes):
831         (WebCore::TextureManager::deleteEvictedTextures):
832         (WebCore::TextureManager::evictAndDeleteAllTextures):
833         (WebCore::TextureManager::removeTexture):
834         (WebCore::TextureManager::allocateTexture):
835         (WebCore::TextureManager::requestTexture):
836         * platform/graphics/chromium/TextureManager.h:
837         (WebCore::TextureAllocator::~TextureAllocator):
838         * platform/graphics/chromium/TiledLayerChromium.cpp:
839         (WebCore::TiledLayerChromium::updateCompositorResources):
840         * platform/graphics/chromium/TiledLayerChromium.h:
841         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
842         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
843         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
844         (WebCore::TrackingTextureAllocator::createTexture):
845         (WebCore::TrackingTextureAllocator::deleteTexture):
846         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
847         (WebCore::TrackingTextureAllocator::create):
848         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
849         * platform/graphics/chromium/VideoLayerChromium.cpp:
850         (WebCore::VideoLayerChromium::updateCompositorResources):
851         (WebCore::VideoLayerChromium::updateTexture):
852         * platform/graphics/chromium/VideoLayerChromium.h:
853         * platform/graphics/chromium/WebGLLayerChromium.cpp:
854         (WebCore::WebGLLayerChromium::updateCompositorResources):
855         * platform/graphics/chromium/WebGLLayerChromium.h:
856         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
857         (WebCore::CCHeadsUpDisplay::draw):
858         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
859         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
860         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
861         (WebCore::CCLayerTreeHost::commitToOnCCThread):
862         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
863         (WebCore::CCLayerTreeHost::updateCompositorResources):
864         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
865         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
866         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
867         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
868         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
869         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
870         (WebCore::CCRenderSurface::drawSurface):
871         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
872         (WebCore::CCSingleThreadProxy::setNeedsCommit):
873         (WebCore::CCSingleThreadProxy::stop):
874         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
875         (WebCore::CCSingleThreadProxy::commitIfNeeded):
876         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
877         (WebCore::CCThreadProxy::commitOnCCThread):
878         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
879 2011-09-27  James Robinson  <jamesr@chromium.org>
880
881         [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
882         https://bugs.webkit.org/show_bug.cgi?id=68967
883
884         Reviewed by Kenneth Russell.
885
886         When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
887         opposed to only a redraw).
888
889         Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
890
891         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
892         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
893
894 2011-09-27  Kentaro Hara  <haraken@chromium.com>
895
896         Implement a PageTransitionEvent constructor for V8
897         https://bugs.webkit.org/show_bug.cgi?id=68067
898
899         Reviewed by Adam Barth.
900
901         Test: fast/events/constructors/page-transition-event-constructor.html
902
903         * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
904         * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
905
906 2011-09-27  Kentaro Hara  <haraken@chromium.org>
907
908         Implement a MessageEvent constructor for JSC
909         https://bugs.webkit.org/show_bug.cgi?id=68883
910
911         Reviewed by Adam Barth.
912
913         The spec for MessageEvent is here:
914         http://www.whatwg.org/specs/web-apps/current-work/#messageevent
915
916         Currently, some tests in fast/events/constructors/message-event-constructor.html
917         are failing or crashing in DRT, as we commented in the test file.
918         This is because MessageEvent.data is implemented as SerializedScriptValue,
919         and thus it cannot keep ScriptValue passed by JavaScript.
920         This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
921         We will soon make a follow-up patch to fix these failures, after this
922         patch is landed.
923
924         Test: fast/events/constructors/message-event-constructor.html
925
926         * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
927         * bindings/js/JSDictionary.cpp:
928         (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
929         * bindings/js/JSDictionary.h:
930         * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
931         * dom/MessageEvent.cpp:
932         (WebCore::MessageEventInit::MessageEventInit):
933         (WebCore::MessageEvent::MessageEvent):
934         (WebCore::MessageEvent::initMessageEvent):
935         * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
936         (WebCore::MessageEvent::create):
937         (WebCore::MessageEvent::origin):
938         (WebCore::MessageEvent::lastEventId):
939         (WebCore::MessageEvent::source):
940         (WebCore::MessageEvent::ports):
941         (WebCore::MessageEvent::dataType):
942         (WebCore::MessageEvent::dataAsSerializedScriptValue):
943         (WebCore::MessageEvent::dataAsString):
944         (WebCore::MessageEvent::dataAsBlob):
945         (WebCore::MessageEvent::dataAsArrayBuffer):
946         * dom/MessageEvent.idl: Makes MessageEvent constructible.
947
948 2011-09-27  Eric Uhrhane  <ericu@chromium.org>
949
950         [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
951         https://bugs.webkit.org/show_bug.cgi?id=67684
952
953         Reviewed by David Levin.
954
955         Tests: fast/filesystem/file-writer-abort-continue.html
956                fast/filesystem/file-writer-abort.html
957
958         Track the state of the backend and be prepared for reentrant user
959         requests.  Limit recursion depth to an arbitrary small constant.
960         * fileapi/FileWriter.cpp: Lots of event-handling changes.
961         * fileapi/FileWriter.h:
962
963 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
964
965         Unreviewed, rolling out r96141.
966         http://trac.webkit.org/changeset/96141
967         https://bugs.webkit.org/show_bug.cgi?id=68190
968
969         Breaks PrerenderBrowserTest.PrerenderHTML5Video in
970         browser_tests
971
972         * WebCore.gypi:
973         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
974         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
975         * platform/graphics/chromium/Canvas2DLayerChromium.h:
976         * platform/graphics/chromium/ImageLayerChromium.cpp:
977         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
978         * platform/graphics/chromium/LayerChromium.h:
979         (WebCore::LayerChromium::updateCompositorResources):
980         * platform/graphics/chromium/LayerRendererChromium.cpp:
981         (WebCore::LayerRendererChromium::LayerRendererChromium):
982         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
983         (WebCore::LayerRendererChromium::drawLayers):
984         (WebCore::LayerRendererChromium::createLayerTexture):
985         (WebCore::LayerRendererChromium::deleteLayerTexture):
986         (WebCore::LayerRendererChromium::useRenderSurface):
987         (WebCore::LayerRendererChromium::initializeSharedObjects):
988         (WebCore::LayerRendererChromium::cleanupSharedObjects):
989         * platform/graphics/chromium/LayerRendererChromium.h:
990         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
991         * platform/graphics/chromium/LayerTextureUpdater.h:
992         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
993         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
994         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
995         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
996         * platform/graphics/chromium/ManagedTexture.cpp:
997         (WebCore::ManagedTexture::bindTexture):
998         (WebCore::ManagedTexture::framebufferTexture2D):
999         * platform/graphics/chromium/ManagedTexture.h:
1000         * platform/graphics/chromium/TextureManager.cpp:
1001         (WebCore::memoryUseBytes):
1002         (WebCore::TextureManager::deleteEvictedTextures):
1003         (WebCore::TextureManager::evictAndDeleteAllTextures):
1004         (WebCore::TextureManager::removeTexture):
1005         (WebCore::TextureManager::allocateTexture):
1006         (WebCore::TextureManager::requestTexture):
1007         * platform/graphics/chromium/TextureManager.h:
1008         * platform/graphics/chromium/TiledLayerChromium.cpp:
1009         (WebCore::TiledLayerChromium::updateCompositorResources):
1010         * platform/graphics/chromium/TiledLayerChromium.h:
1011         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
1012         * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
1013         * platform/graphics/chromium/VideoLayerChromium.cpp:
1014         (WebCore::VideoLayerChromium::updateCompositorResources):
1015         (WebCore::VideoLayerChromium::updateTexture):
1016         * platform/graphics/chromium/VideoLayerChromium.h:
1017         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1018         (WebCore::WebGLLayerChromium::updateCompositorResources):
1019         * platform/graphics/chromium/WebGLLayerChromium.h:
1020         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1021         (WebCore::CCHeadsUpDisplay::draw):
1022         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1023         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1024         (WebCore::CCLayerTreeHost::deleteContentsTextures):
1025         (WebCore::CCLayerTreeHost::commitTo):
1026         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
1027         (WebCore::CCLayerTreeHost::updateCompositorResources):
1028         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
1029         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1030         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1031         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1032         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1033         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1034         (WebCore::CCRenderSurface::drawSurface):
1035         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1036         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1037         (WebCore::CCSingleThreadProxy::stop):
1038         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
1039         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1040         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1041         (WebCore::CCThreadProxy::commitOnCCThread):
1042         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
1043
1044 2011-09-27  James Robinson  <jamesr@chromium.org>
1045
1046         [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
1047         https://bugs.webkit.org/show_bug.cgi?id=68953
1048
1049         Reviewed by Kenneth Russell.
1050
1051         The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
1052         together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
1053         so the features can advance independently. Today, it's not safe to set both of these flags.
1054
1055         * platform/graphics/chromium/ContentLayerChromium.cpp:
1056         (WebCore::ContentLayerChromium::createTextureUpdater):
1057         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1058         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1059
1060 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
1061
1062         Slightly improve performance of CSSStyleApplyProperty handler lookup.
1063         https://bugs.webkit.org/show_bug.cgi?id=68868
1064
1065         Reviewed by Eric Seidel.
1066
1067         No new tests as no functionality changed.
1068
1069         * css/CSSStyleApplyProperty.h:
1070         (WebCore::CSSStyleApplyProperty::propertyHandler):
1071         Make propertyHandler() public and remove redirecting functions.
1072         * css/CSSStyleSelector.cpp:
1073         (WebCore::CSSStyleSelector::applyProperty):
1074         Perform property handler lookup once and reuse the result.
1075
1076 2011-09-27  Kent Tamura  <tkent@chromium.org>
1077
1078         [V8] element.dataset.nonExistingKey should return undefined.
1079         https://bugs.webkit.org/show_bug.cgi?id=68877
1080
1081         Reviewed by Nate Chapin.
1082
1083         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1084         (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
1085
1086 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1087
1088         Add static version of JSCell::visitChildren
1089         https://bugs.webkit.org/show_bug.cgi?id=68404
1090
1091         Reviewed by Darin Adler.
1092
1093         No new tests.
1094
1095         In this patch we just extract the bodies of the virtual visitChildren methods
1096         throughout the JSCell inheritance hierarchy out into static methods, which are 
1097         now called from the virtual methods.  This is an intermediate step in trying to 
1098         move the virtual-ness of visitChildren into our own custom vtable stored in 
1099         ClassInfo.  We need to convert the methods to static methods in order to be 
1100         able to more easily store and refer to them in our custom vtable since normal 
1101         member methods store some implicit information in their types, making it 
1102         impossible to store them generically in ClassInfo.
1103
1104         * WebCore.exp.in:
1105         * bindings/js/JSAttrCustom.cpp:
1106         (WebCore::JSAttr::visitChildrenVirtual):
1107         (WebCore::JSAttr::visitChildren):
1108         * bindings/js/JSAudioContextCustom.cpp:
1109         (WebCore::JSAudioContext::visitChildrenVirtual):
1110         (WebCore::JSAudioContext::visitChildren):
1111         * bindings/js/JSCSSRuleCustom.cpp:
1112         (WebCore::JSCSSRule::visitChildrenVirtual):
1113         (WebCore::JSCSSRule::visitChildren):
1114         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1115         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
1116         (WebCore::JSCSSStyleDeclaration::visitChildren):
1117         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1118         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
1119         (WebCore::JSCanvasRenderingContext::visitChildren):
1120         * bindings/js/JSDOMGlobalObject.cpp:
1121         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
1122         (WebCore::JSDOMGlobalObject::visitChildren):
1123         * bindings/js/JSDOMGlobalObject.h:
1124         * bindings/js/JSDOMWindowCustom.cpp:
1125         (WebCore::JSDOMWindow::visitChildrenVirtual):
1126         (WebCore::JSDOMWindow::visitChildren):
1127         * bindings/js/JSDOMWindowShell.cpp:
1128         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
1129         (WebCore::JSDOMWindowShell::visitChildren):
1130         * bindings/js/JSDOMWindowShell.h:
1131         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1132         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
1133         (WebCore::JSJavaScriptAudioNode::visitChildren):
1134         * bindings/js/JSMessageChannelCustom.cpp:
1135         (WebCore::JSMessageChannel::visitChildrenVirtual):
1136         (WebCore::JSMessageChannel::visitChildren):
1137         * bindings/js/JSMessagePortCustom.cpp:
1138         (WebCore::JSMessagePort::visitChildrenVirtual):
1139         (WebCore::JSMessagePort::visitChildren):
1140         * bindings/js/JSNamedNodeMapCustom.cpp:
1141         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
1142         (WebCore::JSNamedNodeMap::visitChildren):
1143         * bindings/js/JSNodeCustom.cpp:
1144         (WebCore::JSNode::visitChildrenVirtual):
1145         (WebCore::JSNode::visitChildren):
1146         * bindings/js/JSNodeFilterCustom.cpp:
1147         (WebCore::JSNodeFilter::visitChildrenVirtual):
1148         (WebCore::JSNodeFilter::visitChildren):
1149         * bindings/js/JSNodeIteratorCustom.cpp:
1150         (WebCore::JSNodeIterator::visitChildrenVirtual):
1151         (WebCore::JSNodeIterator::visitChildren):
1152         * bindings/js/JSSVGElementInstanceCustom.cpp:
1153         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
1154         (WebCore::JSSVGElementInstance::visitChildren):
1155         * bindings/js/JSSharedWorkerCustom.cpp:
1156         (WebCore::JSSharedWorker::visitChildrenVirtual):
1157         (WebCore::JSSharedWorker::visitChildren):
1158         * bindings/js/JSStyleSheetCustom.cpp:
1159         (WebCore::JSStyleSheet::visitChildrenVirtual):
1160         (WebCore::JSStyleSheet::visitChildren):
1161         * bindings/js/JSTreeWalkerCustom.cpp:
1162         (WebCore::JSTreeWalker::visitChildrenVirtual):
1163         (WebCore::JSTreeWalker::visitChildren):
1164         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1165         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
1166         (WebCore::JSWebGLRenderingContext::visitChildren):
1167         * bindings/js/JSWorkerContextCustom.cpp:
1168         (WebCore::JSWorkerContext::visitChildrenVirtual):
1169         (WebCore::JSWorkerContext::visitChildren):
1170         * bindings/js/JSXMLHttpRequestCustom.cpp:
1171         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
1172         (WebCore::JSXMLHttpRequest::visitChildren):
1173         * bindings/js/JSXPathResultCustom.cpp:
1174         (WebCore::JSXPathResult::visitChildrenVirtual):
1175         (WebCore::JSXPathResult::visitChildren):
1176         * bindings/scripts/CodeGeneratorJS.pm:
1177         (GenerateHeader):
1178         (GenerateImplementation):
1179         * bindings/scripts/test/JS/JSTestObj.cpp:
1180         (WebCore::JSTestObj::visitChildrenVirtual):
1181         (WebCore::JSTestObj::visitChildren):
1182         * bindings/scripts/test/JS/JSTestObj.h:
1183         * bridge/qt/qt_instance.cpp:
1184         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
1185         (JSC::Bindings::QtRuntimeObject::visitChildren):
1186         * bridge/qt/qt_runtime.cpp:
1187         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
1188         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
1189         * bridge/qt/qt_runtime.h:
1190         * workers/WorkerContext.h:
1191
1192 <<<<<<< .mine
1193 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
1194
1195         Add static version of JSCell::getCallData
1196         https://bugs.webkit.org/show_bug.cgi?id=68741
1197
1198         Reviewed by Darin Adler.
1199
1200         No new tests.
1201
1202         In this patch we just extract the bodies of the virtual getCallData methods
1203         throughout the JSCell inheritance hierarchy out into static methods, which are 
1204         now called from the virtual methods.  This is an intermediate step in trying to 
1205         move the virtual-ness of getCallData into our own method table stored in 
1206         ClassInfo.  We need to convert the methods to static methods because static methods 
1207         can be represented as function pointers rather than pointers to member functions, and
1208         function pointers are smaller and faster to call than pointers to member functions.
1209
1210         * WebCore.exp.in:
1211         * bindings/js/JSCallbackData.cpp:
1212         (WebCore::JSCallbackData::invokeCallback):
1213         * bindings/js/JSCustomXPathNSResolver.cpp:
1214         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1215         * bindings/js/JSErrorHandler.cpp:
1216         (WebCore::JSErrorHandler::handleEvent):
1217         * bindings/js/JSEventListener.cpp:
1218         (WebCore::JSEventListener::handleEvent):
1219         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1220         (WebCore::JSHTMLAllCollection::getCallDataVirtual):
1221         (WebCore::JSHTMLAllCollection::getCallData):
1222         * bindings/js/JSHTMLAppletElementCustom.cpp:
1223         (WebCore::JSHTMLAppletElement::getCallDataVirtual):
1224         (WebCore::JSHTMLAppletElement::getCallData):
1225         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1226         (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
1227         (WebCore::JSHTMLEmbedElement::getCallData):
1228         * bindings/js/JSHTMLObjectElementCustom.cpp:
1229         (WebCore::JSHTMLObjectElement::getCallDataVirtual):
1230         (WebCore::JSHTMLObjectElement::getCallData):
1231         * bindings/js/JSInjectedScriptHostCustom.cpp:
1232         (WebCore::JSInjectedScriptHost::evaluate):
1233         * bindings/js/JSPluginElementFunctions.cpp:
1234         (WebCore::runtimeObjectGetCallData):
1235         * bindings/scripts/CodeGeneratorJS.pm:
1236         (GenerateHeader):
1237         * bridge/objc/objc_runtime.h:
1238         * bridge/objc/objc_runtime.mm:
1239         (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
1240         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
1241         * bridge/qt/qt_runtime.cpp:
1242         (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
1243         (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
1244         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1245         (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
1246         (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
1247         (JSC::Bindings::isJavaScriptFunction):
1248         * bridge/qt/qt_runtime.h:
1249         * bridge/runtime_method.cpp:
1250         (JSC::RuntimeMethod::getCallDataVirtual):
1251         (JSC::RuntimeMethod::getCallData):
1252         * bridge/runtime_method.h:
1253         * bridge/runtime_object.cpp:
1254         (JSC::Bindings::RuntimeObject::getCallDataVirtual):
1255         (JSC::Bindings::RuntimeObject::getCallData):
1256         * bridge/runtime_object.h:
1257
1258 =======
1259 2011-09-27  Dean Jackson  <dino@apple.com>
1260
1261         Unreviewed. Remove duplicate FilterOperation{s}.h that were
1262         accidentally added to the top level of the Xcode project.
1263
1264         * WebCore.xcodeproj/project.pbxproj:
1265
1266 >>>>>>> .r96163
1267 2011-09-27  David Hyatt  <hyatt@apple.com>
1268
1269         https://bugs.webkit.org/show_bug.cgi?id=68940
1270
1271         Narrow the float/lines pagination heuristic to only kick in if
1272         the previous line broke cleanly and if the floats are occurring
1273         at the start of the line.
1274
1275         Reviewed by Dan Bernstein.
1276
1277         * rendering/RenderBlockLineLayout.cpp:
1278         (WebCore::RenderBlock::positionNewFloatOnLine):
1279
1280 2011-09-27  James Robinson  <jamesr@chromium.org>
1281
1282         Add a mechanism to test for the compositing tree mutated during painting
1283         https://bugs.webkit.org/show_bug.cgi?id=68738
1284
1285         Reviewed by Adam Barth.
1286
1287         Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
1288         destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
1289
1290         Test: compositing/video/video-with-invalid-source.html
1291
1292         * platform/graphics/GraphicsLayer.cpp:
1293         (WebCore::GraphicsLayer::GraphicsLayer):
1294         (WebCore::GraphicsLayer::~GraphicsLayer):
1295         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1296
1297 2011-09-27  Ojan Vafai  <ojan@chromium.org>
1298
1299         take padding/border on flexbox into account with direction:rtl
1300         https://bugs.webkit.org/show_bug.cgi?id=68846
1301
1302         Reviewed by David Hyatt.
1303
1304         Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
1305         so that we include the flexbox's border and padding.
1306         
1307         Also, change all uses of availableLogicalWidth to contentLogicalWidth.
1308         The former takes multi-column into account. Multi-column flexboxes don't
1309         make any sense, so there's no point in calling availableLogicalWidth.
1310
1311         * rendering/RenderFlexibleBox.cpp:
1312         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
1313         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
1314         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1315         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1316         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1317         * rendering/RenderFlexibleBox.h:
1318
1319 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1320
1321         Unreviewed, rolling out r96139.
1322         http://trac.webkit.org/changeset/96139
1323         https://bugs.webkit.org/show_bug.cgi?id=68933
1324
1325         Broke table-percent-height.html on Mac bots (Requested by
1326         mwenge2 on #webkit).
1327
1328         * rendering/RenderBox.cpp:
1329         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1330         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1331         * rendering/RenderBox.h:
1332
1333 2011-09-27  Tim Horton  <timothy_horton@apple.com>
1334
1335         REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
1336         https://bugs.webkit.org/show_bug.cgi?id=67700
1337         <rdar://problem/10125102>
1338
1339         Reviewed by Darin Adler.
1340
1341         Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
1342         of the <svg> element. This fixes the case where a transformed element displays part of a resource
1343         outside of the size of the <svg> element.
1344
1345         When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
1346         the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
1347         when patterns are over the 4k limit.
1348
1349         Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
1350
1351         * rendering/svg/RenderSVGResourceClipper.cpp:
1352         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1353         * rendering/svg/RenderSVGResourceGradient.cpp:
1354         (WebCore::createMaskAndSwapContextForTextGradient):
1355         (WebCore::clipToTextMask):
1356         * rendering/svg/RenderSVGResourceMasker.cpp:
1357         (WebCore::RenderSVGResourceMasker::applyResource):
1358         * rendering/svg/RenderSVGResourcePattern.cpp:
1359         (WebCore::RenderSVGResourcePattern::applyResource):
1360         (WebCore::RenderSVGResourcePattern::createTileImage):
1361         * rendering/svg/RenderSVGResourcePattern.h:
1362         * rendering/svg/SVGImageBufferTools.cpp:
1363         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
1364         * rendering/svg/SVGImageBufferTools.h:
1365
1366 2011-09-27  Dan Bernstein  <mitz@apple.com>
1367
1368         <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
1369
1370         Reviewed by Simon Fraser.
1371
1372         Test: fast/dynamic/layer-no-longer-paginated.html
1373
1374         FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
1375         The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
1376         the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
1377         of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
1378
1379         * rendering/RenderLayer.cpp:
1380         (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
1381
1382 2011-09-27  Ojan Vafai  <ojan@chromium.org>
1383
1384         offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
1385         https://bugs.webkit.org/show_bug.cgi?id=68304
1386
1387         Reviewed by David Hyatt.
1388
1389         When grabbing the x/y values of the RenderBox, we need to take writing mode
1390         flipping into account.
1391
1392         Test: fast/dom/offset-position-writing-modes.html
1393
1394         * rendering/RenderBox.cpp:
1395         (WebCore::RenderBox::locationIncludingFlipping):
1396         * rendering/RenderBox.h:
1397         (WebCore::RenderBox::yFlippedForWritingMode):
1398         (WebCore::RenderBox::xFlippedForWritingMode):
1399         * rendering/RenderBoxModelObject.cpp:
1400         (WebCore::RenderBoxModelObject::offsetLeft):
1401         (WebCore::RenderBoxModelObject::offsetTop):
1402
1403 2011-09-27  Tim Horton  <timothy_horton@apple.com>
1404
1405         Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
1406         https://bugs.webkit.org/show_bug.cgi?id=68816
1407         <rdar://problem/10186468>
1408
1409         Reviewed by Simon Fraser.
1410
1411         If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
1412
1413         Test: svg/filters/feMorphology-zero-radius.svg
1414
1415         * platform/graphics/filters/FEMorphology.cpp:
1416         (WebCore::FEMorphology::apply):
1417         * platform/graphics/filters/FETurbulence.cpp:
1418         (WebCore::FETurbulence::apply):
1419
1420 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1421
1422         CompositeEditCommand::prune should remove subtree at once
1423         https://bugs.webkit.org/show_bug.cgi?id=68866
1424
1425         Reviewed by Darin Adler.
1426
1427         Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
1428         This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
1429
1430         * editing/CompositeEditCommand.cpp:
1431         (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
1432         the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
1433         (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
1434         (WebCore::CompositeEditCommand::prune):
1435         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1436
1437 2011-09-27  David Hyatt  <hyatt@apple.com>
1438
1439         https://bugs.webkit.org/show_bug.cgi?id=68922
1440
1441         Paginated floats should not grow the height of a block when they don't end
1442         up being tied to a line. Floats encountered in skipLeadingWhitespace that
1443         paginate can't immediately grow the height of the block, since there may not
1444         end up being any actual line content. We only want to push the height of the
1445         block down if we have actual line content that we want to keep with the
1446         float.
1447         
1448         Make positionNewFloatOnLine check if the line is empty or not, and if it is,
1449         it just puts the desired pagination strut into LineInfo. If and when actual
1450         line content is encountered and setEmpty becomes false, we'll grow the block
1451         height then.
1452         
1453         Reviewed by Dan Bernstein.
1454
1455         Added fast/multicol/float-paginate-empty-lines.html and
1456         fast/regions/webkit-flow-double-pagination-float-push.html.
1457
1458         * rendering/RenderBlock.h:
1459         * rendering/RenderBlockLineLayout.cpp:
1460         (WebCore::LineWidth::LineWidth):
1461         (WebCore::LineWidth::fitsOnLine):
1462         (WebCore::LineWidth::currentWidth):
1463         (WebCore::LineWidth::uncommittedWidth):
1464         (WebCore::LineWidth::committedWidth):
1465         (WebCore::LineWidth::availableWidth):
1466         (WebCore::LineWidth::addUncommittedWidth):
1467         (WebCore::LineWidth::commit):
1468         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
1469         (WebCore::LineWidth::updateAvailableWidth):
1470         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1471         (WebCore::LineWidth::applyOverhang):
1472         (WebCore::LineWidth::fitBelowFloats):
1473         (WebCore::LineInfo::LineInfo):
1474         (WebCore::LineInfo::floatPaginationStrut):
1475         (WebCore::LineInfo::setEmpty):
1476         (WebCore::LineInfo::setFloatPaginationStrut):
1477         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
1478         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1479         (WebCore::RenderBlock::positionNewFloatOnLine):
1480
1481 2011-09-27  Dean Jackson  <dino@apple.com>
1482
1483         Add 'filter' value to RenderStyle
1484         https://bugs.webkit.org/show_bug.cgi?id=68471
1485
1486         Reviewed by Simon Fraser.
1487
1488         Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
1489         is turned on. Similar to -webkit-transform, -webkit-filter is a
1490         list of FilterOperations, each identifying what type of operation
1491         it is. This change simply adds the basic objects, it does not
1492         parse the property to generate the list.
1493
1494         * CMakeLists.txt:
1495         * GNUmakefile.list.am:
1496         * WebCore.gypi:
1497         * WebCore.pro:
1498         * WebCore.vcproj/WebCore.vcproj:
1499         * WebCore.xcodeproj/project.pbxproj:
1500         * platform/graphics/filters/FilterOperation.h: Added.
1501         (WebCore::FilterOperation::~FilterOperation):
1502         (WebCore::FilterOperation::operator!=):
1503         (WebCore::FilterOperation::getOperationType):
1504         (WebCore::FilterOperation::isSameType):
1505         (WebCore::FilterOperation::FilterOperation):
1506         (WebCore::ReferenceFilterOperation::create):
1507         (WebCore::ReferenceFilterOperation::reference):
1508         (WebCore::ReferenceFilterOperation::operator==):
1509         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
1510         (WebCore::BasicColorMatrixFilterOperation::create):
1511         (WebCore::BasicColorMatrixFilterOperation::amount):
1512         (WebCore::BasicColorMatrixFilterOperation::operator==):
1513         (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
1514         (WebCore::BasicComponentTransferFilterOperation::create):
1515         (WebCore::BasicComponentTransferFilterOperation::amount):
1516         (WebCore::BasicComponentTransferFilterOperation::operator==):
1517         (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
1518         (WebCore::GammaFilterOperation::create):
1519         (WebCore::GammaFilterOperation::amplitude):
1520         (WebCore::GammaFilterOperation::exponent):
1521         (WebCore::GammaFilterOperation::offset):
1522         (WebCore::GammaFilterOperation::operator==):
1523         (WebCore::GammaFilterOperation::GammaFilterOperation):
1524         (WebCore::BlurFilterOperation::create):
1525         (WebCore::BlurFilterOperation::stdDeviationX):
1526         (WebCore::BlurFilterOperation::stdDeviationY):
1527         (WebCore::BlurFilterOperation::operator==):
1528         (WebCore::BlurFilterOperation::BlurFilterOperation):
1529         (WebCore::SharpenFilterOperation::create):
1530         (WebCore::SharpenFilterOperation::radius):
1531         (WebCore::SharpenFilterOperation::threshold):
1532         (WebCore::SharpenFilterOperation::amount):
1533         (WebCore::SharpenFilterOperation::operator==):
1534         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
1535         (WebCore::DropShadowFilterOperation::create):
1536         (WebCore::DropShadowFilterOperation::shadow):
1537         (WebCore::DropShadowFilterOperation::operator==):
1538         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
1539         * platform/graphics/filters/FilterOperations.cpp: Added.
1540         (WebCore::FilterOperations::FilterOperations):
1541         (WebCore::FilterOperations::operator==):
1542         * platform/graphics/filters/FilterOperations.h: Added.
1543         (WebCore::FilterOperations::operator!=):
1544         (WebCore::FilterOperations::clear):
1545         (WebCore::FilterOperations::operations):
1546         (WebCore::FilterOperations::size):
1547         (WebCore::FilterOperations::at):
1548         * rendering/style/RenderStyle.cpp:
1549         (WebCore::RenderStyle::RenderStyle):
1550         * rendering/style/RenderStyle.h:
1551         (WebCore::InheritedFlags::filter):
1552         (WebCore::InheritedFlags::hasFilter):
1553         (WebCore::InheritedFlags::setFilter):
1554         (WebCore::InheritedFlags::initialFilter):
1555         * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
1556         * rendering/style/StyleFilterData.cpp: Added.
1557         (WebCore::StyleFilterData::StyleFilterData):
1558         (WebCore::StyleFilterData::operator==):
1559         * rendering/style/StyleFilterData.h: Added.
1560         (WebCore::StyleFilterData::create):
1561         (WebCore::StyleFilterData::copy):
1562         (WebCore::StyleFilterData::operator!=):
1563         * rendering/style/StyleRareNonInheritedData.cpp:
1564         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1565         (WebCore::StyleRareNonInheritedData::operator==):
1566         * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
1567
1568 2011-09-27  James Robinson  <jamesr@chromium.org>
1569
1570         [chromium] LayerRenderChromium asserts about leaking textures.
1571         https://bugs.webkit.org/show_bug.cgi?id=68190
1572
1573         Reviewed by Kenneth Russell.
1574
1575         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
1576         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
1577         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
1578         to make sure we aren't leaking any textures.
1579
1580         * WebCore.gypi:
1581         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1582         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1583         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1584         * platform/graphics/chromium/ImageLayerChromium.cpp:
1585         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1586         * platform/graphics/chromium/LayerChromium.h:
1587         (WebCore::LayerChromium::updateCompositorResources):
1588         * platform/graphics/chromium/LayerRendererChromium.cpp:
1589         (WebCore::LayerRendererChromium::LayerRendererChromium):
1590         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
1591         (WebCore::LayerRendererChromium::drawLayers):
1592         (WebCore::LayerRendererChromium::useRenderSurface):
1593         (WebCore::LayerRendererChromium::initializeSharedObjects):
1594         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1595         * platform/graphics/chromium/LayerRendererChromium.h:
1596         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
1597         (WebCore::LayerRendererChromium::contentsTextureAllocator):
1598         * platform/graphics/chromium/LayerTextureUpdater.h:
1599         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1600         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1601         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1602         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1603         * platform/graphics/chromium/ManagedTexture.cpp:
1604         (WebCore::ManagedTexture::bindTexture):
1605         (WebCore::ManagedTexture::framebufferTexture2D):
1606         * platform/graphics/chromium/ManagedTexture.h:
1607         * platform/graphics/chromium/TextureManager.cpp:
1608         (WebCore::TextureManager::memoryUseBytes):
1609         (WebCore::TextureManager::deleteEvictedTextures):
1610         (WebCore::TextureManager::evictAndDeleteAllTextures):
1611         (WebCore::TextureManager::removeTexture):
1612         (WebCore::TextureManager::allocateTexture):
1613         (WebCore::TextureManager::requestTexture):
1614         * platform/graphics/chromium/TextureManager.h:
1615         (WebCore::TextureAllocator::~TextureAllocator):
1616         * platform/graphics/chromium/TiledLayerChromium.cpp:
1617         (WebCore::TiledLayerChromium::updateCompositorResources):
1618         * platform/graphics/chromium/TiledLayerChromium.h:
1619         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
1620         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1621         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
1622         (WebCore::TrackingTextureAllocator::createTexture):
1623         (WebCore::TrackingTextureAllocator::deleteTexture):
1624         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
1625         (WebCore::TrackingTextureAllocator::create):
1626         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
1627         * platform/graphics/chromium/VideoLayerChromium.cpp:
1628         (WebCore::VideoLayerChromium::updateCompositorResources):
1629         (WebCore::VideoLayerChromium::updateTexture):
1630         * platform/graphics/chromium/VideoLayerChromium.h:
1631         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1632         (WebCore::WebGLLayerChromium::updateCompositorResources):
1633         * platform/graphics/chromium/WebGLLayerChromium.h:
1634         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1635         (WebCore::CCHeadsUpDisplay::draw):
1636         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1637         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1638         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
1639         (WebCore::CCLayerTreeHost::commitToOnCCThread):
1640         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
1641         (WebCore::CCLayerTreeHost::updateCompositorResources):
1642         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1643         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1644         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
1645         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1646         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1647         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1648         (WebCore::CCRenderSurface::drawSurface):
1649         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1650         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1651         (WebCore::CCSingleThreadProxy::stop):
1652         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
1653         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1654         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1655         (WebCore::CCThreadProxy::commitOnCCThread):
1656         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
1657
1658 2011-06-28  Robert Hogan  <robert@webkit.org>
1659
1660         Reviewed by David Hyatt.
1661
1662         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
1663         https://bugs.webkit.org/show_bug.cgi?id=29447
1664
1665         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
1666         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
1667
1668         Test: fast/replaced/table-percent-width.html
1669
1670         * rendering/RenderBox.cpp:
1671         (WebCore::avoidSqueezingWidth):
1672         (WebCore::avoidSqueezingHeight):
1673         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
1674         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1675         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1676         * rendering/RenderBox.h:
1677
1678 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
1679
1680         https://bugs.webkit.org/show_bug.cgi?id=67858
1681
1682         Roll r96070 back in now that the crash has been fixed in r96130.
1683
1684         Reviewed by Darin Adler.
1685         
1686         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
1687         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
1688         
1689         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
1690         on scrollbar creation appears to happen via updating the scrollbar style.
1691
1692         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
1693         stale scrollbars when run manually, even though the green squares are missing from the
1694         pixel result (bug 67878).
1695
1696         * page/FrameView.cpp:
1697         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
1698         * platform/ScrollView.cpp:
1699         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
1700         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1701         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
1702         compute the scroll corner rect while we still have scrollbars, and then invalidate it
1703         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
1704         rect.)
1705         * platform/ScrollableArea.cpp:
1706         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
1707         compute it in the case where the scrollbars are going away.
1708         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
1709         invalidateScrollbar().
1710         * rendering/RenderLayerCompositor.cpp:
1711         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
1712         * rendering/RenderScrollbarPart.cpp: Ditto.
1713         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
1714
1715 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
1716
1717         Fix Chromium Mac build after r96130.
1718
1719         * page/FrameView.cpp:
1720         (WebCore::FrameView::layerForOverhangAreas):
1721
1722 2011-09-27  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1723
1724         Autofocus on readonly inputs does not focus the element.
1725         https://bugs.webkit.org/show_bug.cgi?id=24092
1726
1727         Reviewed by Ryosuke Niwa.
1728
1729         Readonly input elements should be autofocusable. Removed the check.
1730
1731         Tests: fast/forms/autofocus-readonly-attribute.html
1732
1733         * html/HTMLFormControlElement.cpp:
1734         (WebCore::shouldAutofocus):
1735
1736 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
1737
1738         Clean up how FrameView accesses the RenderView
1739         https://bugs.webkit.org/show_bug.cgi?id=68914
1740
1741         Reviewed by Sam Weinig.
1742
1743         Clean up how FrameView accesses the content renderer of its
1744         frame. Previously, this was done in several different ways,
1745         only some of which did null-checking.
1746         
1747         Use an inline method to avoid having to expose Frame
1748         in the header.
1749         
1750         Standardize the terminology to use 'root' for this RenderView.
1751
1752         * page/FrameView.cpp:
1753         (WebCore::rootRenderer):
1754         (WebCore::FrameView::setFrameRect):
1755         (WebCore::FrameView::adjustViewSize):
1756         (WebCore::FrameView::updateCompositingLayers):
1757         (WebCore::FrameView::clearBackingStores):
1758         (WebCore::FrameView::restoreBackingStores):
1759         (WebCore::FrameView::layerForHorizontalScrollbar):
1760         (WebCore::FrameView::layerForVerticalScrollbar):
1761         (WebCore::FrameView::layerForScrollCorner):
1762         (WebCore::FrameView::layerForOverhangAreas):
1763         (WebCore::FrameView::syncCompositingStateForThisFrame):
1764         (WebCore::FrameView::hasCompositedContent):
1765         (WebCore::FrameView::enterCompositingMode):
1766         (WebCore::FrameView::isSoftwareRenderable):
1767         (WebCore::FrameView::didMoveOnscreen):
1768         (WebCore::FrameView::willMoveOffscreen):
1769         (WebCore::FrameView::layout):
1770         (WebCore::FrameView::embeddedContentBox):
1771         (WebCore::FrameView::contentsInCompositedLayer):
1772         (WebCore::FrameView::scrollContentsFastPath):
1773         (WebCore::FrameView::scrollContentsSlowPath):
1774         (WebCore::FrameView::maintainScrollPositionAtAnchor):
1775         (WebCore::FrameView::scrollPositionChanged):
1776         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
1777         (WebCore::FrameView::visibleContentsResized):
1778         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1779         (WebCore::FrameView::needsLayout):
1780         (WebCore::FrameView::setNeedsLayout):
1781         (WebCore::FrameView::performPostLayoutTasks):
1782         (WebCore::FrameView::updateControlTints):
1783         (WebCore::FrameView::paintContents):
1784         (WebCore::FrameView::forceLayoutForPagination):
1785         (WebCore::FrameView::adjustPageHeightDeprecated):
1786         (WebCore::FrameView::isVerticalDocument):
1787         (WebCore::FrameView::isFlippedDocument):
1788
1789 2011-09-27  Dominic Mazzoni  <dmazzoni@google.com>
1790
1791         AXObjectCache cleared unnecessarily when non-top Document is detached.
1792         https://bugs.webkit.org/show_bug.cgi?id=68636
1793
1794         Reviewed by Chris Fleizach.
1795
1796         Test: accessibility/deleting-iframe-destroys-axcache.html
1797
1798         * dom/Document.cpp:
1799         (WebCore::Document::attach):
1800         (WebCore::Document::detach):
1801
1802 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1803
1804         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
1805         http://trac.webkit.org/changeset/96108
1806         http://trac.webkit.org/changeset/96111
1807         http://trac.webkit.org/changeset/96113
1808         http://trac.webkit.org/changeset/96116
1809         https://bugs.webkit.org/show_bug.cgi?id=68913
1810
1811         Wait for working Qt5 (Requested by ossy on #webkit).
1812
1813         * WebCore.pri:
1814         * platform/graphics/qt/GraphicsLayerQt.cpp:
1815
1816 2011-09-27  Csaba Osztrogonác  <ossy@webkit.org>
1817
1818         Fix ENABLE(SQL_DATABASE)=0 build after r95919
1819         https://bugs.webkit.org/show_bug.cgi?id=68902
1820
1821         r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
1822         it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
1823
1824         Reviewed by Adam Barth.
1825
1826         * platform/sql/SQLiteAuthorizer.cpp:
1827         * platform/sql/SQLiteDatabase.cpp:
1828         * platform/sql/SQLiteFileSystem.cpp:
1829         * platform/sql/SQLiteStatement.cpp:
1830         * platform/sql/SQLiteTransaction.cpp:
1831         * storage/DatabaseAuthorizer.cpp:
1832
1833 2011-09-27  Julien Chaffraix  <jchaffraix@webkit.org>
1834
1835         Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
1836         https://bugs.webkit.org/show_bug.cgi?id=66291
1837
1838         Reviewed by Darin Adler.
1839
1840         Test: fast/canvas/crash-set-font.html
1841
1842         This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
1843         applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
1844         We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
1845         list as Font::update was never called.
1846
1847         The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
1848         Until this happens, it is better not to crash.
1849
1850         * css/CSSStyleSelector.cpp:
1851         (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
1852         mutated by the previous property change. Also added a comment explaining why it is safe to do it
1853         this way.
1854
1855 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
1856
1857         [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
1858         https://bugs.webkit.org/show_bug.cgi?id=68897
1859
1860         Reviewed by Andreas Kling.
1861
1862         No new functionality so no new tests.
1863
1864         * platform/graphics/texmap/TextureMapperNode.cpp:
1865         (WebCore::TextureMapperNode::computeAllTransforms):
1866         (WebCore::TextureMapperNode::computeTiles):
1867         (WebCore::TextureMapperNode::syncCompositingState):
1868         * platform/graphics/texmap/TextureMapperNode.h:
1869
1870 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
1871
1872         [Texmap][Qt] Refactor texture-upload to allow direct chunk update
1873         https://bugs.webkit.org/show_bug.cgi?id=68808
1874
1875         Add a function to BitmapTexture for direct pixel updates.
1876         Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
1877         to RGBA swizzling is done inside that function, there's no need for the 
1878         RGBA32PremultipliedBuffer class to contain such function. Also,
1879         RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
1880         an old mistake.
1881
1882         Reviewed by Andreas Kling.
1883
1884         No new tests. Existing tests in LayoutTests/compositing test this.
1885
1886         * platform/graphics/opengl/TextureMapperGL.cpp:
1887         (WebCore::BitmapTextureGL::beginPaint):
1888         (WebCore::BitmapTextureGL::endPaint):
1889         (WebCore::swizzleBGRAToRGBA):
1890         (WebCore::BitmapTextureGL::updateContents):
1891         * platform/graphics/opengl/TextureMapperGL.h:
1892         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
1893         * platform/graphics/qt/TextureMapperQt.cpp:
1894         (WebCore::BitmapTextureQt::updateContents):
1895         (WebCore::BGRA32PremultimpliedBufferQt::data):
1896         (WebCore::BGRA32PremultimpliedBuffer::create):
1897         * platform/graphics/qt/TextureMapperQt.h:
1898         * platform/graphics/texmap/TextureMapper.h:
1899
1900 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1901
1902         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
1903
1904         QWidget and friends now live in the QtWidgets library. We update
1905         includes in implementation files and private headers to us the
1906         non-module-prefixed path, and leave the lookup for the include
1907         path. For public headers we have to ifdef the includes as the
1908         user might now have the modules we need in his QT config.
1909
1910         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
1911         have to update our code and use windowHandle() for setting the
1912         parent relationships.
1913
1914         https://bugs.webkit.org/show_bug.cgi?id=68687
1915
1916         Reviewed by Andreas Kling.
1917
1918         * WebCore.pri:
1919         * platform/graphics/qt/GraphicsLayerQt.cpp:
1920
1921 2011-09-27  Pavel Feldman  <pfeldman@google.com>
1922
1923         Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
1924         Send attribute name and value within the event.
1925         https://bugs.webkit.org/show_bug.cgi?id=68613
1926
1927         Reviewed by Yury Semikhatsky.
1928
1929         * dom/Element.cpp:
1930         (WebCore::Element::setAttribute):
1931         (WebCore::Element::removeAttribute):
1932         * inspector/Inspector.draft-01.json:
1933         * inspector/Inspector.json:
1934         * inspector/InspectorDOMAgent.cpp:
1935         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
1936         (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
1937         * inspector/InspectorDOMAgent.h:
1938         * inspector/InspectorInstrumentation.cpp:
1939         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
1940         (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
1941         * inspector/InspectorInstrumentation.h:
1942         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
1943         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
1944         * inspector/front-end/DOMAgent.js:
1945         (WebInspector.DOMNode.prototype._addAttribute):
1946         (WebInspector.DOMNode.prototype._setAttribute):
1947         (WebInspector.DOMNode.prototype._removeAttribute):
1948         (WebInspector.DOMAgent.prototype._attributeModified):
1949         (WebInspector.DOMAgent.prototype._attributeRemoved):
1950         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
1951         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1952         (WebInspector.DOMDispatcher.prototype.attributeModified):
1953         (WebInspector.DOMDispatcher.prototype.attributeRemoved):
1954         * inspector/front-end/ElementsPanel.js:
1955         (WebInspector.ElementsPanel):
1956         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1957         * inspector/front-end/MetricsSidebarPane.js:
1958         (WebInspector.MetricsSidebarPane):
1959         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
1960         * inspector/front-end/StylesSidebarPane.js:
1961         (WebInspector.StylesSidebarPane):
1962         (WebInspector.StylesSidebarPane.prototype._attributesModified):
1963         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
1964         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
1965         (WebInspector.StylePropertyTreeElement.prototype.event):
1966         (WebInspector.StylePropertyTreeElement.prototype):
1967         * inspector/validate-protocol-compatibility:
1968
1969 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1970
1971         Unreviewed, rolling out r96070 and r96075.
1972         http://trac.webkit.org/changeset/96070
1973         http://trac.webkit.org/changeset/96075
1974         https://bugs.webkit.org/show_bug.cgi?id=68893
1975
1976         WK2 tests started crashing after r96070 for SL and Qt
1977         (Requested by torarne on #webkit).
1978
1979         * page/FrameView.cpp:
1980         (WebCore::FrameView::updateScrollCorner):
1981         * platform/ScrollView.cpp:
1982         (WebCore::ScrollView::setHasHorizontalScrollbar):
1983         (WebCore::ScrollView::setHasVerticalScrollbar):
1984         (WebCore::ScrollView::updateScrollbars):
1985         * platform/ScrollableArea.cpp:
1986         (WebCore::ScrollableArea::invalidateScrollCorner):
1987         * platform/ScrollableArea.h:
1988         * rendering/RenderLayerCompositor.cpp:
1989         (WebCore::RenderLayerCompositor::destroyRootLayer):
1990         * rendering/RenderScrollbarPart.cpp:
1991         (WebCore::RenderScrollbarPart::imageChanged):
1992
1993 2011-09-27  Andrey Kosyakov  <caseq@chromium.org>
1994
1995         Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
1996         https://bugs.webkit.org/show_bug.cgi?id=68888
1997
1998         Reviewed by Pavel Feldman.
1999
2000         * inspector/front-end/ElementsPanel.js:
2001         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
2002
2003 2011-09-21  Pavel Podivilov  <podivilov@chromium.org>
2004
2005         Web Inspector: migrate RawSourceCode clients to SourceMapping class.
2006         https://bugs.webkit.org/show_bug.cgi?id=68524
2007
2008         Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
2009         Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
2010
2011         Reviewed by Yury Semikhatsky.
2012
2013         * inspector/front-end/BreakpointManager.js:
2014         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
2015         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
2016         * inspector/front-end/DebuggerPresentationModel.js:
2017         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
2018         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2019         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2020         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
2021         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2022         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
2023         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2024         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
2025         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2026         (WebInspector.PresentationCallFrame.prototype.get url):
2027         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
2028         (WebInspector.PresentationCallFrame.prototype.sourceLine):
2029         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
2030         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
2031         * inspector/front-end/SourceFile.js:
2032         (WebInspector.RawSourceCode.prototype.get sourceMapping):
2033
2034 2011-09-27  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
2035
2036         wrap attribute of textarea element cannot be accessed by JavaScript.
2037         https://bugs.webkit.org/show_bug.cgi?id=68592
2038
2039         Reviewed by Kent Tamura.
2040
2041         Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
2042
2043         Test: fast/forms/textarea-wrap-attribute.html
2044
2045         * html/HTMLTextAreaElement.idl:
2046
2047 2011-09-27  Xan Lopez  <xlopez@igalia.com>
2048
2049         [GTK] Add compatibility methods for DOM bindings
2050         https://bugs.webkit.org/show_bug.cgi?id=68884
2051
2052         Reviewed by Philippe Normand.
2053
2054         Add compatibility methods for our DOM bindings.
2055
2056         * bindings/gobject/WebKitDOMCustom.cpp:
2057         (webkit_dom_blob_slice): alias to the new method name.
2058         (webkit_dom_html_form_element_dispatch_form_change): this was
2059         removed from WebCore, so just print a warning about it.
2060         (webkit_dom_html_form_element_dispatch_form_input): ditto.
2061         * bindings/gobject/WebKitDOMCustom.h:
2062
2063 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2064
2065         Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
2066         https://bugs.webkit.org/show_bug.cgi?id=68875
2067
2068         Reviewed by Kent Tamura.
2069
2070         Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
2071         Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
2072
2073         * editing/DeleteSelectionCommand.cpp:
2074         (WebCore::DeleteSelectionCommand::removeNode):
2075         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2076         * editing/ReplaceSelectionCommand.cpp:
2077         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2078         (WebCore::ReplaceSelectionCommand::doApply):
2079         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2080         * editing/ReplaceSelectionCommand.h:
2081         (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
2082         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
2083         (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
2084         (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
2085         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
2086         * editing/htmlediting.cpp:
2087         (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
2088         * editing/htmlediting.h:
2089
2090 2011-09-27  Arun Patole  <bmf834@motorola.com>
2091
2092         Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
2093         https://bugs.webkit.org/show_bug.cgi?id=60972
2094
2095         Reviewed by Philippe Normand.
2096
2097         The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
2098         WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
2099
2100         Test: media/media-element-play-after-eos.html
2101
2102         * html/HTMLMediaElement.cpp:
2103         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
2104
2105 2011-09-27  Rakesh KN  <rakesh.kn@motorola.com>
2106
2107         <input> with autofocus doesn't lose focus when it has a certain onblur listener
2108         https://bugs.webkit.org/show_bug.cgi?id=68513
2109
2110         Reviewed by Kent Tamura.
2111
2112         Test: fast/forms/autofocus-focus-only-once.html
2113
2114         These changes make sure that an element is focused only once when autofocus attribute is used.
2115
2116         * html/HTMLFormControlElement.cpp:
2117         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2118         (WebCore::shouldAutofocus):
2119         (WebCore::HTMLFormControlElement::attach):
2120         * html/HTMLFormControlElement.h:
2121         (WebCore::HTMLFormControlElement::hasAutofocused):
2122         (WebCore::HTMLFormControlElement::setAutofocused):
2123
2124 2011-09-26  Kentaro Hara  <haraken@chromium.org>
2125
2126         Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
2127         https://bugs.webkit.org/show_bug.cgi?id=68345
2128
2129         Reviewed by Adam Barth.
2130
2131         Previously, the following test cases fail or crash:
2132
2133         - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
2134         - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
2135
2136         This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
2137         However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
2138         since PopStateEvent can be constructed in the context that does not know ScriptValue.
2139         For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
2140         popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
2141         the corresponding ScriptValue here because the deserialization requires ExecState.
2142         In other words, although we want to store PopStateEvent.state by ScriptValue internally,
2143         PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
2144         With these observations, this patch makes the following changes:
2145
2146         - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
2147         When PopStateEvent.state is called, the ScriptValue is returned.
2148         - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
2149         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
2150         at this point). When PopStateEvent.state is called, the SerializedScriptValue is
2151         deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
2152
2153         Tests: fast/events/constructors/pop-state-event-constructor.html
2154                fast/events/fire-popstate-event.html
2155
2156         * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
2157         * UseJSC.cmake: Ditto.
2158         * WebCore.gypi: Ditto.
2159         * WebCore.pro: Ditto.
2160         * WebCore.xcodeproj/project.pbxproj: Ditto.
2161         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2162         * bindings/js/JSPopStateEventCustom.cpp:
2163         (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
2164         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2165         (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
2166         * dom/PopStateEvent.cpp:
2167         (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
2168         (WebCore::PopStateEvent::PopStateEvent): Ditto.
2169         (WebCore::PopStateEvent::create): Ditto.
2170         (WebCore::PopStateEvent::initPopStateEvent): Ditto.
2171         * dom/PopStateEvent.h:
2172         (WebCore::PopStateEvent::serializedState): Getter.
2173         (WebCore::PopStateEvent::state): Getter.
2174         * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
2175
2176 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
2177
2178         Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
2179         https://bugs.webkit.org/show_bug.cgi?id=67858
2180
2181         Reviewed by Darin Adler.
2182         
2183         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
2184         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
2185         
2186         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
2187         on scrollbar creation appears to happen via updating the scrollbar style.
2188
2189         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
2190         stale scrollbars when run manually, even though the green squares are missing from the
2191         pixel result (bug 67878).
2192
2193         * page/FrameView.cpp:
2194         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
2195         * platform/ScrollView.cpp:
2196         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
2197         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
2198         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
2199         compute the scroll corner rect while we still have scrollbars, and then invalidate it
2200         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
2201         rect.)
2202         * platform/ScrollableArea.cpp:
2203         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
2204         compute it in the case where the scrollbars are going away.
2205         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
2206         invalidateScrollbar().
2207         * rendering/RenderLayerCompositor.cpp:
2208         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
2209         * rendering/RenderScrollbarPart.cpp: Ditto.
2210         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
2211
2212 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
2213
2214         Translucent scrollbars on composited layers render incorrectly
2215         https://bugs.webkit.org/show_bug.cgi?id=58515
2216
2217         Reviewed by Sam Weinig.
2218         
2219         Scrollbars in composited elements were getting drawn twice,
2220         because r41203 moved the call to paintOverflowControls() out of
2221         RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
2222
2223         Test: compositing/scrollbar-painting.html
2224
2225         * rendering/RenderLayerBacking.cpp:
2226         (WebCore::RenderLayerBacking::paintIntoLayer):
2227
2228 2011-09-26  Nat Duca  <nduca@chromium.org>
2229
2230         [chromium] Make CCThreadProxy draw
2231         https://bugs.webkit.org/show_bug.cgi?id=67417
2232
2233         Update the CCThreadProxy to correctly implement the CCProxy
2234         interface, do all the right committing and updating steps, and
2235         draw a picture on the screen.
2236
2237         Reviewed by James Robinson.
2238
2239         * platform/graphics/IntRect.h:
2240         * platform/graphics/chromium/LayerRendererChromium.cpp:
2241         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2242         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2243         (WebCore::CCHeadsUpDisplay::enabled):
2244         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2245         (WebCore::CCLayerImpl::CCLayerImpl):
2246         (WebCore::CCLayerImpl::~CCLayerImpl):
2247         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2248         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2249         (WebCore::CCLayerTreeHost::commitTo):
2250         (WebCore::CCLayerTreeHost::commitComplete):
2251         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2252         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2253         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2254         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2255         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2256         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2257         (WebCore::CCSingleThreadProxy::finishAllRendering):
2258         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2259         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2260         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2261         (WebCore::CCThreadProxy::CCThreadProxy):
2262         (WebCore::CCThreadProxy::~CCThreadProxy):
2263         (WebCore::CCThreadProxy::compositeAndReadback):
2264         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
2265         (WebCore::CCThreadProxy::finishAllRendering):
2266         (WebCore::CCThreadProxy::isStarted):
2267         (WebCore::CCThreadProxy::setNeedsCommit):
2268         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2269         (WebCore::CCThreadProxy::setNeedsRedraw):
2270         (WebCore::CCThreadProxy::start):
2271         (WebCore::CCThreadProxy::stop):
2272         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
2273         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2274         (WebCore::CCThreadProxy::beginFrameAndCommit):
2275         (WebCore::CCThreadProxy::commitOnCCThread):
2276         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
2277         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
2278         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2279         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
2280         * platform/graphics/chromium/cc/CCThreadProxy.h:
2281
2282 2011-09-26  Adam Klein  <adamk@chromium.org>
2283
2284         [MutationObservers] implement MutationRecord
2285         https://bugs.webkit.org/show_bug.cgi?id=68824
2286
2287         Reviewed by Darin Adler.
2288
2289         Implements MutationRecord as specified in the thread at
2290         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
2291         including some minor naming changes from the original proposal.
2292
2293         This is a small part of the MutationObserver API, see
2294         https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
2295         this feature.
2296
2297         No new tests as this isn't yet exposed to the platform.
2298
2299         * CMakeLists.txt:
2300         * DerivedSources.cpp:
2301         * DerivedSources.make:
2302         * GNUmakefile.list.am:
2303         * WebCore.gypi:
2304         * WebCore.pro:
2305         * WebCore.vcproj/WebCore.vcproj:
2306         * WebCore.xcodeproj/project.pbxproj:
2307         * dom/MutationRecord.cpp: Added.
2308         (WebCore::MutationRecord::createChildList):
2309         (WebCore::MutationRecord::createAttributes):
2310         (WebCore::MutationRecord::createCharacterData):
2311         (WebCore::MutationRecord::MutationRecord):
2312         (WebCore::MutationRecord::~MutationRecord):
2313         * dom/MutationRecord.h: Added.
2314         (WebCore::MutationRecord::target):
2315         (WebCore::MutationRecord::addedNodes):
2316         (WebCore::MutationRecord::removedNodes):
2317         (WebCore::MutationRecord::previousSibling):
2318         (WebCore::MutationRecord::nextSibling):
2319         (WebCore::MutationRecord::attributeName):
2320         (WebCore::MutationRecord::attributeNamespace):
2321         (WebCore::MutationRecord::oldValue):
2322         (WebCore::MutationRecord::setOldValue):
2323         * dom/MutationRecord.idl: Added.
2324
2325 2011-09-26  Kentaro Hara  <haraken@chromium.org>
2326
2327         Implement a CloseEvent constructor for V8
2328         https://bugs.webkit.org/show_bug.cgi?id=68793
2329
2330         Reviewed by Adam Barth.
2331
2332         Test: fast/events/constructors/close-event-constructor.html
2333
2334         * bindings/v8/OptionsObject.cpp:
2335         (WebCore::OptionsObject::getKey): Just removed an extra space.
2336         (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
2337         * bindings/v8/OptionsObject.h:
2338         * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
2339         * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
2340
2341 2011-09-26  Nate Chapin  <japhet@chromium.org>
2342
2343         Clean up CachedResource::load(). Collapse its
2344         logic into a single callsite, taking just a
2345         CachedResourceLoader and a ResourceLoaderOptions.
2346
2347         1. Its 'incremental' parameter is redundant.
2348         2. With 'incremental' removed, the SecurityCheckPolicy is the only
2349            parameter difference between the CachedResource::load() variants.
2350            Making it a part of ResourceLoaderOptions removes yet another random
2351            enum that is passed around individually.
2352         3. We currently have to call setResourceLoaderOptions() before load() on a
2353            new CachedResource, so we should just take the ResourceLoaderOptions in load().
2354
2355         https://bugs.webkit.org/show_bug.cgi?id=67443
2356
2357         Reviewed by Antti Koivisto.
2358
2359         No new tests, refactor only.
2360
2361         * loader/DocumentThreadableLoader.cpp:
2362         * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
2363         * loader/MainResourceLoader.cpp:
2364         * loader/NetscapePlugInStreamLoader.cpp:
2365         * loader/ResourceLoadScheduler.cpp:
2366         * loader/ResourceLoadScheduler.h:
2367         * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
2368         * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
2369         * loader/SubresourceLoader.cpp:
2370         * loader/SubresourceLoader.h:
2371         * loader/cache/CachedFont.cpp:
2372         * loader/cache/CachedFont.h:
2373         * loader/cache/CachedImage.cpp:
2374         * loader/cache/CachedImage.h:
2375         * loader/cache/CachedResource.cpp:
2376         * loader/cache/CachedResource.h:
2377         * loader/cache/CachedResourceLoader.cpp:
2378         (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
2379             CachedResource loads here instead of as a default parameter on requestResource().
2380         * loader/cache/CachedResourceLoader.h:
2381         * loader/cache/CachedResourceRequest.cpp:
2382         (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
2383             is already enforced in the data() implementation of every CachedResource that doesn't want
2384             incremental loads.
2385         * loader/cache/CachedResourceRequest.h:
2386
2387 2011-09-26  Joshua Bell  <jsbell@chromium.org>
2388
2389         IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
2390         https://bugs.webkit.org/show_bug.cgi?id=68818
2391
2392         Reviewed by Tony Chang.
2393
2394         Test: storage/indexeddb/factory-basics.html
2395
2396         Adds ability to enumerate IndexedDB databases within an origin.
2397
2398         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2399         (WebCore::toV8):
2400         * storage/IDBAny.cpp:
2401         (WebCore::IDBAny::domStringList):
2402         (WebCore::IDBAny::set):
2403         * storage/IDBAny.h:
2404         * storage/IDBBackingStore.h:
2405         * storage/IDBCallbacks.h:
2406         * storage/IDBFactory.cpp:
2407         (WebCore::IDBFactory::getDatabaseNames):
2408         * storage/IDBFactory.h:
2409         * storage/IDBFactory.idl:
2410         * storage/IDBFactoryBackendImpl.cpp:
2411         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
2412         (WebCore::IDBFactoryBackendImpl::open):
2413         (WebCore::IDBFactoryBackendImpl::openBackingStore):
2414         * storage/IDBFactoryBackendImpl.h:
2415         * storage/IDBFactoryBackendInterface.h:
2416         * storage/IDBLevelDBBackingStore.cpp:
2417         (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
2418         (WebCore::IDBLevelDBBackingStore::getObjectStores):
2419         (WebCore::IDBLevelDBBackingStore::getIndexes):
2420         * storage/IDBLevelDBBackingStore.h:
2421         * storage/IDBLevelDBCoding.cpp:
2422         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
2423         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
2424         * storage/IDBLevelDBCoding.h:
2425         * storage/IDBRequest.cpp:
2426         (WebCore::IDBRequest::onSuccess):
2427         * storage/IDBRequest.h:
2428         * storage/IDBSQLiteBackingStore.cpp:
2429         (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
2430         * storage/IDBSQLiteBackingStore.h:
2431
2432 2011-09-26  Tim Horton  <timothy_horton@apple.com>
2433
2434         <animateColor> applied to filtered ellipse does not update
2435         https://bugs.webkit.org/show_bug.cgi?id=68457
2436         <rdar://problem/10154777>
2437
2438         Reviewed by Darin Adler.
2439
2440         Invalidate the filter's cache when style changes take place so that style changes are respected.
2441
2442         Test: svg/filters/animate-fill.svg
2443
2444         * rendering/svg/SVGResourcesCache.cpp:
2445         (WebCore::SVGResourcesCache::clientStyleChanged):
2446         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
2447
2448 2011-09-26  Max Perepelitsyn  <pph34r@gmail.com>
2449
2450         Set but unused variables cleanup in v8 bindings (gcc 4.6)
2451         https://bugs.webkit.org/show_bug.cgi?id=68079
2452
2453         Reviewed by Adam Barth.
2454
2455         Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
2456
2457         * bindings/scripts/CodeGeneratorV8.pm:
2458         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2459         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2460         * bindings/scripts/test/V8/V8TestObj.cpp:
2461         (WebCore::ConfigureV8TestObjTemplate):
2462         * bindings/v8/WorkerScriptDebugServer.cpp:
2463         (WebCore::WorkerScriptDebugServer::addListener):
2464         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2465         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
2466         * bindings/v8/custom/V8WebSocketCustom.cpp:
2467         (WebCore::V8WebSocket::sendCallback):
2468
2469 2011-09-26  Tony Chang  <tony@chromium.org>
2470
2471         switch the initial value of flex-order to 0
2472         https://bugs.webkit.org/show_bug.cgi?id=68820
2473
2474         The spec changed from having an initial value of 1 to 0.
2475
2476         Reviewed by Ojan Vafai.
2477
2478         * rendering/style/RenderStyle.h:
2479         (WebCore::InheritedFlags::initialFlexOrder):
2480
2481 2011-09-26  Chris Rogers  <crogers@google.com>
2482
2483         OfflineAudioDestinationNode must wait for thread completion in uninitialize()
2484         https://bugs.webkit.org/show_bug.cgi?id=68725
2485
2486         Reviewed by Kenneth Russell.
2487
2488         No new tests.  This fixes internal implementation details.
2489
2490         * webaudio/OfflineAudioDestinationNode.cpp:
2491         (WebCore::OfflineAudioDestinationNode::uninitialize):
2492
2493 2011-09-26  Xan Lopez  <xlopez@igalia.com>
2494
2495         [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
2496         https://bugs.webkit.org/show_bug.cgi?id=68837
2497
2498         Reviewed by Martin Robinson.
2499
2500         * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
2501         setters) for 'Replaceable' attributes. Punt for the future
2502         actually making them settable, since it seems non trivial.
2503
2504 2011-09-26  Ryosuke Niwa  <rniwa@webkit.org>
2505
2506         Leopard build fix.
2507
2508         * testing/Internals.cpp:
2509         (WebCore::Internals::setZoomAnimatorTransform):
2510
2511 2011-09-26  Joshua Bell  <jsbell@chromium.org>
2512
2513         IndexedDB: Null key path gets stored as empty string key path
2514         https://bugs.webkit.org/show_bug.cgi?id=68726
2515
2516         Reviewed by Tony Chang.
2517
2518         Store additional flag to indicate if object store key path
2519         is null vs. empty. Added additional runtime tests for integrity
2520         of object store metadata.
2521
2522         * storage/IDBLevelDBBackingStore.cpp:
2523         (WebCore::checkObjectStoreAndMetaDataType):
2524         (WebCore::IDBLevelDBBackingStore::getObjectStores):
2525         (WebCore::IDBLevelDBBackingStore::createObjectStore):
2526         * storage/IDBLevelDBCoding.cpp:
2527
2528 2011-09-26  John Bauman  <jbauman@chromium.org>
2529
2530         Fix nonpremultiplied webgl toDataURL to jpeg
2531         https://bugs.webkit.org/show_bug.cgi?id=68366
2532
2533         The canvas spec says that toDataURL to formats without an alpha must
2534         be "composited onto a solid black background using the source-over
2535         operator." Do that.
2536
2537         Reviewed by Kenneth Russell.
2538
2539         * platform/graphics/cg/ImageBufferCG.cpp:
2540         (WebCore::CGImageToDataURL):
2541         (WebCore::ImageBuffer::toDataURL):
2542         (WebCore::ImageDataToDataURL):
2543         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
2544         (WebCore::RGBAtoRGB):
2545
2546 2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
2547
2548         [CMake] Remove FindFreetype.cmake
2549         https://bugs.webkit.org/show_bug.cgi?id=68778
2550
2551         Reviewed by Adam Barth.
2552
2553         CMake has provided its own FindFreetype.cmake forever, so there is no
2554         need to have another implementation in WebKit.
2555
2556         No new tests, just a buildsystem change.
2557
2558         * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
2559         Freetype_{LIBRARIES,INCLUDE_DIRS}.
2560
2561 2011-09-26  Alexei Svitkine  <asvitkine@chromium.org>
2562
2563         Fix full-page rubber band overhang appearing when gesturing during a slow page load.
2564         https://bugs.webkit.org/show_bug.cgi?id=68568
2565
2566         Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
2567
2568         (This also happens on Safari.)
2569
2570         The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
2571
2572         Reviewed by Adam Barth.
2573
2574         No new tests, since this is highly timing-related.
2575
2576         * platform/ScrollView.cpp:
2577         (WebCore::ScrollView::overhangAmount):
2578         (WebCore::ScrollView::wheelEvent):
2579
2580 2011-09-26  W. James MacLean  <wjmaclean@chromium.org>
2581
2582         [chromium] Revise zoom animator backend to use full transform instead of just scale.
2583         https://bugs.webkit.org/show_bug.cgi?id=68535
2584
2585         Reviewed by Kenneth Russell.
2586
2587         * page/Settings.cpp:
2588         (WebCore::Settings::Settings):
2589         * page/Settings.h:
2590         (WebCore::Settings::setZoomAnimatorScale):
2591         (WebCore::Settings::zoomAnimatorScale):
2592         (WebCore::Settings::setZoomAnimatorPosition):
2593         (WebCore::Settings::zoomAnimatorPosX):
2594         (WebCore::Settings::zoomAnimatorPosY):
2595         * platform/graphics/chromium/LayerRendererChromium.cpp:
2596         (WebCore::LayerRendererChromium::LayerRendererChromium):
2597         (WebCore::LayerRendererChromium::drawLayersInternal):
2598         * platform/graphics/chromium/LayerRendererChromium.h:
2599         (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
2600         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2601         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2602         (WebCore::CCLayerTreeHost::commitTo):
2603         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
2604         (WebCore::CCLayerTreeHost::updateLayers):
2605         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2606         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2607         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
2608         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2609         * testing/Internals.cpp:
2610         (WebCore::Internals::setZoomAnimatorTransform):
2611         * testing/Internals.h:
2612         * testing/Internals.idl:
2613
2614 2011-09-26  Dan Bernstein  <mitz@apple.com>
2615
2616         REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
2617         https://bugs.webkit.org/show_bug.cgi?id=68819
2618
2619         Reviewed by Dave Hyatt.
2620
2621         * rendering/RenderObject.cpp:
2622         (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
2623         parameter of isRooted, since only the former returns 0 when the document is detached.
2624
2625 2011-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
2626
2627         Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
2628         https://bugs.webkit.org/show_bug.cgi?id=67399
2629
2630         Reviewed by Pavel Feldman.
2631
2632         * inspector/ConsoleMessage.cpp:
2633         (WebCore::ConsoleMessage::ConsoleMessage):
2634         * inspector/ConsoleMessage.h:
2635         * inspector/InspectorConsoleAgent.cpp:
2636         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2637         * inspector/InspectorConsoleAgent.h:
2638         * inspector/InspectorInstrumentation.cpp:
2639         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2640         * inspector/front-end/ConsoleMessage.js:
2641         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
2642         (WebInspector.ConsoleMessage.prototype._formatMessage):
2643         * inspector/front-end/ResourcesPanel.js:
2644         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
2645         * inspector/front-end/inspector.js:
2646         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2647         (WebInspector.linkifyStringAsFragment):
2648
2649 2011-09-26  Jer Noble  <jer.noble@apple.com>
2650
2651         White flash when entering full-screen using element.webkitRequestFullScreen()
2652         https://bugs.webkit.org/show_bug.cgi?id=68481
2653
2654         Reviewed by Simon Fraser.
2655
2656         No new tests; covered by existing full screen tests.
2657
2658         During an animation, renderers may try to paint into the FullScreenRenderer's 
2659         GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's 
2660         background will cause these paints to fail. Remove this optimization in 
2661         containsPaintedContent, and taking non-composited elements into full screen will
2662         animate correctly.
2663
2664         * rendering/RenderLayerBacking.cpp:
2665         (WebCore::RenderLayerBacking::containsPaintedContent):
2666
2667 2011-09-26  Mihai Parparita  <mihaip@chromium.org>
2668
2669         Unreviewed, rolling out r95960.
2670         http://trac.webkit.org/changeset/95960
2671         https://bugs.webkit.org/show_bug.cgi?id=58608
2672
2673         Significantly changes table border rendering
2674
2675         * rendering/RenderObject.cpp:
2676         (WebCore::RenderObject::drawLineForBoxSide):
2677
2678 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
2679
2680         Repaint tests don't work in WebKit2
2681         https://bugs.webkit.org/show_bug.cgi?id=68453
2682
2683         Reviewed by Sam Weinig.
2684
2685         Have FrameView keep track of repaint rects when asked to, and
2686         expose this set of repaint rects via private WebKit API for later
2687         use by DumpRenderTree.
2688         
2689         The repaint rects are in WebView coordinates, so we have to
2690         unapply the scroll offset.
2691
2692         * WebCore.exp.in:
2693         * page/FrameView.cpp:
2694         (WebCore::FrameView::FrameView):
2695         (WebCore::FrameView::reset):
2696         (WebCore::FrameView::repaintContentRectangle):
2697         (WebCore::FrameView::setTracksRepaints):
2698         * page/FrameView.h:
2699         (WebCore::FrameView::isTrackingRepaints):
2700         (WebCore::FrameView::resetTrackedRepaints):
2701         (WebCore::FrameView::trackedRepaintRects):
2702
2703 2011-09-26  Antti Koivisto  <antti@apple.com>
2704
2705         Optimize matching of common pseudo classes
2706         https://bugs.webkit.org/show_bug.cgi?id=68633
2707
2708         Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
2709         
2710         :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
2711         default stylesheet) so we try to match them for all elements in the document. They take always the 
2712         slow matching path. In addition we match link styles twice due to visited link pseudo style generation
2713         so the overhead is doubled. As a result substantial portion of our style matching time is spent 
2714         dealing with these pseudo classes. 
2715         
2716         This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
2717         if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
2718         We can also enable the fast path checking for the rest of the selector in many cases.
2719     
2720         This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
2721         when loading the full HTML5 spec.
2722
2723         * css/CSSStyleSelector.cpp:
2724         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
2725         (WebCore::RuleSet::idRules):
2726         (WebCore::RuleSet::classRules):
2727         (WebCore::RuleSet::tagRules):
2728         (WebCore::RuleSet::shadowPseudoElementRules):
2729         (WebCore::RuleSet::linkPseudoClassRules):
2730         (WebCore::RuleSet::visitedPseudoClassRules):
2731         (WebCore::RuleSet::focusPseudoClassRules):
2732         (WebCore::RuleSet::universalRules):
2733         (WebCore::RuleSet::pageRules):
2734         
2735             Add a new lists, some stylistic renamings.
2736     
2737         (WebCore::CSSStyleSelector::matchRules):
2738         
2739             New link and focus checks.
2740
2741         (WebCore::CSSStyleSelector::matchRulesForList):
2742         (WebCore::CSSStyleSelector::checkSelector):
2743         
2744             Inline the rightmost selector tag checking, skip if unnecessary.
2745         
2746         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
2747         
2748             Common pseudo classes now match based on early filtering (though it is not a hash in this case).
2749
2750         (WebCore::RuleData::RuleData):
2751         (WebCore::RuleSet::~RuleSet):
2752         (WebCore::RuleSet::addRule):
2753         
2754             Sort pseudo classes to new lists.
2755         
2756         (WebCore::RuleSet::collectFeatures):
2757         (WebCore::RuleSet::shrinkToFit):
2758         (WebCore::CSSStyleSelector::matchPageRules):
2759         * css/SelectorChecker.cpp:
2760         (WebCore::SelectorChecker::checkSelector):
2761         
2762             Adopt to expanded fast path (this is used by querySelectorAll).
2763
2764         (WebCore::SelectorChecker::fastCheckRightmostSelector):
2765         (WebCore::SelectorChecker::fastCheckSelector):
2766         
2767             Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
2768             is equivalent to fastCheckRightmostSelector().
2769         
2770         (WebCore::isFastCheckableRelation):
2771         (WebCore::isFastCheckableMatch):
2772         (WebCore::isFastCheckableRightmostSelector):
2773         (WebCore::SelectorChecker::isFastCheckableSelector):
2774         (WebCore::SelectorChecker::checkOneSelector):
2775         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
2776         (WebCore::SelectorChecker::isFrameFocused):
2777         * css/SelectorChecker.h:
2778         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
2779         (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
2780         (WebCore::SelectorChecker::matchesFocusPseudoClass):
2781         (WebCore::SelectorChecker::tagMatches):
2782         
2783             Refactor a bunch of shared checks into functions.
2784
2785 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
2786
2787         REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
2788         https://bugs.webkit.org/show_bug.cgi?id=57340
2789
2790         Reviewed by Eric Seidel.
2791
2792         This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
2793
2794         To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
2795
2796         Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
2797         placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
2798         Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
2799
2800         Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
2801         B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
2802         moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
2803
2804         To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
2805         example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
2806
2807         This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
2808         end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
2809         base position on the right of A is the right end of a bidi run and the extent position between B and A is
2810         inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
2811
2812         Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
2813         a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
2814         because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
2815         when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
2816         between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
2817         the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
2818         we'll end up selecting just "c".
2819
2820         While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
2821         various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
2822
2823         Test: editing/selection/select-bidi-run.html
2824
2825         * editing/FrameSelection.cpp:
2826         (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
2827         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
2828         restores the original base as needed.
2829         * editing/FrameSelection.h:
2830         * editing/RenderedPosition.cpp:
2831         (WebCore::RenderedPosition::RenderedPosition):
2832         (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
2833         (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
2834         (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
2835         so that the rightmost position in a box and the leftmost position in the following box is considered equal.
2836         (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
2837         add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
2838         (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
2839         (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
2840         (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
2841         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
2842         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
2843         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
2844         if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
2845         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
2846         * editing/RenderedPosition.h:
2847         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
2848         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
2849         (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
2850         (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
2851         (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
2852         reinterpret_cast<InlineBox*>(1) is not an integral value.
2853         (WebCore::RenderedPosition::RenderedPosition):
2854         * editing/VisibleSelection.h:
2855         (WebCore::VisibleSelection::visibleBase): Added.
2856         (WebCore::VisibleSelection::visibleExtent): Added.
2857         * page/EventHandler.cpp:
2858         (WebCore::EventHandler::updateSelectionForMouseDrag):
2859
2860 2011-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2861
2862         Unreviewed, rolling out r95256.
2863         http://trac.webkit.org/changeset/95256
2864         https://bugs.webkit.org/show_bug.cgi?id=68814
2865
2866         Temporary CRASH calls no longer needed (Requested by enne on
2867         #webkit).
2868
2869         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2870         (WebCore::CCLayerTreeHost::commitTo):
2871
2872 2011-09-26  Mark Rowe  <mrowe@apple.com>
2873
2874         <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
2875
2876         If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
2877         while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
2878         lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
2879         thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
2880
2881         Reviewed by Anders Carlsson.
2882
2883         * loader/icon/IconDatabase.cpp:
2884         (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
2885         all pending work.
2886
2887 2011-09-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
2888
2889         Groove/inset/outset borders show solid if the color is black.
2890         https://bugs.webkit.org/show_bug.cgi?id=58608
2891
2892         Reviewed by Simon Fraser.
2893
2894         Lightened the border side colors when drawing borders with styles as
2895         Outset/Inset/Groove/Ridge.
2896
2897         Tests: fast/borders/border-groove.html
2898                fast/borders/border-inset.html
2899                fast/borders/border-outset.html
2900                fast/borders/border-ridge.html
2901
2902         * rendering/RenderObject.cpp:
2903         (WebCore::RenderObject::drawLineForBoxSide):
2904
2905 2011-09-26  Abhishek Arya  <inferno@chromium.org>
2906
2907         Delete retired custom font data only on document
2908         destruction, and not on recalc style.
2909         https://bugs.webkit.org/show_bug.cgi?id=68805
2910
2911         Reviewed by Dave Hyatt.
2912
2913         Test: fast/text/custom-font-data-crash.html
2914
2915         * dom/Document.cpp:
2916         (WebCore::Document::recalcStyle):
2917
2918 2011-09-23  Adrienne Walker  <enne@google.com>
2919
2920         [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
2921         https://bugs.webkit.org/show_bug.cgi?id=68742
2922
2923         Reviewed by James Robinson.
2924
2925         If video textures are reclaimed (such as during a visibility change on
2926         a tab), the dirty rect for the layer is empty and it skips out of
2927         updating compositor resources, leaving the video textures invalid.
2928         Instead, check the textures here to make sure they're still valid
2929         first before early out so that they can get reupdated if necessary.
2930
2931         Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
2932         videos would not get drawn because all 3 planes didn't have valid
2933         textures.
2934
2935         Test: compositing/video-page-visibility.html
2936
2937         * platform/graphics/chromium/VideoLayerChromium.cpp:
2938         (WebCore::VideoLayerChromium::VideoLayerChromium):
2939         (WebCore::VideoLayerChromium::cleanupResources):
2940         (WebCore::VideoLayerChromium::updateCompositorResources):
2941         (WebCore::VideoLayerChromium::pushPropertiesTo):
2942         (WebCore::VideoLayerChromium::setLayerTreeHost):
2943         (WebCore::VideoLayerChromium::texturesValid):
2944         * platform/graphics/chromium/VideoLayerChromium.h:
2945
2946 2011-09-26  Pavel Feldman  <pfeldman@google.com>
2947
2948         Web Inspector: introduce protocol backwards compatibility validator.
2949         https://bugs.webkit.org/show_bug.cgi?id=68800
2950
2951         Reviewed by Yury Semikhatsky.
2952
2953         * inspector/Inspector.json:
2954         * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
2955         * inspector/validate-protocol-compatibility: Added.
2956
2957 2011-09-26  Andreas Kling  <kling@webkit.org>
2958
2959         [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
2960         https://bugs.webkit.org/show_bug.cgi?id=68798
2961
2962         Reviewed by Noam Rosenthal.
2963
2964         * platform/network/qt/QNetworkReplyHandler.cpp:
2965         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
2966
2967 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
2968
2969         Second unreviewed build fix for r95941
2970
2971         * inspector/InspectorInstrumentation.cpp:
2972         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2973
2974 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
2975
2976         Unreviewed build fix for webkit builds after r95941.
2977
2978         * inspector/InspectorInstrumentation.cpp:
2979         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2980
2981 2011-09-26  Andrey Kosyakov  <caseq@chromium.org>
2982
2983         Web Inspector: [Extensions API] allow resources to hook on click on resource links
2984         https://bugs.webkit.org/show_bug.cgi?id=68528
2985
2986         Reviewed by Yury Semikhatsky.
2987
2988         * WebCore.gypi:
2989         * WebCore.vcproj/WebCore.vcproj:
2990         * inspector/front-end/ExtensionAPI.js:
2991         (injectedExtensionAPI.Console.prototype.get Severity):
2992         (injectedExtensionAPI.Panels.prototype.create):
2993         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
2994         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
2995         (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
2996         (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
2997         * inspector/front-end/ExtensionServer.js:
2998         (WebInspector.ExtensionServer):
2999         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
3000         (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
3001         (WebInspector.ExtensionServer.prototype._addExtensions):
3002         (WebInspector.ExtensionServer.prototype._addExtension):
3003         (WebInspector.ExtensionServer.prototype._registerExtension):
3004         * inspector/front-end/SettingsScreen.js:
3005         (WebInspector.SettingsScreen):
3006         (WebInspector.SettingsScreen.prototype._createCustomSetting):
3007         * inspector/front-end/WebKit.qrc:
3008         * inspector/front-end/helpScreen.css:
3009         (.help-content select):
3010         (.help-content select:disabled):
3011         (.help-content option):
3012         * inspector/front-end/inspector.html:
3013         * inspector/front-end/inspector.js:
3014         (WebInspector.set attached):
3015         (WebInspector._showAnchorLocation):
3016
3017 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
3018
3019         Web Inspector: Timeline: record root event for the function calls enforced by console eval.
3020         https://bugs.webkit.org/show_bug.cgi?id=68695
3021
3022         In a complex web application developer might want to timeline a specific piece of code.
3023
3024         In this case he can do the next steps:
3025         1) start timeline;
3026         2) eval a command in console;
3027         3) stop timeline.
3028
3029         I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
3030
3031         Reviewed by Yury Semikhatsky.
3032
3033         Test: inspector/timeline/timeline-injected-script-eval.html
3034
3035         * bindings/v8/ScriptFunctionCall.cpp:
3036         * inspector/InjectedScript.cpp:
3037         (WebCore::InjectedScript::makeCall):
3038         * inspector/InspectorInstrumentation.cpp:
3039         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3040
3041 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
3042
3043         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
3044         https://bugs.webkit.org/show_bug.cgi?id=65473
3045
3046         Reviewed by Andreas Kling.
3047
3048         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
3049         We do that by iterating on the pixels and manually swapping each pixel's red and blue
3050         values. This can be done faster with shaders, but for now this is a working solution
3051         for platforms without BGRA support.
3052
3053         No new tests. Existing layout tests cover this.
3054
3055         * platform/graphics/opengl/TextureMapperGL.cpp:
3056         (WebCore::BitmapTextureGL::endPaint):
3057         * platform/graphics/opengl/TextureMapperGL.h:
3058         * platform/graphics/qt/TextureMapperQt.cpp:
3059         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
3060
3061 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
3062
3063         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
3064         https://bugs.webkit.org/show_bug.cgi?id=68634
3065
3066         Reviewed by Martin Robinson.
3067
3068         No new tests needed.
3069
3070         * platform/network/soup/ResourceHandleSoup.cpp:
3071         (WebCore::ResourceHandle::defaultSession):
3072
3073 2011-09-26  James Robinson  <jamesr@chromium.org>
3074
3075         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
3076         https://bugs.webkit.org/show_bug.cgi?id=68769
3077
3078         Reviewed by Simon Fraser.
3079
3080         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
3081         implicit double->long conversion, which ignores the units of the value.
3082
3083         Test: fast/animation/request-animation-frame-timestamps-advance.html
3084
3085         * dom/ScriptedAnimationController.cpp:
3086         (WebCore::ScriptedAnimationController::animationTimerFired):
3087
3088 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
3089
3090         Add custom vtable struct to ClassInfo struct
3091         https://bugs.webkit.org/show_bug.cgi?id=68567
3092
3093         Reviewed by Oliver Hunt.
3094
3095         No new tests.
3096
3097         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
3098         specified class in its ClassInfo.  Also added to it the first function to use 
3099         this macro, visitChildren.  This is part of the process of getting rid of all 
3100         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
3101         that can't easily be converted to non-virtual functions will be put into 
3102         this custom vtable structure.
3103
3104         * bindings/js/JSAudioConstructor.cpp:
3105         * bindings/js/JSDOMGlobalObject.cpp:
3106         * bindings/js/JSDOMWindowBase.cpp:
3107         * bindings/js/JSDOMWindowShell.cpp:
3108         * bindings/js/JSImageConstructor.cpp:
3109         * bindings/js/JSImageDataCustom.cpp:
3110         (WebCore::toJS):
3111         * bindings/js/JSOptionConstructor.cpp:
3112         * bindings/js/JSWorkerContextBase.cpp:
3113
3114         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
3115         necessary.
3116         * bindings/scripts/CodeGeneratorJS.pm:
3117         (GenerateImplementation):
3118         (GenerateConstructorDefinition):
3119         * bindings/scripts/test/JS/JSTestInterface.cpp:
3120         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3121         * bindings/scripts/test/JS/JSTestObj.cpp:
3122         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3123         * bridge/c/CRuntimeObject.cpp:
3124         * bridge/c/c_instance.cpp:
3125         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3126         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3127         * bridge/objc/ObjCRuntimeObject.mm:
3128         * bridge/objc/objc_instance.mm:
3129         * bridge/objc/objc_runtime.mm:
3130         * bridge/qt/qt_instance.cpp:
3131         * bridge/qt/qt_pixmapruntime.cpp:
3132         * bridge/qt/qt_runtime.cpp:
3133         * bridge/runtime_array.cpp:
3134         * bridge/runtime_method.cpp:
3135         * bridge/runtime_object.cpp:
3136
3137 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
3138
3139         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
3140         https://bugs.webkit.org/show_bug.cgi?id=63502
3141
3142         Reviewed by Martin Robinson.
3143
3144         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
3145         some codes for EFL are added.
3146         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
3147         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
3148
3149         * CMakeListsEfl.txt:
3150         * GNUmakefile.list.am:
3151         * platform/cairo/WidgetBackingStore.h:
3152         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
3153         (WebCore::createSurfaceForBackingStore):
3154         (WebCore::WidgetBackingStorePrivate::create):
3155         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
3156         (WebCore::WidgetBackingStore::create):
3157         (WebCore::WidgetBackingStore::WidgetBackingStore):
3158         (WebCore::WidgetBackingStore::~WidgetBackingStore):
3159         (WebCore::WidgetBackingStore::cairoSurface):
3160         (WebCore::WidgetBackingStore::scroll):
3161         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
3162
3163 2011-09-25  Adam Barth  <abarth@webkit.org>
3164
3165         Finish removing PLATFORM(BREWMP) by removing associated code
3166         https://bugs.webkit.org/show_bug.cgi?id=68779
3167
3168         Reviewed by Sam Weinig.
3169
3170         When Geoffrey Garen removed PLATFORM(BREWMP) in
3171         http://trac.webkit.org/changeset/95555, he did not remove all the
3172         associated code.  This completes the work started in r95555 by removing
3173         all the code assoicated with PLATFORM(BREWMP).
3174
3175         * WebCore.gyp/WebCore.gyp:
3176         * WebCore.gypi:
3177         * bindings/js/ScriptControllerBrew.cpp: Removed.
3178         * editing/brew: Removed.
3179         * editing/brew/EditorBrew.cpp: Removed.
3180         * gyp/WebCore.gyp:
3181         * page/brew: Removed.
3182         * page/brew/ChromeClientBrew.h: Removed.
3183         * page/brew/DragControllerBrew.cpp: Removed.
3184         * page/brew/EventHandlerBrew.cpp: Removed.
3185         * page/brew/FrameBrew.cpp: Removed.
3186         * platform/brew: Removed.
3187         * platform/brew/ClipboardBrew.cpp: Removed.
3188         * platform/brew/ClipboardBrew.h: Removed.
3189         * platform/brew/ContextMenuBrew.cpp: Removed.
3190         * platform/brew/ContextMenuItemBrew.cpp: Removed.
3191         * platform/brew/CursorBrew.cpp: Removed.
3192         * platform/brew/DragDataBrew.cpp: Removed.
3193         * platform/brew/EventLoopBrew.cpp: Removed.
3194         * platform/brew/FileSystemBrew.cpp: Removed.
3195         * platform/brew/KURLBrew.cpp: Removed.
3196         * platform/brew/LanguageBrew.cpp: Removed.
3197         * platform/brew/LocalizedStringsBrew.cpp: Removed.
3198         * platform/brew/LoggingBrew.cpp: Removed.
3199         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
3200         * platform/brew/PasteboardBrew.cpp: Removed.
3201         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
3202         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
3203         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
3204         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
3205         * platform/brew/PopupMenuBrew.cpp: Removed.
3206         * platform/brew/PopupMenuBrew.h: Removed.
3207         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
3208         * platform/brew/ScreenBrew.cpp: Removed.
3209         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
3210         * platform/brew/ScrollbarThemeBrew.h: Removed.
3211         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
3212         * platform/brew/SearchPopupMenuBrew.h: Removed.
3213         * platform/brew/SharedBufferBrew.cpp: Removed.
3214         * platform/brew/SharedTimerBrew.cpp: Removed.
3215         * platform/brew/SoundBrew.cpp: Removed.
3216         * platform/brew/SystemTimeBrew.cpp: Removed.
3217         * platform/brew/TemporaryLinkStubs.cpp: Removed.
3218         * platform/brew/WidgetBrew.cpp: Removed.
3219         * platform/graphics/brew: Removed.
3220         * platform/graphics/brew/IconBrew.cpp: Removed.
3221         * platform/graphics/brew/ImageBrew.cpp: Removed.
3222         * platform/graphics/brew/IntPointBrew.cpp: Removed.
3223         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
3224         * platform/network/brew: Removed.
3225         * platform/network/brew/DNSBrew.cpp: Removed.
3226         * platform/network/brew/SocketStreamError.h: Removed.
3227         * platform/network/brew/SocketStreamHandle.h: Removed.
3228         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
3229         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
3230         * platform/text/brew: Removed.
3231         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
3232         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
3233         * platform/text/brew/TextCodecBrew.cpp: Removed.
3234         * platform/text/brew/TextCodecBrew.h: Removed.
3235
3236 2011-09-25  Kentaro Hara  <haraken@chromium.org>
3237
3238         Implement a CloseEvent constructor for JSC
3239         https://bugs.webkit.org/show_bug.cgi?id=68340
3240
3241         Reviewed by Oliver Hunt.
3242
3243         The spec of the CloseEvent constructor is here:
3244         http://dev.w3.org/html5/websockets/#closeevent
3245
3246         Test: fast/events/constructors/close-event-constructor.html
3247
3248         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
3249         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
3250         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
3251         (WebCore::CloseEventInit::CloseEventInit):
3252         (WebCore::CloseEvent::create):
3253         (WebCore::CloseEvent::CloseEvent):
3254         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
3255
3256 2011-09-25  Mark Rowe  <mrowe@apple.com>
3257
3258         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
3259
3260         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
3261         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
3262         work relies on wakeSyncThread having been called to signal the condition.
3263
3264         Reviewed by Sam Weinig.
3265
3266         * loader/icon/IconDatabase.cpp:
3267         (WebCore::IconDatabase::IconDatabase):
3268         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
3269         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
3270         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
3271         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
3272         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
3273         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
3274         and reacquiring the lock.
3275         * loader/icon/IconDatabase.h:
3276
3277 2011-09-25  Dan Bernstein  <mitz@apple.com>
3278
3279         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
3280
3281         Reviewed by Sam Weinig.
3282
3283         Test: fast/dynamic/subtree-unrooted.html
3284
3285         * rendering/RenderObject.cpp:
3286         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
3287         which was added in r21162, with a check that it is “rooted”.
3288
3289 2011-09-24  Abhishek Arya  <inferno@chromium.org>
3290
3291         Issues with merging block children of a ruby
3292         base with another ruby base having inline children. 
3293         https://bugs.webkit.org/show_bug.cgi?id=66124
3294
3295         Reviewed by Dan Bernstein.
3296
3297         Test: fast/ruby/ruby-base-merge-block-children-crash.html
3298
3299         * rendering/RenderRubyBase.cpp:
3300         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
3301         check to prevent empty anonymous block addition, just like
3302         moveBlockChildren method.
3303         * rendering/RenderRubyBase.cpp:
3304         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
3305         doing optimizations to see if current ruby base has only inline
3306         children before beforeChild and then trying to take out them from 
3307         their parent anonymous blocks. The problem is those inlines could
3308         be split and have continuations because of encountering a block
3309         inside inline flow. In those cases, we cannot take the inline out.
3310         So, we should just make children non-inline in the destination
3311         block and transfer the children as it-is.
3312         * rendering/RenderRubyBase.h: remove unncessary functions.
3313
3314 2011-09-25  Adam Barth  <abarth@webkit.org>
3315
3316         Remove PLATFORM(HAIKU) and associated code
3317         https://bugs.webkit.org/show_bug.cgi?id=68774
3318
3319         Reviewed by Sam Weinig.
3320
3321         As discussed on webkit-dev, the Haiku port has been inactive for over a
3322         year.  A year and a half ago, we discussed removing the port, but folks
3323         said they planned to work on it more.  That work does not appear to
3324         have happened in the intervening time.
3325
3326         * WebCore.gyp/WebCore.gyp:
3327         * WebCore.gypi:
3328         * bindings/js/ScriptControllerHaiku.cpp: Removed.
3329         * editing/haiku: Removed.
3330         * editing/haiku/EditorHaiku.cpp: Removed.
3331         * gyp/WebCore.gyp:
3332         * loader/cache/CachedFont.cpp:
3333         * page/EventHandler.cpp:
3334         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
3335         * page/haiku: Removed.
3336         * page/haiku/DragControllerHaiku.cpp: Removed.
3337         * page/haiku/EventHandlerHaiku.cpp: Removed.
3338         * page/haiku/FrameHaiku.cpp: Removed.
3339         * platform/ContextMenuItem.h:
3340         * platform/Cursor.h:
3341         * platform/DragData.h:
3342         * platform/DragImage.h:
3343         * platform/PlatformKeyboardEvent.h:
3344         * platform/PlatformMenuDescription.h:
3345         * platform/PlatformMouseEvent.h:
3346         * platform/Widget.h:
3347         * platform/graphics/BitmapImage.h:
3348         * platform/graphics/Color.h:
3349         * platform/graphics/FloatPoint.h:
3350         * platform/graphics/FloatRect.h:
3351         * platform/graphics/Gradient.h:
3352         * platform/graphics/GraphicsContext.cpp:
3353         * platform/graphics/GraphicsContext.h:
3354         * platform/graphics/ImageBufferData.h:
3355         * platform/graphics/ImageSource.h:
3356         * platform/graphics/IntPoint.h:
3357         * platform/graphics/IntRect.h:
3358         * platform/graphics/IntSize.h:
3359         * platform/graphics/Path.h:
3360         * platform/graphics/Pattern.h:
3361         * platform/graphics/SimpleFontData.h:
3362         * platform/graphics/haiku: Removed.
3363         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
3364         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
3365         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
3366         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
3367         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
3368         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
3369         * platform/graphics/haiku/FontHaiku.cpp: Removed.
3370         * platform/graphics/haiku/FontPlatformData.h: Removed.
3371         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
3372         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
3373         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
3374         * platform/graphics/haiku/IconHaiku.cpp: Removed.
3375         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
3376         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
3377         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
3378         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
3379         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
3380         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
3381         * platform/graphics/haiku/PathHaiku.cpp: Removed.
3382         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
3383         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
3384         * platform/graphics/haiku/StillImageHaiku.h: Removed.
3385         * platform/haiku: Removed.
3386         * platform/haiku/ClipboardHaiku.cpp: Removed.
3387         * platform/haiku/ClipboardHaiku.h: Removed.
3388         * platform/haiku/ContextMenuHaiku.cpp: Removed.
3389         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
3390         * platform/haiku/CookieJarHaiku.cpp: Removed.
3391         * platform/haiku/CursorHaiku.cpp: Removed.
3392         * platform/haiku/DragDataHaiku.cpp: Removed.
3393         * platform/haiku/DragImageHaiku.cpp: Removed.
3394         * platform/haiku/EventLoopHaiku.cpp: Removed.
3395         * platform/haiku/FileSystemHaiku.cpp: Removed.
3396         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
3397         * platform/haiku/LoggingHaiku.cpp: Removed.
3398         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
3399         * platform/haiku/PasteboardHaiku.cpp: Removed.
3400         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
3401         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
3402         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
3403         * platform/haiku/PopupMenuHaiku.cpp: Removed.
3404         * platform/haiku/PopupMenuHaiku.h: Removed.
3405         * platform/haiku/RenderThemeHaiku.cpp: Removed.
3406         * platform/haiku/RenderThemeHaiku.h: Removed.
3407         * platform/haiku/ScreenHaiku.cpp: Removed.
3408         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
3409         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
3410         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
3411         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
3412         * platform/haiku/SharedBufferHaiku.cpp: Removed.
3413         * platform/haiku/SharedTimerHaiku.cpp: Removed.
3414         * platform/haiku/SoundHaiku.cpp: Removed.
3415         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
3416         * platform/haiku/WidgetHaiku.cpp: Removed.
3417         * platform/image-decoders/haiku: Removed.
3418         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
3419         * platform/text/UnicodeRange.h:
3420         * platform/text/haiku: Removed.
3421         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
3422
3423 2011-09-25  Adam Barth  <abarth@webkit.org>
3424
3425         Attempted build fixes for GTK and Qt.
3426
3427         * GNUmakefile.list.am:
3428         * WebCore.pro:
3429
3430 2011-09-24  Adam Barth  <abarth@webkit.org>
3431
3432         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
3433         https://bugs.webkit.org/show_bug.cgi?id=68767
3434
3435         Reviewed by Eric Seidel.
3436
3437         As discussed on webkit-dev, almost everyone has this enable turned on
3438         and this feature is unlikely to be removed from the web platform given
3439         its popularity.
3440
3441         * CMakeLists.txt: