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