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