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