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