https://bugs.webkit.org/show_bug.cgi?id=46923
[WebKit-https.git] / WebCore / ChangeLog
1 2010-09-30  David Hyatt  <hyatt@apple.com>
2
3         Reviewed by Simon Fraser.
4
5         https://bugs.webkit.org/show_bug.cgi?id=46923
6         
7         Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
8         completely separate LTR/RTL cases.
9
10         Added fast/blockflow/inline-direction-positioning.html
11
12         * rendering/RenderBlock.cpp:
13         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
14         (WebCore::RenderBlock::setLogicalLeftForChild):
15         * rendering/RenderBlock.h:
16         (WebCore::RenderBlock::logicalWidthForChild):
17         (WebCore::RenderBlock::logicalRightOffsetForContent):
18         (WebCore::RenderBlock::logicalLeftOffsetForContent):
19
20 2010-09-29  Adam Roben  <aroben@apple.com>
21
22         Fix color media queries on Windows
23
24         Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
25         media query does not evaluate to true for 32bpp displays on Windows
26
27         Test: fast/media/color-does-not-include-alpha.html
28
29         Reviewed by Darin Adler.
30
31         * platform/win/PlatformScreenWin.cpp:
32         (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
33         to interpret DEVMODE directly, since screenDepth knows how to correct
34         for video drivers that return 32 instead of 24.
35
36 2010-09-29  Adam Roben  <aroben@apple.com>
37
38         Make sure screen.colorDepth/screen.pixelDepth don't include the bits
39         used for alpha
40
41         Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
42         screen.colorDepth and screen.pixelDepth return 32 on Windows, but
43         should return 24 (according to CSSOM View and Firefox)
44
45         Reviewed by Darin Adler.
46
47         * platform/win/PlatformScreenWin.cpp:
48         (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
49         return 24 instead, as 32 includes the alpha component but this
50         function is supposed to ignore the alpha component.
51
52 2010-09-30  Daniel Cheng  <dcheng@chromium.org>
53
54         Reviewed by Tony Chang.
55
56         [chromium] Refactor ChromiumDataObject to use getters/setters.
57         https://bugs.webkit.org/show_bug.cgi?id=46559
58
59         This is an intermediate step to converting ChromiumDataObject to use
60         callbacks to the browser to retrieve data.
61
62         This is covered by existing tests.
63
64         * editing/chromium/EditorChromium.cpp:
65         (WebCore::Editor::newGeneralClipboard):
66         * page/chromium/EventHandlerChromium.cpp:
67         (WebCore::EventHandler::createDraggingClipboard):
68         * platform/chromium/ChromiumDataObject.cpp:
69         (WebCore::ChromiumDataObject::clearData):
70         (WebCore::ChromiumDataObject::clearAll):
71         (WebCore::ChromiumDataObject::clearAllExceptFiles):
72         (WebCore::ChromiumDataObject::hasData):
73         (WebCore::ChromiumDataObject::types):
74         (WebCore::ChromiumDataObject::getData):
75         (WebCore::ChromiumDataObject::setData):
76         (WebCore::ChromiumDataObject::ChromiumDataObject):
77         * platform/chromium/ChromiumDataObject.h:
78         (WebCore::ChromiumDataObject::create):
79         (WebCore::ChromiumDataObject::urlTitle):
80         (WebCore::ChromiumDataObject::setUrlTitle):
81         (WebCore::ChromiumDataObject::htmlBaseUrl):
82         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
83         (WebCore::ChromiumDataObject::containsFilenames):
84         (WebCore::ChromiumDataObject::filenames):
85         (WebCore::ChromiumDataObject::setFilenames):
86         (WebCore::ChromiumDataObject::fileExtension):
87         (WebCore::ChromiumDataObject::setFileExtension):
88         (WebCore::ChromiumDataObject::fileContentFilename):
89         (WebCore::ChromiumDataObject::setFileContentFilename):
90         (WebCore::ChromiumDataObject::fileContent):
91         (WebCore::ChromiumDataObject::setFileContent):
92         * platform/chromium/ClipboardChromium.cpp:
93         (WebCore::normalizeType):
94         (WebCore::ClipboardChromium::clearData):
95         (WebCore::ClipboardChromium::clearAllData):
96         (WebCore::ClipboardChromium::getData):
97         (WebCore::ClipboardChromium::setData):
98         (WebCore::ClipboardChromium::types):
99         (WebCore::ClipboardChromium::files):
100         (WebCore::writeImageToDataObject):
101         (WebCore::ClipboardChromium::declareAndWriteDragImage):
102         (WebCore::ClipboardChromium::writeURL):
103         (WebCore::ClipboardChromium::writeRange):
104         (WebCore::ClipboardChromium::writePlainText):
105         * platform/chromium/ClipboardChromiumWin.cpp:
106         (WebCore::ClipboardChromium::validateFileName):
107         * platform/chromium/ClipboardMimeTypes.cpp:
108         * platform/chromium/ClipboardMimeTypes.h:
109         * platform/chromium/DragDataChromium.cpp:
110         (WebCore::containsHTML):
111         (WebCore::DragData::containsURL):
112         (WebCore::DragData::asURL):
113         (WebCore::DragData::containsFiles):
114         (WebCore::DragData::asFilenames):
115         (WebCore::DragData::containsPlainText):
116         (WebCore::DragData::asPlainText):
117         (WebCore::DragData::canSmartReplace):
118         (WebCore::DragData::asFragment):
119         * platform/chromium/ReadableDataObject.cpp:
120         (WebCore::ReadableDataObject::getURL):
121         (WebCore::ReadableDataObject::getHTML):
122         * platform/chromium/WritableDataObject.cpp:
123         (WebCore::WritableDataObject::clearData):
124         (WebCore::WritableDataObject::setData):
125         (WebCore::WritableDataObject::setURL):
126         (WebCore::WritableDataObject::setHTML):
127
128 2010-09-30  Chris Marrin  <cmarrin@apple.com>
129
130         Reviewed by Simon Fraser.
131
132         Make 2D accelerated canvas rendering build on Mac
133         https://bugs.webkit.org/show_bug.cgi?id=46007
134
135         Add accelerated 2D rendering files to Mac build, fix build errors,
136         add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
137         enabled, and add a skeleton of the mac specific file so it builds.
138
139         DrawingBufferMac.mm, the Mac specific file does nothing right now
140         other than initialize and create a layer. The rest will be added
141         when I do the actual implementation. 
142
143         The most significant change was to SharedGraphicsContext3D, which
144         had a static local OwnPtr in one of the methods. This was causing
145         the exit time destructor warning. Getting rid of the OwnPtr fixed
146         the problem. Since the pointer that was being wrapped was to a
147         static object that would never get destroyed, the OwnPtr was not
148         necessary.
149
150         I also added the ACCELERATED_2D_CANVAS flag to build-webkit
151         and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
152         But right now the flag is off by default.
153
154         * Configurations/FeatureDefines.xcconfig:
155         * WebCore.xcodeproj/project.pbxproj:
156         * platform/graphics/gpu/DrawingBuffer.cpp:
157         * platform/graphics/gpu/DrawingBuffer.h:
158         (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
159         * platform/graphics/gpu/LoopBlinnClassifier.cpp:
160         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
161         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
162         * platform/graphics/gpu/Shader.cpp:
163         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
164         (WebCore::SharedGraphicsContext3D::allContexts):
165         * platform/graphics/gpu/SolidFillShader.cpp:
166         * platform/graphics/gpu/TexShader.cpp:
167         * platform/graphics/gpu/Texture.cpp:
168         * platform/graphics/gpu/Texture.h:
169         * platform/graphics/gpu/TilingData.cpp:
170         * platform/graphics/gpu/mac: Added.
171         * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
172         (WebCore::DrawingBuffer::DrawingBuffer):
173         (WebCore::DrawingBuffer::~DrawingBuffer):
174         (WebCore::DrawingBuffer::reset):
175         (WebCore::DrawingBuffer::platformLayer):
176
177 2010-09-30  Renata Hodovan  <reni@inf.u-szeged.hu>
178
179         Reviewed by Dirk Schulze.
180
181         SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
182         https://bugs.webkit.org/show_bug.cgi?id=46902
183
184         Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
185                svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
186                svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
187                svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
188                svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
189                svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
190                svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
191                svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
192                svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
193                svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
194                svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
195                svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
196                svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
197                svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
198
199         * svg/SVGFECompositeElement.cpp:
200         (WebCore::SVGFECompositeElement::svgAttributeChanged):
201         * svg/SVGFECompositeElement.h:
202
203 2010-09-29  Jeremy Orlow  <jorlow@chromium.org>
204
205         Reviewed by Steve Block.
206
207         Finished IDBTransaction for IndexedDB
208         https://bugs.webkit.org/show_bug.cgi?id=46823
209
210         Switch the rest of IndexedDB to use transactions.
211         Implement most of setVersion.
212         Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
213         Switch to using the standard cross thread task stuff.
214         Make everything threadsafe so it works with cross thread copy
215             (will be useful in the future).
216         Fix some subtle bugs in transactions.
217         
218         Various bits of clean up (when I couldn't resist).
219
220         * bindings/js/JSIDBAnyCustom.cpp:
221         (WebCore::toJS):
222         * bindings/v8/IDBBindingUtilities.cpp:
223         (WebCore::LocalContext::LocalContext):
224         (WebCore::LocalContext::~LocalContext):
225         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
226         * bindings/v8/SerializedScriptValue.cpp:
227         (WebCore::SerializedScriptValue::release):
228         (WebCore::SerializedScriptValue::SerializedScriptValue):
229         * bindings/v8/SerializedScriptValue.h:
230         * bindings/v8/custom/V8IDBAnyCustom.cpp:
231         (WebCore::toV8):
232         * platform/CrossThreadCopier.cpp:
233         * storage/IDBAny.cpp:
234         (WebCore::IDBAny::idbFactory):
235         (WebCore::IDBAny::idbTransaction):
236         (WebCore::IDBAny::set):
237         * storage/IDBAny.h:
238         * storage/IDBCallbacks.h:
239         * storage/IDBCursor.cpp:
240         (WebCore::IDBCursor::IDBCursor):
241         (WebCore::IDBCursor::update):
242         (WebCore::IDBCursor::continueFunction):
243         (WebCore::IDBCursor::remove):
244         * storage/IDBCursor.h:
245         (WebCore::IDBCursor::create):
246         * storage/IDBCursorBackendImpl.cpp:
247         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
248         (WebCore::IDBCursorBackendImpl::update):
249         (WebCore::IDBCursorBackendImpl::updateInternal):
250         (WebCore::IDBCursorBackendImpl::continueFunction):
251         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
252         (WebCore::IDBCursorBackendImpl::remove):
253         (WebCore::IDBCursorBackendImpl::removeInternal):
254         * storage/IDBCursorBackendImpl.h:
255         (WebCore::IDBCursorBackendImpl::create):
256         * storage/IDBDatabase.cpp:
257         (WebCore::IDBDatabase::setSetVersionTransaction):
258         (WebCore::IDBDatabase::createObjectStore):
259         (WebCore::IDBDatabase::removeObjectStore):
260         (WebCore::IDBDatabase::setVersion):
261         (WebCore::IDBDatabase::close):
262         * storage/IDBDatabase.h:
263         * storage/IDBDatabase.idl:
264         * storage/IDBDatabaseBackendImpl.cpp:
265         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
266         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
267         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
268         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
269         (WebCore::IDBDatabaseBackendImpl::setVersion):
270         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
271         (WebCore::IDBDatabaseBackendImpl::close):
272         * storage/IDBDatabaseBackendImpl.h:
273         * storage/IDBDatabaseBackendInterface.h:
274         * storage/IDBFactory.cpp:
275         (WebCore::IDBFactory::open):
276         * storage/IDBIndex.cpp:
277         (WebCore::IDBIndex::IDBIndex):
278         (WebCore::IDBIndex::openObjectCursor):
279         (WebCore::IDBIndex::openCursor):
280         (WebCore::IDBIndex::getObject):
281         (WebCore::IDBIndex::get):
282         * storage/IDBIndex.h:
283         (WebCore::IDBIndex::create):
284         * storage/IDBIndexBackendImpl.cpp:
285         (WebCore::IDBIndexBackendImpl::openCursorInternal):
286         (WebCore::IDBIndexBackendImpl::openObjectCursor):
287         (WebCore::IDBIndexBackendImpl::openCursor):
288         (WebCore::IDBIndexBackendImpl::getInternal):
289         (WebCore::IDBIndexBackendImpl::getObject):
290         (WebCore::IDBIndexBackendImpl::get):
291         * storage/IDBIndexBackendImpl.h:
292         * storage/IDBIndexBackendInterface.h:
293         * storage/IDBKey.cpp:
294         (WebCore::IDBKey::IDBKey):
295         * storage/IDBKey.h:
296         * storage/IDBKeyRange.h:
297         * storage/IDBObjectStore.cpp:
298         (WebCore::IDBObjectStore::IDBObjectStore):
299         (WebCore::IDBObjectStore::add):
300         (WebCore::IDBObjectStore::put):
301         (WebCore::IDBObjectStore::remove):
302         (WebCore::IDBObjectStore::createIndex):
303         (WebCore::IDBObjectStore::index):
304         (WebCore::IDBObjectStore::removeIndex):
305         (WebCore::IDBObjectStore::openCursor):
306         * storage/IDBObjectStore.idl:
307         * storage/IDBObjectStoreBackendImpl.cpp:
308         (WebCore::IDBObjectStoreBackendImpl::get):
309         (WebCore::IDBObjectStoreBackendImpl::getInternal):
310         (WebCore::IDBObjectStoreBackendImpl::put):
311         (WebCore::IDBObjectStoreBackendImpl::putInternal):
312         (WebCore::IDBObjectStoreBackendImpl::remove):
313         (WebCore::IDBObjectStoreBackendImpl::removeInternal):
314         (WebCore::IDBObjectStoreBackendImpl::createIndex):
315         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
316         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
317         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
318         (WebCore::IDBObjectStoreBackendImpl::openCursor):
319         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
320         * storage/IDBObjectStoreBackendImpl.h:
321         * storage/IDBObjectStoreBackendInterface.h:
322         * storage/IDBRequest.cpp:
323         (WebCore::IDBRequest::IDBRequest):
324         (WebCore::IDBRequest::resetReadyState):
325         (WebCore::IDBRequest::onSuccess):
326         (WebCore::IDBRequest::timerFired):
327         * storage/IDBRequest.h:
328         (WebCore::IDBRequest::create):
329         * storage/IDBTransactionBackendImpl.cpp:
330         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
331         (WebCore::IDBTransactionBackendImpl::scheduleTask):
332         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
333         (WebCore::IDBTransactionBackendImpl::run):
334         (WebCore::IDBTransactionBackendImpl::start):
335         (WebCore::IDBTransactionBackendImpl::commit):
336         (WebCore::IDBTransactionBackendImpl::timerFired):
337         * storage/IDBTransactionBackendImpl.h:
338
339 2010-09-30  Csaba Osztrogonác  <ossy@webkit.org>
340
341         Reviewed by Martin Robinson.
342
343         [Gtk] build still broken since r68521
344         https://bugs.webkit.org/show_bug.cgi?id=46795
345
346         makevalues.pl and makeprop.pl generate 3 files in one run.
347         Double or triple target is incorrect, because on a multicore
348         machine make processes targets in parallel.
349
350         Setting a->b->c dependencies for 3 generated files guarantees
351         that make doesn't execute the recipe of the rule more than one.
352
353         * GNUmakefile.am: Dependencies and missing headers added.
354
355 2010-09-30  Andrey Kosyakov  <caseq@chromium.org>
356
357         Unreviewed build fix (marked ResourceRawHeaders.h as private)
358
359         * WebCore.xcodeproj/project.pbxproj:
360
361 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
362
363         Reviewed by Pavel Feldman.
364
365         Web Inspector: display headers actually used by network stack in Resources tab
366         https://bugs.webkit.org/show_bug.cgi?id=46092
367
368         * GNUmakefile.am:
369         * WebCore.gypi:
370         * WebCore.pro:
371         * WebCore.vcproj/WebCore.vcproj:
372         * inspector/InspectorController.cpp:
373         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
374         * inspector/InspectorResource.cpp:
375         (WebCore::InspectorResource::updateResponse):
376         * platform/network/ResourceRawHeaders.h: Added.
377         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
378         (WebCore::ResourceRequestBase::reportRawHeaders):
379         (WebCore::ResourceRequestBase::setReportRawHeaders):
380         (WebCore::ResourceRequestBase::ResourceRequestBase):
381         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
382         (WebCore::ResourceResponseBase::resourceRawHeaders):
383         (WebCore::ResourceResponseBase::setResourceRawHeaders):
384         * platform/network/ResourceResponseBase.h:
385
386 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
387
388         Reviewed by Pavel Feldman.
389
390         Web Inspector: display headers actually used by network stack in Resources tab
391         https://bugs.webkit.org/show_bug.cgi?id=46092
392
393         * GNUmakefile.am:
394         * WebCore.gypi:
395         * WebCore.pro:
396         * WebCore.vcproj/WebCore.vcproj:
397         * inspector/InspectorController.cpp:
398         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
399         * inspector/InspectorResource.cpp:
400         (WebCore::InspectorResource::updateResponse):
401         * platform/network/ResourceRawHeaders.h: Added.
402         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
403         (WebCore::ResourceRequestBase::reportRawHeaders):
404         (WebCore::ResourceRequestBase::setReportRawHeaders):
405         (WebCore::ResourceRequestBase::ResourceRequestBase):
406         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
407         (WebCore::ResourceResponseBase::resourceRawHeaders):
408         (WebCore::ResourceResponseBase::setResourceRawHeaders):
409         * platform/network/ResourceResponseBase.h:
410
411 2010-09-30  Andreas Kling  <andreas.kling@nokia.com>
412
413         Reviewed by Tor Arne Vestbø.
414
415         [Qt] V8 port: Unbreak build
416
417         Add missing <wtf/text/CString.h> include.
418
419         * loader/PingLoader.cpp:
420
421 2010-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
422
423         Reviewed by Pavel Feldman.
424
425         Web Inspector: assign the resource loading finish time which was obtained from the network stack
426         as the end time for the corresponding event in Timeline.
427         See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664
428
429         https://bugs.webkit.org/show_bug.cgi?id=46789
430
431         * inspector/InspectorController.cpp:
432         (WebCore::InspectorController::didFinishLoading):
433         (WebCore::InspectorController::didFailLoading):
434         * inspector/InspectorTimelineAgent.cpp:
435         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
436         * inspector/InspectorTimelineAgent.h:
437
438 2010-09-29  Pavel Feldman  <pfeldman@chromium.org>
439
440         Reviewed by Timothy Hatcher.
441
442         Web Inspector: implement sorting by timeline in network panel + filtering.
443         https://bugs.webkit.org/show_bug.cgi?id=45657
444
445         A number of drive-by fixes, sorting by timeline added,
446         0-based timeline for duration added, filters added,
447         more love for detailed view + nice headers.
448
449         * English.lproj/localizedStrings.js:
450         * inspector/front-end/DataGrid.js:
451         (WebInspector.DataGrid):
452         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
453         (WebInspector.DataGrid.prototype.headerTableHeader):
454         * inspector/front-end/NetworkPanel.js:
455         (WebInspector.NetworkPanel):
456         (WebInspector.NetworkPanel.prototype.get statusBarItems):
457         (WebInspector.NetworkPanel.prototype._createTable):
458         (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
459         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
460         (WebInspector.NetworkPanel.prototype._sortByTimeline):
461         (WebInspector.NetworkPanel.prototype._sortItems):
462         (WebInspector.NetworkPanel.prototype._createFilterPanel):
463         (WebInspector.NetworkPanel.prototype._showCategory):
464         (WebInspector.NetworkPanel.prototype._hideCategory):
465         (WebInspector.NetworkPanel.prototype._updateFilter):
466         (WebInspector.NetworkPanel.prototype._filter):
467         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
468         (WebInspector.NetworkPanel.prototype.reset):
469         (WebInspector.NetworkPanel.prototype._setLargerResources):
470         (WebInspector.NetworkDataGridNode.prototype.createCells):
471         (WebInspector.NetworkDataGridNode.prototype._createDivInTD):
472         (WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
473         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
474         (WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
475         (WebInspector.NetworkDataGridNode.SizeComparator):
476         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
477         * inspector/front-end/ProfilesPanel.js:
478         (WebInspector.ProfilesPanel):
479         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
480         * inspector/front-end/StoragePanel.js:
481         (WebInspector.StoragePanel):
482         * inspector/front-end/TimelineGrid.js:
483         (WebInspector.TimelineGrid.prototype.updateDividers):
484         * inspector/front-end/TimelineOverviewPane.js:
485         (WebInspector.TimelineOverviewPane):
486         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
487         * inspector/front-end/inspector.css:
488         (.data-grid th.sort-ascending > div::after):
489         (.data-grid th.sort-descending > div::after):
490         (.status-bar-items):
491         * inspector/front-end/networkPanel.css:
492         (.network.panel .data-grid td):
493         (.network.panel .data-grid th):
494         (.network.panel .data-grid.small th):
495         (.network.panel .data-grid .data-container):
496         (.network.panel .data-grid.small .data-container):
497         (.network.panel .data-grid select):
498         (.network.panel .data-grid td.time-column):
499         (.network-cell-subtitle):
500         (.network-header-subtitle):
501         (.network-event-divider):
502         (.network.panel .network-timeline-grid.small .network-event-divider):
503         (.network.panel .resources-dividers-label-bar):
504         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
505         (.network.panel .resources-divider-label):
506         (.network.panel .resources-dividers-label-bar .resources-divider):
507         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
508         (.network.panel .resources-divider.first .resources-divider-label):
509         (.network.panel .resources-dividers-label-bar .resources-divider.first):
510         (#network-filter):
511         (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
512         (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):
513
514 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
515
516         Reviewed by Simon Hausmann.
517
518         [Qt] Ensure we always report a valid size for the video
519
520         Some QtMultimedia-backends require a paint before even giving us
521         a size, so we start out by using the default video size, and then
522         update it once QtMultimedia starts feeding us valid sizes.
523
524         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
525         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
526         (WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
527         (WebCore::MediaPlayerPrivateQt::setSize):
528         (WebCore::MediaPlayerPrivateQt::naturalSize):
529         * platform/graphics/qt/MediaPlayerPrivateQt.h:
530
531 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
532
533         Reviewed by Andreas Kling.
534
535         RenderSVGTextPath lacks isSVGTextPath() method
536         https://bugs.webkit.org/show_bug.cgi?id=46888
537
538         Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.
539
540         * rendering/RenderObject.h:
541         (WebCore::RenderObject::isSVGTextPath): Return false.
542         * rendering/RenderSVGTextPath.h: Changed indentation of whole file.
543         (WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
544         (WebCore::RenderSVGTextPath::renderName):
545         (WebCore::toRenderSVGTextPath): Add helper casting methods.
546
547 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
548
549         Reviewed by Dirk Schulze.
550
551         AffineTransform should expose methods calculating the x/y scale factors
552         https://bugs.webkit.org/show_bug.cgi?id=46887
553
554         Expose methods calculating the x/y scale factors for an AffineTransform. 
555
556         * platform/graphics/transforms/AffineTransform.cpp:
557         (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
558         (WebCore::AffineTransform::xScale):
559         (WebCore::AffineTransform::yScale):
560         * platform/graphics/transforms/AffineTransform.h:
561
562 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
563
564         Reviewed by Simon Hausmann.
565
566         [Qt] Ensure that the media player backend does not leave any resources around
567
568         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
569         (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
570
571 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
572
573         Reviewed by Simon Hausmann.
574
575         Minor cleanup of MediaPlayerPrivateQt
576
577         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
578         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
579         (WebCore::MediaPlayerPrivateQt::currentTime):
580         (WebCore::MediaPlayerPrivateQt::positionChanged):
581         (WebCore::MediaPlayerPrivateQt::paint):
582
583 2010-09-30  Jochen Eisinger  <jochen@chromium.org>
584
585         Reviewed by Jeremy Orlow.
586
587         Mark unused parameters as such.
588         https://bugs.webkit.org/show_bug.cgi?id=46880
589
590         * inspector/InspectorDOMAgent.cpp:
591         * page/Geolocation.cpp:
592         (WebCore::Geolocation::clearWatch):
593
594 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
595
596         Reviewed by Pavel Feldman.
597
598         Web Inspector: extract Inspector Instrumentation API as a class.
599         https://bugs.webkit.org/show_bug.cgi?id=46614
600
601         * CMakeLists.txt:
602         * GNUmakefile.am:
603         * WebCore.gypi:
604         * WebCore.pro:
605         * WebCore.vcproj/WebCore.vcproj:
606         * WebCore.xcodeproj/project.pbxproj:
607         * bindings/js/JSXMLHttpRequestCustom.cpp:
608         (WebCore::JSXMLHttpRequest::send):
609         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
610         (WebCore::V8XMLHttpRequest::sendCallback):
611         * dom/CharacterData.cpp:
612         (WebCore::CharacterData::dispatchModifiedEvent):
613         * dom/ContainerNode.cpp:
614         (WebCore::ContainerNode::insertBefore):
615         (WebCore::ContainerNode::parserInsertBefore):
616         (WebCore::ContainerNode::replaceChild):
617         (WebCore::ContainerNode::appendChild):
618         (WebCore::ContainerNode::parserAddChild):
619         (WebCore::notifyChildInserted):
620         (WebCore::dispatchChildRemovalEvents):
621         * dom/Element.cpp:
622         (WebCore::Element::setAttribute):
623         (WebCore::Element::removeAttribute):
624         * inspector/InspectorController.cpp:
625         (WebCore::InspectorController::InspectorController):
626         (WebCore::InspectorController::~InspectorController):
627         (WebCore::InspectorController::connectFrontend):
628         (WebCore::InspectorController::disconnectFrontend):
629         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
630         * inspector/InspectorController.h:
631         * inspector/InspectorInstrumentation.cpp: Added.
632         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
633         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
634         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
635         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
636         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
637         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
638         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
639         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
640         * inspector/InspectorInstrumentation.h: Added.
641         (WebCore::InspectorInstrumentation::frontendCreated):
642         (WebCore::InspectorInstrumentation::frontendDeleted):
643         (WebCore::InspectorInstrumentation::hasFrontends):
644         (WebCore::InspectorInstrumentation::willInsertDOMNode):
645         (WebCore::InspectorInstrumentation::didInsertDOMNode):
646         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
647         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
648         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
649         (WebCore::InspectorInstrumentation::characterDataModified):
650         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
651         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
652         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
653         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
654         * workers/SharedWorker.cpp:
655
656 2010-09-30  Kwang Yul Seo  <skyul@company100.net>
657
658         Reviewed by Darin Adler.
659
660         Build fix: Add ENABLE(INSPECTOR) guard
661         https://bugs.webkit.org/show_bug.cgi?id=46852
662
663         Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.
664
665         * inspector/InspectorController.h:
666         (WebCore::InspectorController::inspectorControllerForDocument):
667
668 2010-09-30  Michael Nordman  <michaeln@google.com>
669
670         Reviewed by David Levin.
671
672         Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
673         across threads and to compare platform specific data members of ResourceRequest.
674         - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
675         - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
676           is already present on ResourceResponseBase.
677         - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
678           classes and extended those base classes in the platform specific headers to provide a place
679           to hold additional fields.
680         - Used this mechanism to have the chromium port's data members make the hop.
681         https://bugs.webkit.org/show_bug.cgi?id=46430
682
683         No new tests. Just plumbing.
684
685         * WebCore.exp.in: removed the symbol for the now inlined == operator
686         * WebCore.gypi: added chromium/ResourceResponse.cpp
687         * platform/network/ResourceRequestBase.cpp:
688         (WebCore::ResourceRequestBase::adopt):
689         (WebCore::ResourceRequestBase::copyData):
690         (WebCore::ResourceRequestBase::compare):
691         * platform/network/ResourceRequestBase.h:
692         (WebCore::ResourceRequestBase::platformCompare):
693         (WebCore::operator==):
694         (WebCore::operator!=):
695         * platform/network/ResourceResponseBase.cpp:
696         (WebCore::ResourceResponseBase::asResourceResponse):
697         (WebCore::ResourceResponseBase::adopt):
698         (WebCore::ResourceResponseBase::copyData):
699         * platform/network/ResourceResponseBase.h:
700         * platform/network/android/ResourceRequest.h:
701         (WebCore::ResourceRequest::doPlatformCopyData):
702         (WebCore::ResourceRequest::doPlatformAdopt):
703         * platform/network/android/ResourceResponse.h:
704         (WebCore::ResourceResponse::doPlatformCopyData):
705         (WebCore::ResourceResponse::doPlatformAdopt):
706         * platform/network/cf/ResourceRequest.h:
707         (WebCore::ResourceRequest::doPlatformCopyData):
708         (WebCore::ResourceRequest::doPlatformAdopt):
709         * platform/network/cf/ResourceResponse.h:
710         (WebCore::ResourceResponse::doPlatformCopyData):
711         (WebCore::ResourceResponse::doPlatformAdopt):
712         * platform/network/chromium/ResourceRequest.cpp:
713         (WebCore::ResourceRequest::doPlatformCopyData):
714         (WebCore::ResourceRequest::doPlatformAdopt):
715         * platform/network/chromium/ResourceRequest.h:
716         * platform/network/chromium/ResourceResponse.cpp: Added.
717         (WebCore::ResourceResponse::doPlatformCopyData):
718         (WebCore::ResourceResponse::doPlatformAdopt):
719         * platform/network/chromium/ResourceResponse.h:
720         * platform/network/curl/ResourceRequest.h:
721         (WebCore::ResourceRequest::doPlatformCopyData):
722         (WebCore::ResourceRequest::doPlatformAdopt):
723         * platform/network/curl/ResourceResponse.h:
724         (WebCore::ResourceResponse::doPlatformCopyData):
725         (WebCore::ResourceResponse::doPlatformAdopt):
726         * platform/network/mac/ResourceRequest.h:
727         (WebCore::ResourceRequest::doPlatformCopyData):
728         (WebCore::ResourceRequest::doPlatformAdopt):
729         * platform/network/mac/ResourceResponse.h:
730         (WebCore::ResourceResponse::doPlatformCopyData):
731         (WebCore::ResourceResponse::doPlatformAdopt):
732         * platform/network/qt/ResourceRequest.h:
733         (WebCore::ResourceRequest::doPlatformCopyData):
734         (WebCore::ResourceRequest::doPlatformAdopt):
735         * platform/network/qt/ResourceResponse.h:
736         (WebCore::ResourceResponse::doPlatformCopyData):
737         (WebCore::ResourceResponse::doPlatformAdopt):
738         * platform/network/soup/ResourceRequest.h:
739         (WebCore::ResourceRequest::doPlatformCopyData):
740         (WebCore::ResourceRequest::doPlatformAdopt):
741         * platform/network/soup/ResourceResponse.h:
742         (WebCore::ResourceResponse::doUpdateResourceResponse):
743         (WebCore::ResourceResponse::doPlatformCopyData):
744         (WebCore::ResourceResponse::doPlatformAdopt):
745
746 2010-09-29  Chris Rogers  <crogers@google.com>
747
748         Reviewed by Kenneth Russell.
749
750         Put default initialize() and uninitialize() methods in AudioNode
751         https://bugs.webkit.org/show_bug.cgi?id=46767
752
753         No new tests since audio API is not yet implemented.
754
755         * webaudio/AudioNode.cpp:
756         (WebCore::AudioNode::initialize):
757         (WebCore::AudioNode::uninitialize):
758         * webaudio/AudioNode.h:
759
760 2010-09-29  Kent Tamura  <tkent@chromium.org>
761
762         Reviewed by Dimitri Glazkov.
763
764         Refactor HTMLInputElement: Make DeprecatedInputType private.
765         https://bugs.webkit.org/show_bug.cgi?id=46791
766
767         No new tests because this doesn't change any behavior.
768
769         * html/HTMLInputElement.cpp:
770         (WebCore::HTMLInputElement::createTypeMap):
771         * html/HTMLInputElement.h:
772          Move DeprecatedInputType, deprecatedInputType() and
773          parseToDateComponents() to the private section, make
774          createTypeMap() a member function of HTMLInputElement.
775         (WebCore::HTMLInputElement::deprecatedInputType):
776
777 2010-09-29  Mihai Parparita  <mihaip@chromium.org>
778
779         Reviewed by Darin Fisher.
780
781         REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
782         https://bugs.webkit.org/show_bug.cgi?id=46324
783         
784         Revert same document check to the way it was before r66238 for history
785         entries created by pushState or fragment changes. Logic fror determining
786         if same document navigation should be used is moved to HistoryItem.
787
788         Tests: fast/history/same-document-iframes-changing-fragment.html
789                fast/history/same-document-iframes-changing-pushstate.html
790
791         * history/HistoryItem.cpp:
792         (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
793         (WebCore::HistoryItem::hasSameDocumentTree):
794         (WebCore::HistoryItem::hasSameFrames):
795         * history/HistoryItem.h:
796         * loader/FrameLoader.cpp:
797         (WebCore::FrameLoader::loadItem):
798
799         * loader/FrameLoader.cpp:
800         (WebCore::FrameLoader::loadItem):
801
802 2010-09-29  MORITA Hajime  <morrita@google.com>
803
804         Unreviewed build fix.
805         
806         WebCore::ESpeak causes missing symbol with no ENABLE_SVG
807         https://bugs.webkit.org/show_bug.cgi?id=46865
808
809         Moves ESpeak related function definitions outside ENABLE_SVG block.
810
811         * css/CSSPrimitiveValueMappings.h:
812         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
813         (WebCore::CSSPrimitiveValue::operator ESpeak):
814         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
815
816 2010-09-29  Chris Rogers  <crogers@google.com>
817
818         Reviewed by Kenneth Russell.
819
820         Add AudioChannelSplitter files
821         https://bugs.webkit.org/show_bug.cgi?id=46290
822
823         No new tests since audio API is not yet implemented.
824
825         * webaudio/AudioChannelSplitter.cpp: Added.
826         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
827         (WebCore::AudioChannelSplitter::process):
828         (WebCore::AudioChannelSplitter::reset):
829         * webaudio/AudioChannelSplitter.h: Added.
830         (WebCore::AudioChannelSplitter::create):
831         * webaudio/AudioChannelSplitter.idl: Added.
832
833 2010-09-29  Kinuko Yasuda  <kinuko@chromium.org>
834
835         Reviewed by David Levin.
836
837         Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
838         https://bugs.webkit.org/show_bug.cgi?id=46563
839
840         Test: fast/filesystem/read-directory.html
841
842         * fileapi/DOMFileSystem.cpp:
843         (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
844         as a parameter.
845         * fileapi/DOMFileSystem.h:
846         (WebCore::DOMFileSystem::scheduleCallback): Added.
847         * fileapi/DirectoryReader.cpp:
848         (WebCore::DirectoryReader::DirectoryReader): Added initializer for
849         m_hasMore flag.
850         (WebCore::DirectoryReader::readEntries): Changed to schedule
851         EntriesCallback with an empty array if m_hasMore flag is set false.
852         * fileapi/DirectoryReader.h:
853         (WebCore::DirectoryReader::filesystem): Added.
854         (WebCore::DirectoryReader::setHasMore): Added.
855         * fileapi/FileSystemCallbacks.cpp:
856         (WebCore::EntriesCallbacks::create):
857         (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
858         DirectoryReader as a parameter.
859         (WebCore::EntriesCallbacks::didReadDirectoryEntry):
860         (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
861         trigger the second callback when hasMore is false, and 2) to update
862         the DirectoryReader's m_hasMore flag.
863         * fileapi/FileSystemCallbacks.h:
864
865 2010-09-29  Chris Rogers  <crogers@google.com>
866
867         Reviewed by Kenneth Russell.
868
869         Add AudioGainNode files
870         https://bugs.webkit.org/show_bug.cgi?id=46286
871
872         No new tests since audio API is not yet implemented.
873
874         * webaudio/AudioGainNode.cpp: Added.
875         (WebCore::AudioGainNode::AudioGainNode):
876         (WebCore::AudioGainNode::process):
877         (WebCore::AudioGainNode::reset):
878         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
879         * webaudio/AudioGainNode.h: Added.
880         (WebCore::AudioGainNode::create):
881         (WebCore::AudioGainNode::gain):
882         * webaudio/AudioGainNode.idl: Added.
883
884 2010-09-29  Chris Rogers  <crogers@google.com>
885
886         Reviewed by Kenneth Russell.
887
888         Add AudioChannelMerger files
889         https://bugs.webkit.org/show_bug.cgi?id=46291
890
891         No new tests since audio API is not yet implemented.
892
893         * webaudio/AudioChannelMerger.cpp: Added.
894         (WebCore::AudioChannelMerger::AudioChannelMerger):
895         (WebCore::AudioChannelMerger::process):
896         (WebCore::AudioChannelMerger::reset):
897         * webaudio/AudioChannelMerger.h: Added.
898         (WebCore::AudioChannelMerger::create):
899         * webaudio/AudioChannelMerger.idl: Added.
900
901 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
902
903         No review. Missed file for patch.
904
905         AX: implement CSS3 Speech "speak"
906         https://bugs.webkit.org/show_bug.cgi?id=46827
907
908         * css/CSSParser.cpp:
909         (WebCore::CSSParser::parseValue):
910
911 2010-09-29  Enrica Casucci  <enrica@apple.com>
912
913         Reviewed by Darin Adler.
914
915         Crash at lineBreakExistsAtPosition + 125
916         <rdar://problem/7028809> 
917         https://bugs.webkit.org/show_bug.cgi?id=46770
918         
919         lineBreakExistsAtPosition is called from InsertTextCommand::input,
920         where we compute the downstream position of the endingSelection().
921         Downstream can return the original position, that comes from a VisibleSelection
922         but there is no guarantee that its renderer is still there. Everywhere we dereference
923         a renderer we check if it's null.
924         
925         There is no regression test.
926         
927         * editing/htmlediting.cpp:
928         (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
929         before dereferencing it.
930
931 2010-09-29  Sam Weinig  <sam@webkit.org>
932
933         Reviewed by Darin Adler.
934
935         Add additional checks to StringBuilder.
936         <rdar://problem/7761248>
937
938         * platform/text/StringBuilder.cpp:
939         (WebCore::checkAppend):
940         (WebCore::StringBuilder::append):
941         (WebCore::StringBuilder::toString):
942         (WebCore::StringBuilder::clear):
943         (WebCore::StringBuilder::length):
944         * platform/text/StringBuilder.h:
945         (WebCore::StringBuilder::StringBuilder):
946         (WebCore::StringBuilder::setNonNull):
947         (WebCore::StringBuilder::isNull):
948
949 2010-09-29  Anders Carlsson  <andersca@apple.com>
950
951         Reviewed by Darin Adler.
952
953         plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
954         https://bugs.webkit.org/show_bug.cgi?id=46715
955         <rdar://problem/8485909>
956
957         Remove exclamation points from exceptions.
958
959         * bindings/v8/V8NPObject.cpp:
960         (WebCore::npObjectInvokeImpl):
961         * bridge/c/c_instance.cpp:
962         (JSC::Bindings::CInstance::invokeMethod):
963         (JSC::Bindings::CInstance::invokeDefaultMethod):
964         (JSC::Bindings::CInstance::invokeConstruct):
965
966 2010-09-29  Anders Carlsson  <andersca@apple.com>
967
968         Reviewed by Darin Adler.
969
970         Add additional check to Text::wholeText.
971         <rdar://problem/8304795>
972
973         * dom/Text.cpp:
974         (WebCore::Text::wholeText):
975
976 2010-09-29  Brian Weinstein  <bweinstein@apple.com>
977
978         Reviewed by Brady Eidson.
979
980         REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
981         <https://bugs.webkit.org/show_bug.cgi?id=46773>
982         <rdar://problem/8390975>
983         
984         After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
985         document could cause Safari to crash.
986         
987         If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
988         main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
989         loading path like we do on the initial load of a plugin in a plugin document.
990
991         Tests: plugins/plugin-document-load-prevented-userscript.html
992                plugins/plugin-document-willSendRequest-null.html
993
994         * html/HTMLEmbedElement.cpp:
995         (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
996             plugin document, call a function on PluginDocument that cancels the main resource load, and
997             sets a plugin document flag.
998         * html/PluginDocument.cpp:
999         (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
1000             null if the load was cancelled.
1001         (WebCore::PluginDocument::PluginDocument): Initialize the new variable.
1002         (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
1003             (which is a plugin in the case of a plugin document).
1004         * html/PluginDocument.h:
1005         (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
1006             manually.
1007         (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
1008             manually.
1009         (WebCore::toPluginDocument):
1010         * loader/SubframeLoader.cpp:
1011         (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
1012             document.
1013
1014 2010-09-29  David Hyatt  <hyatt@apple.com>
1015
1016         Reviewed by Sam Weinig.
1017
1018         https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
1019         block-flow-aware.
1020
1021         * rendering/RenderBlock.cpp:
1022         (WebCore::RenderBlock::estimateLogicalTopPosition):
1023         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
1024         (WebCore::RenderBlock::collapsedMarginAfterForChild):
1025         * rendering/RenderBlock.h:
1026
1027 2010-09-29  Chris Rogers  <crogers@google.com>
1028
1029         Reviewed by Kenneth Russell.
1030
1031         Minor cleanup to AudioContext
1032         https://bugs.webkit.org/show_bug.cgi?id=46843
1033
1034         No new tests since audio API is not yet implemented
1035
1036         * webaudio/AudioContext.cpp:
1037         (WebCore::AudioContext::lock):
1038         (WebCore::AudioContext::handleDeferredFinishDerefs):
1039
1040 2010-09-29  MORITA Hajime  <morrita@google.com>
1041
1042         Reviewed by Eric Seidel.
1043
1044         Assertion failed when accessing -webkit-margin-top-collapse via computed style.
1045         https://bugs.webkit.org/show_bug.cgi?id=46798
1046         
1047         There was a switch statement which missed enum entries in getPropertyCSSValue().
1048         This change added these entries to prevent the leak.
1049         It also added extra case statements to encourage the compiler's help.
1050
1051         Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html
1052
1053         * css/CSSComputedStyleDeclaration.cpp:
1054         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1055
1056 2010-09-29  Chris Rogers  <crogers@google.com>
1057
1058         Reviewed by Kenneth Russell.
1059
1060         Limit number of AudioNode deletions per render quantum in AudioContext
1061         https://bugs.webkit.org/show_bug.cgi?id=46834
1062
1063         No new tests since audio API is not yet implemented.
1064
1065         * webaudio/AudioContext.cpp:
1066         (WebCore::AudioContext::handlePostRenderTasks):
1067         (WebCore::AudioContext::deleteMarkedNodes):
1068
1069 2010-09-29  David Hyatt  <hyatt@apple.com>
1070
1071         Reviewed by Simon Fraser.
1072
1073         https://bugs.webkit.org/show_bug.cgi?id=46838
1074         
1075         Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox.  I'm inverting the way these are called
1076         and putting the methods on RenderBlock instead.  The methods can be named better this way and the getters
1077         can operate on RenderBoxModelObjects instead of just RenderBoxes.
1078
1079         * rendering/RenderBlock.cpp:
1080         (WebCore::RenderBlock::layoutBlockChild):
1081         (WebCore::RenderBlock::marginBeforeForChild):
1082         (WebCore::RenderBlock::marginAfterForChild):
1083         (WebCore::RenderBlock::marginStartForChild):
1084         (WebCore::RenderBlock::marginEndForChild):
1085         (WebCore::RenderBlock::setMarginStartForChild):
1086         (WebCore::RenderBlock::setMarginEndForChild):
1087         (WebCore::RenderBlock::setMarginBeforeForChild):
1088         (WebCore::RenderBlock::setMarginAfterForChild):
1089         * rendering/RenderBlock.h:
1090         (WebCore::RenderBlock::logicalHeightForChild):
1091         (WebCore::RenderBlock::logicalTopForChild):
1092         * rendering/RenderBox.cpp:
1093         (WebCore::RenderBox::marginBefore):
1094         (WebCore::RenderBox::marginAfter):
1095         (WebCore::RenderBox::marginStart):
1096         (WebCore::RenderBox::marginEnd):
1097         (WebCore::RenderBox::setMarginStart):
1098         (WebCore::RenderBox::setMarginEnd):
1099         (WebCore::RenderBox::setMarginBefore):
1100         (WebCore::RenderBox::setMarginAfter):
1101         (WebCore::RenderBox::computeLogicalWidth):
1102         (WebCore::RenderBox::computeInlineDirectionMargins):
1103         (WebCore::RenderBox::computeBlockDirectionMargins):
1104         * rendering/RenderBox.h:
1105         (WebCore::RenderBox::setMarginTop):
1106         (WebCore::RenderBox::setMarginBottom):
1107         (WebCore::RenderBox::setMarginLeft):
1108         (WebCore::RenderBox::setMarginRight):
1109
1110 2010-09-29  Dan Bernstein  <mitz@apple.com>
1111
1112         Reviewed by Sam Weinig.
1113
1114         Removed input type site-specific quirk for mail.google.com
1115         https://bugs.webkit.org/show_bug.cgi?id=46836
1116
1117         * bindings/js/JSHTMLInputElementCustom.cpp:
1118         (WebCore::needsGmailQuirk): Removed.
1119         (WebCore::JSHTMLInputElement::type): Removed this custom getter. 
1120         * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
1121         from the type attribute.
1122
1123 2010-09-29  Joseph Pecoraro  <joepeck@webkit.org>
1124
1125         Reviewed by Simon Fraser.
1126
1127         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
1128         https://bugs.webkit.org/show_bug.cgi?id=46777
1129
1130         It should not be possible to get to be in the LoadingFromSourceElement
1131         state with a null current source node. This was a possible scenario
1132         where the current source node was cleared but the load state was not
1133         cleared as well. Tried and could not create a test case for this.
1134
1135         * html/HTMLMediaElement.cpp:
1136         (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.
1137
1138 2010-09-29  David Hyatt  <hyatt@apple.com>
1139
1140         Reviewed by Dan Bernstein.
1141
1142         https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights.  Rename stretchesToViewHeight.
1143
1144         * page/FrameView.cpp:
1145         (WebCore::FrameView::layout):
1146         * rendering/RenderBlock.cpp:
1147         (WebCore::RenderBlock::layoutBlock):
1148         * rendering/RenderBlockLineLayout.cpp:
1149         (WebCore::RenderBlock::layoutInlineChildren):
1150         * rendering/RenderBox.cpp:
1151         (WebCore::RenderBox::computeLogicalHeight):
1152         * rendering/RenderBox.h:
1153         (WebCore::RenderBox::stretchesToViewport):
1154         * rendering/RenderBoxModelObject.cpp:
1155         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1156
1157 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
1158
1159         Reviewed by Darin Adler.
1160
1161         AX: implement CSS3 Speech "speak"
1162         https://bugs.webkit.org/show_bug.cgi?id=46827
1163
1164         Support the "speak" style as defined in
1165         http://www.w3.org/TR/css3-speech/#speak
1166
1167         This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.
1168
1169         Test: platform/mac/accessibility/css-speech-speak.html
1170
1171         * accessibility/AccessibilityObject.h:
1172         (WebCore::AccessibilityObject::speakProperty):
1173         * accessibility/AccessibilityRenderObject.cpp:
1174         (WebCore::AccessibilityRenderObject::speakProperty):
1175         * accessibility/AccessibilityRenderObject.h:
1176         * accessibility/mac/AccessibilityObjectWrapper.mm:
1177         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1178         * css/CSSComputedStyleDeclaration.cpp:
1179         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1180         * css/CSSPrimitiveValueMappings.h:
1181         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1182         (WebCore::CSSPrimitiveValue::operator ESpeak):
1183         * css/CSSPropertyNames.in:
1184         * css/CSSStyleSelector.cpp:
1185         (WebCore::CSSStyleSelector::applyProperty):
1186         * css/CSSValueKeywords.in:
1187         * rendering/style/RenderStyle.h:
1188         (WebCore::InheritedFlags::speak):
1189         (WebCore::InheritedFlags::setSpeak):
1190         (WebCore::InheritedFlags::initialSpeak):
1191         * rendering/style/RenderStyleConstants.h:
1192         * rendering/style/StyleRareInheritedData.cpp:
1193         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1194         (WebCore::StyleRareInheritedData::operator==):
1195         * rendering/style/StyleRareInheritedData.h:
1196
1197 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
1198
1199         Reviewed by Antonio Gomes.
1200
1201         [Curl] Fix unused and unitialized warnings.
1202         https://bugs.webkit.org/show_bug.cgi?id=46831
1203
1204         No new tests since no new funcionality has been added.
1205
1206         * platform/network/curl/ResourceHandleCurl.cpp:
1207         (WebCore::allowsAnyHTTPSCertificateHosts):
1208         * platform/network/curl/ResourceHandleManager.cpp:
1209         (WebCore::ResourceHandleManager::ResourceHandleManager):
1210         (WebCore::handleLocalReceiveResponse):
1211         (WebCore::ResourceHandleManager::downloadTimerCallback):
1212         (WebCore::ResourceHandleManager::initializeHandle):
1213
1214 2010-09-29  David Hyatt  <hyatt@apple.com>
1215
1216         Reviewed by Sam Weinig.
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=46824
1219         
1220         Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.
1221
1222         fast/blockflow/root-lr.html progresses as a result of this change.
1223
1224         * rendering/RenderBlock.cpp:
1225         (WebCore::RenderBlock::estimateLogicalTopPosition):
1226         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1227         (WebCore::RenderBlock::setLogicalTopForChild):
1228         (WebCore::RenderBlock::layoutBlockChild):
1229         * rendering/RenderBlock.h:
1230         (WebCore::RenderBlock::logicalHeightForChild):
1231         (WebCore::RenderBlock::logicalTopForChild):
1232         * rendering/RenderBox.h:
1233
1234 2010-09-29  Ryosuke Niwa  <rniwa@webkit.org>
1235
1236         Reviewed by Antonio Gomes.
1237
1238         queryCommandValue "formatBlock" always returns false
1239         https://bugs.webkit.org/show_bug.cgi?id=21305
1240
1241         Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
1242         because Firefox and Internet Explorer support the same set of elements
1243         (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
1244         See the bug for the detailed discussion.
1245
1246         WebKit's implementation returns the local name of the lowest common ancestor
1247         of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
1248         It returns "" when there is no such an ancestor or there is no selection.
1249
1250         Test: editing/execCommand/query-format-block.html
1251
1252         * editing/Editor.cpp:
1253         (WebCore::isElementForFormatBlockCommand):
1254         (WebCore::Editor::elementForFormatBlockCommand):
1255         * editing/Editor.h:
1256         * editing/EditorCommand.cpp:
1257         (WebCore::valueFormatBlock):
1258         (WebCore::createCommandMap):
1259
1260 2010-09-29  Matt Perry  <mpcomplete@chromium.org>
1261
1262         Reviewed by Darin Fisher.
1263
1264         Remove obsolete registerExtension variants from chromium port.
1265         https://bugs.webkit.org/show_bug.cgi?id=46683
1266
1267         * bindings/v8/V8DOMWindowShell.cpp:
1268         (WebCore::V8DOMWindowShell::createNewContext):
1269         * bindings/v8/V8Proxy.cpp:
1270         (WebCore::V8Proxy::registeredExtensionWithV8):
1271         (WebCore::V8Proxy::registerExtension):
1272         * bindings/v8/V8Proxy.h:
1273
1274 2010-09-29  Martin Robinson  <mrobinson@igalia.com>
1275
1276         Reviewed by Chris Fleizach.
1277
1278         [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
1279         https://bugs.webkit.org/show_bug.cgi?id=46822
1280
1281         When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
1282         a failure case. Handle this failure appropriately at all call sites.
1283
1284         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1285         (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
1286         (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
1287         return 0 to indicate failure when that happens.
1288         * editing/gtk/SelectionControllerGtk.cpp:
1289         (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
1290         case of objectAndOffsetUnignored.
1291
1292 2010-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1293
1294         Unreviewed, rolling out r68657.
1295         http://trac.webkit.org/changeset/68657
1296         https://bugs.webkit.org/show_bug.cgi?id=46820
1297
1298         reason "Breaks win debug build" (Requested by podivilov on
1299         #webkit).
1300
1301         * CMakeLists.txt:
1302         * GNUmakefile.am:
1303         * WebCore.gypi:
1304         * WebCore.pro:
1305         * WebCore.xcodeproj/project.pbxproj:
1306         * bindings/js/JSXMLHttpRequestCustom.cpp:
1307         (WebCore::JSXMLHttpRequest::send):
1308         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1309         (WebCore::V8XMLHttpRequest::sendCallback):
1310         * dom/CharacterData.cpp:
1311         (WebCore::CharacterData::dispatchModifiedEvent):
1312         * dom/ContainerNode.cpp:
1313         (WebCore::ContainerNode::insertBefore):
1314         (WebCore::ContainerNode::parserInsertBefore):
1315         (WebCore::ContainerNode::replaceChild):
1316         (WebCore::ContainerNode::appendChild):
1317         (WebCore::ContainerNode::parserAddChild):
1318         (WebCore::notifyChildInserted):
1319         (WebCore::dispatchChildRemovalEvents):
1320         * dom/Element.cpp:
1321         (WebCore::Element::setAttribute):
1322         (WebCore::Element::removeAttribute):
1323         * inspector/InspectorController.cpp:
1324         (WebCore::InspectorController::InspectorController):
1325         (WebCore::InspectorController::~InspectorController):
1326         (WebCore::InspectorController::connectFrontend):
1327         (WebCore::InspectorController::disconnectFrontend):
1328         (WebCore::InspectorController::willInsertDOMNodeImpl):
1329         (WebCore::InspectorController::didInsertDOMNodeImpl):
1330         (WebCore::InspectorController::willRemoveDOMNodeImpl):
1331         (WebCore::InspectorController::didRemoveDOMNodeImpl):
1332         (WebCore::InspectorController::willModifyDOMAttrImpl):
1333         (WebCore::InspectorController::didModifyDOMAttrImpl):
1334         (WebCore::InspectorController::characterDataModifiedImpl):
1335         (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
1336         * inspector/InspectorController.h:
1337         (WebCore::InspectorController::willInsertDOMNode):
1338         (WebCore::InspectorController::didInsertDOMNode):
1339         (WebCore::InspectorController::willRemoveDOMNode):
1340         (WebCore::InspectorController::willModifyDOMAttr):
1341         (WebCore::InspectorController::didModifyDOMAttr):
1342         (WebCore::InspectorController::characterDataModified):
1343         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
1344         (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
1345         (WebCore::InspectorController::inspectorControllerForNode):
1346         (WebCore::InspectorController::inspectorControllerForDocument):
1347         * inspector/InspectorInstrumentation.cpp: Removed.
1348         * inspector/InspectorInstrumentation.h: Removed.
1349         * workers/SharedWorker.cpp:
1350
1351 2010-09-29  Xiaomei Ji  <xji@chromium.org>
1352
1353         Reviewed by David Levin.
1354
1355         Performance improvement for FontLinux.
1356         https://bugs.webkit.org/show_bug.cgi?id=46374
1357
1358         Reduce new/delete operations by storing the maximum capacity of the glyph
1359         array and use that value in subsequent HB_ShapeItem calls. (Note that a
1360         call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
1361         capacity.)
1362
1363         Also be consistent with zero'ing the glyph arrays before calling 
1364         HB_ShapeItem.
1365
1366         There is no functionality changes so no new tests are added.
1367  
1368         * platform/graphics/chromium/FontLinux.cpp:
1369         (WebCore::TextRunWalker::createGlyphArrays):
1370         (WebCore::TextRunWalker::resetGlyphArrays):
1371         (WebCore::TextRunWalker::shapeGlyphs):
1372
1373 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
1374
1375         Reviewed by Pavel Feldman.
1376
1377         Web Inspector: extract Inspector Instrumentation API as a class.
1378         https://bugs.webkit.org/show_bug.cgi?id=46614
1379
1380         * CMakeLists.txt:
1381         * GNUmakefile.am:
1382         * WebCore.gypi:
1383         * WebCore.pro:
1384         * WebCore.xcodeproj/project.pbxproj:
1385         * bindings/js/JSXMLHttpRequestCustom.cpp:
1386         (WebCore::JSXMLHttpRequest::send):
1387         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1388         (WebCore::V8XMLHttpRequest::sendCallback):
1389         * dom/CharacterData.cpp:
1390         (WebCore::CharacterData::dispatchModifiedEvent):
1391         * dom/ContainerNode.cpp:
1392         (WebCore::ContainerNode::insertBefore):
1393         (WebCore::ContainerNode::parserInsertBefore):
1394         (WebCore::ContainerNode::replaceChild):
1395         (WebCore::ContainerNode::appendChild):
1396         (WebCore::ContainerNode::parserAddChild):
1397         (WebCore::notifyChildInserted):
1398         (WebCore::dispatchChildRemovalEvents):
1399         * dom/Element.cpp:
1400         (WebCore::Element::setAttribute):
1401         (WebCore::Element::removeAttribute):
1402         * inspector/InspectorController.cpp:
1403         (WebCore::InspectorController::InspectorController):
1404         (WebCore::InspectorController::~InspectorController):
1405         (WebCore::InspectorController::connectFrontend):
1406         (WebCore::InspectorController::disconnectFrontend):
1407         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
1408         * inspector/InspectorController.h:
1409         * inspector/InspectorInstrumentation.cpp: Added.
1410         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1411         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1412         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1413         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1414         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1415         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
1416         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
1417         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
1418         * inspector/InspectorInstrumentation.h: Added.
1419         (WebCore::InspectorInstrumentation::frontendCreated):
1420         (WebCore::InspectorInstrumentation::frontendDeleted):
1421         (WebCore::InspectorInstrumentation::hasFrontends):
1422         (WebCore::InspectorInstrumentation::willInsertDOMNode):
1423         (WebCore::InspectorInstrumentation::didInsertDOMNode):
1424         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
1425         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
1426         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
1427         (WebCore::InspectorInstrumentation::characterDataModified):
1428         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
1429         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
1430         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
1431         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
1432
1433 2010-09-29  David Hyatt  <hyatt@apple.com>
1434
1435         Reviewed by Sam Weinig.
1436
1437         https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
1438         to be block-flow-aware.
1439
1440         * rendering/RenderBlock.cpp:
1441         (WebCore::RenderBlock::layoutBlock):
1442         (WebCore::RenderBlock::handleAfterSideOfBlock):
1443         (WebCore::RenderBlock::layoutBlockChildren):
1444         * rendering/RenderBlock.h:
1445         * rendering/RenderBox.h:
1446         (WebCore::RenderBox::scrollbarLogicalHeight):
1447
1448 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
1449
1450         Reviewed by Antonio Gomes.
1451
1452         [EFL] General small fixes.
1453         https://bugs.webkit.org/show_bug.cgi?id=46813
1454
1455         This commit spots a comparison between signed and unsigned integer
1456         expressions, a missing return and a never-called function.
1457
1458         No new tests since no new funcionality has been added.
1459
1460         * platform/efl/SharedBufferEfl.cpp:
1461         (WebCore::SharedBuffer::createWithContentsOfFile):
1462
1463 2010-09-29  Philippe Normand  <pnormand@igalia.com>
1464
1465         Reviewed by Gustavo Noronha Silva.
1466
1467         build still broken since r68521
1468         https://bugs.webkit.org/show_bug.cgi?id=46795
1469
1470         Call make-values.pl once only. It seems calling it multiple times
1471         in the same build produces a wrong CSSValueKeywordsHash.h which
1472         has a duplicate declaration of its valueList variable. The double
1473         call is triggered by the double targets in the Makefile rules and
1474         makevalues.pl generates one of them, which screws up the build. A
1475         more proper fix should be done with the advices on
1476         http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make
1477
1478         * GNUmakefile.am:
1479
1480 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
1481
1482         Unreviewed build fix.
1483
1484         Fix CMake build for ENABLE_PROGRESS_TAG.
1485         https://bugs.webkit.org/show_bug.cgi?id=46808
1486
1487         No new tests since it's a build fix.
1488
1489         * CMakeLists.txt:
1490
1491 2010-09-29  Yury Semikhatsky  <yurys@chromium.org>
1492
1493         Reviewed by Pavel Feldman.
1494
1495         [v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
1496         https://bugs.webkit.org/show_bug.cgi?id=46803
1497
1498         No new tests. It's covered by existing tests under LayoutTests/storage
1499
1500         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1501         (WebCore::invokeCallback):
1502
1503 2010-09-29  Satish Sampath  <satish@chromium.org>
1504
1505         Reviewed by Jeremy Orlow.
1506
1507         Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
1508         https://bugs.webkit.org/show_bug.cgi?id=46799
1509
1510         * bindings/generic/RuntimeEnabledFeatures.h:
1511         (WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
1512         * css/CSSPrimitiveValueMappings.h:
1513         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1514         * css/CSSValueKeywords.in: Rename the css style name.
1515         * css/html.css: Rename the css style name.
1516         (input::-webkit-input-speech-button):
1517         * html/HTMLAttributeNames.in: Rename the @speech attribute.
1518         * html/HTMLInputElement.cpp: Update code using the attribute.
1519         (WebCore::HTMLInputElement::parseMappedAttribute):
1520         (WebCore::HTMLInputElement::isSpeechEnabled):
1521         * html/HTMLInputElement.idl: Rename the @speech attribute.
1522
1523 2010-09-29  MORITA Hajime  <morrita@google.com>
1524
1525         [Chromium] failed to build without ACCELERATED_COMPOSITING
1526         https://bugs.webkit.org/show_bug.cgi?id=46793
1527
1528         Moved constant definitions from inside ACCELERATED_COMPOSITING to
1529         outside of the condition.
1530         
1531         * WebCore.gypi:
1532         * platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
1533         * platform/graphics/chromium/VideoLayerChromium.cpp:
1534
1535 2010-09-28  Pavel Feldman  <pfeldman@chromium.org>
1536
1537         Reviewed by Timothy Hatcher.
1538
1539         Web Inspector: [Resources panel] Need more visible "at a glance".
1540         https://bugs.webkit.org/show_bug.cgi?id=45657
1541
1542         * WebCore.gypi:
1543         * WebCore.vcproj/WebCore.vcproj:
1544         * inspector/front-end/DataGrid.js:
1545         (WebInspector.DataGrid):
1546         (WebInspector.DataGrid.prototype.updateWidths):
1547         (WebInspector.DataGrid.prototype.sortNodes):
1548         (WebInspector.DataGrid.prototype._resizerDragging):
1549         (WebInspector.DataGrid.prototype._endResizerDragging):
1550         (WebInspector.DataGridNode.prototype.selectable.true.get element):
1551         (WebInspector.DataGridNode.prototype.createCells):
1552         (WebInspector.DataGridNode.prototype.refresh):
1553         * inspector/front-end/Images/networkIcon.png: Copied from WebCore/inspector/front-end/Images/resourcesIcon.png.
1554         * inspector/front-end/NetworkPanel.js: Added.
1555         * inspector/front-end/Settings.js:
1556         * inspector/front-end/WebKit.qrc:
1557         * inspector/front-end/inspector.css:
1558         (.toolbar-item.network .toolbar-icon):
1559         (.data-grid .data-container):
1560         * inspector/front-end/inspector.html:
1561         * inspector/front-end/inspector.js:
1562         (WebInspector._createPanels):
1563         (WebInspector.updateResource):
1564         * inspector/front-end/networkPanel.css: Added.
1565
1566 2010-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
1567
1568         Reviewed by Yury Semikhatsky.
1569
1570         Web Inspector: move pauseOnExceptionState under control of InspectorState
1571         It is Inspector Protocol cleanup activity.
1572         The actual state of this flag can be obtained as a return value of setPauseOnExceptionState command
1573         or as a value in InspectorState object.
1574
1575         https://bugs.webkit.org/show_bug.cgi?id=46724
1576
1577         * inspector/Inspector.idl:
1578         * inspector/InspectorController.cpp:
1579         (WebCore::InspectorController::getInspectorState):
1580         (WebCore::InspectorController::populateScriptObjects):
1581         * inspector/InspectorDebuggerAgent.cpp:
1582         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1583         (WebCore::InspectorDebuggerAgent::pauseOnExceptionsState):
1584         * inspector/InspectorDebuggerAgent.h:
1585         * inspector/front-end/ScriptsPanel.js:
1586         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
1587         * inspector/front-end/inspector.js:
1588         (WebInspector.doLoadedDone.populateInspectorState):
1589         (WebInspector.doLoadedDone):
1590         (WebInspector.reportProtocolError):
1591
1592 2010-09-28  Philippe Normand  <pnormand@igalia.com>
1593
1594         Reviewed by Martin Robinson.
1595
1596         check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
1597         https://bugs.webkit.org/show_bug.cgi?id=46717
1598
1599         Guard the gstreamer/ files with USE(GSTREAMER), which is more
1600         explicit than ENABLE(VIDEO).
1601
1602         * GNUmakefile.am: Define WTF_USE_GSTREAMER only if GStreamer
1603         support is enabled.
1604         * platform/graphics/gstreamer/DataSourceGStreamer.cpp:
1605         * platform/graphics/gstreamer/DataSourceGStreamer.h:
1606         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
1607         * platform/graphics/gstreamer/GOwnPtrGStreamer.h:
1608         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1609         * platform/graphics/gstreamer/GStreamerGWorld.h:
1610         * platform/graphics/gstreamer/ImageGStreamer.h:
1611         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
1612         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1613         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1614         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1615         * platform/graphics/gstreamer/PlatformVideoWindow.h:
1616         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
1617         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
1618         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1619         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
1620         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1621         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
1622
1623 2010-09-28  Kent Tamura  <tkent@chromium.org>
1624
1625         Unreviewed, windows build fix for r68629.
1626
1627         * WebCore.vcproj/WebCore.vcproj: Add TimeInputType.{cpp,h}
1628
1629 2010-09-28  Johnny Ding  <jnd@chromium.org>
1630
1631         Reviewed by Adam Barth.
1632
1633         https://bugs.webkit.org/show_bug.cgi?id=41292
1634         Pass the right popupAllowed flag to current execution frame,
1635         so WebKit can get right gesture status for popups initiated
1636         from plugins.
1637         This also makes v8 binding's ScriptController::processingUserGesture
1638         match what jsc version.
1639
1640         Test: plugins/plugin-initiate-popup-window.html
1641
1642         * bindings/v8/NPV8Object.cpp:
1643         (_NPN_EvaluateHelper):
1644         * bindings/v8/ScriptController.cpp:
1645         (WebCore::ScriptController::ScriptController):
1646         (WebCore::ScriptController::processingUserGesture):
1647         * bindings/v8/ScriptController.h:
1648         (WebCore::ScriptController::setAllowPopupsFromPlugin):
1649         (WebCore::ScriptController::allowPopupsFromPlugin):
1650
1651 2010-09-28  Kent Tamura  <tkent@chromium.org>
1652
1653         Reviewed by Darin Adler.
1654
1655         Refactor HTMLInputElement: Introducing InputType class and classes
1656         for each input element types.
1657         https://bugs.webkit.org/show_bug.cgi?id=45872
1658
1659         No new tests because this doesn't change any behavior.
1660
1661         * Android.mk: Add new files.
1662         * CMakeLists.txt: ditto.
1663         * GNUmakefile.am: ditto.
1664         * WebCore.gypi: ditto.
1665         * WebCore.pro: ditto.
1666         * WebCore.vcproj/WebCore.vcproj: ditto.
1667         * WebCore.xcodeproj/project.pbxproj: ditto.
1668         * html/BaseTextInputType.cpp: Added.
1669         (WebCore::BaseTextInputType::isTextType):
1670         (WebCore::BaseTextInputType::patternMismatch):
1671         * html/BaseTextInputType.h: Added.
1672         (WebCore::BaseTextInputType::BaseTextInputType):
1673         * html/ButtonInputType.cpp: Added.
1674         (WebCore::ButtonInputType::create):
1675         (WebCore::ButtonInputType::formControlType):
1676         * html/ButtonInputType.h: Added.
1677         (WebCore::ButtonInputType::ButtonInputType):
1678         * html/CheckboxInputType.cpp: Added.
1679         (WebCore::CheckboxInputType::create):
1680         (WebCore::CheckboxInputType::formControlType):
1681         * html/CheckboxInputType.h: Added.
1682         (WebCore::CheckboxInputType::CheckboxInputType):
1683         * html/ColorInputType.cpp: Added.
1684         (WebCore::ColorInputType::create):
1685         (WebCore::ColorInputType::formControlType):
1686         * html/ColorInputType.h: Added.
1687         (WebCore::ColorInputType::ColorInputType):
1688         * html/DateInputType.cpp: Added.
1689         (WebCore::DateInputType::create):
1690         (WebCore::DateInputType::formControlType):
1691         * html/DateInputType.h: Added.
1692         (WebCore::DateInputType::DateInputType):
1693         * html/DateTimeInputType.cpp: Added.
1694         (WebCore::DateTimeInputType::create):
1695         (WebCore::DateTimeInputType::formControlType):
1696         * html/DateTimeInputType.h: Added.
1697         (WebCore::DateTimeInputType::DateTimeInputType):
1698         * html/DateTimeLocalInputType.cpp: Added.
1699         (WebCore::DateTimeLocalInputType::create):
1700         (WebCore::DateTimeLocalInputType::formControlType):
1701         * html/DateTimeLocalInputType.h: Added.
1702         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
1703         * html/EmailInputType.cpp: Added.
1704         (WebCore::EmailInputType::create):
1705         (WebCore::EmailInputType::formControlType):
1706         * html/EmailInputType.h: Added.
1707         (WebCore::EmailInputType::EmailInputType):
1708         * html/FileInputType.cpp: Added.
1709         (WebCore::FileInputType::create):
1710         (WebCore::FileInputType::formControlType):
1711         * html/FileInputType.h: Added.
1712         (WebCore::FileInputType::FileInputType):
1713         * html/HTMLInputElement.cpp:
1714         (WebCore::HTMLInputElement::HTMLInputElement): Initialize m_inputType.
1715         (WebCore::HTMLInputElement::patternMismatch): Delegate to InputType.
1716         (WebCore::HTMLInputElement::updateType): Update m_inputType with new type.
1717         (WebCore::HTMLInputElement::formControlType): Delegate to InputType.
1718         (WebCore::HTMLInputElement::isTextField): ditto.
1719         (WebCore::HTMLInputElement::isTextType): ditto.
1720         * html/HTMLInputElement.h:
1721         * html/HiddenInputType.cpp: Added.
1722         (WebCore::HiddenInputType::create):
1723         (WebCore::HiddenInputType::formControlType):
1724         * html/HiddenInputType.h: Added.
1725         (WebCore::HiddenInputType::HiddenInputType):
1726         * html/ImageInputType.cpp: Added.
1727         (WebCore::ImageInputType::create):
1728         (WebCore::ImageInputType::formControlType):
1729         * html/ImageInputType.h: Added.
1730         (WebCore::ImageInputType::ImageInputType):
1731         * html/InputType.cpp: Added.
1732         (WebCore::createInputTypeFactoryMap):
1733         (WebCore::InputType::create):
1734         (WebCore::InputType::createText):
1735         (WebCore::InputType::~InputType):
1736         (WebCore::InputType::isTextField):
1737         (WebCore::InputType::isTextType):
1738         (WebCore::InputType::patternMismatch):
1739         (WebCore::InputTypeNames::button):
1740         (WebCore::InputTypeNames::checkbox):
1741         (WebCore::InputTypeNames::color):
1742         (WebCore::InputTypeNames::date):
1743         (WebCore::InputTypeNames::datetime):
1744         (WebCore::InputTypeNames::datetimelocal):
1745         (WebCore::InputTypeNames::email):
1746         (WebCore::InputTypeNames::file):
1747         (WebCore::InputTypeNames::hidden):
1748         (WebCore::InputTypeNames::image):
1749         (WebCore::InputTypeNames::isindex):
1750         (WebCore::InputTypeNames::month):
1751         (WebCore::InputTypeNames::number):
1752         (WebCore::InputTypeNames::password):
1753         (WebCore::InputTypeNames::radio):
1754         (WebCore::InputTypeNames::range):
1755         (WebCore::InputTypeNames::reset):
1756         (WebCore::InputTypeNames::search):
1757         (WebCore::InputTypeNames::submit):
1758         (WebCore::InputTypeNames::telephone):
1759         (WebCore::InputTypeNames::text):
1760         (WebCore::InputTypeNames::time):
1761         (WebCore::InputTypeNames::url):
1762         (WebCore::InputTypeNames::week):
1763         * html/InputType.h: Added.
1764         (WebCore::InputType::InputType):
1765         (WebCore::InputType::element):
1766         * html/IsIndexInputType.cpp: Added.
1767         (WebCore::IsIndexInputType::create):
1768         (WebCore::IsIndexInputType::formControlType):
1769         * html/IsIndexInputType.h: Added.
1770         (WebCore::IsIndexInputType::IsIndexInputType):
1771         * html/MonthInputType.cpp: Added.
1772         (WebCore::MonthInputType::create):
1773         (WebCore::MonthInputType::formControlType):
1774         * html/MonthInputType.h: Added.
1775         (WebCore::MonthInputType::MonthInputType):
1776         * html/NumberInputType.cpp: Added.
1777         (WebCore::NumberInputType::create):
1778         (WebCore::NumberInputType::formControlType):
1779         * html/NumberInputType.h: Added.
1780         (WebCore::NumberInputType::NumberInputType):
1781         * html/PasswordInputType.cpp: Added.
1782         (WebCore::PasswordInputType::create):
1783         (WebCore::PasswordInputType::formControlType):
1784         * html/PasswordInputType.h: Added.
1785         (WebCore::PasswordInputType::PasswordInputType):
1786         * html/RadioInputType.cpp: Added.
1787         (WebCore::RadioInputType::create):
1788         (WebCore::RadioInputType::formControlType):
1789         * html/RadioInputType.h: Added.
1790         (WebCore::RadioInputType::RadioInputType):
1791         * html/RangeInputType.cpp: Added.
1792         (WebCore::RangeInputType::create):
1793         (WebCore::RangeInputType::formControlType):
1794         * html/RangeInputType.h: Added.
1795         (WebCore::RangeInputType::RangeInputType):
1796         * html/ResetInputType.cpp: Added.
1797         (WebCore::ResetInputType::create):
1798         (WebCore::ResetInputType::formControlType):
1799         * html/ResetInputType.h: Added.
1800         (WebCore::ResetInputType::ResetInputType):
1801         * html/SearchInputType.cpp: Added.
1802         (WebCore::SearchInputType::create):
1803         (WebCore::SearchInputType::formControlType):
1804         * html/SearchInputType.h: Added.
1805         (WebCore::SearchInputType::SearchInputType):
1806         * html/SubmitInputType.cpp: Added.
1807         (WebCore::SubmitInputType::create):
1808         (WebCore::SubmitInputType::formControlType):
1809         * html/SubmitInputType.h: Added.
1810         (WebCore::SubmitInputType::SubmitInputType):
1811         * html/TelephoneInputType.cpp: Added.
1812         (WebCore::TelephoneInputType::create):
1813         (WebCore::TelephoneInputType::formControlType):
1814         * html/TelephoneInputType.h: Added.
1815         (WebCore::TelephoneInputType::TelephoneInputType):
1816         * html/TextFieldInputType.cpp: Added.
1817         (WebCore::TextFieldInputType::isTextField):
1818         * html/TextFieldInputType.h: Added.
1819         (WebCore::TextFieldInputType::TextFieldInputType):
1820         * html/TextInputType.cpp: Added.
1821         (WebCore::TextInputType::create):
1822         (WebCore::TextInputType::formControlType):
1823         * html/TextInputType.h: Added.
1824         (WebCore::TextInputType::TextInputType):
1825         * html/TimeInputType.cpp: Added.
1826         (WebCore::TimeInputType::create):
1827         (WebCore::TimeInputType::formControlType):
1828         * html/TimeInputType.h: Added.
1829         (WebCore::TimeInputType::TimeInputType):
1830         * html/URLInputType.cpp: Added.
1831         (WebCore::URLInputType::create):
1832         (WebCore::URLInputType::formControlType):
1833         * html/URLInputType.h: Added.
1834         (WebCore::URLInputType::URLInputType):
1835         * html/WeekInputType.cpp: Added.
1836         (WebCore::WeekInputType::create):
1837         (WebCore::WeekInputType::formControlType):
1838         * html/WeekInputType.h: Added.
1839         (WebCore::WeekInputType::WeekInputType):
1840
1841 2010-09-28  David Hyatt  <hyatt@apple.com>
1842
1843         Reviewed by Maciej Stachowiak.
1844
1845         https://bugs.webkit.org/show_bug.cgi?id=46782, rename the top and bottom margin quirk getters/setters.
1846
1847         Also do a bit of cleanup for block flow roots.  Make sure they don't try to propagate overhanging floats out
1848         to ancestors.
1849
1850         * rendering/RenderBlock.cpp:
1851         (WebCore::RenderBlock::layoutBlock):
1852         (WebCore::RenderBlock::collapseMargins):
1853         (WebCore::RenderBlock::setCollapsedBottomMargin):
1854         (WebCore::RenderBlock::addOverhangingFloats):
1855         * rendering/RenderObject.cpp:
1856         (WebCore::RenderObject::RenderObject):
1857         * rendering/RenderObject.h:
1858         (WebCore::RenderObject::isMarginBeforeQuirk):
1859         (WebCore::RenderObject::isMarginAfterQuirk):
1860         (WebCore::RenderObject::setMarginBeforeQuirk):
1861         (WebCore::RenderObject::setMarginAfterQuirk):
1862
1863 2010-09-28  David Hyatt  <hyatt@apple.com>
1864
1865         Reviewed by Sam Weinig.
1866
1867         https://bugs.webkit.org/show_bug.cgi?id=46780
1868         
1869         Rename the pos/neg/collapsed margin methods.  Rename all the members of the RenderBlockRareData struct.
1870         No logical changes.  Just renames.
1871
1872         * editing/TextIterator.cpp:
1873         (WebCore::shouldEmitExtraNewlineForNode):
1874         * rendering/RenderBlock.cpp:
1875         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1876         (WebCore::RenderBlock::layoutBlock):
1877         (WebCore::RenderBlock::collapseMargins):
1878         (WebCore::RenderBlock::clearFloatsIfNeeded):
1879         (WebCore::RenderBlock::estimateVerticalPosition):
1880         (WebCore::RenderBlock::setCollapsedBottomMargin):
1881         (WebCore::RenderBlock::layoutBlockChild):
1882         (WebCore::RenderBlock::paintChildren):
1883         (WebCore::RenderBlock::lowestPosition):
1884         (WebCore::RenderBlock::setMaxMarginBeforeValues):
1885         (WebCore::RenderBlock::setMaxMarginAfterValues):
1886         (WebCore::RenderBlock::absoluteRects):
1887         (WebCore::RenderBlock::absoluteQuads):
1888         (WebCore::RenderBlock::rectWithOutlineForRepaint):
1889         (WebCore::RenderBlock::addFocusRingRects):
1890         * rendering/RenderBlock.h:
1891         (WebCore::RenderBlock::maxPosMarginBefore):
1892         (WebCore::RenderBlock::maxNegMarginBefore):
1893         (WebCore::RenderBlock::maxPosMarginAfter):
1894         (WebCore::RenderBlock::maxNegMarginAfter):
1895         (WebCore::RenderBlock::initMaxMarginValues):
1896         (WebCore::RenderBlock::maxMarginBefore):
1897         (WebCore::RenderBlock::maxMarginAfter):
1898         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1899         (WebCore::RenderBlock::RenderBlockRareData::beforePosDefault):
1900         (WebCore::RenderBlock::RenderBlockRareData::beforeNegDefault):
1901         (WebCore::RenderBlock::RenderBlockRareData::afterPosDefault):
1902         (WebCore::RenderBlock::RenderBlockRareData::afterNegDefault):
1903         * rendering/RenderBox.cpp:
1904         (WebCore::RenderBox::computeLogicalHeight):
1905         * rendering/RenderBox.h:
1906         (WebCore::RenderBox::collapsedMarginBefore):
1907         (WebCore::RenderBox::collapsedMarginAfter):
1908         (WebCore::RenderBox::maxMarginBefore):
1909         (WebCore::RenderBox::maxMarginAfter):
1910         * rendering/RenderFlexibleBox.cpp:
1911         (WebCore::RenderFlexibleBox::layoutBlock):
1912
1913 2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>
1914
1915         [wx] wxMSW build fix. Don't use multiple inheritance in PopupMenuWx to avoid debug build
1916         compiler error about ambiguity over which new override (wx's or FastAllocBase's) to use.
1917
1918         * platform/wx/PopupMenuWx.cpp:
1919         (WebCore::PopupMenuEventHandler::PopupMenuEventHandler):
1920         (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
1921         (WebCore::PopupMenuWx::PopupMenuWx):
1922         (WebCore::PopupMenuWx::show):
1923         * platform/wx/PopupMenuWx.h:
1924
1925 2010-09-28  Xiaomei Ji  <xji@chromium.org>
1926
1927         Reviewed by NOBODY (revert unsquashed git commits)
1928
1929         Revert change sets 68583 to 68590, which are un-squashed git-commits: Performance improvement for FontLinux regarding issue 46374.
1930         https://bugs.webkit.org/show_bug.cgi?id=46374
1931
1932 2010-09-28  Marc-Antoine Ruel  <maruel@chromium.org>
1933
1934         Reviewed by Tony Chang.
1935
1936         Split webcore_html off webcore_remaining.
1937
1938         webcore_remaining is still too large for certain 32 bits toolsets.
1939         https://bugs.webkit.org/show_bug.cgi?id=46445
1940
1941         * WebCore.gyp/WebCore.gyp:
1942
1943 2010-09-28  Jia Pu  <jpu@apple.com>
1944
1945         Reviewed by Dan Bernstein.
1946
1947         Delete and forward delete shouldn't start autocorrection panel timer.
1948         https://bugs.webkit.org/show_bug.cgi?id=46679
1949         <rdar://problem/8463917>
1950
1951         * editing/TypingCommand.cpp:
1952         (WebCore::TypingCommand::markMisspellingsAfterTyping): Only start correction panel timer
1953           when the editing command is InsertText.
1954         (WebCore::TypingCommand::typingAddedToOpenCommand): Add an argument to pass in command type.
1955
1956         * editing/TypingCommand.h: Add an argument to typingAddedToOpenCommand().
1957
1958 2010-09-28  Mihai Parparita  <mihaip@chromium.org>
1959
1960         Reviewed by Dimitri Glazkov.
1961
1962         No back/forward list entry added when submitting a form via an onclick handler inside a frame
1963         https://bugs.webkit.org/show_bug.cgi?id=44140
1964         
1965         Lock the back/forward list for JavaScript form submissions inside frames
1966         only if they're not in response to user gestures.
1967
1968         Tests: fast/history/form-submit-in-frame-via-onclick.html
1969                fast/history/form-submit-in-frame.html
1970
1971         * loader/RedirectScheduler.cpp:
1972         (WebCore::RedirectScheduler::scheduleFormSubmission):
1973
1974 2010-09-28  David Hyatt  <hyatt@apple.com>
1975
1976         Reviewed by Sam Weinig.
1977
1978         Fix typo in previous checkin.
1979
1980         * rendering/RenderBlock.cpp:
1981         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1982
1983 2010-09-28  Nat Duca  <nduca@chromium.org>
1984
1985         Reviewed by James Robinson.
1986
1987         [chromium] invalidateRootLayerRect needs to schedule compositor
1988         https://bugs.webkit.org/show_bug.cgi?id=46219
1989
1990         Update comments on LayerChromium commit/display functions to clarify
1991         their limitations. Remove unused dirtying logic from 
1992         LayerRendererChromium.
1993
1994         * platform/graphics/chromium/LayerChromium.cpp:
1995         (WebCore::LayerChromium::setNeedsCommit):
1996         (WebCore::LayerChromium::setNeedsDisplay):
1997         * platform/graphics/chromium/LayerRendererChromium.cpp:
1998         (WebCore::LayerRendererChromium::LayerRendererChromium):
1999         (WebCore::LayerRendererChromium::present):
2000         * platform/graphics/chromium/LayerRendererChromium.h:
2001
2002 2010-09-28  Jenn Braithwaite  <jennb@chromium.org>
2003
2004         Reviewed by Dmitry Titov.
2005
2006         Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
2007         https://bugs.webkit.org/show_bug.cgi?id=46663
2008
2009         No new tests. API addition only. Will be used in separate patch.
2010
2011         * loader/EmptyClients.h:
2012         (WebCore::EmptyFrameLoaderClient::didTransferChildFrameToNewDocument):
2013         * loader/FrameLoaderClient.h:
2014         * page/Frame.cpp:
2015         (WebCore::Frame::transferChildFrameToNewDocument):
2016         Pass former page to didTransferChildFrameToNewDocument.
2017
2018 2010-09-28  W. James MacLean  <wjmaclean@chromium.org>
2019
2020         Reviewed by James Robinson.
2021
2022         Scaled Resized images are blurred when sent to Skia
2023         https://bugs.webkit.org/show_bug.cgi?id=42370
2024
2025         This patch modifies ImageSkia.cpp to fix the calculation of resampled
2026         bitmap sizes so as to include the transform matrix of the canvas.
2027
2028         Test: svg/custom/image-rescale.svg
2029
2030         * platform/graphics/skia/ImageSkia.cpp:
2031         (WebCore::computeResamplingMode):
2032         (WebCore::drawResampledBitmap):
2033
2034 2010-09-28  James Robinson  <jamesr@chromium.org>
2035
2036         [chromium] Decrease warning level on chromium linux temporarily. This is causing failures on some bots
2037
2038         * WebCore.gyp/WebCore.gyp:
2039
2040 2010-09-27  James Robinson  <jamesr@chromium.org>
2041
2042         Reviewed by Tony Chang.
2043
2044         [chromium] Increase warning level for chromium linux build
2045         https://bugs.webkit.org/show_bug.cgi?id=46687
2046
2047         This sets the chromium_code gyp variable to 1 for the chromium
2048         linux WebCore build and fixes the warnings that exposes.  This
2049         matches the chromium mac build's compiler settings more closely
2050         and should cut down on the number of patches that break mac but
2051         compile cleaning on linux.
2052
2053         * WebCore.gyp/WebCore.gyp:
2054         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2055         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2056         * platform/graphics/chromium/FontLinux.cpp:
2057         (WebCore::TextRunWalker::nextScriptRun):
2058         (WebCore::TextRunWalker::getTextRun):
2059         (WebCore::TextRunWalker::getNormalizedTextRun):
2060         (WebCore::TextRunWalker::setGlyphXPositions):
2061         (WebCore::glyphIndexForXPositionInScriptRun):
2062         (WebCore::Font::offsetForPositionForComplexText):
2063         (WebCore::Font::selectionRectForComplexText):
2064         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2065         (WebCore::getOutlinePoint):
2066         * platform/graphics/chromium/LayerRendererChromium.cpp:
2067         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
2068         * platform/graphics/gpu/Texture.cpp:
2069         (WebCore::copySubRect):
2070         * platform/graphics/skia/PlatformContextSkia.cpp:
2071         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2072         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2073         (WebCore::GIFImageDecoder::setSize):
2074         * platform/image-decoders/gif/GIFImageDecoder.h:
2075
2076 2010-09-28  Stephen White  <senorblanco@chromium.org>
2077
2078         Reviewed by Csaba Osztrogonác.
2079
2080         Fix for r68521 to build on VS2008/Release.
2081
2082         * html/DocTypeStrings.gperf:
2083         Don't emit "#include <string.h>" here, since we're inside a namespace.
2084         * make-hash-tools.pl:
2085         Emit #include <string.h> manually where required.
2086         * platform/ColorData.gperf:
2087         Don't emit "#include <string.h>" here, since we're inside a namespace.
2088
2089 2010-09-28  David Hyatt  <hyatt@apple.com>
2090
2091         Reviewed by Sam Weinig.
2092
2093         Right now we have two properties named margin-top-collapse and margin-after-collapse.  They are proprietary and only used by Safari RSS.
2094
2095         I am adding margin-before-collapse and margin-after-collapse and just aliasing the old properties to the new ones.
2096         This way we have some names that are directionally independent.
2097
2098         Note that these properties aren't like other directional properties.  They are about what to do with the before side and after side of
2099         your block's margins when collapsing with adjacent blocks.  The meaning of before/after depend on the block-flow directionality
2100         of the containing block.
2101
2102         Computed style tests all changed and the remove-shorthand.html test covers manipulation of the shorthand.
2103
2104         * css/CSSComputedStyleDeclaration.cpp:
2105         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2106         * css/CSSParser.cpp:
2107         (WebCore::CSSParser::parseValue):
2108         * css/CSSPropertyLonghand.cpp:
2109         (WebCore::initShorthandMap):
2110         * css/CSSPropertyNames.in:
2111         * css/CSSStyleSelector.cpp:
2112         (WebCore::CSSStyleSelector::applyProperty):
2113         * rendering/RenderBlock.cpp:
2114         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2115         (WebCore::RenderBlock::isSelfCollapsingBlock):
2116         (WebCore::RenderBlock::collapseMargins):
2117         (WebCore::RenderBlock::layoutBlockChild):
2118         * rendering/style/RenderStyle.cpp:
2119         (WebCore::RenderStyle::diff):
2120         * rendering/style/RenderStyle.h:
2121         (WebCore::InheritedFlags::marginBeforeCollapse):
2122         (WebCore::InheritedFlags::marginAfterCollapse):
2123         (WebCore::InheritedFlags::setMarginBeforeCollapse):
2124         (WebCore::InheritedFlags::setMarginAfterCollapse):
2125         (WebCore::InheritedFlags::initialMarginBeforeCollapse):
2126         (WebCore::InheritedFlags::initialMarginAfterCollapse):
2127         * rendering/style/StyleRareNonInheritedData.cpp:
2128         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2129         (WebCore::StyleRareNonInheritedData::operator==):
2130         * rendering/style/StyleRareNonInheritedData.h:
2131
2132 2010-09-28  Martin Robinson  <mrobinson@igalia.com>
2133
2134         Reviewed by Gustavo Noronha Silva.
2135
2136         [Cairo] FreeType fonts should obey FontConfig hinting/anti-aliasing settings
2137         https://bugs.webkit.org/show_bug.cgi?id=46740
2138
2139         When creating a font from a FontConfig pattern, use the FontConfig pattern's
2140         hinting and anti-aliasing settings. This follows the Chromium Linux approach
2141         of having FontConfig settings take precedence over GTK+ settings, as GTK+
2142         settings cannot be configured per-font and per-font-size.
2143
2144         Test: platform/gtk/fonts/fontconfig-aliasing-settings.html
2145
2146         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
2147         (WebCore::convertFontConfigSubpixelOrder): Added this helper which converts
2148         the FontConfig subpixel order into the cairo equivalent.
2149         (WebCore::convertFontConfigHintStyle): Added this helper which converts the
2150         FontConfig hint style into the cairo equivalent.
2151         (WebCore::setCairoFontOptionsFromFontConfigPattern): Added this helper which
2152         reads the font rendering settings from a pattern and translates them into the
2153         appropriate cairo_font_options_t settings.
2154         (WebCore::FontPlatformData::FontPlatformData): When creating a font from a
2155         FontConfig pattern use setCairoFontOptionsFromFontConfigPattern to get the
2156         appropriate rendering options for the font.
2157
2158 2010-09-28  Sam Weinig  <sam@webkit.org>
2159
2160         Reviewed by Darin Adler and Dave Hyatt.
2161
2162         Vertical scroll bar on apple.com is too short with WebKit2
2163         <rdar://problem/8379230>
2164         https://bugs.webkit.org/show_bug.cgi?id=46739
2165
2166         Adds a function to recalculate the scrollbars to take advantage of
2167         a changed window re-sizer rect.
2168
2169         * WebCore.exp.in:
2170         * platform/ScrollView.cpp:
2171         (WebCore::ScrollView::windowResizerRectChanged):
2172         * platform/ScrollView.h:
2173
2174 2010-09-28  David Hyatt  <hyatt@apple.com>
2175
2176         Reviewed by Sam Weinig.
2177
2178         https://bugs.webkit.org/show_bug.cgi?id=46750
2179         
2180         Rename the MarginInfo members and functions to be block-flow independent.
2181
2182         * rendering/RenderBlock.cpp:
2183         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2184         (WebCore::RenderBlock::adjustPositionedBlock):
2185         (WebCore::RenderBlock::adjustFloatingBlock):
2186         (WebCore::RenderBlock::collapseMargins):
2187         (WebCore::RenderBlock::clearFloatsIfNeeded):
2188         (WebCore::RenderBlock::estimateVerticalPosition):
2189         (WebCore::RenderBlock::setCollapsedBottomMargin):
2190         (WebCore::RenderBlock::handleBottomOfBlock):
2191         (WebCore::RenderBlock::layoutBlockChild):
2192         (WebCore::RenderBlock::applyAfterBreak):
2193         * rendering/RenderBlock.h:
2194         (WebCore::RenderBlock::MarginInfo::setAtBeforeSideOfBlock):
2195         (WebCore::RenderBlock::MarginInfo::setAtAfterSideOfBlock):
2196         (WebCore::RenderBlock::MarginInfo::setMarginBeforeQuirk):
2197         (WebCore::RenderBlock::MarginInfo::setMarginAfterQuirk):
2198         (WebCore::RenderBlock::MarginInfo::setDeterminedMarginBeforeQuirk):
2199         (WebCore::RenderBlock::MarginInfo::atBeforeSideOfBlock):
2200         (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginBefore):
2201         (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginAfter):
2202         (WebCore::RenderBlock::MarginInfo::canCollapseMarginBeforeWithChildren):
2203         (WebCore::RenderBlock::MarginInfo::canCollapseMarginAfterWithChildren):
2204         (WebCore::RenderBlock::MarginInfo::determinedMarginBeforeQuirk):
2205         (WebCore::RenderBlock::MarginInfo::marginBeforeQuirk):
2206         (WebCore::RenderBlock::MarginInfo::marginAfterQuirk):
2207
2208 2010-09-28  Dan Bernstein  <mitz@apple.com>
2209
2210         Reviewed by Darin Adler.
2211
2212         Improved the handling of soft hyphens in Copy and Find operations, addressing the following
2213         bugs:
2214
2215         <rdar://problem/7938878> Soft hyphenation and the clipboard
2216         https://bugs.webkit.org/show_bug.cgi?id=11154
2217
2218         window.getSelection().toString() breaks soft hyphen &shy;
2219         https://bugs.webkit.org/show_bug.cgi?id=26774
2220
2221         <rdar://problem/5640505> soft hyphen breaks search function
2222         https://bugs.webkit.org/show_bug.cgi?id=16675
2223
2224         Test: fast/text/find-soft-hyphen.html
2225
2226         Changed line layout code to not skip over soft hyphens but rather include them in the text
2227         boxes. Changed font code to render the soft hyphen character as a zero width space, so that
2228         the former change will not affect rendering of soft hyphens in the middle of the line. Also
2229         changed line layout code to mark text boxes where hyphenation occurred due to a soft hyphen
2230         as hyphenated, so that the hyphen string specified in CSS will be appended to them.
2231
2232         Not omitting the soft hyphens from the text boxes makes the text iterator emit them, which
2233         solves the Copy and plain-text conversion issues. Previously, the iterator would emit a space
2234         to account for non-rendered characters between adjacent boxes, which was wrong in this case.
2235
2236         To make Find work, soft hyphens are folded into 0, which is ignorable in the collation used
2237         for Find.
2238
2239         * editing/TextIterator.cpp:
2240         (WebCore::foldQuoteMarkOrSoftHyphen): Renamed foldQuoteMark() to this and added folding of
2241         soft hyphen to 0.
2242         (WebCore::foldQuoteMarksAndSoftHyphens): Renamed foldQuoteMarks() to thid and added folding
2243         of soft hyphen to 0.
2244         (WebCore::SearchBuffer::SearchBuffer): Updated for renames.
2245         (WebCore::SearchBuffer::append): Ditto.
2246         * platform/graphics/Font.h:
2247         (WebCore::Font::treatAsSpace): Replaced number literal with name.
2248         (WebCore::Font::treatAsZeroWidthSpace): Added softHyphen.
2249         * platform/graphics/GlyphPageTreeNode.cpp:
2250         (WebCore::GlyphPageTreeNode::initializePage): Get the zero width space glyph for soft hyphen.
2251         * platform/graphics/mac/ComplexTextController.cpp:
2252         (WebCore::ComplexTextController::collectComplexTextRuns): Removed special handling that made
2253         a trailing soft hyphen render as hyphen-minus. All soft hyphens are now rendered as zero width
2254         spaces, and where a line break actually occurs at a soft hyphen, rendering code appends the
2255         CSS-specified hyphenate character to the text run that is passed to us here.
2256         * rendering/RenderBlockLineLayout.cpp:
2257         (WebCore::chopMidpointsAt): Removed this function, which was only used for skipping over soft
2258         hyphens.
2259         (WebCore::checkMidpoints): Removed code related to skipping over soft hyphens.
2260         (WebCore::RenderBlock::findNextLineBreak): Removed code to skip over soft hyphens. Ignore
2261         a line break opportunity at a soft hyphen if the style specifies 'hyphens: none'. Set
2262         'hyphenated' to true if a line break occurs at a soft hyphen.
2263         * rendering/style/RenderStyle.cpp:
2264         (WebCore::RenderStyle::hyphenString): Changed the assertion to allow querying for the hyphen
2265         string for 'hyphens: manual'.
2266
2267 2010-09-28  Martin Robinson  <mrobinson@igalia.com>
2268
2269         More GTK+ build fixes after r68521.
2270
2271         * GNUmakefile.am: Added proper dependency tracking for some
2272         new autogenerated files.
2273
2274 2010-09-28  Andreas Kling  <andreas.kling@nokia.com>
2275
2276         Reviewed by Kenneth Rohde Christiansen.
2277
2278         [Qt] Text drawing taints GraphicsContext's QPainter::pen()
2279         https://bugs.webkit.org/show_bug.cgi?id=46744
2280
2281         Test: fast/canvas/canvas-style-intact-after-text.html
2282
2283         * platform/graphics/qt/FontQt.cpp:
2284         (WebCore::drawTextCommon): Make sure the QPainter's pen is
2285         restored after filling and/or stroking text.
2286
2287 2010-09-28  Jia Pu  <jpu@apple.com>
2288
2289         Reviewed by Dan Bernstein.
2290
2291         Autocorrection panel is shown at incorrect location when WebView is scrolled.
2292         https://bugs.webkit.org/show_bug.cgi?id=46531
2293         <rdar://problem/8455376>
2294
2295         * dom/Range.h: Make getBorderAndTextQuads() public so that it can be used by Editor.
2296         * editing/Editor.cpp:
2297         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced call to textQuads()
2298           with getBorderAndTextQuads().
2299
2300 2010-09-28  Andrei Popescu  <andreip@google.com>
2301
2302         Reviewed by Jeremy Orlow.
2303
2304         IDBRequest should not have a method called abort.
2305         https://bugs.webkit.org/show_bug.cgi?id=46720
2306
2307         IDBRequest::abort() was dropped from the spec following discussion in
2308         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10165
2309
2310         * storage/IDBRequest.cpp:
2311         (WebCore::IDBRequest::IDBRequest):
2312         (WebCore::IDBRequest::~IDBRequest):
2313         (WebCore::IDBRequest::resetReadyState):
2314         (WebCore::IDBRequest::timerFired):
2315         (WebCore::IDBRequest::scheduleEvent):
2316         * storage/IDBRequest.h:
2317         * storage/IDBRequest.idl:
2318
2319 2010-09-28  Chris Fleizach  <cfleizach@apple.com>
2320
2321         Reviewed by Beth Dakin.
2322
2323         CrashTracer: 1,382 crashes in Safari at com.apple.WebCore: WebCore::VisiblePosition::canonicalPosition + 78
2324         https://bugs.webkit.org/show_bug.cgi?id=45927
2325
2326         AXTextMarkers store pointers to Nodes without any retain or reference. If a Node is deallocated and then
2327         a client tries to use a text marker that references that node, it leads to this crash.
2328
2329         The AXObjectCache instance now keeps a HashSet of Node's being used. When a node becomes deallocated, it removes itself
2330         from the HashSet. When creating a VisiblePosition from an AXTextMarker, the cache can then check if the node is valid
2331         before proceeding.
2332
2333         Test: platform/mac/accessibility/crash-invalid-text-marker-node.html
2334
2335         * accessibility/AXObjectCache.cpp:
2336         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
2337         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2338             Modify to check whether a node is valid before proceeeding.
2339         * accessibility/AXObjectCache.h:
2340         (WebCore::AXObjectCache::setNodeInUse):
2341         (WebCore::AXObjectCache::removeNodeForUse):
2342         (WebCore::AXObjectCache::isNodeInUse):
2343             Methods for managing whether a node is in use by text markers.
2344         * accessibility/mac/AccessibilityObjectWrapper.mm:
2345         (textMarkerForVisiblePosition):
2346         (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
2347         (visiblePositionForTextMarker):
2348         (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
2349         (visiblePositionForStartOfTextMarkerRange):
2350         (visiblePositionForEndOfTextMarkerRange):
2351         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
2352         (textMarkerRangeFromVisiblePositions):
2353         (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
2354         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
2355         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
2356         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2357         (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
2358         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2359              Change these calls so that the axObjectCache() can be passed in to create the visible position.
2360         * dom/Document.cpp:
2361         (WebCore::Document::axObjectCacheExists):
2362         * dom/Document.h:
2363         * dom/Node.cpp:
2364         (WebCore::Node::~Node):
2365              If accessibility is enabled, inform the axObjectCache() that this node is disappearing.
2366
2367 2010-09-28  Chris Rogers  <crogers@google.com>
2368
2369         Reviewed by Kenneth Russell.
2370
2371         Add AudioDestinationNode files
2372         https://bugs.webkit.org/show_bug.cgi?id=45009
2373
2374         No new tests since audio API is not yet implemented.
2375
2376         * webaudio/AudioDestinationNode.cpp: Added.
2377         (WebCore::AudioDestinationNode::AudioDestinationNode):
2378         (WebCore::AudioDestinationNode::~AudioDestinationNode):
2379         (WebCore::AudioDestinationNode::initialize):
2380         (WebCore::AudioDestinationNode::uninitialize):
2381         (WebCore::AudioDestinationNode::provideInput):
2382         * webaudio/AudioDestinationNode.h: Added.
2383         (WebCore::AudioDestinationNode::create):
2384         (WebCore::AudioDestinationNode::process):
2385         (WebCore::AudioDestinationNode::reset):
2386         (WebCore::AudioDestinationNode::currentTime):
2387         (WebCore::AudioDestinationNode::sampleRate):
2388         (WebCore::AudioDestinationNode::numberOfChannels):
2389         * webaudio/AudioDestinationNode.idl: Added.
2390
2391 2010-09-28  Chris Rogers  <crogers@google.com>
2392
2393         Reviewed by Kenneth Russell.
2394
2395         audio engine: audio output classes
2396         https://bugs.webkit.org/show_bug.cgi?id=34716
2397
2398         No new tests since audio API is not yet implemented.
2399
2400         * platform/audio/AudioDestination.h: Added.
2401         (WebCore::AudioDestination::~AudioDestination):
2402         * platform/audio/mac/AudioDestinationMac.cpp: Added.
2403         (WebCore::AudioDestination::create):
2404         (WebCore::AudioDestination::hardwareSampleRate):
2405         (WebCore::AudioDestinationMac::AudioDestinationMac):
2406         (WebCore::AudioDestinationMac::~AudioDestinationMac):
2407         (WebCore::AudioDestinationMac::configure):
2408         (WebCore::AudioDestinationMac::start):
2409         (WebCore::AudioDestinationMac::stop):
2410         (WebCore::AudioDestinationMac::render):
2411         (WebCore::AudioDestinationMac::inputProc):
2412         * platform/audio/mac/AudioDestinationMac.h: Added.
2413         (WebCore::AudioDestinationMac::isPlaying):
2414         (WebCore::AudioDestinationMac::sampleRate):
2415
2416 2010-09-28  Chris Rogers  <crogers@google.com>
2417
2418         Reviewed by Kenneth Russell.
2419
2420         Add AudioGain files
2421         https://bugs.webkit.org/show_bug.cgi?id=46285
2422
2423         No new tests since audio API is not yet implemented.
2424
2425         * webaudio/AudioGain.h: Added.
2426         (WebCore::AudioGain::create):
2427         (WebCore::AudioGain::AudioGain):
2428         * webaudio/AudioGain.idl: Added.
2429
2430 2010-09-28  Chris Rogers  <crogers@google.com>
2431
2432         Reviewed by Kenneth Russell.
2433
2434         Fix possible illegal float values in AudioParam
2435         https://bugs.webkit.org/show_bug.cgi?id=46681
2436
2437         No new tests since audio API is not yet implemented.
2438
2439         * webaudio/AudioParam.h:
2440         (WebCore::AudioParam::setValue):
2441
2442 2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2443
2444         Reviewed by Simon Hausmann.
2445
2446         [Qt] Rename member variable in MediaPlayerPrivateQt 
2447
2448         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2449         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2450
2451 2010-09-28  Andras Becsi  <abecsi@webkit.org>
2452
2453         [Gtk] Build fix. Remove leftover trailing backslash.
2454
2455         * GNUmakefile.am:
2456
2457 2010-09-28  Andras Becsi  <abecsi@webkit.org>
2458
2459         Unreviewed.
2460
2461         [Gtk] Build fix after r68521
2462
2463         No new tests needed.
2464
2465         * GNUmakefile.am:
2466
2467 2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2468
2469         Reviewed by Andreas Kling.
2470
2471         [Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon
2472
2473         https://bugs.webkit.org/show_bug.cgi?id=36663
2474
2475         * platform/graphics/MediaPlayer.cpp:
2476         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2477         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2478         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2479         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2480
2481 2010-09-28  Andras Becsi  <abecsi@webkit.org>
2482
2483         Reviewed by Csaba Osztrogonác.
2484
2485         Undefined reference errors when linking due to gperf and inlining.
2486         webkit.org/b/29244
2487
2488         EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>
2489
2490         Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
2491         Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
2492         to access the functionality provided. This resulted in debug build failure with newer gcc versions
2493         because of a behaviour change of gcc, which disables C style inlining in debug mode.
2494         The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
2495         in their own compilation unit.
2496         The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
2497         for multiple inclusions of generated C files to access these functions.
2498
2499         No new tests needed.
2500
2501         * CMakeLists.txt:
2502         * WebCore.gyp/WebCore.gyp:
2503         * WebCore.pri:
2504         * WebCore.vcproj/WebCore.vcproj:
2505         * WebCore.xcodeproj/project.pbxproj:
2506         * css/CSSParser.cpp:
2507         * css/makeprop.pl:
2508         * css/makevalues.pl:
2509         * html/DocTypeStrings.gperf:
2510         * html/HTMLDocument.cpp:
2511         * make-hash-tools.pl:
2512         * platform/ColorData.gperf:
2513         * platform/graphics/Color.cpp:
2514
2515 2010-09-28  Andreas Kling  <andreas.kling@nokia.com>
2516
2517         Reviewed by Kenneth Rohde Christiansen.
2518
2519         Canvas: Crash when setting a font with size in 'ex' units
2520         https://bugs.webkit.org/show_bug.cgi?id=46538
2521
2522         update() the style's font after setting the style's font description.
2523         Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
2524         that the style's font is properly initialized (for xHeight().)
2525
2526         Fixes crash on IE test center's canvas-text-font-002 test.
2527
2528         * html/canvas/CanvasRenderingContext2D.cpp:
2529         (WebCore::CanvasRenderingContext2D::setFont):
2530
2531 2010-09-28  Benjamin Poulain  <benjamin.poulain@nokia.com>
2532
2533         Reviewed by Kenneth Rohde Christiansen.
2534
2535         [Qt] Remove support for Qt 4.5
2536         https://bugs.webkit.org/show_bug.cgi?id=46718
2537
2538         Remove the code for versions of Qt prior to 4.6.
2539
2540         * WebCore.pro:
2541         * features.pri:
2542         * platform/network/qt/QNetworkReplyHandler.cpp:
2543         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2544         (WebCore::QNetworkReplyHandler::start):
2545         * platform/network/qt/ResourceRequestQt.cpp:
2546         (WebCore::ResourceRequest::toNetworkRequest):
2547         * platform/qt/QWebPageClient.h:
2548
2549 2010-09-28  Kent Tamura  <tkent@chromium.org>
2550
2551         Unreviewed, run sort-Xcode-project-file
2552
2553         * WebCore.xcodeproj/project.pbxproj:
2554
2555 2010-09-28  Huahui Wu  <mediadependent@gmail.com>
2556
2557         Reviewed by Steve Block.
2558
2559         Add multi-touch for Android.
2560         https://bugs.webkit.org/show_bug.cgi?id=45221
2561
2562         The Android touch event used to take one point as the touch point,
2563         it's now changed to a vector of points to support multi-touch.
2564
2565         Tests: fast/events/touch/basic-multi-touch-events-limited.html
2566                fast/events/touch/touch-target-limited.html
2567
2568         * platform/PlatformTouchEvent.h:
2569         * platform/PlatformTouchPoint.h:
2570         * platform/android/PlatformTouchEventAndroid.cpp:
2571         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2572         * platform/android/PlatformTouchPointAndroid.cpp:
2573         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2574
2575 2010-09-27  Kent Tamura  <tkent@chromium.org>
2576
2577         Reviewed by Alexey Proskuryakov.
2578
2579         Fix assertion failure in a case that the dirty flag of a textarea element is changed
2580         https://bugs.webkit.org/show_bug.cgi?id=45681
2581
2582         We need to call setNeedsValidityCheck() after updating m_isDirty.
2583
2584         Test: fast/forms/textarea-checkValidity-crash.html
2585
2586         * html/HTMLTextAreaElement.cpp:
2587         (WebCore::HTMLTextAreaElement::setValue):
2588         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
2589         (WebCore::HTMLTextAreaElement::setValueCommon):
2590         * html/HTMLTextAreaElement.h:
2591
2592 2010-09-27  Abhishek Arya  <inferno@chromium.org>
2593
2594         Reviewed by Dan Bernstein.
2595
2596         When the block RunIn is destroyed, its line box tree is not deleted. As a result, it
2597         gets later used during dirtying of inline text boxes step where this deleted parent is
2598         accessed. The fix is to delete the line box tree before destroying the runin block.
2599
2600         https://bugs.webkit.org/show_bug.cgi?id=46376
2601
2602         Test: fast/text/dirty-inline-textbox-crash.html
2603
2604         * rendering/RenderText.cpp:
2605         (WebCore::RenderText::dirtyLineBoxes):
2606
2607 2010-09-27  Eric Uhrhane  <ericu@chromium.org>
2608
2609         Reviewed by David Levin.
2610
2611         Fix event sequencing in FileWriter
2612         https://bugs.webkit.org/show_bug.cgi?id=46544
2613
2614         Only set readyState to DONE when we're about to send the last progress
2615         event associated with an operation.  Make sure all progress events come
2616         from backend calls, and aren't ever fired synchronously in response to
2617         user JS method calls.
2618
2619         No new tests, as none of this is fully implemented yet.
2620
2621         * fileapi/FileWriter.cpp:
2622         (WebCore::FileWriter::write):
2623         (WebCore::FileWriter::truncate):
2624         (WebCore::FileWriter::abort):
2625         (WebCore::FileWriter::didWrite):
2626         (WebCore::FileWriter::didTruncate):
2627         (WebCore::FileWriter::didFail):
2628
2629 2010-09-27  Chris Rogers  <crogers@google.com>
2630
2631         Reviewed by James Robinson.
2632
2633         Add HRTFDatabase files
2634         https://bugs.webkit.org/show_bug.cgi?id=46233
2635
2636         No new tests since audio API is not yet implemented.
2637
2638         * platform/audio/HRTFDatabase.cpp: Added.
2639         (WebCore::HRTFDatabase::create):
2640         (WebCore::HRTFDatabase::HRTFDatabase):
2641         (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
2642         (WebCore::HRTFDatabase::indexFromElevationAngle):
2643         * platform/audio/HRTFDatabase.h: Added.
2644         (WebCore::HRTFDatabase::numberOfAzimuths):
2645         (WebCore::HRTFDatabase::sampleRate):
2646
2647 2010-09-27  Alpha Lam  <hclam@chromium.org>
2648
2649         Build fix. Not reviewed.
2650
2651         Move constant definitions to VideoLayerChromium.cpp.
2652         A proper fix should come later.
2653
2654         * platform/graphics/chromium/VideoLayerChromium.cpp:
2655
2656 2010-09-23  Antonio Gomes  <agomes@rim.com>
2657
2658         Reviewed by Kenneth Rohde Christiansen.
2659
2660         Make Document::nodesFromRect more flexible
2661         https://bugs.webkit.org/show_bug.cgi?id=46336
2662
2663         The patch changes the API for the Document::nodesFromRect() method as follows:
2664         
2665         from
2666         - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
2667         to
2668         - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
2669                                          unsigned leftPadding, bool ignoreClipping)
2670
2671         Previously the method was receiving as parameter horizontal and vertical padding values.
2672         In practice, the horizontal padding was being used to expand a given center point in both
2673         right and left directions, while vertical padding was expanding it to the top and bottom directions.
2674
2675         Although this design makes it possible to improve the touch experience on mobile devices
2676         (Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
2677         showed that, specially in capacitive touch screens, users tend to tap below elements. So
2678         for even more accurate results (which means here the possibility of pleasant tapping experience),
2679         it makes sense to use a region that is offset more above the touch point, favoring elements
2680         above the touch point.
2681
2682         The patch basically implements that, increasing the API flexible and power by making it possible
2683         to specify different padding values for each direction in a given orientation.
2684
2685         Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
2686         classes.
2687
2688         WebCore:
2689
2690         * WebCore.exp.in:
2691         * dom/Document.h: API adjustment.
2692         * dom/Document.idl: Ditto.
2693         * dom/Document.cpp: API adjustment and method body implementation accordingly.
2694         (WebCore::Document::nodesFromRect):
2695         * page/EventHandler.cpp:
2696         (WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
2697             but the way the padding value passed in as parameter is being used to construct a HitTestResult.
2698         * rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
2699         (WebCore::HitTestResult::HitTestResult): Ditto.
2700         (WebCore::HitTestResult::operator=): Ditto.
2701         (WebCore::HitTestResult::rectFromPoint): Ditto.
2702         * rendering/HitTestResult.h:
2703         (WebCore::HitTestResult::topPadding): getter for the top padding.
2704         (WebCore::HitTestResult::rightPadding): getter for the right padding.
2705         (WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
2706         (WebCore::HitTestResult::leftPadding): getter for the left padding.
2707         (WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for each direction,
2708             returns the rect that is going to be used in WebCore's hit testing processing.
2709         * rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
2710         (WebCore::RenderImage::nodeAtPoint): Ditto.
2711         * rendering/RenderLayer.cpp: Ditto.
2712         (WebCore::RenderLayer::hitTestLayer): Ditto.
2713         (WebCore::RenderLayer::hitTestList): Ditto.
2714         * rendering/RenderLineBoxList.cpp: Ditto.
2715         (WebCore::RenderLineBoxList::hitTest): Ditto.
2716
2717 2010-09-27  Chris Rogers  <crogers@google.com>
2718
2719         Reviewed by James Robinson.
2720
2721         Add HRTFDatabaseLoader files
2722         https://bugs.webkit.org/show_bug.cgi?id=46234
2723
2724         No new tests since audio API is not yet implemented.
2725
2726         * platform/audio/HRTFDatabaseLoader.cpp: Added.
2727         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
2728         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
2729         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
2730         (WebCore::databaseLoaderEntry):
2731         (WebCore::HRTFDatabaseLoader::load):
2732         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
2733         (WebCore::HRTFDatabaseLoader::isLoaded):
2734         (WebCore::HRTFDatabaseLoader::defaultHRTFDatabase):
2735         * platform/audio/HRTFDatabaseLoader.h: Added.
2736         (WebCore::HRTFDatabaseLoader::database):
2737         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
2738
2739 2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2740
2741         Reviewed by Darin Adler.
2742
2743         queryCommandState with justifyCenter, justifyLeft, and justifyRight always return false
2744         https://bugs.webkit.org/show_bug.cgi?id=45910
2745
2746         Implemented queryCommandState for justifyCenter, justifyLeft, and justifyRight commands.
2747         Added getTextAlignment to convert -webkit-center, -webkit-left, and -webkit-right to
2748         center, left, and right respectively because they can be treated equally for editing purposes.
2749
2750         Test: editing/execCommand/query-text-alignment.html
2751
2752         * editing/ApplyStyleCommand.cpp:
2753         (WebCore::getTextAlignment): Added.
2754         (WebCore::getPropertiesNotIn): Uses getTextAlignment.
2755         * editing/EditorCommand.cpp:
2756         (WebCore::stateJustifyCenter): Added.
2757         (WebCore::stateJustifyLeft): Added.
2758         (WebCore::stateJustifyRight): Added.
2759         (WebCore::createCommandMap): Refers to stateJustifyCenter, stateJustifyLeft, and stateJustifyRight.
2760
2761 2010-09-27  Alpha Lam  <hclam@chromium.org>
2762
2763         Unreviewed. Build fix.
2764
2765         Reorder member declarations and fix other warnings.
2766
2767         * platform/graphics/chromium/VideoLayerChromium.cpp:
2768         (WebCore::VideoLayerChromium::VideoLayerChromium):
2769         (WebCore::VideoLayerChromium::~VideoLayerChromium):
2770         (WebCore::VideoLayerChromium::updateContents):
2771         (WebCore::VideoLayerChromium::determineTextureFormat):
2772         (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
2773         * platform/graphics/chromium/VideoLayerChromium.h:
2774
2775 2010-09-27  Kenneth Russell  <kbr@google.com>
2776
2777         Unreviewed, Qt build fix. Stub out CanvasRenderingContext::checkOrigin(const HTMLVideoElement*)
2778         on platforms that don't support video after r68460.
2779
2780         * html/canvas/CanvasRenderingContext.cpp:
2781         (WebCore::CanvasRenderingContext::checkOrigin):
2782
2783 2010-09-27  Chris Fleizach  <cfleizach@apple.com>
2784
2785         Reviewed by Beth Dakin.
2786
2787         CrashTracer: 1,803 crashes in Safari at com.apple.WebCore: -[AccessibilityObjectWrapper accessibilityIsIgnored] + 56
2788         https://bugs.webkit.org/show_bug.cgi?id=46662
2789
2790         Before calling updateBackingStore(), the wrapper object needs to be retained, lest it be invalidated during
2791         the updateBackingStore call. This consolidates all calls to updateBackingStore().
2792
2793         Test: platform/mac/accessibility/removing-textarea-after-edit-crash.html
2794
2795         * accessibility/mac/AXObjectCacheMac.mm:
2796         (WebCore::AXObjectCache::postPlatformNotification):
2797             Use an ASSERT here to catch the crash because DRT won't cause AppKit to post notifications.
2798         * accessibility/mac/AccessibilityObjectWrapper.mm:
2799         (-[AccessibilityObjectWrapper prepareAccessibilityMethod]):
2800         (-[AccessibilityObjectWrapper accessibilityActionNames]):
2801         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2802         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2803         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
2804         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
2805         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2806         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
2807         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2808         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
2809         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
2810         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
2811         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
2812         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2813         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2814         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
2815         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
2816         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2817
2818 2010-09-27  Adrienne Walker  <enne@google.com>
2819
2820         Reviewed by Adam Barth.
2821
2822         WebGL's readPixels doesn't respect origin-clean flag
2823
2824         Push CanvasRenderingContext2D checkOrigin logic into base class so it can be shared between different kinds of canvas contexts.
2825         https://bugs.webkit.org/show_bug.cgi?id=45718
2826
2827         Test: LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html
2828
2829         * html/canvas/CanvasRenderingContext.cpp:
2830         (WebCore::CanvasRenderingContext::checkOrigin):
2831         * html/canvas/CanvasRenderingContext.h:
2832         (WebCore::CanvasRenderingContext::~CanvasRenderingContext):
2833         (WebCore::CanvasRenderingContext::canvas):
2834         (WebCore::CanvasRenderingContext::is2d):
2835         (WebCore::CanvasRenderingContext::is3d):
2836         (WebCore::CanvasRenderingContext::isAccelerated):
2837         (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
2838         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
2839         (WebCore::CanvasRenderingContext::platformLayer):
2840         * html/canvas/CanvasRenderingContext2D.cpp:
2841         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2842         (WebCore::CanvasRenderingContext2D::setFillStyle):
2843         (WebCore::CanvasRenderingContext2D::drawImage):
2844         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2845         * html/canvas/CanvasRenderingContext2D.h:
2846         * html/canvas/WebGLRenderingContext.cpp:
2847         (WebCore::WebGLRenderingContext::readPixels):
2848         (WebCore::WebGLRenderingContext::texImage2D):
2849         (WebCore::WebGLRenderingContext::videoFrameToImage):
2850         (WebCore::WebGLRenderingContext::texSubImage2D):
2851         * html/canvas/WebGLRenderingContext.h:
2852         * html/canvas/WebGLRenderingContext.idl:
2853
2854 2010-09-27  Darin Adler  <darin@apple.com>
2855
2856         Reviewed by Dan Bernstein.
2857
2858         REGRESSION (r68054): Buttons no longer render at correct sizes
2859         https://bugs.webkit.org/show_bug.cgi?id=46513
2860
2861         Test: fast/forms/input-button-sizes.html
2862
2863         The setUpButtonCell function was running only once, but needed to run every time
2864         through the button function.
2865
2866         * platform/mac/ThemeMac.mm:
2867         (WebCore::leakButtonCell): Added. Separate one-time initialization code.
2868         (WebCore::setUpButtonCell): Removed the first-time initialization part of this function.
2869         (WebCore::button): Merged the three functions back into one.
2870
2871 2010-09-27  Victoria Kirst  <vrk@google.com>
2872
2873         Reviewed by James Robinson.
2874
2875         Modifies VideoLayerChromium to do YUV to RGB color conversion in the
2876         GPU. Also adds support for RGBA video frame formats, though this code
2877         path is currently never run because the video frames are in YV12
2878         format.
2879         https://bugs.webkit.org/show_bug.cgi?id=45069
2880
2881         * platform/graphics/chromium/LayerRendererChromium.cpp:
2882         (WebCore::LayerRendererChromium::initializeSharedObjects):
2883         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2884         * platform/graphics/chromium/LayerRendererChromium.h:
2885         (WebCore::LayerRendererChromium::videoLayerSharedValues):
2886         * platform/graphics/chromium/VideoLayerChromium.cpp:
2887         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
2888         (WebCore::VideoLayerChromium::SharedValues::~SharedValues):
2889         (WebCore::VideoLayerChromium::VideoLayerChromium):
2890         (WebCore::VideoLayerChromium::~VideoLayerChromium):
2891         (WebCore::VideoLayerChromium::updateContents):
2892         (WebCore::VideoLayerChromium::updateYUVContents):
2893         (WebCore::VideoLayerChromium::allocateYUVTextures):
2894         (WebCore::VideoLayerChromium::updateYUVTextures):
2895         (WebCore::VideoLayerChromium::updateRGBAContents):
2896         (WebCore::VideoLayerChromium::allocateTexture):
2897         (WebCore::VideoLayerChromium::updateTexture):
2898         (WebCore::VideoLayerChromium::updateContentsCompleted):
2899         (WebCore::VideoLayerChromium::draw):
2900         (WebCore::VideoLayerChromium::drawYUV):
2901         (WebCore::VideoLayerChromium::drawRGBA):
2902         * platform/graphics/chromium/VideoLayerChromium.h:
2903         (WebCore::VideoLayerChromium::drawsContent):
2904         (WebCore::VideoLayerChromium::SharedValues::yuvShaderProgram):
2905         (WebCore::VideoLayerChromium::SharedValues::rgbaShaderProgram):
2906         (WebCore::VideoLayerChromium::SharedValues::yuvShaderMatrixLocation):
2907         (WebCore::VideoLayerChromium::SharedValues::rgbaShaderMatrixLocation):
2908         (WebCore::VideoLayerChromium::SharedValues::yuvWidthScaleFactorLocation):
2909         (WebCore::VideoLayerChromium::SharedValues::rgbaWidthScaleFactorLocation):
2910         (WebCore::VideoLayerChromium::SharedValues::yTextureLocation):
2911         (WebCore::VideoLayerChromium::SharedValues::uTextureLocation):
2912         (WebCore::VideoLayerChromium::SharedValues::vTextureLocation):
2913         (WebCore::VideoLayerChromium::SharedValues::yuvAlphaLocation):
2914         (WebCore::VideoLayerChromium::SharedValues::rgbaTextureLocation):
2915         (WebCore::VideoLayerChromium::SharedValues::ccMatrixLocation):
2916         (WebCore::VideoLayerChromium::SharedValues::initialized):
2917
2918 2010-09-27  Peter Kasting  <pkasting@google.com>
2919
2920         Reviewed by James Robinson.
2921
2922         ImageDecoderSkia.cpp needs to check for allocator failure when copying
2923         bitmaps.
2924         https://bugs.webkit.org/show_bug.cgi?id=46437
2925
2926         * manual-tests/large-size-image-crash.html: Added.
2927         * manual-tests/resources/large-size-image-crash.gif: Added.
2928         * platform/image-decoders/ImageDecoder.cpp:
2929         (WebCore::RGBA32Buffer::copyBitmapData):
2930         * platform/image-decoders/ImageDecoder.h:
2931         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2932         (WebCore::GIFImageDecoder::initFrameBuffer):
2933         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
2934         (WebCore::RGBA32Buffer::copyBitmapData):
2935         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2936         (WebCore::RGBA32Buffer::copyBitmapData):
2937
2938 2010-09-27  James Robinson  <jamesr@chromium.org>
2939
2940         Reviewed by Simon Fraser.
2941
2942         Revert r63307, it broke repainting dynamically changed SVG content
2943         https://bugs.webkit.org/show_bug.cgi?id=46499
2944
2945         This patch reverts r63307 and adds a regression test for what broke.
2946
2947         Test: fast/repaint/repaint-svg-after-style-change.html
2948
2949         * rendering/RenderForeignObject.cpp:
2950         (WebCore::RenderForeignObject::layout):
2951         * rendering/RenderPath.cpp:
2952         (WebCore::RenderPath::layout):
2953         * rendering/RenderSVGContainer.cpp:
2954         (WebCore::RenderSVGContainer::layout):
2955         * rendering/RenderSVGImage.cpp:
2956         (WebCore::RenderSVGImage::layout):
2957         * rendering/RenderSVGRoot.cpp:
2958         (WebCore::RenderSVGRoot::layout):
2959         * rendering/RenderSVGText.cpp:
2960         (WebCore::RenderSVGText::layout):
2961
2962 2010-09-27  Vangelis Kokkevis  <vangelis@chromium.org>
2963
2964         Reviewed by James Robinson.
2965
2966         [chromium] Making LayerChromium's destructor virtual so that the appropriate
2967         derived class destructors get called when the layer tree is taken down.
2968         ContentLayerChromium and its derived types (ImageLayerChromium for now) will
2969         free up the texture allocated for their contents upon destruction. To avoid
2970         having the LayerRendererChromium destructor getting called before the layers
2971         are destroyed and thus leaving their textures orphaned, the layers now hold
2972         a ref counted pointer to the renderer that uses them.
2973         https://bugs.webkit.org/show_bug.cgi?id=46139
2974
2975         * platform/graphics/chromium/ContentLayerChromium.cpp:
2976         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2977         (WebCore::ContentLayerChromium::setLayerRenderer):
2978         (WebCore::ContentLayerChromium::cleanupResources):
2979         * platform/graphics/chromium/ContentLayerChromium.h:
2980         * platform/graphics/chromium/LayerChromium.cpp:
2981         (WebCore::LayerChromium::setLayerRenderer):
2982         * platform/graphics/chromium/LayerChromium.h:
2983         (WebCore::LayerChromium::layerRenderer):
2984         * platform/graphics/chromium/LayerRendererChromium.cpp:
2985         (WebCore::LayerRendererChromium::create):
2986         (WebCore::LayerRendererChromium::deleteLayerTexture):
2987         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2988         * platform/graphics/chromium/LayerRendererChromium.h:
2989
2990 2010-09-27  Erik Arvidsson  <arv@chromium.org>
2991
2992         Reviewed by Darin Adler.
2993
2994         Implement HTML 5's HTMLElement.classList property
2995         https://bugs.webkit.org/show_bug.cgi?id=20709
2996
2997         This adds a DOMTokenList class that is used for the classList property. DOMTokenList uses a SpaceSplitString for fast
2998         contains check. In standards mode the existing classNames is used but in quirks mode we use an internal SpaceSplitString
2999         because classList is always case sensitive.
3000
3001         Tests: fast/dom/HTMLElement/class-list-gc.html
3002                fast/dom/HTMLElement/class-list-quirks.html
3003                fast/dom/HTMLElement/class-list.html
3004                perf/class-list-remove.html
3005
3006         * Android.derived.jscbindings.mk:
3007         * Android.derived.v8bindings.mk:
3008         * Android.jscbindings.mk:
3009         * CMakeLists.txt:
3010         * DerivedSources.cpp:
3011         * DerivedSources.make:
3012         * GNUmakefile.am:
3013         * WebCore.gypi:
3014         * WebCore.pri:
3015         * WebCore.pro:
3016         * WebCore.vcproj/WebCore.vcproj:
3017         * WebCore.xcodeproj/project.pbxproj:
3018         * bindings/gobject/GNUmakefile.am:
3019         * bindings/js/JSElementCustom.cpp:
3020         (WebCore::JSElement::markChildren): Make sure that we keep the wrapper while the element is alive.
3021         * bindings/scripts/CodeGeneratorJS.pm: DOMTokenList has a string indexed getter.
3022         * bindings/scripts/CodeGeneratorV8.pm:
3023         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Added.
3024         (WebCore::toV8):
3025         * dom/Element.cpp:
3026         (WebCore::Element::classList):
3027         (WebCore::Element::optionalClassList):
3028         * dom/Element.h:
3029         * dom/ElementRareData.h: This now has an OwnPtr to a ClassList if the Element::classList is ever called.
3030         * dom/SpaceSplitString.h:
3031         (WebCore::SpaceSplitString::isNull):
3032         * dom/StyledElement.cpp:
3033         (WebCore::StyledElement::classAttributeChanged): Update the classList if it exists.
3034         * dom/StyledElement.h:
3035         * html/DOMTokenList.cpp: Added.
3036         (WebCore::validateToken):
3037         (WebCore::DOMTokenList::DOMTokenList):
3038         (WebCore::DOMTokenList::ref):
3039         (WebCore::DOMTokenList::deref):
3040         (WebCore::DOMTokenList::length):
3041         (WebCore::DOMTokenList::item):
3042         (WebCore::DOMTokenList::contains):
3043         (WebCore::DOMTokenList::containsInternal): The internal methods do no validation of the token.
3044         (WebCore::DOMTokenList::add):
3045         (WebCore::DOMTokenList::addInternal):
3046         (WebCore::DOMTokenList::remove):
3047         (WebCore::DOMTokenList::removeInternal):
3048         (WebCore::DOMTokenList::toggle):
3049         (WebCore::DOMTokenList::toString):
3050         (WebCore::DOMTokenList::reset):
3051         (WebCore::DOMTokenList::classNames):
3052         * html/DOMTokenList.h: Added.
3053         (WebCore::DOMTokenList::create):
3054         (WebCore::DOMTokenList::element):
3055         * html/DOMTokenList.idl: Added.
3056         * html/HTMLElement.idl:
3057         * page/DOMWindow.cpp:
3058         * page/DOMWindow.idl:
3059
3060 2010-09-27  Kenneth Russell  <kbr@google.com>
3061
3062         Reviewed by James Robinson.
3063
3064         Add local triangulation of cubic curve control points
3065         https://bugs.webkit.org/show_bug.cgi?id=45252
3066
3067         (Re-landing; I neglected to actually add the new files in
3068         http://trac.webkit.org/changeset/68045 .)
3069
3070         Adding a localized triangulation algorithm which takes as input
3071         the four control points of a cubic curve segment and provides both
3072         triangles as well as the ability to walk the interior edges. The
3073         latter will be used later to fill the interior of shapes bounded
3074         by these cubic curves, quadratic curves and line segments.
3075
3076         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
3077         (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
3078         (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
3079         (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
3080         (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
3081         (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
3082         (WebCore::LoopBlinnLocalTriangulator::reset):
3083         (WebCore::LoopBlinnLocalTriangulator::triangulate):
3084         (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
3085         (WebCore::LoopBlinnLocalTriangulator::addTriangle):
3086         (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
3087         (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
3088         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
3089         (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
3090         (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
3091         (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
3092         (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
3093         (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
3094         (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
3095         (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
3096         (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
3097         (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
3098         (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
3099         (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
3100         (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
3101         (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
3102         (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
3103         (WebCore::LoopBlinnLocalTriangulator::getVertex):
3104         (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
3105         (WebCore::LoopBlinnLocalTriangulator::getTriangle):
3106         (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
3107         (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
3108
3109 2010-09-27  Chris Rogers  <crogers@google.com>
3110
3111         Reviewed by Kenneth Russell.
3112
3113         Add AudioNode files
3114         https://bugs.webkit.org/show_bug.cgi?id=45571
3115
3116         No new tests since audio API is not yet implemented.
3117
3118         * webaudio/AudioNode.cpp: Added.
3119         (WebCore::AudioNode::AudioNode):
3120         (WebCore::AudioNode::~AudioNode):
3121         (WebCore::AudioNode::setType):
3122         (WebCore::AudioNode::lazyInitialize):
3123         (WebCore::AudioNode::addInput):
3124         (WebCore::AudioNode::addOutput):
3125         (WebCore::AudioNode::input):
3126         (WebCore::AudioNode::output):
3127         (WebCore::AudioNode::connect):
3128         (WebCore::AudioNode::disconnect):
3129         (WebCore::AudioNode::processIfNecessary):
3130         (WebCore::AudioNode::pullInputs):
3131         (WebCore::AudioNode::ref):
3132         (WebCore::AudioNode::deref):
3133         (WebCore::AudioNode::finishDeref):
3134         (WebCore::AudioNode::printNodeCounts):
3135         * webaudio/AudioNode.h: Added.
3136         (WebCore::AudioNode::context):
3137         (WebCore::AudioNode::type):
3138         (WebCore::AudioNode::isInitialized):
3139         (WebCore::AudioNode::numberOfInputs):
3140         (WebCore::AudioNode::numberOfOutputs):
3141         (WebCore::AudioNode::sampleRate):
3142         (WebCore::AudioNode::checkNumberOfChannelsForInput):
3143         * webaudio/AudioNode.idl: Added.
3144
3145 2010-09-27  David Hyatt  <hyatt@apple.com>
3146
3147         Reviewed by Sam Weinig.
3148
3149         https://bugs.webkit.org/show_bug.cgi?id=46665
3150
3151         Patch RenderView's layout and computeLogicalWidth/Height methods to be block-flow-aware.
3152
3153         Added fast/root-lr-basic.html
3154
3155         * rendering/RenderView.cpp:
3156         (WebCore::RenderView::computeLogicalHeight):
3157         (WebCore::RenderView::computeLogicalWidth):
3158         (WebCore::RenderView::layout):
3159         * rendering/RenderView.h:
3160         (WebCore::RenderView::viewLogicalWidth):
3161         (WebCore::RenderView::viewLogicalHeight):
3162
3163 2010-09-24  Zhenyao Mo  <zmo@google.com>
3164
3165         Reviewed by Kenneth Russell.
3166
3167         Hook up ANGLE with chromium --in-process-webgl port
3168         https://bugs.webkit.org/show_bug.cgi?id=44309
3169
3170         * platform/graphics/GraphicsContext3D.h: Move Angle stuff inside MAC only section.
3171
3172 2010-09-27  David Hyatt  <hyatt@apple.com>
3173
3174         Reviewed by Sam Weinig.
3175
3176         https://bugs.webkit.org/show_bug.cgi?id=46659
3177
3178         Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
3179
3180         * rendering/RenderBlock.cpp:
3181         (WebCore::RenderBlock::layoutBlock):
3182
3183 2010-09-27  David Hyatt  <hyatt@apple.com>
3184
3185         Reviewed by Sam Weinig.
3186
3187         https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.
3188
3189         The implementation of setting the before/after margins was wrong and poking the wrong margin values.
3190         
3191         Once I made them set the correct values, it revealed that one of the new block flow tests wasn't
3192         actually working.  In order to fix it, I had to make the block direction margin computation actually
3193         use the containing block's block-flow in order to return the right answer.  This involved cleaning
3194         up computeBlockDirectionMargins to be more like computeInlineDirectionMargins.
3195         
3196         fast/css/logical-property-resolution.html also caught the bug.  Its results are now correct.
3197
3198         * rendering/RenderBlock.cpp:
3199         (WebCore::RenderBlock::adjustPositionedBlock):
3200         (WebCore::RenderBlock::determineHorizontalPosition):
3201         (WebCore::RenderBlock::layoutBlockChild):
3202         (WebCore::RenderBlock::insertFloatingObject):
3203         * rendering/RenderBox.cpp:
3204         (WebCore::RenderBox::setMarginBeforeUsing):
3205         (WebCore::RenderBox::setMarginAfterUsing):
3206         (WebCore::RenderBox::computeLogicalWidth):
3207         (WebCore::RenderBox::computeInlineDirectionMargins):
3208         (WebCore::RenderBox::computeLogicalHeight):
3209         (WebCore::RenderBox::computeBlockDirectionMargins):
3210         * rendering/RenderBox.h:
3211         * rendering/RenderFlexibleBox.cpp:
3212         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3213         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3214         * rendering/RenderObject.h:
3215         * rendering/RenderTable.cpp:
3216         (WebCore::RenderTable::computeLogicalWidth):
3217         * rendering/RenderTableRow.cpp:
3218         (WebCore::RenderTableRow::layout):
3219         * rendering/style/RenderStyle.cpp:
3220         (WebCore::RenderStyle::marginBeforeUsing):
3221         (WebCore::RenderStyle::marginAfterUsing):
3222         * rendering/style/RenderStyle.h:
3223
3224 2010-09-14  Zhenyao Mo  <zmo@google.com>
3225
3226         Reviewed by Kenneth Russell.
3227
3228         Textures and renderbuffers should be detached first before deletion if they are attached to framebuffers
3229         https://bugs.webkit.org/show_bug.cgi?id=43942
3230
3231         Test: fast/canvas/webgl/object-deletion-behaviour.html
3232
3233         * html/canvas/WebGLBuffer.cpp:
3234         (WebCore::WebGLBuffer::deleteObjectImpl): Delete the object only once.
3235         * html/canvas/WebGLFramebuffer.cpp: Use RefPtr for attachment WebGLObjects.
3236         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
3237         (WebCore::WebGLFramebuffer::removeAttachment): Remove an attachment data ref.
3238         (WebCore::WebGLFramebuffer::onAttachedObjectChange):
3239         (WebCore::WebGLFramebuffer::getColorBufferFormat):
3240         (WebCore::WebGLFramebuffer::deleteObjectImpl):
3241         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
3242         * html/canvas/WebGLFramebuffer.h: Declare removeAttachment().
3243         * html/canvas/WebGLObject.cpp:
3244         (WebCore::WebGLObject::setObject): Make it protected and can only be called when initializing.
3245         * html/canvas/WebGLObject.h:
3246         (WebCore::WebGLObject::onDetached): Fix a bug.
3247         (WebCore::WebGLObject::isDeleted): Expose the delete flag.
3248         * html/canvas/WebGLProgram.cpp:
3249         (WebCore::WebGLProgram::deleteObjectImpl): Detach shaders when deleting a program.
3250         * html/canvas/WebGLRenderbuffer.cpp:
3251         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Delete the object only once.
3252         * html/canvas/WebGLRenderingContext.cpp:
3253         (WebCore::WebGLRenderingContext::deleteFramebuffer): Bind to internal fbo when deleting the currently-bound fbo.
3254         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Remove renderbuffer from currently-bound fbo upon deletion.
3255         (WebCore::WebGLRenderingContext::deleteTexture): Remove texture from currently-bound fbo upon deletion.
3256         (WebCore::WebGLRenderingContext::useProgram): Fix a condition.
3257         * html/canvas/WebGLShader.cpp:
3258         (WebCore::WebGLShader::deleteObjectImpl): Delete the object only once.
3259         * html/canvas/WebGLTexture.cpp:
3260         (WebCore::WebGLTexture::deleteObjectImpl): Ditto.
3261
3262 2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
3263
3264         Reviewed by Antonio Gomes.
3265
3266         stateStyle (@EditorCommand.cpp) should ask EditingBehavior for platform specific behavior
3267         https://bugs.webkit.org/show_bug.cgi?id=41989
3268
3269         queryCommandState returns true even when in the mixed state
3270         https://bugs.webkit.org/show_bug.cgi?id=46382
3271
3272         Fixed stateStyle so that it calls selectionStartHasStyle when shouldToggleStyleBasedOnStartOfSelection
3273         is true (Mac platforms) and calls selectionHasStyle otherwise (non-Mac platforms).
3274
3275         Also fixed queryCommandState so that it only returns true when the state is TrueTriState
3276         as supposed to returning true whenever the state is not FalseTriState. New behavior matches that of
3277         other browsers such as Firefox and Internet Explorer.
3278
3279         * dom/Document.cpp:
3280         (WebCore::Document::queryCommandState):
3281         * editing/EditorCommand.cpp:
3282         (WebCore::executeToggleStyle):
3283         (WebCore::stateStyle):
3284
3285 2010-09-27  David Hyatt  <hyatt@apple.com>
3286
3287         Reviewed by Dan Bernstein.
3288
3289         https://bugs.webkit.org/show_bug.cgi?id=46647, add getters/setters for the logical position of a box.
3290
3291         Also made all of the logicalWidth/Height getters/setters inline for performance.
3292
3293         * rendering/RenderBox.cpp:
3294         * rendering/RenderBox.h:
3295         (WebCore::RenderBox::logicalLeft):
3296         (WebCore::RenderBox::logicalTop):
3297         (WebCore::RenderBox::logicalWidth):
3298         (WebCore::RenderBox::logicalHeight):
3299         (WebCore::RenderBox::setLogicalLeft):
3300         (WebCore::RenderBox::setLogicalTop):
3301         (WebCore::RenderBox::setLogicalWidth):
3302         (WebCore::RenderBox::setLogicalHeight):
3303         (WebCore::RenderBox::setLogicalLocation):
3304
3305 2010-09-27  David Hyatt  <hyatt@apple.com>
3306
3307         Reviewed by Sam Weinig.
3308
3309         https://bugs.webkit.org/show_bug.cgi?id=46639, make computeLogicalHeight block-flow-aware.
3310         
3311         This patch does the following:
3312             (1) Makes computeLogicalHeight block-flow-aware (patching all helper functions as needed to make this work).
3313             (2) Makes block flow roots (blocks whose parent has a different block-flow directionality) establish new block formatting contexts.
3314             (This causes them to not collapse their margins with their children and to avoid floats). 
3315             (3) Patch all occurrences of setHeight in block and line layout to setLogicalHeight so that height doesn't get incorrectly
3316             overwritten for lr/rl block-flow.  This is necessary to write tests that examine the width/height of the blocks.
3317         
3318         Added multiple new tests in fast/blockflow.
3319         fast/css/logical-property-resolution gives the correct results now.
3320
3321         * rendering/RenderBlock.cpp:
3322         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3323         (WebCore::RenderBlock::layoutBlock):
3324         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
3325         (WebCore::RenderBlock::adjustFloatingBlock):
3326         (WebCore::RenderBlock::collapseMargins):
3327         (WebCore::RenderBlock::clearFloatsIfNeeded):
3328         (WebCore::RenderBlock::determineHorizontalPosition):
3329         (WebCore::RenderBlock::handleBottomOfBlock):
3330         (WebCore::RenderBlock::layoutBlockChildren):
3331         (WebCore::RenderBlock::layoutBlockChild):
3332         (WebCore::RenderBlock::positionNewFloatOnLine):
3333         (WebCore::RenderBlock::newLine):
3334         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3335         (WebCore::RenderBlock::logicalRightOffsetForContent):
3336         (WebCore::RenderBlock::logicalRightOffsetForLine):
3337         (WebCore::RenderBlock::getClearDelta):
3338         (WebCore::RenderBlock::layoutColumns):
3339         * rendering/RenderBlock.h:
3340         * rendering/RenderBlockLineLayout.cpp:
3341         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
3342         (WebCore::RenderBlock::layoutInlineChildren):
3343         (WebCore::RenderBlock::determineStartPosition):
3344         (WebCore::RenderBlock::fitBelowFloats):
3345         * rendering/RenderBox.cpp:
3346         (WebCore::RenderBox::marginBefore):
3347         (WebCore::RenderBox::marginBeforeUsing):
3348         (WebCore::RenderBox::marginAfter):
3349         (WebCore::RenderBox::marginAfterUsing):
3350         (WebCore::RenderBox::setMarginBefore):
3351         (WebCore::RenderBox::setMarginAfter):
3352         (WebCore::RenderBox::setMarginBeforeUsing):
3353         (WebCore::RenderBox::setMarginAfterUsing):
3354         (WebCore::RenderBox::computeLogicalHeight):
3355         (WebCore::RenderBox::computeLogicalHeightUsing):
3356         (WebCore::RenderBox::computePercentageLogicalHeight):
3357         (WebCore::RenderBox::computeReplacedHeightUsing):
3358         (WebCore::RenderBox::availableLogicalHeight):
3359         (WebCore::RenderBox::availableLogicalHeightUsing):
3360         (WebCore::RenderBox::computeBlockDirectionMargins):
3361         (WebCore::RenderBox::avoidsFloats):
3362         * rendering/RenderBox.h:
3363         (WebCore::RenderBox::contentLogicalWidth):
3364         (WebCore::RenderBox::contentLogicalHeight):
3365         (WebCore::RenderBox::stretchesToViewHeight):
3366         (WebCore::RenderBox::availableLogicalWidth):
3367         (WebCore::RenderBox::availableWidth):
3368         (WebCore::RenderBox::availableHeight):
3369         (WebCore::RenderBox::isBlockFlowRoot):
3370         * rendering/RenderTable.cpp:
3371         (WebCore::RenderTable::computeLogicalWidth):
3372
3373 2010-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
3374
3375         Reviewed by Chris Fleizach.
3376
3377         [Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
3378         https://bugs.webkit.org/show_bug.cgi?id=45381
3379
3380         Ensure list markers are consistently used in the Atk wrapper.
3381
3382         This patch does two things (both needed to fix the bug): It
3383         improves the way list items markers are exposed through the Atk
3384         Wrapper (by exposing the exact text in the marker, including the
3385         marker suffix, if any) and makes sure the marker is consistently
3386         considered and treated in those methods of the AtkText interface
3387         that would need it (like atk_text_get_character_count or
3388         atk_text_get_run_attributes, for instance).
3389
3390         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3391         (textForObject):
3392            Append/prepend list marker when needed.
3393         (webkit_accessible_text_get_text):
3394            Use the new function markerTextWithSuffix() to expose a more
3395            accurate value.
3396         (accessibilityObjectLength):
3397            Consider list items marker to return the length of an object,
3398            if needed. Also, added some extra checks.
3399         (webkit_accessible_text_get_character_count):
3400            Just delegate on accessibilityObjectLength, to make it
3401            cleaner and more consistent.
3402
3403         * rendering/RenderListItem.cpp:
3404         (WebCore::RenderListItem::markerTextWithSuffix):
3405            New public function to return a single string with the
3406            marker associated to the item and its suffix, considering
3407            text direction (LTR or RTL).
3408         * rendering/RenderListItem.h:
3409         * rendering/RenderListMarker.cpp:
3410         (WebCore::RenderListMarker::suffix):
3411            New public function to return a String with the suffix
3412            associated to the marker.
3413         * rendering/RenderListMarker.h:
3414
3415 2010-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3416
3417         Unreviewed, rolling out r68389.
3418         http://trac.webkit.org/changeset/68389
3419         https://bugs.webkit.org/show_bug.cgi?id=46637
3420
3421         test_shell is crashing on chromium Win (Requested by loislo on
3422         #webkit).
3423
3424         * inspector/InspectorTimelineAgent.cpp:
3425         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3426         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3427         (WebCore::InspectorTimelineAgent::didGC):
3428         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3429         (WebCore::InspectorTimelineAgent::willCallFunction):
3430         (WebCore::InspectorTimelineAgent::didCallFunction):
3431         (WebCore::InspectorTimelineAgent::willDispatchEvent):
3432         (WebCore::InspectorTimelineAgent::didDispatchEvent):
3433         (WebCore::InspectorTimelineAgent::willLayout):
3434         (WebCore::InspectorTimelineAgent::didLayout):
3435         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
3436         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
3437         (WebCore::InspectorTimelineAgent::willPaint):
3438         (WebCore::InspectorTimelineAgent::didPaint):
3439         (WebCore::InspectorTimelineAgent::willWriteHTML):
3440         (WebCore::InspectorTimelineAgent::didWriteHTML):
3441         (WebCore::InspectorTimelineAgent::didInstallTimer):
3442         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3443         (WebCore::InspectorTimelineAgent::willFireTimer):
3444         (WebCore::InspectorTimelineAgent::didFireTimer):
3445         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
3446         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
3447         (WebCore::InspectorTimelineAgent::willLoadXHR):
3448         (WebCore::InspectorTimelineAgent::didLoadXHR):
3449         (WebCore::InspectorTimelineAgent::willEvaluateScript):
3450         (WebCore::InspectorTimelineAgent::didEvaluateScript):
3451         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3452         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3453         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3454         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
3455         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3456         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
3457         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3458         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3459         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3460         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3461         (WebCore::InspectorTimelineAgent::reset):
3462         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
3463         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3464         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3465         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3466         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3467         * inspector/InspectorTimelineAgent.h:
3468         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3469         (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
3470
3471 2010-09-27  Kinuko Yasuda  <kinuko@google.com>
3472
3473         Reviewed by Adam Barth.
3474
3475         [Cleanup] Add create method to FileSystemCallbacks to get rid of naked new's
3476         https://bugs.webkit.org/show_bug.cgi?id=46561
3477
3478         Also cleanup the callbacks layering to pass AsyncFileSystemCallbacks
3479         object to LocalFileSystem::requestFileSystem (rather than
3480         FileSystemCallback and ErrorCallback) so that all the callbacks class
3481         we pass from WebCore to WebKit/chromium/src will be
3482         AsyncFileSystemCallbacks.
3483
3484         No new tests; this patch is only for cleanup and there should be no functionality changes.
3485
3486         * fileapi/DOMFileSystem.cpp:
3487         (WebCore::DOMFileSystem::getMetadata):
3488         (WebCore::DOMFileSystem::move):
3489         (WebCore::DOMFileSystem::copy):
3490         (WebCore::DOMFileSystem::remove):
3491         (WebCore::DOMFileSystem::getParent):
3492         (WebCore::DOMFileSystem::getFile):
3493         (WebCore::DOMFileSystem::getDirectory):
3494         (WebCore::DOMFileSystem::createWriter):
3495         (WebCore::DOMFileSystem::readDirectory):
3496         * fileapi/FileSystemCallbacks.cpp:
3497         (WebCore::EntryCallbacks::create): Added.
3498         (WebCore::EntriesCallbacks::create): Added.
3499         (WebCore::FileSystemCallbacks::create): Added.
3500         (WebCore::MetadataCallbacks::create): Added.
3501         (WebCore::FileWriterCallbacks::create): Added.
3502         (WebCore::VoidCallbacks::create): Added.
3503         * fileapi/FileSystemCallbacks.h:
3504         * fileapi/LocalFileSystem.cpp:
3505         (WebCore::openFileSystem):
3506         (WebCore::LocalFileSystem::requestFileSystem): Changed to take
3507         AsyncFileSystemCallbacks as (a) callback argument(s).
3508         * fileapi/LocalFileSystem.h:
3509         * page/DOMWindow.cpp:
3510         (WebCore::DOMWindow::requestFileSystem): Made a corresponding change
3511         to LocalFileSystem::requestFileSystem.
3512         * workers/WorkerContext.cpp:
3513         (WebCore::WorkerContext::requestFileSystem): Made a corresponding change
3514         to LocalFileSystem::requestFileSystem.
3515
3516 2010-09-27  Abhishek Arya  <inferno@chromium.org>
3517
3518         Reviewed by Dave Hyatt.
3519
3520         Fix memory safety issue during positioning list marker as a result of assuming 
3521         that list item's parent can always be casted to a RenderBox. The display of the parent
3522         can be manipluated using css as Inline which causes a bad cast.
3523
3524         https://bugs.webkit.org/show_bug.cgi?id=46384
3525
3526         Test: fast/lists/parent-box-not-box-crash.html
3527
3528         * rendering/RenderListItem.cpp:
3529         (WebCore::RenderListItem::positionListMarker):
3530         * rendering/RenderListMarker.cpp:
3531         (WebCore::RenderListMarker::layout):
3532
3533 2010-09-19  Martin Robinson  <mrobinson@igalia.com>
3534
3535         Reviewed by Gustavo Noronha Silva.
3536
3537         [GTK] Wrong font instantiated from an unknown font family
3538         https://bugs.webkit.org/show_bug.cgi?id=36548
3539
3540         When FontConfig returns a match for a particular family name, ensure that
3541         the family name matches the configured alias for the original pattern. This
3542         should prevent selecting FontConfig fallbacks in situations where the next
3543         font on the CSS fallback list should be used. This requires moving all FontConfig
3544         matching logic into FontCacheFreeType and out of FontPlatformDataFreeType.
3545         It should be there anyway.
3546
3547         Test: platform/gtk/fonts/font-family-fallback.html
3548
3549         * platform/graphics/cairo/FontCacheFreeType.cpp: