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