2010-11-29 Jan Erik Hanssen <jhanssen@sencha.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-29  Jan Erik Hanssen  <jhanssen@sencha.com>
2
3         Reviewed by Kenneth Rohde Christiansen.
4
5         QtWebKit asserts when selecting elided text.
6         https://bugs.webkit.org/show_bug.cgi?id=45391
7
8         Ensure that the length passed to fromRawDataWithoutRef() does
9         not exceed the length of the string.
10
11         * platform/graphics/qt/FontQt.cpp:
12         (WebCore::Font::selectionRectForSimpleText):
13
14 2010-11-26  Alexander Pavlov  <apavlov@chromium.org>
15
16         Reviewed by Pavel Feldman.
17
18         Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
19         https://bugs.webkit.org/show_bug.cgi?id=31614
20
21         * English.lproj/localizedStrings.js:
22         * inspector/front-end/Color.js:
23         (WebInspector.Color.prototype.toString):
24         (WebInspector.Color.prototype._parse.this.rgba.set 0):
25         (WebInspector.Color.prototype._parse.set WebInspector):
26         (WebInspector.Color.prototype._parse):
27         * inspector/front-end/StylesSidebarPane.js:
28         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
29         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
30
31 2010-11-29  Helder Correia  <helder@sencha.com>
32
33         Reviewed by Kenneth Rohde Christiansen.
34
35         [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
36         https://bugs.webkit.org/show_bug.cgi?id=50141
37
38         Don't apply scaling transformation to shadow offsets.
39
40         Test: fast/canvas/canvas-scale-fillRect-shadow.html
41
42         * platform/graphics/ContextShadow.h:
43         * platform/graphics/qt/ContextShadowQt.cpp:
44         (WebCore::ContextShadow::beginShadowLayer):
45         (WebCore::ContextShadow::endShadowLayer):
46         * platform/graphics/qt/GraphicsContextQt.cpp:
47         (WebCore::GraphicsContext::fillRect):
48
49 2010-11-28  Dimitri Glazkov  <dglazkov@chromium.org>
50
51         Reviewed by Darin Adler.
52
53         Default event handlers should also be using event retargeting.
54         https://bugs.webkit.org/show_bug.cgi?id=49986
55
56         Test: fast/events/shadow-boundary-crossing-2.html
57
58         * dom/EventContext.cpp:
59         (WebCore::EventContext::defaultEventHandler): Added.
60         * dom/EventContext.h: Added decl.
61         * dom/Node.cpp:
62         (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
63             default event handlers.
64
65 2010-11-23  MORITA Hajime  <morrita@google.com>
66
67         Reviewed by Kent Tamura.
68
69         REGRESSION: Text on <input type="search"> is not spellchecked.
70         https://bugs.webkit.org/show_bug.cgi?id=49651
71
72         TextControlInnerElement::isSpellCheckingEnabled() didn't consider 
73         non-root shadow elelements and always went false for <input type="search>.
74         This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
75         
76         Test: editing/spelling/spellcheck-attribute.html
77         
78         * dom/Element.cpp:
79         (WebCore::Element::isSpellCheckingEnabled):
80         * rendering/TextControlInnerElements.cpp:
81         * rendering/TextControlInnerElements.h:
82
83 2010-11-28  Antonio Gomes  <agomes@rim.com>
84
85         Reviewed by Kenneth Rohde Christiansen.
86
87         Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
88         https://bugs.webkit.org/show_bug.cgi?id=50131
89
90         For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
91         SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
92         there  will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
93         to avoid feature conflicts (spatial navigation x caret browsing).
94
95         No new tests needed.
96
97         * html/HTMLInputElement.cpp:
98         (WebCore::HTMLInputElement::defaultEventHandler):
99
100 2010-11-27  Benjamin Kalman  <kalman@chromium.org>
101
102         Reviewed by Darin Adler.
103
104         Move Position::EditingBoundaryCrossingRule to a new header file
105         https://bugs.webkit.org/show_bug.cgi?id=49630
106
107         * GNUmakefile.am:
108         * WebCore.exp.in:
109         * WebCore.gypi:
110         * WebCore.pro:
111         * WebCore.vcproj/WebCore.vcproj:
112         * WebCore.xcodeproj/project.pbxproj:
113         * dom/Position.cpp:
114         (WebCore::downstreamIgnoringEditingBoundaries):
115         (WebCore::upstreamIgnoringEditingBoundaries):
116         * dom/Position.h:
117         * editing/DeleteSelectionCommand.cpp:
118         (WebCore::DeleteSelectionCommand::doApply):
119         * editing/EditingBoundary.h: Added.
120         * editing/visible_units.cpp:
121         (WebCore::startOfParagraph):
122         (WebCore::endOfParagraph):
123         (WebCore::isStartOfParagraph):
124         (WebCore::isEndOfParagraph):
125         * editing/visible_units.h:
126         * rendering/RenderObject.cpp:
127         (WebCore::RenderObject::createVisiblePosition):
128
129 2010-11-26  Rob Buis  <rwlbuis@gmail.com>
130
131         Reviewed by Simon Fraser.
132
133         Percentage z offset in transform-origin should make the property invalid
134         https://bugs.webkit.org/show_bug.cgi?id=48704
135
136         Discard transform-origin property when parsing invalid Z value.
137
138         Test: fast/css/transform-origin-parsing.html
139
140         * css/CSSParser.cpp:
141         (WebCore::CSSParser::parseTransformOriginShorthand):
142         (WebCore::CSSParser::parseTransformOrigin):
143         * css/CSSParser.h:
144
145 2010-11-26  Dan Bernstein  <mitz@apple.com>
146
147         Reviewed by Antti Koivisto.
148
149         <rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
150         https://bugs.webkit.org/show_bug.cgi?id=50096
151
152         No new test, since functionality is unchanged.
153
154         * platform/graphics/chromium/CrossProcessFontLoading.mm:
155         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
156         * platform/graphics/cocoa/FontPlatformData.h:
157         (WebCore::FontPlatformData::FontPlatformData): Ditto.
158         (WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
159         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
160         (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
161         (WebCore::FontPlatformData::FontPlatformData): Updated.
162         (WebCore::FontPlatformData::operator=): Removed copying of font ID.
163         (WebCore::FontPlatformData::setFont): Removed setting of font ID.
164         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
165         (WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
166         * platform/graphics/mac/FontCustomPlatformData.cpp:
167         (WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
168         (WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
169         * platform/graphics/mac/FontCustomPlatformData.h:
170         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
171         data member.
172         * platform/graphics/mac/SimpleFontDataATSUI.mm:
173         (WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.
174
175 2010-11-26  François Sausset  <sausset@gmail.com>
176
177         Reviewed by Daniel Bates.
178
179         MathML: code cleaning needed in MathMLInlineContainerElement.cpp
180         https://bugs.webkit.org/show_bug.cgi?id=50069
181
182         Unnecessary namespace was removed and style was adjusted.
183
184         * mathml/MathMLInlineContainerElement.cpp:
185         (WebCore::MathMLInlineContainerElement::createRenderer):
186
187 2010-11-26  Andrei Popescu  <andreip@google.com>
188
189         Reviewed by Jeremy Orlow.
190
191         IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
192         https://bugs.webkit.org/show_bug.cgi?id=50113
193
194         Modified exisiting layout tests to cover this change.
195
196         * storage/IDBDatabase.cpp:
197         (WebCore::IDBDatabase::deleteObjectStore):
198         * storage/IDBDatabase.h:
199         * storage/IDBDatabase.idl:
200         * storage/IDBDatabaseBackendImpl.cpp:
201         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
202         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
203         * storage/IDBDatabaseBackendImpl.h:
204         * storage/IDBDatabaseBackendInterface.h:
205         * storage/IDBObjectStore.cpp:
206         (WebCore::IDBObjectStore::deleteFunction):
207         (WebCore::IDBObjectStore::deleteIndex):
208         * storage/IDBObjectStore.h:
209         * storage/IDBObjectStore.idl:
210         * storage/IDBObjectStoreBackendImpl.cpp:
211         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
212         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
213         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
214         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
215         * storage/IDBObjectStoreBackendImpl.h:
216         * storage/IDBObjectStoreBackendInterface.h:
217
218 2010-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
219
220         Unreviewed, rolling out r72701.
221         http://trac.webkit.org/changeset/72701
222         https://bugs.webkit.org/show_bug.cgi?id=50114
223
224         REGRESSION: bad transform matrix on content layer (Requested
225         by backer on #webkit).
226
227         * WebCore.gypi:
228         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
229         (WebCore::Canvas2DLayerChromium::updateContents):
230         * platform/graphics/chromium/Canvas2DLayerChromium.h:
231         * platform/graphics/chromium/ContentLayerChromium.cpp:
232         (WebCore::ContentLayerChromium::cleanupResources):
233         (WebCore::ContentLayerChromium::updateContents):
234         (WebCore::ContentLayerChromium::updateTextureRect):
235         (WebCore::ContentLayerChromium::draw):
236         * platform/graphics/chromium/ContentLayerChromium.h:
237         * platform/graphics/chromium/ImageLayerChromium.cpp:
238         (WebCore::ImageLayerChromium::updateContents):
239         * platform/graphics/chromium/ImageLayerChromium.h:
240         * platform/graphics/chromium/LayerChromium.h:
241         (WebCore::LayerChromium::contentsDirty):
242         (WebCore::LayerChromium::updateContents):
243         (WebCore::LayerChromium::draw):
244         * platform/graphics/chromium/LayerRendererChromium.cpp:
245         (WebCore::LayerRendererChromium::LayerRendererChromium):
246         (WebCore::LayerRendererChromium::prepareToDrawLayers):
247         (WebCore::LayerRendererChromium::drawLayers):
248         (WebCore::LayerRendererChromium::updateLayersRecursive):
249         (WebCore::LayerRendererChromium::useRenderSurface):
250         (WebCore::LayerRendererChromium::drawLayer):
251         (WebCore::LayerRendererChromium::initializeSharedObjects):
252         (WebCore::LayerRendererChromium::cleanupSharedObjects):
253         * platform/graphics/chromium/LayerRendererChromium.h:
254         * platform/graphics/chromium/LayerTexture.cpp: Removed.
255         * platform/graphics/chromium/LayerTexture.h: Removed.
256         * platform/graphics/chromium/PluginLayerChromium.cpp:
257         (WebCore::PluginLayerChromium::updateContents):
258         * platform/graphics/chromium/PluginLayerChromium.h:
259         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
260         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
261         (WebCore::RenderSurfaceChromium::cleanupResources):
262         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
263         * platform/graphics/chromium/RenderSurfaceChromium.h:
264         * platform/graphics/chromium/TextureManager.cpp: Removed.
265         * platform/graphics/chromium/TextureManager.h: Removed.
266         * platform/graphics/chromium/VideoLayerChromium.cpp:
267         (WebCore::VideoLayerChromium::updateContents):
268         * platform/graphics/chromium/VideoLayerChromium.h:
269         * platform/graphics/chromium/WebGLLayerChromium.cpp:
270         (WebCore::WebGLLayerChromium::updateContents):
271         * platform/graphics/chromium/WebGLLayerChromium.h:
272
273 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
274
275         Unreviewed build fix.
276
277         * storage/IDBIndex.cpp:
278         (WebCore::IDBIndex::openCursor):
279         (WebCore::IDBIndex::openKeyCursor):
280         * storage/IDBObjectStore.cpp:
281         (WebCore::IDBObjectStore::openCursor):
282
283 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
284
285         Reviewed by Xan Lopez.
286
287         [GTK] SoupCache should not ignore loader's conditional requests
288         https://bugs.webkit.org/show_bug.cgi?id=50101
289
290         SoupCache must not handle WebKit loader conditional requests and
291         thus should never return its own cached response if any. This was
292         causing frequent resource load failures as WebCore was trying to
293         revalidate its own resources and was not getting any expected
294         result.
295
296         * platform/network/soup/cache/webkit/soup-cache.c:
297         (webkit_soup_cache_has_response): check the presence of
298         conditional request headers when deciding whether the cache has a
299         valid response for a given request.
300
301 2010-11-26  Jeremy Orlow  <jorlow@chromium.org>
302
303         Reviewed by Steve Block.
304
305         Make IDBKeyRange match the spec
306         https://bugs.webkit.org/show_bug.cgi?id=50105
307
308         Remove flags and instead add two booleans for being open.
309         Change left to lower and right to upper everywhere.
310
311         * storage/IDBIndexBackendImpl.cpp:
312         (WebCore::IDBIndexBackendImpl::openCursorInternal):
313         * storage/IDBKey.cpp:
314         (WebCore::IDBKey::lowerCursorWhereFragment):
315         (WebCore::IDBKey::upperCursorWhereFragment):
316         * storage/IDBKey.h:
317         * storage/IDBKeyRange.cpp:
318         (WebCore::IDBKeyRange::IDBKeyRange):
319         (WebCore::IDBKeyRange::only):
320         (WebCore::IDBKeyRange::lowerBound):
321         (WebCore::IDBKeyRange::upperBound):
322         (WebCore::IDBKeyRange::bound):
323         (WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
324         (WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
325         * storage/IDBKeyRange.h:
326         (WebCore::IDBKeyRange::create):
327         (WebCore::IDBKeyRange::lower):
328         (WebCore::IDBKeyRange::upper):
329         (WebCore::IDBKeyRange::lowerOpen):
330         (WebCore::IDBKeyRange::upperOpen):
331         * storage/IDBKeyRange.idl:
332         * storage/IDBObjectStoreBackendImpl.cpp:
333         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
334
335 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
336
337         Reviewed by Steve Block.
338
339         Convert open*Cursor and createIndex over to using OptionsObject
340         https://bugs.webkit.org/show_bug.cgi?id=50093
341
342         Add IDBKeyRange to OptionsObject's parsing abilities. Switch
343         more APIs over to using it.
344
345         * bindings/v8/OptionsObject.cpp:
346         (WebCore::OptionsObject::getKeyDOMStringList):
347         (WebCore::OptionsObject::getKeyKeyRange):
348         * bindings/v8/OptionsObject.h:
349         * storage/IDBIndex.cpp:
350         (WebCore::IDBIndex::openCursor):
351         (WebCore::IDBIndex::openKeyCursor):
352         * storage/IDBIndex.h:
353         (WebCore::IDBIndex::openCursor):
354         (WebCore::IDBIndex::openKeyCursor):
355         * storage/IDBIndex.idl:
356         * storage/IDBObjectStore.cpp:
357         (WebCore::IDBObjectStore::createIndex):
358         (WebCore::IDBObjectStore::openCursor):
359         * storage/IDBObjectStore.h:
360         (WebCore::IDBObjectStore::createIndex):
361         (WebCore::IDBObjectStore::openCursor):
362         * storage/IDBObjectStore.idl:
363
364 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
365
366         Reviewed by Steve Block.
367
368         Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
369         https://bugs.webkit.org/show_bug.cgi?id=50081
370
371         IDBDatabase.transaction should use the new optional OptionsObject way
372         of taking optional paramters. Modify that object to get numbers and
373         domStringLists from it. Verify that any requested resources exist and
374         return an exception if not.
375
376         When IDBTransaction.objectStore is called, verify that it's one of the
377         requested resources. Also verify that it still exists. Plumb the
378         exception code to make this work.
379
380         Tests: storage/indexeddb/create-and-remove-object-store.html
381                storage/indexeddb/transaction-and-objectstore-calls.html
382
383         * bindings/v8/OptionsObject.cpp:
384         (WebCore::OptionsObject::getKeyInteger):
385         (WebCore::OptionsObject::getKeyString):
386         (WebCore::OptionsObject::getKeyDOMStringList):
387         * bindings/v8/OptionsObject.h:
388         * storage/IDBDatabase.cpp:
389         (WebCore::IDBDatabase::createObjectStore):
390         (WebCore::IDBDatabase::transaction):
391         * storage/IDBDatabase.h:
392         (WebCore::IDBDatabase::transaction):
393         * storage/IDBDatabase.idl:
394         * storage/IDBDatabaseBackendImpl.cpp:
395         (WebCore::IDBDatabaseBackendImpl::transaction):
396         * storage/IDBTransaction.cpp:
397         (WebCore::IDBTransaction::objectStore):
398         * storage/IDBTransactionBackendImpl.cpp:
399         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
400         (WebCore::IDBTransactionBackendImpl::objectStore):
401         * storage/IDBTransactionBackendImpl.h:
402         * storage/IDBTransactionBackendInterface.h:
403
404 2010-11-26  Mario Sanchez Prada  <msanchez@igalia.com>
405
406         Reviewed by Xan Lopez.
407
408         [GTK] events missing when a document is (re)loaded
409         https://bugs.webkit.org/show_bug.cgi?id=25831
410
411         Make sure webArea returns a proper name and that a signal
412         'state-change::defunct' is emitted when detaching the wrapper.
413
414         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
415         (webkit_accessible_get_name): Returns the current document's title
416         as fallback mechanism for webArea objects.
417         (webkit_accessible_detach): Emit 'state-change::defunct' function
418         as soon as the wrapper is detached from the related core object.
419
420 2010-11-26  Sergio Villar Senin  <svillar@igalia.com>
421
422         Reviewed by Xan Lopez.
423
424         [Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
425         https://bugs.webkit.org/show_bug.cgi?id=50083
426
427         ResourceHandleSoup should not listen to content-sniffed signal
428         when content sniffing is not enabled. This will prevent us
429         reaching an assertion on content-sniffed callback
430
431         * platform/network/soup/ResourceHandleSoup.cpp:
432         (WebCore::startHttp):
433         * platform/network/soup/cache/soup-request-http.c:
434         (conditional_get_ready_cb): added a comment with the
435         possible fix for a pure libsoup HTTP cache.
436         (send_async_cb): prevent an early object finalization adding a
437         reference.
438         (webkit_soup_request_http_send_async): Ditto.
439
440 2010-11-26  Renata Hodovan  <reni@inf.u-szeged.hu>
441
442         Reviewed by Antonio Gomes.
443
444         [Qt] Remove empty ScrollView::platformInit/platformDestroy
445         https://bugs.webkit.org/show_bug.cgi?id=50079
446
447         No new test is needed.
448
449         * platform/ScrollView.cpp:
450         (WebCore::ScrollView::wheelEvent):
451         * platform/qt/ScrollViewQt.cpp:
452
453 2010-11-26  Pavel Feldman  <pfeldman@chromium.org>
454
455         Not reviewed. Fixing inspector tests.
456
457         * inspector/front-end/Resource.js:
458         (WebInspector.Resource.prototype.set timing):
459
460 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
461
462         Reviewed by Yury Semikhatsky.
463
464         Web Inspector: UI polish for Network and Resources panels.
465         https://bugs.webkit.org/show_bug.cgi?id=50100
466
467         - Fixed timing inconsistencies
468         - Made grid user-selectable
469         - Selection in network panel is made on name column only
470
471         * inspector/front-end/NetworkPanel.js:
472         (WebInspector.NetworkPanel):
473         (WebInspector.NetworkPanel.prototype._toggleGridMode):
474         (WebInspector.NetworkDataGridNode.prototype.createCells):
475         (WebInspector.NetworkDataGridNode.prototype.select):
476         (WebInspector.NetworkDataGridNode.prototype.get selectable):
477         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
478         (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
479         (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
480         * inspector/front-end/Popover.js:
481         (WebInspector.PopoverHelper):
482         (WebInspector.PopoverHelper.prototype.setTimeout):
483         (WebInspector.PopoverHelper.prototype._mouseMove):
484         (WebInspector.PopoverHelper.prototype._handleMouseAction):
485         * inspector/front-end/Resource.js:
486         (WebInspector.Resource.prototype.get responseReceivedTime):
487         (WebInspector.Resource.prototype.set endTime):
488         (WebInspector.Resource.prototype.set timing):
489         * inspector/front-end/ResourceManager.js:
490         (WebInspector.ResourceManager.prototype.didReceiveResponse):
491         (WebInspector.ResourceManager.prototype.didFinishLoading):
492         * inspector/front-end/ResourcesPanel.js:
493         (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
494         * inspector/front-end/networkPanel.css:
495         (.network-sidebar .data-grid td:not(.network-summary)):
496         (.network-sidebar .data-grid td.name-column):
497         (.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
498         (.network-timing-row):
499         (.network-timing-bar):
500         (.network-timing-bar-title):
501         (.resource-timing-view):
502
503 2010-11-26  Helder Correia  <helder@sencha.com>
504
505         Reviewed by Ariya Hidayat.
506
507         [Qt] Blur shadow for rectangle fill
508         https://bugs.webkit.org/show_bug.cgi?id=44488
509
510         Shadow color opacity needs to be set when blurring shadow with
511         ContextShadow.
512
513         Test: fast/canvas/canvas-fillRect-shadow.html
514
515         * platform/graphics/qt/GraphicsContextQt.cpp:
516         (WebCore::GraphicsContext::fillRect):
517
518 2010-11-26  Hans Wennborg  <hans@chromium.org>
519
520         Reviewed by Jeremy Orlow.
521
522         IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
523         https://bugs.webkit.org/show_bug.cgi?id=50102
524
525         Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
526
527         * manual-tests/indexeddb-persists.html:
528         * storage/IDBDatabase.h:
529         (WebCore::IDBDatabase::objectStoreNames):
530         * storage/IDBDatabase.idl:
531         * storage/IDBDatabaseBackendImpl.cpp:
532         (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
533         (WebCore::IDBDatabaseBackendImpl::setVersion):
534         (WebCore::IDBDatabaseBackendImpl::transaction):
535         * storage/IDBDatabaseBackendImpl.h:
536         * storage/IDBDatabaseBackendInterface.h:
537
538 2010-11-26  Andrei Popescu  <andreip@google.com>
539
540         Reviewed by Jeremy Orlow.
541
542         IDBFactory::open should not have a description argument.
543         https://bugs.webkit.org/show_bug.cgi?id=50087
544
545         Modified exisiting tests to cover this change.
546
547         * storage/IDBDatabaseBackendImpl.cpp:
548         (WebCore::setMetaData):
549         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
550         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
551         * storage/IDBDatabaseBackendImpl.h:
552         (WebCore::IDBDatabaseBackendImpl::create):
553         * storage/IDBDatabaseBackendInterface.h:
554         * storage/IDBFactory.cpp:
555         (WebCore::IDBFactory::open):
556         * storage/IDBFactory.h:
557         * storage/IDBFactory.idl:
558         * storage/IDBFactoryBackendImpl.cpp:
559         (WebCore::IDBFactoryBackendImpl::open):
560         * storage/IDBFactoryBackendImpl.h:
561         * storage/IDBFactoryBackendInterface.h:
562
563 2010-11-25  Kenichi Ishibashi  <bashi@google.com>
564
565         Reviewed by Kent Tamura.
566
567         Assertion failure by resetting <output> twice
568         https://bugs.webkit.org/show_bug.cgi?id=50095
569
570         Don't call setTextContentInternal() when the value wouldn't
571         be changed.
572
573         Test: fast/forms/output-reset-assertion-failed.html
574
575         * html/HTMLOutputElement.cpp:
576         (WebCore::HTMLOutputElement::HTMLOutputElement): Calls
577         setTextContentInternal() if and only if needed.
578         (WebCore::HTMLOutputElement::reset): Ditto.
579         (WebCore::HTMLOutputElement::setValue): Ditto.
580         (WebCore::HTMLOutputElement::setDefaultValue): Ditto.
581
582 2010-11-24  Ryosuke Niwa  <rniwa@webkit.org>
583
584         Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
585         https://bugs.webkit.org/show_bug.cgi?id=49652
586
587         Fixed the crash by giving the correct end offset to emitText in handleTextNode.
588
589         This patch does not fix a bug in TextIterator that incorrectly calculates
590         the end offset of a word with a first-letter rule as demonstrated in the layout test
591         because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
592         with the case when whitespace is collapsible.
593
594         Test: editing/text-iterator/first-letter-word-boundary.html
595
596         * editing/TextIterator.cpp:
597         (WebCore::TextIterator::handleTextNode):
598
599 2010-11-25  Mike Lawther  <mikelawther@chromium.org>
600
601         Reviewed by Kent Tamura.
602
603         Fix typos in CSS grammar (HERZ -> HERTZ)
604         https://bugs.webkit.org/show_bug.cgi?id=50094
605
606         * css/CSSGrammar.y:
607         * css/CSSParser.cpp:
608         (WebCore::CSSParser::lex):
609         * css/tokenizer.flex:
610
611 2010-11-25  Antti Koivisto  <antti@apple.com>
612
613         Reviewed by Dan Bernstein.
614
615         https://bugs.webkit.org/show_bug.cgi?id=50078
616         Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.
617
618         * loader/cache/CachedImage.cpp:
619         (WebCore::CachedImage::CachedImage):
620         * loader/cache/CachedImage.h:
621         (WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
622         * loader/cache/CachedResource.h:
623         (WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
624         (WebCore::CachedResource::httpStatusCodeErrorOccurred):
625         * loader/loader.cpp:
626         (WebCore::Loader::didReceiveData):
627
628 2010-11-25  Andreas Kling  <kling@webkit.org>
629
630         Reviewed by Tor Arne Vestbø.
631
632         [Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
633         https://bugs.webkit.org/show_bug.cgi?id=50085
634
635         * platform/graphics/qt/GraphicsContextQt.cpp:
636         (WebCore::GraphicsContext::drawConvexPolygon):
637         Remember the previous antialiasing mode and reset it after we're done.
638
639 2010-11-25  Ben Murdoch  <benm@google.com>
640
641         Reviewed by Steve Block.
642
643         Potential crash in JavaClassV8.cpp
644         https://bugs.webkit.org/show_bug.cgi?id=50016
645
646         It is possible that we attempt to free uninitialised
647         memory in the JavaClass destrctor when using V8 in the
648         case that the JVM could not find the class in the constructor.
649
650         It turns out that the troublesome m_name is not acutally
651         used anywhere, so we remove it in this patch.
652
653         No new tests, just removing dead code.
654
655         * bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
656         * bridge/jni/v8/JavaClassV8.h: Ditto.
657
658 2010-11-25  Hans Wennborg  <hans@chromium.org>
659
660         Reviewed by Jeremy Orlow.
661
662         IndexedDB: Better errors for not yet implemented features
663         https://bugs.webkit.org/show_bug.cgi?id=50075
664
665         Raise an exception if createObjectStore is called with autoIncrement
666         set to true.
667
668         Be a little bit more explicit in IDBBindingUtilities that we don't
669         allow using Date objects as keys yet.
670
671         * bindings/v8/IDBBindingUtilities.cpp:
672         (WebCore::createIDBKeyFromValue):
673         * storage/IDBDatabase.cpp:
674         (WebCore::IDBDatabase::createObjectStore):
675         * storage/IDBObjectStoreBackendImpl.cpp:
676         (WebCore::IDBObjectStoreBackendImpl::putInternal):
677
678 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
679
680         Reviewed by Yury Semikhatsky.
681
682         Web Inspector: highlight diffs of revisions against base version.
683         https://bugs.webkit.org/show_bug.cgi?id=50088
684
685         * inspector/front-end/CSSStyleModel.js:
686         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
687         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
688         * inspector/front-end/ResourcesPanel.js:
689         (WebInspector.ResourcesPanel):
690         (WebInspector.ResourcesPanel.prototype.show):
691         (WebInspector.ResourcesPanel.prototype._showResourceView.callback):
692         (WebInspector.ResourcesPanel.prototype._showResourceView):
693         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
694         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
695         * inspector/front-end/SourceFrame.js:
696         (WebInspector.SourceFrame.prototype.markDiff):
697         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
698         (WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
699         (WebInspector.SourceFrame.prototype._updateDiffDecorations):
700         (WebInspector.SourceFrame.prototype._removeDiffDecorations):
701         * inspector/front-end/SourceView.js:
702         * inspector/front-end/textViewer.css:
703         (.webkit-line-number):
704         (.diff-container .webkit-added-line .webkit-line-content):
705         (.diff-container .webkit-removed-line .webkit-line-content):
706         (.diff-container .webkit-changed-line .webkit-line-content):
707         * inspector/front-end/utilities.js:
708
709 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
710
711         Unreviewed, rolling out r72732.
712         http://trac.webkit.org/changeset/72732
713         https://bugs.webkit.org/show_bug.cgi?id=50089
714
715         Made Qt bot sad and crashy (Requested by Ossy on #webkit).
716
717         * platform/network/qt/QNetworkReplyHandler.cpp:
718         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
719         * platform/network/qt/QNetworkReplyHandler.h:
720         * platform/network/qt/ResourceHandleQt.cpp:
721         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
722         (WebCore::WebCoreSynchronousLoader::didFail):
723         (WebCore::ResourceHandle::loadResourceSynchronously):
724
725 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
726
727         Unreviewed, rolling out r72734.
728         http://trac.webkit.org/changeset/72734
729         https://bugs.webkit.org/show_bug.cgi?id=50086
730
731         Backing out 72732 which made Qt sad and crashy (Requested by
732         kling on #webkit).
733
734         * platform/network/qt/ResourceHandleQt.cpp:
735         (WebCore::ResourceHandle::loadResourceSynchronously):
736
737 2010-11-25  Andreas Kling  <kling@webkit.org>
738
739         Unreviewed crash fix for Qt 4.6.x.
740
741         Check that QNetworkReplyHandler::reply() doesn't return null before
742         using it (this code needs to work for Qt 4.6 as well.)
743
744         * platform/network/qt/ResourceHandleQt.cpp:
745         (WebCore::ResourceHandle::loadResourceSynchronously):
746
747 2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
748
749         Unreviewed, rolling out r72727.
750         http://trac.webkit.org/changeset/72727
751         https://bugs.webkit.org/show_bug.cgi?id=50084
752
753         Broke dom-breakpoints test on chromium win (Requested by
754         podivilov on #webkit).
755
756         * inspector/InspectorController.cpp:
757         (WebCore::InspectorController::setNativeBreakpoint):
758         * inspector/InspectorDOMAgent.cpp:
759         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
760         (WebCore::InspectorDOMAgent::discardBindings):
761         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
762         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
763         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
764         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
765         (WebCore::InspectorDOMAgent::createBreakpointId):
766         * inspector/InspectorDOMAgent.h:
767         * inspector/front-end/BreakpointManager.js:
768         (WebInspector.BreakpointManager.prototype.reset):
769         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
770         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
771         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
772         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
773         (WebInspector.DOMBreakpoint):
774         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
775         (WebInspector.EventListenerBreakpoint):
776         (WebInspector.XHRBreakpoint):
777         * inspector/front-end/BreakpointsSidebarPane.js:
778         (WebInspector.BreakpointsSidebarPane):
779         (WebInspector.BreakpointsSidebarPane.prototype.reset):
780         (WebInspector.EventListenerBreakpointsSidebarPane):
781         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
782         * inspector/front-end/DOMAgent.js:
783         (WebInspector.DOMAgent.prototype._setDocument):
784         * inspector/front-end/ElementsPanel.js:
785         (WebInspector.ElementsPanel.prototype.reset):
786         * inspector/front-end/ElementsTreeOutline.js:
787         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
788         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
789         * inspector/front-end/ScriptsPanel.js:
790         (WebInspector.ScriptsPanel.prototype.reset):
791         * inspector/front-end/inspector.js:
792         (WebInspector.reset):
793         (WebInspector.didCommitLoad):
794
795 2010-11-25  Peter Hartmann  <peter.hartmann@nokia.com>
796
797         Reviewed by Andreas Kling.
798
799         [Qt] enable usage of synchronous HTTP feature in Qt
800         https://bugs.webkit.org/show_bug.cgi?id=37191
801
802         Currently, we spin an event loop when doing synchronous calls to
803         wait for completion. This patch uses synchronous requests in Qt,
804         if available, and spins the event loop as a fallback solution.
805         Patch by Simon Hausmann and Peter Hartmann.
806
807         * platform/network/qt/QNetworkReplyHandler.cpp:
808         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
809         * platform/network/qt/QNetworkReplyHandler.h:
810         * platform/network/qt/ResourceHandleQt.cpp:
811         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
812         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
813         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
814         (WebCore::WebCoreSynchronousLoader::didFail):
815         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
816         (WebCore::ResourceHandle::loadResourceSynchronously):
817
818 2010-11-25  Hans Wennborg  <hans@chromium.org>
819
820         Reviewed by Jeremy Orlow.
821
822         V8 Bindings: remove faulty include in OptionsObject.h
823         https://bugs.webkit.org/show_bug.cgi?id=50073
824
825         There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
826         either.
827
828         No new functionality, no new tests.
829
830         * bindings/v8/OptionsObject.h:
831
832 2010-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
833
834         Reviewed by Simon Hausmann.
835
836         Actually handle targetDensityDpi in computeViewportAttributes
837         https://bugs.webkit.org/show_bug.cgi?id=50068
838
839         * dom/ViewportArguments.cpp:
840         (WebCore::computeViewportAttributes):
841
842 2010-11-25  Jeremy Orlow  <jorlow@chromium.org>
843
844         Reviewed by Steve Block.
845
846         Add an OptionsObject class for IndexedDB (and later Geolocation)
847         https://bugs.webkit.org/show_bug.cgi?id=50030
848
849         Geolocation and IndexedDB both have the concept of an optional
850         parameter that has various options supplied with it.  In
851         Geolocation this was done with custom bindings, but I'm trying to
852         avoid that for IndexedDB.  
853
854         This first patch implements it in V8 and makes createObjectStore use it.
855         The next patch will cover Geolocation and JSC.
856
857         Test: storage/indexeddb/create-object-store-options.html
858
859         * WebCore.gypi:
860         * bindings/scripts/CodeGeneratorV8.pm:
861         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
862         (WebDOMTestObj::optionsObject):
863         * bindings/scripts/test/CPP/WebDOMTestObj.h:
864         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
865         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
866         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
867         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
868         (webkit_dom_test_obj_options_object):
869         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
870         * bindings/scripts/test/JS/JSTestObj.cpp:
871         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
872         * bindings/scripts/test/JS/JSTestObj.h:
873         * bindings/scripts/test/ObjC/DOMTestObj.h:
874         * bindings/scripts/test/ObjC/DOMTestObj.mm:
875         (-[DOMTestObj optionsObject:ooo:]):
876         * bindings/scripts/test/TestObj.idl:
877         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
878         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
879         * bindings/scripts/test/V8/V8TestObj.cpp:
880         (WebCore::TestObjInternal::optionsObjectCallback):
881         * bindings/v8/OptionsObject.cpp: Added.
882         (WebCore::OptionsObject::OptionsObject):
883         (WebCore::OptionsObject::~OptionsObject):
884         (WebCore::OptionsObject::operator=):
885         (WebCore::OptionsObject::undefinedOrNull):
886         (WebCore::OptionsObject::getKeyBool):
887         (WebCore::OptionsObject::getKeyString):
888         (WebCore::OptionsObject::getKey):
889         * bindings/v8/OptionsObject.h:
890         * bindings/js/OptionsObject.h:
891         * storage/IDBDatabase.cpp:
892         (WebCore::IDBDatabase::createObjectStore):
893         * storage/IDBDatabase.h:
894         (WebCore::IDBDatabase::createObjectStore):
895         * storage/IDBDatabase.idl:
896
897 2010-11-24  Pavel Podivilov  <podivilov@chromium.org>
898
899         Reviewed by Yury Semikhatsky.
900
901         Web Inspector: set DOM breakpoints by path.
902         https://bugs.webkit.org/show_bug.cgi?id=50017
903
904         This change is needed to be able to push DOM breakpoints for all URL's to backend
905         at frontend load.
906
907         * inspector/InspectorController.cpp:
908         (WebCore::InspectorController::setNativeBreakpoint):
909         * inspector/InspectorDOMAgent.cpp:
910         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
911         (WebCore::InspectorDOMAgent::discardBindings):
912         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
913         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
914         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
915         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
916         * inspector/InspectorDOMAgent.h:
917         * inspector/front-end/BreakpointManager.js:
918         (WebInspector.BreakpointManager.prototype.reset):
919         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
920         (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
921         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
922         (WebInspector.DOMBreakpoint):
923         (WebInspector.DOMBreakpoint.prototype._setNodeId):
924         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
925         (WebInspector.EventListenerBreakpoint):
926         (WebInspector.XHRBreakpoint):
927         * inspector/front-end/BreakpointsSidebarPane.js:
928         (WebInspector.BreakpointsSidebarPane):
929         (WebInspector.BreakpointsSidebarPane.prototype._reset):
930         (WebInspector.EventListenerBreakpointsSidebarPane):
931         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
932         * inspector/front-end/DOMAgent.js:
933         (WebInspector.DOMAgent.prototype._setDocument):
934         * inspector/front-end/ElementsPanel.js:
935         (WebInspector.ElementsPanel.prototype.reset):
936         * inspector/front-end/ElementsTreeOutline.js:
937         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
938         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
939         * inspector/front-end/ScriptsPanel.js:
940         (WebInspector.ScriptsPanel.prototype.reset):
941         * inspector/front-end/inspector.js:
942         (WebInspector.reset):
943         (WebInspector.didCommitLoad):
944
945 2010-11-25  Pavel Feldman  <pfeldman@chromium.org>
946
947         Reviewed by Yury Semikhatsky.
948
949         Web Inspector: reuse code for recreating resource views.
950         https://bugs.webkit.org/show_bug.cgi?id=50066
951
952         * inspector/front-end/NetworkItemView.js:
953         (WebInspector.NetworkItemView):
954         * inspector/front-end/NetworkPanel.js:
955         (WebInspector.NetworkPanel.prototype.refreshResource):
956         * inspector/front-end/ResourceManager.js:
957         (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
958         (WebInspector.ResourceManager.resourceViewForResource):
959         (WebInspector.ResourceManager.recreateResourceView):
960         * inspector/front-end/ResourcesPanel.js:
961         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
962
963 2010-11-25  Hans Wennborg  <hans@chromium.org>
964
965         Reviewed by Jeremy Orlow.
966
967         IndexedDB: Disallow inserting records with NULL keys
968         https://bugs.webkit.org/show_bug.cgi?id=50033
969
970         Disallow inserting records with null keys into the object store.
971
972         * storage/IDBKey.h:
973         * storage/IDBObjectStoreBackendImpl.cpp:
974         (WebCore::IDBObjectStoreBackendImpl::putInternal):
975
976 2010-11-25  Philippe Normand  <pnormand@igalia.com>
977
978         Rubber-stamped by Xan Lopez.
979
980         g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
981         no need to use our version if that version of glib is used during
982         the build.
983
984         * platform/gtk/GtkVersioning.c:
985         * platform/gtk/GtkVersioning.h:
986
987 2010-11-24  Jian Li  <jianli@chromium.org>
988
989         Reviewed by Kenneth Russell.
990
991         Implement DataView interface from Typed Array specification
992         https://bugs.webkit.org/show_bug.cgi?id=46541
993
994         Test: fast/canvas/webgl/data-view-test.html
995
996         * CMakeLists.txt:
997         * DerivedSources.make:
998         * GNUmakefile.am:
999         * WebCore.gypi:
1000         * WebCore.pri:
1001         * WebCore.pro:
1002         * WebCore.xcodeproj/project.pbxproj:
1003         * bindings/generic/RuntimeEnabledFeatures.h:
1004         (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
1005         * bindings/js/JSArrayBufferViewHelper.h:
1006         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
1007         (WebCore::constructArrayBufferView):
1008         * bindings/js/JSDOMWindowCustom.cpp:
1009         (WebCore::JSDOMWindow::dataView):
1010         * bindings/js/JSDataViewCustom.cpp: Added.
1011         * bindings/js/JSFloat32ArrayCustom.cpp:
1012         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
1013         * bindings/js/JSInt16ArrayCustom.cpp:
1014         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
1015         * bindings/js/JSInt32ArrayCustom.cpp:
1016         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
1017         * bindings/js/JSInt8ArrayCustom.cpp:
1018         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
1019         * bindings/js/JSUint16ArrayCustom.cpp:
1020         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
1021         * bindings/js/JSUint32ArrayCustom.cpp:
1022         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
1023         * bindings/js/JSUint8ArrayCustom.cpp:
1024         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
1025         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1026         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1027         (WebCore::constructWebGLArray):
1028         * bindings/v8/custom/V8DataViewCustom.cpp: Added.
1029         * html/canvas/ArrayBufferView.h:
1030         (WebCore::ArrayBufferView::isDataView):
1031         * html/canvas/DataView.cpp: Added.
1032         * html/canvas/DataView.h: Added.
1033         * html/canvas/DataView.idl: Added.
1034         * page/DOMWindow.idl:
1035
1036 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
1037
1038         Reviewed by Martin Robinson.
1039
1040         [GTK] Windowless plugins gets broken key input
1041         https://bugs.webkit.org/show_bug.cgi?id=49927
1042
1043         When converting the GdkEvent to XEvent we need to send the
1044         hardware_keycode as XEvent::keycode. Instead we where sending
1045         the GdkEvent::keyval. This is already tested by
1046         plugins/keyboard-events.html, but a bug in the test plugin was
1047         resulting in false positive.
1048
1049         * plugins/gtk/PluginViewGtk.cpp:
1050         (WebCore::PluginView::handleKeyboardEvent):
1051
1052 2010-11-24  Eric Uhrhane  <ericu@chromium.org>
1053
1054         Reviewed by David Levin.
1055
1056         Implement FileWriterSync
1057         https://bugs.webkit.org/show_bug.cgi?id=49939
1058
1059         Tests to follow in a separate CL, once the test framework in 47680 goes in.
1060
1061         Build file changes to add FileWriterBase and FileWriterBaseCallback.
1062         * CMakeLists.txt:
1063         * GNUmakefile.am:
1064         * WebCore.gypi:
1065         * WebCore.pro:
1066         * WebCore.vcproj/WebCore.vcproj:
1067         * WebCore.xcodeproj/project.pbxproj:
1068
1069         FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
1070         * bindings/scripts/CodeGeneratorV8.pm:
1071
1072         Added new AsyncFileWriter::waitForOperationToComplete to enable
1073         synchronous calls.
1074         * fileapi/AsyncFileWriter.h:
1075
1076         Added a way to get a FileSystemSync.
1077         * fileapi/DOMFileSystemSync.cpp:
1078         * fileapi/FileEntrySync.cpp:
1079         * fileapi/FileEntrySync.h:
1080         * fileapi/FileEntrySync.idl:
1081
1082         Added an error code for OK, rather than just having 0 everywhere.
1083         * fileapi/FileError.h:
1084
1085         Turned FileWriterCallback into FileWriterBaseCallback.
1086         * fileapi/FileSystemCallbacks.cpp:
1087         * fileapi/FileSystemCallbacks.h:
1088
1089         Refactored out a common base class, FileWriterBase, for FileWriter and
1090         FileWriterSync.
1091         * fileapi/FileWriter.cpp:
1092         * fileapi/FileWriter.h:
1093         * fileapi/FileWriterBase.cpp: Added.
1094         * fileapi/FileWriterBase.h: Added.
1095         * fileapi/FileWriterBaseCallback.h: Added.
1096         * fileapi/FileWriterSync.cpp:
1097         * fileapi/FileWriterSync.h:
1098
1099         Small tweaks to deal with the base class refactoring.
1100         * fileapi/DOMFileSystem.cpp:
1101         * fileapi/DOMFileSystemSync.h:
1102
1103         Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
1104         * fileapi/FileWriterSync.idl:
1105
1106 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
1107
1108         Reviewed by Xan Lopez.
1109
1110         Build fix for GTK+. There were some typos in my last build fix
1111         and the empty command (semicolon) seems to be necessary for wildcard
1112         rule chains.
1113
1114         * GNUmakefile.am: Small build fixes.
1115
1116 2010-11-24  James Robinson  <jamesr@chromium.org>
1117
1118         Reviewed by Kenneth Russell.
1119
1120         [chromium] Compositor needs to manage its VRAM use
1121         https://bugs.webkit.org/show_bug.cgi?id=49629
1122
1123         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
1124         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
1125         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
1126         Video, and WebGL) and the root layer are still unmanaged.
1127
1128         The TextureManager works by providing tokens to callers that want to use a managed texture.
1129         The token can be used to request a texture, see if the previously requested texture is still
1130         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
1131         texture is created the manager attempts to free up the least recently used textures until the
1132         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
1133         limit it will not return any new textures until some old textures are released.
1134
1135         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
1136         previously requested texture is still available for use and reserve the LayerTexture's underlying
1137         storage between the updateContentsIfDirty() and the draw() call.
1138
1139         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
1140         updateContentsIfDirty().
1141
1142         Tests: compositing/lots-of-img-layers-with-opacity.html
1143                compositing/lots-of-img-layers.html
1144
1145         * WebCore.gypi:
1146         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1147         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
1148         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1149         * platform/graphics/chromium/ContentLayerChromium.cpp:
1150         (WebCore::ContentLayerChromium::cleanupResources):
1151         (WebCore::ContentLayerChromium::updateContentsIfDirty):
1152         (WebCore::ContentLayerChromium::updateTextureRect):
1153         (WebCore::ContentLayerChromium::draw):
1154         * platform/graphics/chromium/ContentLayerChromium.h:
1155         * platform/graphics/chromium/ImageLayerChromium.cpp:
1156         (WebCore::ImageLayerChromium::updateContentsIfDirty):
1157         * platform/graphics/chromium/ImageLayerChromium.h:
1158         * platform/graphics/chromium/LayerChromium.h:
1159         (WebCore::LayerChromium::updateContentsIfDirty):
1160         (WebCore::LayerChromium::draw):
1161         * platform/graphics/chromium/LayerRendererChromium.cpp:
1162         (WebCore::LayerRendererChromium::LayerRendererChromium):
1163         (WebCore::LayerRendererChromium::prepareToDrawLayers):
1164         (WebCore::LayerRendererChromium::drawLayers):
1165         (WebCore::LayerRendererChromium::updateLayersRecursive):
1166         (WebCore::LayerRendererChromium::useRenderSurface):
1167         (WebCore::LayerRendererChromium::drawLayer):
1168         (WebCore::LayerRendererChromium::initializeSharedObjects):
1169         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1170         * platform/graphics/chromium/LayerRendererChromium.h:
1171         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
1172         (WebCore::LayerRendererChromium::textureManager):
1173         * platform/graphics/chromium/LayerTexture.cpp: Added.
1174         (WebCore::LayerTexture::LayerTexture):
1175         (WebCore::LayerTexture::~LayerTexture):
1176         (WebCore::LayerTexture::isValid):
1177         (WebCore::LayerTexture::reserve):
1178         (WebCore::LayerTexture::unreserve):
1179         (WebCore::LayerTexture::bindTexture):
1180         (WebCore::LayerTexture::framebufferTexture2D):
1181         * platform/graphics/chromium/LayerTexture.h: Added.
1182         (WebCore::LayerTexture::create):
1183         * platform/graphics/chromium/PluginLayerChromium.cpp:
1184         (WebCore::PluginLayerChromium::updateContentsIfDirty):
1185         * platform/graphics/chromium/PluginLayerChromium.h:
1186         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1187         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
1188         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
1189         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1190         (WebCore::RenderSurfaceChromium::cleanupResources):
1191         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
1192         (WebCore::RenderSurfaceChromium::draw):
1193         * platform/graphics/chromium/RenderSurfaceChromium.h:
1194         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
1195         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
1196         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
1197         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
1198         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
1199         * platform/graphics/chromium/TextureManager.cpp: Added.
1200         (WebCore::memoryUseBytes):
1201         (WebCore::TextureManager::TextureManager):
1202         (WebCore::TextureManager::getToken):
1203         (WebCore::TextureManager::releaseToken):
1204         (WebCore::TextureManager::hasTexture):
1205         (WebCore::TextureManager::protectTexture):
1206         (WebCore::TextureManager::unprotectTexture):
1207         (WebCore::TextureManager::reduceMemoryToLimit):
1208         (WebCore::TextureManager::addTexture):
1209         (WebCore::TextureManager::removeTexture):
1210         (WebCore::TextureManager::requestTexture):
1211         * platform/graphics/chromium/TextureManager.h: Added.
1212         (WebCore::TextureManager::create):
1213         * platform/graphics/chromium/VideoLayerChromium.cpp:
1214         (WebCore::VideoLayerChromium::updateContentsIfDirty):
1215         * platform/graphics/chromium/VideoLayerChromium.h:
1216         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1217         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
1218         * platform/graphics/chromium/WebGLLayerChromium.h:
1219
1220 2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
1221
1222         Reviewed by Martin Robinson.
1223
1224         [GTK] response.isNull() assert when using directory file URI
1225         https://bugs.webkit.org/show_bug.cgi?id=49018
1226
1227         Do ensure that didReceiveResponse happens before any call to
1228         didReceiveData. That was not true for file:// URIs pointing to
1229         directories and thus was triggering an assertion.
1230
1231         Test: platform/gtk/fast/loader/crash-display-local-directory.html
1232
1233         * platform/network/soup/ResourceHandleSoup.cpp:
1234         (WebCore::gotHeadersCallback):
1235         (WebCore::contentSniffedCallback):
1236         (WebCore::parseDataUrl):
1237         (WebCore::sendRequestCallback):
1238         (WebCore::readCallback):
1239
1240 2010-11-24  Xan Lopez  <xlopez@igalia.com>
1241
1242         Reviewed by Martin Robinson.
1243
1244         * bindings/gobject/WebKitDOMBinding.h: fix stlye nit.
1245
1246 2010-11-24  Xan Lopez  <xlopez@igalia.com>
1247
1248         Reviewed by Martin Robinson.
1249
1250         [GTK] Make kit() methods return the proper type instead of gpointer
1251         https://bugs.webkit.org/show_bug.cgi?id=50034
1252
1253         Change kit() methods to return proper type pointer.
1254
1255         * bindings/gobject/WebKitDOMBinding.cpp: change implementions of
1256         kit methods.
1257         * bindings/gobject/WebKitDOMBinding.h: change their declarations.
1258         * bindings/scripts/CodeGeneratorGObject.pm: change the generated
1259         kit() methods.
1260
1261 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
1262
1263         Reviewed by Xan Lopez.
1264
1265         [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
1266         https://bugs.webkit.org/show_bug.cgi?id=50032
1267
1268         Instead of listing two targets for rules that have two outputs, make
1269         a dependency chain. This fixes the issue where some files are generated
1270         unconditionally. Also remove all unnecessary semicolons from the file.
1271
1272         No new tests as this is just a build fix.
1273
1274         * GNUmakefile.am: Fix GNUmake dependency issue.
1275
1276 2010-11-24  Nico Weber  <nicolasweber@gmx.de>
1277
1278         Reviewed by Adam Barth.
1279
1280         Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
1281         https://bugs.webkit.org/show_bug.cgi?id=49965
1282
1283         Probably covered by existing tests whose expectations were overwritten
1284         in http://trac.webkit.org/changeset/70858
1285
1286         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1287         (WebCore::RGBA32Buffer::asNewNativeImage):
1288
1289 2010-11-24  Alexander Pavlov  <apavlov@chromium.org>
1290
1291         Reviewed by Pavel Feldman.
1292
1293         Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
1294         https://bugs.webkit.org/show_bug.cgi?id=50025
1295
1296         @font-face rules were improperly handled by source data extractor.
1297
1298         * css/CSSParser.cpp:
1299         (WebCore::CSSParser::CSSParser):
1300         (WebCore::CSSParser::parseDeclaration):
1301         (WebCore::CSSParser::createStyleRule):
1302         (WebCore::CSSParser::markRuleBodyStart):
1303         (WebCore::CSSParser::markPropertyStart):
1304         (WebCore::CSSParser::markPropertyEnd):
1305         * css/CSSParser.h:
1306
1307 2010-11-24  Cris Neckar  <cdn@chromium.org>
1308
1309         Reviewed by Adam Barth.
1310
1311         Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
1312         https://bugs.webkit.org/show_bug.cgi?id=49883
1313
1314         Test: fast/css/local_font_invalid.html
1315
1316         * css/CSSParser.cpp:
1317         (WebCore::CSSParser::parseFontFaceSrc):
1318
1319 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
1320
1321         Reviewed by Yury Semikhatsky.
1322
1323         Web Inspector: place local modifications to under original
1324         resource nodes in the resource panel.
1325         https://bugs.webkit.org/show_bug.cgi?id=50029
1326
1327         * English.lproj/localizedStrings.js:
1328         * inspector/Inspector.idl:
1329         * inspector/InspectorController.cpp:
1330         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1331         (WebCore::InspectorController::scriptImported):
1332         * inspector/InspectorResourceAgent.cpp:
1333         (WebCore::InspectorResourceAgent::setInitialContent):
1334         * inspector/InspectorResourceAgent.h:
1335         * inspector/front-end/CSSStyleModel.js:
1336         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1337         (WebInspector.CSSStyleModel.prototype.addRule):
1338         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1339         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1340         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1341         (WebInspector.CSSProperty.prototype.setText):
1342         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1343         (WebInspector.CSSProperty.prototype.setDisabled):
1344         (WebInspector.CSSStyleSheet.prototype.setText):
1345         * inspector/front-end/NetworkPanel.js:
1346         (WebInspector.NetworkPanel.prototype.refreshResource):
1347         * inspector/front-end/Resource.js:
1348         (WebInspector.Resource.prototype.set content):
1349         (WebInspector.Resource.prototype.get contentTimestamp):
1350         (WebInspector.Resource.prototype.setInitialContent):
1351         * inspector/front-end/ResourceManager.js:
1352         (WebInspector.ResourceManager):
1353         (WebInspector.ResourceManager.prototype.setInitialContent):
1354         * inspector/front-end/ResourcesPanel.js:
1355         (WebInspector.ResourcesPanel):
1356         (WebInspector.ResourcesPanel.prototype.reset):
1357         (WebInspector.ResourcesPanel.prototype._innerShowView):
1358         (WebInspector.FrameResourceTreeElement):
1359         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
1360         (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
1361         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
1362         (WebInspector.ResourceRevisionTreeElement):
1363         * inspector/front-end/SourceFrame.js:
1364         (WebInspector.SourceFrame.prototype.get scrollTop):
1365         (WebInspector.SourceFrame.prototype.set scrollTop):
1366         * inspector/front-end/SourceView.js:
1367         (WebInspector.SourceView.prototype.get scrollTop):
1368         (WebInspector.SourceView.prototype.set scrollTop):
1369         (WebInspector.SourceView.prototype._editLine):
1370         (WebInspector.SourceView.prototype._editLineComplete):
1371         * inspector/front-end/StylesSidebarPane.js:
1372         (WebInspector.StylePropertyTreeElement.prototype):
1373
1374 2010-11-24  Andrey Kosyakov  <caseq@chromium.org>
1375
1376         Reviewed by Pavel Feldman.
1377
1378         Web Inspector: extension API cleanup
1379         https://bugs.webkit.org/show_bug.cgi?id=50019
1380
1381         * inspector/front-end/ElementsPanel.js:
1382         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1383         (WebInspector.ElementsPanel):
1384         * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
1385         (WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
1386         (WebInspector.injectedExtensionAPI):
1387         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
1388         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
1389         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
1390         (WebInspector.injectedExtensionAPI.PanelImpl):
1391         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
1392         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
1393         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
1394         (WebInspector.injectedExtensionAPI.ElementsPanel):
1395         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
1396         (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
1397         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
1398         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
1399         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
1400         (WebInspector.injectedExtensionAPI.InspectedWindow):
1401         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
1402         * inspector/front-end/ExtensionCommon.js:
1403         (WebInspector.commonExtensionSymbols):
1404         * inspector/front-end/ExtensionServer.js:
1405         (WebInspector.ExtensionServer):
1406         (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
1407         (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
1408         (WebInspector.ExtensionServer.prototype.notifyPageLoaded):
1409         (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
1410         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1411         (WebInspector.ExtensionServer.prototype._onReload):
1412         (WebInspector.ExtensionServer.prototype._onGetHAR):
1413         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1414         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
1415         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
1416         * inspector/front-end/HAREntry.js:
1417         (WebInspector.HARLog):
1418         (WebInspector.HARLog.prototype.build):
1419         (WebInspector.HARLog.prototype._convertResource):
1420         * inspector/front-end/inspector.js:
1421         (WebInspector.domContentEventFired):
1422         (WebInspector.loadEventFired):
1423         (WebInspector.didCommitLoad):
1424
1425 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
1426
1427         Reviewed by Steve Block.
1428
1429         Fix minor errors in IndexedDB
1430         https://bugs.webkit.org/show_bug.cgi?id=49970
1431
1432         * Remove SNAPSHOT_READ per spec.
1433         * Assert that the transaction that changes the db is a setVersion
1434           transaction.
1435         * When an objectStore already exists, throw a CONSTRAINT_ERR.
1436         * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.
1437
1438         Test: storage/indexeddb/createAndRemoveObjectStore.html
1439
1440         * storage/IDBDatabase.cpp:
1441         (WebCore::IDBDatabase::createObjectStore):
1442         * storage/IDBDatabaseBackendImpl.cpp:
1443         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1444         * storage/IDBTransaction.h:
1445         * storage/IDBTransaction.idl:
1446
1447 2010-11-24  Philippe Normand  <pnormand@igalia.com>
1448
1449         Reviewed by Xan Lopez.
1450
1451         [GStreamer] pause webkitvideosink during fullscreen video playback
1452         https://bugs.webkit.org/show_bug.cgi?id=48824
1453
1454         Added an identity element before the webkitvideosink so that when
1455         fullscreen video is active the element can drop the incoming
1456         buffers so that webkitvideosink appears paused.
1457
1458         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1459         (WebCore::GStreamerGWorld::enterFullscreen):
1460         (WebCore::GStreamerGWorld::exitFullscreen):
1461         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1462         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1463
1464 2010-11-24  Avi Drissman  <avi@google.com>
1465
1466         Reviewed by Antonio Gomes.
1467
1468         Add preference to not select when right-clicked
1469         https://bugs.webkit.org/show_bug.cgi?id=23351
1470
1471         Test: editing/selection/context-menu-text-selection.html
1472
1473         * editing/EditingBehavior.h:
1474         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
1475         * page/EventHandler.cpp:
1476         (WebCore::EventHandler::sendContextMenuEvent):
1477
1478 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
1479
1480         Reviewed by Csaba Osztrogonác.
1481
1482         Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
1483         https://bugs.webkit.org/show_bug.cgi?id=49975
1484
1485         No new tests needed.
1486
1487         * features.pri: Make the Qt buildsystem aware
1488         that the inspector is enabled by default.
1489
1490 2010-11-24  Martin Robinson  <mrobinson@igalia.com>
1491
1492         Reviewed by Xan Lopez.
1493
1494         [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
1495         https://bugs.webkit.org/show_bug.cgi?id=49143
1496
1497         * platform/gtk/GtkVersioning.c:
1498         (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
1499         GLib before 2.28.
1500         * platform/gtk/GtkVersioning.h:
1501
1502 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1503
1504         Unreviewed, rolling out r72499.
1505         http://trac.webkit.org/changeset/72499
1506         https://bugs.webkit.org/show_bug.cgi?id=50022
1507
1508         This change is causing crashes on the bots. (Requested by
1509         mrobinson on #webkit).
1510
1511         * accessibility/AccessibilityMenuListOption.cpp:
1512         (WebCore::AccessibilityMenuListOption::nameForMSAA):
1513         * accessibility/AccessibilityMenuListOption.h:
1514         * accessibility/gtk/AXObjectCacheAtk.cpp:
1515         (WebCore::AXObjectCache::postPlatformNotification):
1516         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1517         (setAtkStateSetFromCoreObject):
1518         (optionFromList):
1519         (optionFromSelection):
1520         (webkit_accessible_selection_add_selection):
1521         (webkit_accessible_selection_clear_selection):
1522         (webkit_accessible_selection_get_selection_count):
1523         (webkit_accessible_selection_is_child_selected):
1524         (webkit_accessible_selection_remove_selection):
1525         (webkit_accessible_text_get_text):
1526         (getInterfaceMaskFromObject):
1527         * platform/gtk/PopupMenuGtk.cpp:
1528         (WebCore::PopupMenuGtk::show):
1529
1530 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
1531
1532         Reviewed by Csaba Osztrogonác.
1533
1534         Simplify makeprop.pl
1535         https://bugs.webkit.org/show_bug.cgi?id=49925
1536
1537         Don't generate CSSPropertyNamesHash.h.
1538         Instead generate CSSPropertyNames directly.
1539
1540         * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
1541         * css/makeprop.pl:
1542
1543 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
1544
1545         Reviewed by Csaba Osztrogonác.
1546
1547         Remove Bakefile build system files
1548         https://bugs.webkit.org/show_bug.cgi?id=49983
1549
1550         r53757 only removed the content, but not the files.
1551         This patch removes that empty files.
1552
1553         * WebCoreSources.bkl: Removed.
1554         * webcore-base.bkl: Removed.
1555         * webcore-wx.bkl: Removed.
1556
1557 2010-11-24  Renata Hodovan  <reni@inf.u-szeged.hu>
1558
1559         Reviewed by Andreas Kling.
1560
1561         [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
1562         https://bugs.webkit.org/show_bug.cgi?id=49919
1563
1564         Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
1565         Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
1566         because the previous one doesn't work currently.
1567
1568         No new test is needed.
1569
1570         * platform/graphics/qt/GraphicsContextQt.cpp:
1571         (WebCore::GraphicsContext::toQtCompositionMode):
1572         (WebCore::toQtLineCap):
1573         (WebCore::toQtLineJoin):
1574         (WebCore::toQPenStyle):
1575         (WebCore::toQtFillRule):
1576
1577 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
1578
1579         Reviewed by Csaba Osztrogonác.
1580
1581         Simplify makevalues.pl
1582         https://bugs.webkit.org/show_bug.cgi?id=49926
1583
1584         Don't generate CSSValueKeywordsHash.h.
1585         Instead generate CSSValueKeywords.cpp directly. 
1586
1587         * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
1588         * css/makevalues.pl:
1589
1590 2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
1591
1592         Reviewed by Kenneth Rohde Christiansen.
1593
1594         Make WebKit2 compile with !ENABLE(INSPECTOR).
1595         https://bugs.webkit.org/show_bug.cgi?id=49973
1596
1597         No new tests needed.
1598
1599         * bindings/js/ScriptHeapSnapshot.h:
1600         * bindings/js/ScriptProfile.cpp:
1601         * bindings/js/ScriptProfile.h:
1602         * inspector/InspectorDebuggerAgent.cpp:
1603         * inspector/InspectorDebuggerAgent.h:
1604         * inspector/InspectorProfilerAgent.cpp:
1605         * inspector/InspectorProfilerAgent.h:
1606         * inspector/ScriptBreakpoint.h:
1607
1608 2010-11-24  Patrick Gansterer  <paroga@webkit.org>
1609
1610         Reviewed by Csaba Osztrogonác.
1611
1612         Simplify make-hash-tools.pl
1613         https://bugs.webkit.org/show_bug.cgi?id=49922
1614
1615         HashTools.h does not need to be generated, because it only contains static code.
1616
1617         * html/DocTypeStrings.gperf: Include findDoctypeEntry function.
1618         * make-hash-tools.pl: Do not generate HashTools.h.
1619         * platform/ColorData.gperf: Include findColor function.
1620         * platform/HashTools.h: Added.
1621
1622 2010-11-24  Andreas Kling  <kling@webkit.org>
1623
1624         Reviewed by Simon Hausmann.
1625
1626         [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects
1627
1628         Without this, we could end up with a slightly too small shadow layer
1629         for some string/font combinations.
1630
1631         * platform/graphics/qt/FontQt.cpp:
1632         (WebCore::drawTextCommon):
1633
1634 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
1635
1636         Reviewed by Yury Semikhatsky.
1637
1638         Web Inspector: add timing tab to the network item view.
1639         https://bugs.webkit.org/show_bug.cgi?id=49920
1640
1641         * WebCore.gypi:
1642         * WebCore.vcproj/WebCore.vcproj:
1643         * inspector/front-end/NetworkItemView.js:
1644         (WebInspector.NetworkItemView):
1645         * inspector/front-end/NetworkPanel.js:
1646         (WebInspector.NetworkPanel.prototype._showPopover):
1647         * inspector/front-end/Resource.js:
1648         (WebInspector.Resource.prototype.set timing):
1649         * inspector/front-end/ResourceTimingView.js: Added.
1650         (WebInspector.ResourceTimingView):
1651         (WebInspector.ResourceTimingView.prototype.show):
1652         (WebInspector.ResourceTimingView.prototype._refresh):
1653         (WebInspector.ResourceTimingView.createTimingTable):
1654         * inspector/front-end/WebKit.qrc:
1655         * inspector/front-end/inspector.html:
1656         * inspector/front-end/networkPanel.css:
1657         (#network-views .network-item-view .tabbed-pane-header):
1658         (.resource-timing-view):
1659         (.resource-timing-view table):
1660         (.resource-timing-view .network-timing-bar):
1661         (.resource-timing-view .network-timing-bar.proxy):
1662         (.resource-timing-view .network-timing-bar.dns):
1663         (.resource-timing-view .network-timing-bar.connecting):
1664         (.resource-timing-view .network-timing-bar.ssl):
1665         (.resource-timing-view .network-timing-bar.sending):
1666         (.resource-timing-view .network-timing-bar.waiting):
1667         (.resource-timing-view .network-timing-bar.receiving):
1668         (.resource-timing-view.visible):
1669
1670 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
1671
1672         Not reviewed. Follow up to r72652 (style id change in inspector).
1673
1674         * inspector/front-end/AuditRules.js:
1675         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1676
1677 2010-11-22  Pavel Feldman  <pfeldman@chromium.org>
1678
1679         Reviewed by Yury Semikhatsky.
1680
1681         Web Inspector: refactor ResourceView hierarchy.
1682         https://bugs.webkit.org/show_bug.cgi?id=49864
1683
1684         This refactoring splits ResourceView.js into:
1685             NetworkItemView.js (tabbed pane)
1686             ResourceHeadersView.js (header tab)
1687             ResourceCookiesView.js (cookies tab)
1688             ResourceView.js (base class for content tab).
1689         CookiesTable was extracted from CookieItemsView and
1690         brushed up. headersVisible flag has been removed.
1691
1692         * English.lproj/localizedStrings.js:
1693         * WebCore.gypi:
1694         * WebCore.vcproj/WebCore.vcproj:
1695         * inspector/front-end/CookieItemsView.js:
1696         (WebInspector.CookieItemsView):
1697         (WebInspector.CookieItemsView.prototype.get statusBarItems):
1698         (WebInspector.CookieItemsView.prototype.hide):
1699         (WebInspector.CookieItemsView.prototype.resize):
1700         (WebInspector.CookieItemsView.prototype._updateWithCookies):
1701         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
1702         (WebInspector.CookieItemsView.prototype._deleteCookie):
1703         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1704         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
1705         (WebInspector.SimpleCookiesTable):
1706         (WebInspector.SimpleCookiesTable.prototype.setCookies):
1707         (WebInspector.SimpleCookiesTable.prototype.resize):
1708         * inspector/front-end/CookiesTable.js: Added.
1709         (WebInspector.CookiesTable):
1710         (WebInspector.CookiesTable.prototype.updateWidths):
1711         (WebInspector.CookiesTable.prototype.setCookies):
1712         (WebInspector.CookiesTable.prototype.addCookiesFolder):
1713         (WebInspector.CookiesTable.prototype.get selectedCookie):
1714         (WebInspector.CookiesTable.prototype._rebuildTable):
1715         (WebInspector.CookiesTable.prototype.reset):
1716         (WebInspector.CookiesTable.prototype._populateNode):
1717         (WebInspector.CookiesTable.prototype._totalSize):
1718         (WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
1719         (WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
1720         (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
1721         (WebInspector.CookiesTable.prototype._sortCookies):
1722         (WebInspector.CookiesTable.prototype._createGridNode):
1723         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
1724         * inspector/front-end/FileSystemView.js:
1725         (WebInspector.FileSystemView.prototype._selectFileSystemTab):
1726         (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
1727         * inspector/front-end/FontView.js:
1728         (WebInspector.FontView.prototype.hasContent):
1729         (WebInspector.FontView.prototype._createContentIfNeeded):
1730         (WebInspector.FontView.prototype.show):
1731         (WebInspector.FontView.prototype.updateFontPreviewSize):
1732         * inspector/front-end/ImageView.js:
1733         (WebInspector.ImageView.prototype.hasContent):
1734         (WebInspector.ImageView.prototype.show):
1735         * inspector/front-end/NetworkItemView.js: Added.
1736         (WebInspector.NetworkItemView):
1737         (WebInspector.NetworkItemView.prototype.show):
1738         (WebInspector.NetworkItemView.prototype._selectTab):
1739         (WebInspector.NetworkItemView.prototype._tabSelected):
1740         (WebInspector.NetworkItemView.prototype.resize):
1741         (WebInspector.NetworkItemView.prototype.selectContentTab):
1742         * inspector/front-end/NetworkPanel.js:
1743         (WebInspector.NetworkPanel.prototype.show):
1744         (WebInspector.NetworkPanel.prototype.refreshResource):
1745         (WebInspector.NetworkPanel.prototype._showResource):
1746         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1747         * inspector/front-end/ResourceCookiesView.js: Added.
1748         (WebInspector.ResourceCookiesView):
1749         (WebInspector.ResourceCookiesView.prototype.show):
1750         * inspector/front-end/ResourceHeadersView.js: Added.
1751         (WebInspector.ResourceHeadersView):
1752         (WebInspector.ResourceHeadersView.prototype._refreshURL):
1753         (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
1754         (WebInspector.ResourceHeadersView.prototype._refreshFormData):
1755         (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
1756         (WebInspector.ResourceHeadersView.prototype._refreshParms):
1757         (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
1758         (WebInspector.ResourceHeadersView.prototype._getHeaderValue):
1759         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
1760         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
1761         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1762         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
1763         * inspector/front-end/ResourceView.js:
1764         (WebInspector.ResourceView):
1765         (WebInspector.ResourceView.prototype.hasContent):
1766         * inspector/front-end/ResourcesPanel.js:
1767         (WebInspector.ResourcesPanel.prototype.show):
1768         (WebInspector.ResourcesPanel.prototype.showResource):
1769         (WebInspector.ResourcesPanel.prototype._showResourceView):
1770         * inspector/front-end/ScriptsPanel.js:
1771         (WebInspector.ScriptsPanel.prototype.show):
1772         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1773         * inspector/front-end/SourceView.js:
1774         (WebInspector.SourceView):
1775         (WebInspector.SourceView.prototype.show):
1776         (WebInspector.SourceView.prototype.hide):
1777         (WebInspector.SourceView.prototype.resize):
1778         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
1779         (WebInspector.SourceView.prototype.hasContent):
1780         (WebInspector.SourceView.prototype.updateLocalContent):
1781         (WebInspector.SourceView.prototype.selectLocalContentTab):
1782         * inspector/front-end/StylesSidebarPane.js:
1783         * inspector/front-end/TabbedPane.js:
1784         (WebInspector.TabbedPane):
1785         (WebInspector.TabbedPane.prototype.appendTab):
1786         (WebInspector.TabbedPane.prototype.selectTab):
1787         (WebInspector.TabbedPane.prototype._showTab):
1788         (WebInspector.TabbedPane.prototype._hideTab):
1789         * inspector/front-end/WebKit.qrc:
1790         * inspector/front-end/inspector.css:
1791         (.webkit-line-gutter-backdrop):
1792         (.resource-view):
1793         (.resource-view.visible):
1794         (.resource-view.font):
1795         (.resource-view.image > .image):
1796         (.resource-view.image > .info):
1797         (.storage-view):
1798         (.storage-view .data-grid):
1799         (.storage-empty-view, .storage-view .storage-table-error):
1800         (.storage-view .storage-table-error):
1801         * inspector/front-end/inspector.html:
1802         * inspector/front-end/networkPanel.css:
1803         (.network-cell-subtitle):
1804         (.network-header-subtitle):
1805         (#network-views .network-item-view .tabbed-pane-header):
1806         (#network-views.small .network-item-view .tabbed-pane-header):
1807         (.network-item-view):
1808         (.network-item-view.visible):
1809         (.network-item-view .tabbed-pane-header):
1810         (.network-item-view .scope-bar li):
1811         (.resource-headers-view):
1812         (.resource-headers-view.visible):
1813         (.resource-headers-view .outline-disclosure .parent):
1814         (.resource-headers-view .outline-disclosure .children li):
1815         (.resource-headers-view .outline-disclosure li.expanded .header-count):
1816         (.resource-headers-view .outline-disclosure .header-name):
1817         (.resource-headers-view .outline-disclosure .header-value):
1818         (.resource-headers-view .outline-disclosure .raw-form-data):
1819         (.resource-cookies-view):
1820         (.resource-cookies-view.visible):
1821         (.resource-cookies-view .data-grid):
1822         (.resource-cookies-view .data-grid .row-group):
1823
1824 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
1825
1826         Reviewed by Yury Semikhatsky.
1827
1828         Web Inspector: add "Locally modified" group into the resource panel.
1829         https://bugs.webkit.org/show_bug.cgi?id=50005
1830
1831         * English.lproj/localizedStrings.js:
1832         * inspector/front-end/ResourcesPanel.js:
1833         (WebInspector.ResourcesPanel):
1834         (WebInspector.ResourcesPanel.prototype.reset):
1835         (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
1836         (WebInspector.ResourcesPanel.prototype._innerShowView):
1837         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
1838         (WebInspector.LocallyModifiedResourceTreeElement):
1839         (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
1840         (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
1841         (WebInspector.LocallyModifiedRevisionTreeElement):
1842         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
1843         (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
1844         (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):
1845
1846 2010-11-24  Pavel Feldman  <pfeldman@chromium.org>
1847
1848         Reviewed by Yury Semikhatsky.
1849
1850         Web Inspector: pass style id to front-end as Object, not string.
1851         https://bugs.webkit.org/show_bug.cgi?id=49971
1852
1853         * inspector/Inspector.idl:
1854         * inspector/InspectorCSSAgent.cpp:
1855         (WebCore::InspectorCSSAgent::getStylesForNode2):
1856         (WebCore::InspectorCSSAgent::getStyleSheetText2):
1857         (WebCore::InspectorCSSAgent::setPropertyText2):
1858         (WebCore::InspectorCSSAgent::toggleProperty2):
1859         (WebCore::InspectorCSSAgent::setRuleSelector2):
1860         * inspector/InspectorCSSAgent.h:
1861         * inspector/InspectorStyleSheet.cpp:
1862         (WebCore::InspectorStyle::buildObjectForStyle):
1863         (WebCore::InspectorStyleSheet::finalURL):
1864         (WebCore::InspectorStyleSheet::ruleForId):
1865         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1866         (WebCore::InspectorStyleSheet::buildObjectForRule):
1867         (WebCore::InspectorStyleSheet::text):
1868         (WebCore::InspectorStyleSheet::ruleOrStyleId):
1869         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1870         (WebCore::InspectorStyleSheetForInlineStyle::text):
1871         * inspector/InspectorStyleSheet.h:
1872         (WebCore::InspectorCSSId::InspectorCSSId):
1873         (WebCore::InspectorCSSId::isEmpty):
1874         (WebCore::InspectorCSSId::styleSheetId):
1875         (WebCore::InspectorCSSId::ordinal):
1876         (WebCore::InspectorCSSId::asInspectorValue):
1877         (WebCore::InspectorStyleSheet::id):
1878         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
1879         * inspector/front-end/CSSStyleModel.js:
1880         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1881         (WebInspector.CSSStyleModel.prototype.addRule):
1882         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1883         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1884         (WebInspector.CSSProperty.prototype.setText):
1885         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1886         (WebInspector.CSSProperty.prototype.setDisabled):
1887         (WebInspector.CSSStyleSheet.createForId):
1888         (WebInspector.CSSStyleSheet.prototype.setText):
1889
1890 2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1891
1892         Unreviewed, rolling out r72647.
1893         http://trac.webkit.org/changeset/72647
1894         https://bugs.webkit.org/show_bug.cgi?id=50009
1895
1896         breaks the http layout tests (Requested by philn-tp on
1897         #webkit).
1898
1899         * platform/network/soup/ResourceHandleSoup.cpp:
1900         (WebCore::sendRequestCallback):
1901         (WebCore::startHttp):
1902         (WebCore::ResourceHandle::platformSetDefersLoading):
1903
1904 2010-11-23  Philippe Normand  <pnormand@igalia.com>
1905
1906         Reviewed by Martin Robinson.
1907
1908         [soup] implement ResourceHandle::platformSetDefersLoading
1909         https://bugs.webkit.org/show_bug.cgi?id=44158
1910
1911         * platform/network/soup/ResourceHandleSoup.cpp:
1912         (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
1913         using the soup_session_{,un}pause_message APIs.
1914
1915 2010-11-22  Abhishek Arya  <inferno@chromium.org>
1916
1917         Reviewed by Adam Barth.
1918
1919         r71925 broke the chrome new tab page. r71925 blocked drag and drop
1920         of same security origin objects onto themselves if their origin is
1921         marked unique. We need to allow drag and drop in that scenario.
1922         https://bugs.webkit.org/show_bug.cgi?id=49098
1923
1924         Test: http/tests/security/drag-drop-same-unique-origin.html
1925
1926         * page/SecurityOrigin.cpp:
1927         (WebCore::SecurityOrigin::canReceiveDragData):
1928
1929 2010-11-23  Cris Neckar  <cdn@chromium.org>
1930
1931         Reviewed by Dimitri Glazkov.
1932
1933         Removed unneeded conversions to RenderBlock.
1934         https://bugs.webkit.org/show_bug.cgi?id=49896
1935
1936         Test: fast/css/input-search-table-column-crash.html
1937
1938         * rendering/RenderTextControlSingleLine.cpp:
1939         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
1940
1941 2010-11-23  Ryosuke Niwa  <rniwa@webkit.org>
1942
1943         Reviewed by Adam Barth.
1944
1945         XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
1946         https://bugs.webkit.org/show_bug.cgi?id=49701
1947
1948         Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.
1949
1950         Test: fast/dom/script-clone-rerun-src.xhtml
1951
1952         * dom/XMLDocumentParser.cpp:
1953         (WebCore::XMLDocumentParser::notifyFinished):
1954
1955 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1956
1957         Unreviewed, rolling out r72628.
1958         http://trac.webkit.org/changeset/72628
1959         https://bugs.webkit.org/show_bug.cgi?id=49994
1960
1961         This patch is causing layout-test failtures on GTK Linux
1962         64-bit Debug (Requested by ctguil on #webkit).
1963
1964         * accessibility/AccessibilityRenderObject.cpp:
1965         (WebCore::AccessibilityRenderObject::renderParentObject):
1966         (WebCore::AccessibilityRenderObject::addChildren):
1967         * accessibility/AccessibilityRenderObject.h:
1968         * accessibility/chromium/AccessibilityObjectChromium.cpp:
1969         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1970
1971 2010-11-23  Xan Lopez  <xlopez@igalia.com>
1972
1973         Reviewed by Martin Robinson.
1974
1975         [GTK] Fix IFrame DOM bindings API
1976         https://bugs.webkit.org/show_bug.cgi?id=49980
1977
1978         Fix IFrame API naming. It needs special casing because of the two
1979         consecutive capital letters.
1980
1981         * bindings/scripts/CodeGeneratorGObject.pm:
1982
1983 2010-11-23  Shimeng (Simon) Wang  <swang@google.com>
1984
1985         Reviewed by Steve Block.
1986
1987         Use platform bridge to set scroll position.
1988         https://bugs.webkit.org/show_bug.cgi?id=49550
1989
1990         Refactoring only.  Existing tests shall suffice.
1991
1992         * platform/android/PlatformBridge.h:
1993         * platform/android/ScrollViewAndroid.cpp:
1994         (WebCore::ScrollView::platformSetScrollPosition):
1995
1996 2010-11-23  Andreas Kling  <kling@webkit.org>
1997
1998         Reviewed by Tor Arne Vestbø.
1999
2000         [Qt] Selecting shadowed text causes rendering artifacts
2001         https://bugs.webkit.org/show_bug.cgi?id=49990
2002
2003         When selecting text starting from the end of a word, we need to use
2004         the X coordinate of the start of the substring when calculating the
2005         bounding rect for a ContextShadow.
2006
2007         * platform/graphics/qt/FontQt.cpp:
2008         (WebCore::drawTextCommon):
2009
2010 2010-11-23  Chris Guillory  <chris.guillory@google.com>
2011
2012         Reviewed by Dimitri Glazkov.
2013
2014         Include the FrameView widget of a RenderWidget in the accessibility tree.
2015         https://bugs.webkit.org/show_bug.cgi?id=49106
2016
2017         Include render widget children in the accessibility tree for not mac webkit ports.
2018
2019         Test: accessibility/iframe-has-document.html
2020
2021         * accessibility/AccessibilityRenderObject.cpp:
2022         (WebCore::AccessibilityRenderObject::renderParentObject):
2023         (WebCore::AccessibilityRenderObject::addChildren):
2024         (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
2025         * accessibility/AccessibilityRenderObject.h:
2026         * accessibility/chromium/AccessibilityObjectChromium.cpp:
2027         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2028
2029 2010-11-23  Chris Rogers  <crogers@google.com>
2030
2031         Reviewed by Alexey Proskuryakov.
2032
2033         Add .responseType and .response to XMLHttpRequest
2034         https://bugs.webkit.org/show_bug.cgi?id=49633
2035
2036         Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
2037                fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
2038                fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
2039                fast/xmlhttprequest/xmlhttprequest-responsetype-text.html
2040
2041         * bindings/js/JSXMLHttpRequestCustom.cpp:
2042         (WebCore::JSXMLHttpRequest::markChildren):
2043         (WebCore::JSXMLHttpRequest::open):
2044         (WebCore::JSXMLHttpRequest::response):
2045         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2046         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2047         * xml/XMLHttpRequest.cpp:
2048         (WebCore::XMLHttpRequest::XMLHttpRequest):
2049         (WebCore::XMLHttpRequest::responseText):
2050         (WebCore::XMLHttpRequest::responseXML):
2051         (WebCore::XMLHttpRequest::responseBlob):
2052         (WebCore::XMLHttpRequest::responseArrayBuffer):
2053         (WebCore::XMLHttpRequest::setResponseType):
2054         (WebCore::XMLHttpRequest::responseType):
2055         (WebCore::XMLHttpRequest::setAsBlob):
2056         (WebCore::XMLHttpRequest::open):
2057         (WebCore::XMLHttpRequest::clearResponse):
2058         (WebCore::XMLHttpRequest::didFinishLoading):
2059         (WebCore::XMLHttpRequest::didReceiveData):
2060         * xml/XMLHttpRequest.h:
2061         (WebCore::XMLHttpRequest::asBlob):
2062         (WebCore::XMLHttpRequest::optionalResponseXML):
2063         (WebCore::XMLHttpRequest::optionalResponseBlob):
2064         (WebCore::XMLHttpRequest::responseTypeCode):
2065         (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
2066         * xml/XMLHttpRequest.idl:
2067
2068 2010-11-23  Abhishek Arya  <inferno@chromium.org>
2069
2070         Reviewed by Adam Barth.
2071
2072         dispatchEvent call in EventSource endRequest can lead to calling endRequest
2073         again which frees up the pending activity. Make sure we have request in flight
2074         to prevent that from happening.
2075         https://bugs.webkit.org/show_bug.cgi?id=49448
2076
2077         Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html
2078
2079         * page/EventSource.cpp:
2080         (WebCore::EventSource::endRequest):
2081         (WebCore::EventSource::close):
2082
2083 2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2084
2085         Unreviewed, rolling out r72618.
2086         http://trac.webkit.org/changeset/72618
2087         https://bugs.webkit.org/show_bug.cgi?id=49987
2088
2089         "Newly added test is failing on Chromium-linux, patch author
2090         said to rollout" (Requested by jparent on #webkit).
2091
2092         * editing/EditingBehavior.h:
2093         * page/EventHandler.cpp:
2094         (WebCore::EventHandler::sendContextMenuEvent):
2095
2096 2010-11-23  Avi Drissman  <avi@google.com>
2097
2098         Reviewed by Antonio Gomes.
2099
2100         Add preference to not select when right-clicked
2101         https://bugs.webkit.org/show_bug.cgi?id=23351
2102
2103         Test: editing/selection/context-menu-text-selection.html
2104
2105         * editing/EditingBehavior.h:
2106         (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
2107         * page/EventHandler.cpp:
2108         (WebCore::EventHandler::sendContextMenuEvent):
2109
2110 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
2111
2112         Reviewed by Pavel Feldman.
2113
2114         Web Inspector: [STYLES] invalid color values are not marked as such.
2115         https://bugs.webkit.org/show_bug.cgi?id=49960
2116
2117         Properties having a valid structure but invalid values will also
2118         be marked as non-parsedOk in the Styles pane.
2119
2120         * css/CSSGrammar.y:
2121         * inspector/InspectorStyleSheet.cpp:
2122         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
2123
2124 2010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2125
2126         Reviewed by Martin Robinson.
2127
2128         [GTK] Building with Blob support fails
2129         https://bugs.webkit.org/show_bug.cgi?id=49724
2130
2131         Build fix.
2132
2133         * GNUmakefile.am:
2134         * platform/gtk/FileSystemGtk.cpp:
2135         (WebCore::seekFile): Not implemented.
2136
2137 2010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2138
2139         Reviewed by Andreas Kling.
2140
2141         Make setShouldDelegateScrolling not a real setting, so that it works
2142         similar to the related setUseFixedLayout and setPaintEntireContents
2143         options which are all in ScrollView.
2144
2145         * page/FrameView.cpp:
2146         * page/FrameView.h:
2147         * page/Settings.cpp:
2148         (WebCore::Settings::Settings):
2149         * page/Settings.h:
2150         * platform/ScrollView.cpp:
2151         (WebCore::ScrollView::ScrollView):
2152         (WebCore::ScrollView::setDelegatesScrolling):
2153         * platform/ScrollView.h:
2154         (WebCore::ScrollView::delegatesScrolling):
2155
2156 2010-11-23  Adam Roben  <aroben@apple.com>
2157
2158         Don't rely on DocumentLoader outliving the load/unload events
2159
2160         DocumentLoader::m_documentLoadTiming is used to record how long firing
2161         the load event took. But the DocumentLoader was being destroyed while
2162         the event was being dispatched (due to a call to document.open), which
2163         meant that when we tried to record the time when the load event
2164         finished, we were writing into freed memory. We now protect the
2165         DocumentLoader using a RefPtr. (I initially made a change where we
2166         would only access the DocumentLoader after the event has finished
2167         firing, but it seemed possible that a different DocumentLoader could
2168         have come into existence by then, which would cause us to record the
2169         times on the wrong DocumentLoadTiming struct.)
2170
2171         I only saw a crash when firing the load event, but the code for timing
2172         the unload event seemed like it was vulnerable to the same issue, so I
2173         made the same fix for it.
2174
2175         Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
2176         DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
2177
2178         Reviewed by Darin Fisher.
2179
2180         * loader/FrameLoader.cpp:
2181         (WebCore::FrameLoader::stopLoading):
2182         * page/DOMWindow.cpp:
2183         (WebCore::DOMWindow::dispatchLoadEvent):
2184         Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
2185         RefPtr.
2186
2187 2010-11-17  Zhenyao Mo  <zmo@google.com>
2188
2189         Reviewed by Kenneth Russell.
2190
2191         readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
2192         https://bugs.webkit.org/show_bug.cgi?id=49673
2193
2194         Test: fast/canvas/webgl/read-pixels-test.html
2195
2196         * html/canvas/WebGLRenderingContext.cpp:
2197         (WebCore::WebGLRenderingContext::readPixels):
2198
2199 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
2200
2201         Reviewed by Pavel Feldman.
2202
2203         Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
2204         https://bugs.webkit.org/show_bug.cgi?id=49961
2205
2206         "line-through" is used for inactive properties overridden within the same style.
2207
2208         * inspector/front-end/inspector.css:
2209         (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
2210
2211 2010-11-23  Yael Aharon  <yael.aharon@nokia.com>
2212
2213         Reviewed by Antonio Gomes.
2214
2215         Spatial Navigation: Code cleanup
2216         https://bugs.webkit.org/show_bug.cgi?id=49442
2217
2218         Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
2219         Added const to canBeScrolledIntoView.
2220         No new tests because this is only code cleanup.
2221
2222         * page/FocusController.cpp:
2223         * page/FocusController.h:
2224         * page/SpatialNavigation.cpp:
2225         (WebCore::canBeScrolledIntoView):
2226         * page/SpatialNavigation.h:
2227
2228 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
2229
2230         Reviewed by Steve Block.
2231
2232         Remove unimplemented (and untested) methods from IndexedDB
2233         https://bugs.webkit.org/show_bug.cgi?id=49911
2234
2235         * storage/IDBCursor.idl:
2236         * storage/IDBDatabase.idl:
2237
2238 2010-11-18  Satish Sampath  <satish@chromium.org>
2239
2240         Reviewed by Jeremy Orlow.
2241
2242         For speech input event, send an event object containing all the recognition results and metadata.
2243         https://bugs.webkit.org/show_bug.cgi?id=49736
2244
2245         Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
2246         has the full list of recognition results and populates only the top result into the input field
2247         automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
2248         code can access the full list of results via "event.results.length", "results[i].utterance" and
2249         "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
2250
2251         Test: fast/speech/input-onspeechchange-event.html
2252
2253         * CMakeLists.txt:
2254         * GNUmakefile.am:
2255         * WebCore.gypi:
2256         * WebCore.pri:
2257         * WebCore.pro:
2258         * WebCore.xcodeproj/project.pbxproj:
2259         * bindings/js/JSEventCustom.cpp:
2260         (WebCore::toJS): Added new event
2261         * bindings/v8/custom/V8EventCustom.cpp:
2262         (WebCore::toV8): Added new event
2263         * dom/Event.cpp:
2264         (WebCore::Event::isSpeechInputEvent):
2265         * dom/Event.h:
2266         * html/HTMLInputElement.cpp:
2267         * html/HTMLInputElement.h:
2268         * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
2269         (WebCore::SpeechInputEvent::~SpeechInputEvent):
2270         (WebCore::SpeechInputEvent::create):
2271         (WebCore::SpeechInputEvent::isSpeechInputEvent):
2272         (WebCore::SpeechInputEvent::results):
2273         (WebCore::SpeechInputEvent::SpeechInputEvent):
2274         * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
2275         * page/SpeechInputListener.h:
2276         * page/SpeechInputResult.cpp:
2277         (WebCore::SpeechInputResult::create):
2278         * page/SpeechInputResult.h:
2279         * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
2280         * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
2281         (WebCore::SpeechInputResultList::create):
2282         (WebCore::SpeechInputResultList::length):
2283         (WebCore::SpeechInputResultList::item):
2284         (WebCore::SpeechInputResultList::SpeechInputResultList):
2285         * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
2286         * platform/mock/SpeechInputClientMock.cpp:
2287         (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
2288         (WebCore::SpeechInputClientMock::clearResults):
2289         (WebCore::SpeechInputClientMock::timerFired):
2290         * platform/mock/SpeechInputClientMock.h:
2291         * rendering/TextControlInnerElements.cpp:
2292         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
2293
2294 2010-11-22  Alexey Proskuryakov  <ap@apple.com>
2295
2296         Reviewed by Darin Adler.
2297
2298         https://bugs.webkit.org/show_bug.cgi?id=49860
2299         CSS style rules don't GC protect objects reachable as their properties
2300
2301         Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
2302
2303         * Android.jscbindings.mk:
2304         * CMakeLists.txt:
2305         * GNUmakefile.am:
2306         * WebCore.gypi:
2307         * WebCore.pro:
2308         * WebCore.vcproj/WebCore.vcproj:
2309         * WebCore.xcodeproj/project.pbxproj:
2310         * bindings/js/JSBindingsAllInOne.cpp:
2311         Added new files, sorted appropriate sections for easier adding.
2312
2313         * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
2314         (WebCore::JSCSSFontFaceRule::markChildren):
2315         * bindings/js/JSCSSImportRuleCustom.cpp: Added.
2316         (WebCore::JSCSSImportRule::markChildren):
2317         * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
2318         (WebCore::JSCSSMediaRule::markChildren):
2319         * bindings/js/JSCSSPageRuleCustom.cpp: Added.
2320         (WebCore::JSCSSPageRule::markChildren):
2321         * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
2322         (WebCore::JSCSSStyleRule::markChildren):
2323         * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
2324         (WebCore::JSWebKitCSSKeyframeRule::markChildren):
2325         * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
2326         (WebCore::JSWebKitCSSKeyframesRule::markChildren):
2327         Mark objects reachable through these ones.
2328
2329         * css/CSSFontFaceRule.idl:
2330         * css/CSSImportRule.idl:
2331         * css/CSSMediaRule.idl:
2332         * css/CSSPageRule.idl:
2333         * css/CSSStyleRule.idl:
2334         * css/WebKitCSSKeyframeRule.idl:
2335         * css/WebKitCSSKeyframesRule.idl:
2336         Added CustomMarkFunction IDL attribute.
2337
2338 2010-11-23  Helder Correia  <helder@sencha.com>
2339
2340         Reviewed by Ariya Hidayat.
2341
2342         [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
2343         https://bugs.webkit.org/show_bug.cgi?id=49878
2344
2345         Add support for blurry shadows when drawing images on canvas.
2346
2347         Test: fast/canvas/canvas-drawImage-shadow.html
2348
2349         * platform/graphics/qt/ContextShadowQt.cpp:
2350         (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
2351         * platform/graphics/qt/ImageQt.cpp:
2352         (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
2353
2354 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
2355
2356         Reviewed by Adam Roben.
2357
2358         Port ContextMenuWin.cpp to WinCE
2359         https://bugs.webkit.org/show_bug.cgi?id=48408
2360
2361         * platform/ContextMenu.h:
2362         * platform/win/ContextMenuWin.cpp:
2363         (WebCore::ContextMenu::ContextMenu):
2364         (WebCore::ContextMenu::itemCount):
2365         (WebCore::insertMenuItem):
2366         (WebCore::ContextMenu::insertItem):
2367         (WebCore::contextMenuItemByIdOrPosition):
2368         (WebCore::ContextMenu::setPlatformDescription):
2369         (WebCore::contextMenuItemVector):
2370         (WebCore::platformMenuDescription):
2371
2372 2010-11-22  David Hyatt  <hyatt@apple.com>
2373
2374         Back out r72527 since it caused multiple rendering regressions.  Details in bug.
2375
2376         * rendering/InlineFlowBox.cpp:
2377         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2378         * rendering/RenderListItem.cpp:
2379         (WebCore::RenderListItem::positionListMarker):
2380
2381 2010-11-22  John Knottenbelt  <jknotten@chromium.org>
2382
2383         Reviewed by Steve Block.
2384
2385         Implement mocks for client-based Geolocation.
2386         https://bugs.webkit.org/show_bug.cgi?id=49258
2387
2388         * Android.mk:
2389         * CMakeLists.txt:
2390         * GNUmakefile.am:
2391         * WebCore.gypi:
2392         * WebCore.pro:
2393         * WebCore.vcproj/WebCore.vcproj:
2394         * WebCore.xcodeproj/project.pbxproj:
2395         * platform/mock/GeolocationClientMock.cpp: Added.
2396         (WebCore::GeolocationClientMock::GeolocationClientMock):
2397         (WebCore::GeolocationClientMock::~GeolocationClientMock):
2398         (WebCore::GeolocationClientMock::setController):
2399         (WebCore::GeolocationClientMock::setPosition):
2400         (WebCore::GeolocationClientMock::setError):
2401         (WebCore::GeolocationClientMock::geolocationDestroyed):
2402         (WebCore::GeolocationClientMock::startUpdating):
2403         (WebCore::GeolocationClientMock::stopUpdating):
2404         (WebCore::GeolocationClientMock::setEnableHighAccuracy):
2405         (WebCore::GeolocationClientMock::lastPosition):
2406         (WebCore::GeolocationClientMock::timerFired):
2407         (WebCore::GeolocationClientMock::makeGeolocationCallback):
2408         * platform/mock/GeolocationClientMock.h: Added.
2409
2410 2010-11-22  Tony Gentilcore  <tonyg@chromium.org>
2411
2412         Reviewed by Adam Barth.
2413
2414         Fix bogus include guard.
2415
2416         * loader/NavigationScheduler.h:
2417
2418 2010-11-22  Andreas Kling  <kling@webkit.org>
2419
2420         Reviewed by Ariya Hidayat.
2421
2422         [Qt] Canvas: strokeText() and fillText() produce same shadow
2423         https://bugs.webkit.org/show_bug.cgi?id=48845
2424
2425         Test: fast/canvas/canvas-strokeText-strokes-shadow.html
2426
2427         * platform/graphics/qt/FontQt.cpp:
2428         (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
2429
2430 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
2431
2432         Reviewed by Sam Weinig.
2433
2434         Use WTF::FixedArray::size()
2435         https://bugs.webkit.org/show_bug.cgi?id=49891
2436
2437         * dom/Document.cpp:
2438         (WebCore::Document::~Document):
2439
2440 2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
2441
2442         Reviewed by Tony Chang.
2443
2444         SelectionController::typingStyle() should return EditingStyle*
2445         https://bugs.webkit.org/show_bug.cgi?id=49813
2446
2447         Changed the return type of SelectionController::typingStyle to EditingStyle*.
2448
2449         Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
2450         CSSMutableStyleDeclaration.
2451
2452         Also extracted the code to preserve unicode-bidi and direction CSS properties in
2453         InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
2454         which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
2455         these two properties are preserved.
2456
2457         Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
2458         CSSMutableStyleDeclaration.
2459
2460         No new tests are added since this is a refactoring.
2461
2462         * editing/EditingStyle.cpp:
2463         (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
2464         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
2465         (WebCore::EditingStyle::prepareToApplyAt): See above.
2466         (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
2467         * editing/EditingStyle.h: Moved WritingDirection from Editor.h
2468         * editing/Editor.cpp:
2469         (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
2470         (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
2471         (WebCore::Editor::selectionComputedStyle): Ditto.
2472         (WebCore::Editor::styleForSelectionStart): Ditto.
2473         * editing/Editor.h:
2474         * editing/InsertLineBreakCommand.cpp:
2475         (WebCore::InsertLineBreakCommand::doApply): Ditto.
2476         * editing/InsertTextCommand.cpp:
2477         (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
2478         * editing/SelectionController.h:
2479         (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
2480         (WebCore::SelectionController::copyTypingStyle): Added.
2481
2482 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
2483
2484         Reviewed by Adam Roben.
2485
2486         [WINCE] Set correct preprocessor definitions
2487         https://bugs.webkit.org/show_bug.cgi?id=49887
2488
2489         * config.h:
2490
2491 2010-11-22  James Robinson  <jamesr@chromium.org>
2492
2493         Reviewed by Dimitri Glazkov.
2494
2495         [chromium] font-size:0 text runs should have zero width
2496         https://bugs.webkit.org/show_bug.cgi?id=49871
2497
2498         Returns 0 from platformWidthForGlyph if the specified font size is 0.
2499
2500         Test: fast/text/font-size-zero.html
2501
2502         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2503         (WebCore::SimpleFontData::platformWidthForGlyph):
2504         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2505         (WebCore::SimpleFontData::platformWidthForGlyph):
2506
2507 2010-11-22  Charlie Reis  <creis@chromium.org>
2508
2509         Reviewed by Darin Fisher.
2510
2511         Update correct content state during back/forward navigations
2512         https://bugs.webkit.org/show_bug.cgi?id=48809
2513
2514         Ensures that history's previousItem is non-null when clients try to
2515         update content state (e.g., Chromium's UpdateSessionHistory).  We now
2516         track load completions with a boolean field rather than by clearing
2517         previousItem.
2518
2519         Test: fast/history/saves-state-after-frame-nav.html
2520
2521         * loader/HistoryController.cpp:
2522         * loader/HistoryController.h:
2523
2524 2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
2525
2526         Unreviewed, Windows build fix.
2527
2528         Adding JSMediaQueryList to DerivedSources.cpp.
2529
2530         * DerivedSources.cpp:
2531
2532 2010-11-22  Adam Roben  <aroben@apple.com>
2533
2534         Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
2535
2536         Apple's Windows build allows placing header files and import libraries for WebKit's
2537         dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
2538         $WebKitLibrariesDir environment variable. This is both required for production builds and
2539         convenient for Apple-internal developer builds. Apple's production builds also require that
2540         WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
2541         builds, the files are copied into that directory tree by the
2542         WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
2543         copying is done by
2544         JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
2545
2546         This .vsprops copying is problematic in one very important case: when a developer updates
2547         their source tree and then tries to build. Visual Studio only reads .vsprops files when a
2548         project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
2549         updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
2550         build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
2551         $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
2552         will proceed with out-of-date .vsprops files, which will likely result in a build failure.
2553
2554         To fix this, we now use normal relative paths to access the .vsprops files in the source
2555         tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
2556         variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
2557         unset, so the normal relative paths are used to read the .vsprops files out of the source
2558         tree directly. In production builds, this environment variable is set to a fake directory
2559         that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
2560         is resolved.
2561         
2562         For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
2563
2564         $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
2565
2566         In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
2567         files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
2568         JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
2569         "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
2570         FeatureDefines.vsprops becomes:
2571
2572         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
2573
2574         which resolves to:
2575
2576         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
2577
2578         (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
2579         actually exist since they are matched by an equal number of ".." path components.)
2580
2581         Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
2582         Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
2583
2584         Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
2585         updated
2586
2587         Reviewed by Dave Hyatt.
2588
2589         * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
2590         production builds can find the .vsprops files.
2591
2592         * WebCore.vcproj/QTMovieWin.vcproj:
2593         * WebCore.vcproj/WebCore.vcproj:
2594         Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
2595         files.
2596
2597 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
2598
2599         Reviewed by Darin Adler.
2600
2601         Implement CSSOM View matchMedia interface
2602         https://bugs.webkit.org/show_bug.cgi?id=37205
2603
2604         New interfaces may be used to evaluate media queries and to associate listeners
2605         to media queries. Those listeners are called whenever the associated query changes.
2606         Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
2607
2608         operator== added to JS version of ScriptValue.
2609         Method isFunction added to JS and V8 versions of ScriptValue.
2610
2611         * bindings/js/ScriptValue.cpp:
2612         (WebCore::ScriptValue::isFunction):
2613         * bindings/js/ScriptValue.h:
2614         (WebCore::ScriptValue::operator==):
2615         * bindings/v8/ScriptValue.h:
2616         (WebCore::ScriptValue::isFunction):
2617
2618         Some changes were needed to the code generators to handle type MediaQueryListListener.
2619
2620         * bindings/scripts/CodeGeneratorGObject.pm:
2621         * bindings/scripts/CodeGeneratorJS.pm:
2622         * bindings/scripts/CodeGeneratorV8.pm:
2623
2624         Some changes to the bindings test results that were previously added.
2625
2626         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2627         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
2628         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2629         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2630         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2631         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
2632         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2633
2634         New interfaces:
2635
2636         * css/MediaQueryList.cpp: Added.
2637         * css/MediaQueryList.h: Added.
2638         * css/MediaQueryList.idl: Added.
2639
2640         * css/MediaQueryListListener.cpp: Added.
2641         * css/MediaQueryListListener.h: Added.
2642         * css/MediaQueryListListener.idl: Added.
2643
2644         To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
2645
2646         * css/MediaQueryMatcher.cpp: Added.
2647         * css/MediaQueryMatcher.h: Added.
2648
2649         Document and DOMWindow have changed to support new features. DOMWindow is the class that
2650         publishes methods matchMedia but for page cache to work properly the reference to the
2651         MediaQueryMatcher must be in Document.
2652
2653         * dom/Document.cpp:
2654         (WebCore::Document::~Document):
2655         (WebCore::Document::mediaQueryMatcher):
2656         (WebCore::Document::styleSelectorChanged):
2657         * dom/Document.h:
2658         * page/DOMWindow.cpp:
2659         (WebCore::DOMWindow::matchMedia):
2660         * page/DOMWindow.h:
2661         * page/DOMWindow.idl:
2662
2663         Build systems
2664
2665         * CMakeLists.txt:
2666         * DerivedSources.make:
2667         * GNUmakefile.am:
2668         * WebCore.gypi:
2669         * WebCore.pri:
2670         * WebCore.pro:
2671         * WebCore.vcproj/WebCore.vcproj:
2672         * WebCore.xcodeproj/project.pbxproj:
2673         * bindings/gobject/GNUmakefile.am:
2674
2675         Tests: fast/media/media-query-list-01.html
2676                fast/media/media-query-list-02.html
2677                fast/media/media-query-list-03.html
2678                fast/media/media-query-list-04.html
2679                fast/media/media-query-list-05.html
2680                fast/media/media-query-list-06.html
2681                fast/media/media-query-list-07.html
2682
2683 2010-11-22  Alexander Pavlov  <apavlov@chromium.org>
2684
2685         Reviewed by Pavel Feldman.
2686
2687         Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
2688         https://bugs.webkit.org/show_bug.cgi?id=49804
2689
2690         * css/CSSImportRule.cpp:
2691         (WebCore::CSSImportRule::insertedIntoParent):
2692         * inspector/InspectorCSSAgent.cpp:
2693         (WebCore::InspectorCSSAgent::setStyleSheetText2):
2694         * inspector/InspectorStyleSheet.cpp:
2695         (WebCore::asCSSRuleList):
2696         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2697         (WebCore::InspectorStyleSheet::setText):
2698         (WebCore::InspectorStyleSheet::addRule):
2699         (WebCore::InspectorStyleSheet::ruleForId):
2700         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
2701         (WebCore::InspectorStyleSheet::ensureText):
2702         (WebCore::InspectorStyleSheet::ensureSourceData):
2703         (WebCore::InspectorStyleSheet::ensureFlatRules):
2704         (WebCore::InspectorStyleSheet::revalidateStyle):
2705         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2706         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
2707         (WebCore::InspectorStyleSheet::collectFlatRules):
2708         * inspector/InspectorStyleSheet.h:
2709
2710 2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
2711
2712         Reviewed by Pavel Feldman.
2713
2714         Web Inspector: dump inspector protocol messages into console.
2715         Sometimes I need to dump inspector messages into console.
2716         It'd be much simple to have this code in repository and
2717         enable protocol dumping just by a flag.
2718
2719         https://bugs.webkit.org/show_bug.cgi?id=49905
2720
2721         * inspector/CodeGeneratorInspector.pm:
2722         * inspector/front-end/WorkersSidebarPane.js:
2723         (WebInspector.WorkersSidebarPane.prototype.reset):
2724         * inspector/front-end/inspector.js:
2725         (WebInspector_syncDispatch):
2726
2727 2010-11-22  Andreas Kling  <kling@webkit.org>
2728
2729         Reviewed by Nikolas Zimmermann.
2730
2731         GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
2732         https://bugs.webkit.org/show_bug.cgi?id=49840
2733
2734         This avoid copying a Path object when drawing focus rings.
2735
2736         * platform/graphics/GraphicsContext.h:
2737         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2738         (WebCore::GraphicsContext::drawFocusRing):
2739         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2740         (WebCore::GraphicsContext::drawFocusRing):
2741         * platform/graphics/mac/GraphicsContextMac.mm:
2742         (WebCore::GraphicsContext::drawFocusRing):
2743         * platform/graphics/qt/GraphicsContextQt.cpp:
2744         (WebCore::GraphicsContext::drawFocusRing):
2745         * platform/graphics/skia/GraphicsContextSkia.cpp:
2746         (WebCore::GraphicsContext::drawFocusRing):
2747         * platform/graphics/win/GraphicsContextCGWin.cpp:
2748         (WebCore::GraphicsContext::drawFocusRing):
2749         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2750         (WebCore::GraphicsContext::drawFocusRing):
2751         * platform/graphics/wx/GraphicsContextWx.cpp:
2752         (WebCore::GraphicsContext::drawFocusRing):
2753         * rendering/RenderImage.h:
2754         * rendering/RenderImage.cpp:
2755         (WebCore::RenderImage::paint):
2756         (WebCore::RenderImage::paintFocusRing):
2757         Renamed from paintFocusRings since it only paints one ring.
2758
2759 2010-11-22  Renata Hodovan  <reni@webkit.org>
2760
2761         Reviewed by Andreas Kling.
2762
2763         Outside list bullets ignore text-align style.
2764         https://bugs.webkit.org/show-bug.cgi?id=15713
2765
2766         Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
2767         First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
2768         position. As for the others, this sum should be decremented with the previous marker's width.
2769         In case of vertical markers the padding is unneeded.
2770
2771         Test: fast/lists/outSideListMarkers.html
2772
2773         * rendering/InlineFlowBox.cpp:
2774         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2775         * rendering/RenderListItem.cpp:
2776         (WebCore::RenderListItem::positionListMarker):
2777
2778 2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
2779
2780         Reviewed by Antonio Gomes.
2781
2782         Spatial Navigation: issues with the node selection algorithm.
2783         https://bugs.webkit.org/show_bug.cgi?id=49382
2784
2785         Modify the Spatial Navigation algorithm, to better handle initial focus and
2786         navigation between frames.
2787         The new algorithm takes the rect of the focused node as the startingRect,
2788         instead of the node itself. That allows us to construct a virtual rect if
2789         there is no focused node, or if it is off the screen.
2790         The virtual rect is the edge of the container in the direction of the navigation.
2791
2792         With this patch, scrollable containers and frames will scroll regardless of weather
2793         they have focusable content. Users will be able to use arrow keys to view all the
2794         content of such a container. The only exception is if the container has style overflow:hidden. 
2795         We will not scroll in that case.
2796
2797         With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
2798         we do a hit test and only the node on top can get focus.
2799
2800         hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
2801         its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
2802         and cannot scroll.
2803
2804         calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
2805         the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
2806         allowed to scroll.
2807
2808         * page/FocusController.cpp:
2809         (WebCore::updateFocusCandidateIfNeeded):
2810         (WebCore::FocusController::findFocusCandidateInContainer):
2811         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
2812         (WebCore::FocusController::advanceFocusDirectionally):
2813         * page/FocusController.h:
2814         * page/FrameView.h:
2815         * page/SpatialNavigation.cpp:
2816         (WebCore::FocusCandidate::FocusCandidate):
2817         (WebCore::distanceDataForNode):
2818         (WebCore::alignmentForRects):
2819         (WebCore::areRectsMoreThanFullScreenApart):
2820         (WebCore::isRectInDirection):
2821         (WebCore::hasOffscreenRect):
2822         (WebCore::scrollInDirection):
2823         (WebCore::isScrollableContainerNode):
2824         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
2825         (WebCore::canScrollInDirection):
2826         (WebCore::rectToAbsoluteCoordinates):
2827         (WebCore::nodeRectInAbsoluteCoordinates):
2828         (WebCore::frameRectInAbsoluteCoordinates):
2829         (WebCore::entryAndExitPointsForDirection):
2830         (WebCore::canBeScrolledIntoView):
2831         (WebCore::virtualRectForDirection):
2832         * page/SpatialNavigation.h:
2833
2834 2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
2835
2836         Reviewed by Dirk Schulze.
2837
2838         Fix various problems with the SVG*List code
2839         https://bugs.webkit.org/show_bug.cgi?id=49880
2840
2841         Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
2842         SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
2843         by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
2844
2845         * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
2846         * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
2847         * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
2848         * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
2849
2850         Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
2851                svg/dom/SVGNumberList-basics.xhtml
2852                svg/dom/SVGPointList-basics.xhtml
2853                svg/dom/SVGStringList-basics.xhtml
2854                svg/dom/SVGTransformList-basics.xhtml
2855
2856         * bindings/js/JSSVGLengthCustom.cpp:
2857         (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
2858         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
2859         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2860         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2861         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2862         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2863         (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
2864         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
2865         * svg/SVGAElement.cpp:
2866         (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2867         * svg/SVGAnimationElement.cpp:
2868         (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
2869         * svg/SVGCircleElement.cpp:
2870         (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
2871         * svg/SVGClipPathElement.cpp:
2872         (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
2873         * svg/SVGCursorElement.cpp:
2874         (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
2875         * svg/SVGDefsElement.cpp:
2876         (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
2877         * svg/SVGEllipseElement.cpp:
2878         (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
2879         * svg/SVGForeignObjectElement.cpp:
2880         (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
2881         * svg/SVGGElement.cpp:
2882         (WebCore::SVGGElement::synchronizeProperty): Ditto.
2883         * svg/SVGImageElement.cpp:
2884         (WebCore::SVGImageElement::synchronizeProperty): Ditto.
2885         * svg/SVGLengthList.cpp:
2886         (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
2887         * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
2888         * svg/SVGLineElement.cpp:
2889         (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2890         * svg/SVGMaskElement.cpp:
2891         (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
2892         * svg/SVGNumberList.cpp:
2893         (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
2894         * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
2895         * svg/SVGPathElement.cpp:
2896         (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2897         * svg/SVGPatternElement.cpp:
2898         (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
2899         * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
2900         * svg/SVGPolyElement.cpp:
2901         (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2902         * svg/SVGRectElement.cpp:
2903         (WebCore::SVGRectElement::synchronizeProperty): Ditto.
2904         * svg/SVGSVGElement.cpp:
2905         (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
2906         * svg/SVGStringList.cpp:
2907         (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
2908         * svg/SVGStringList.h:
2909         * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
2910         * svg/SVGSwitchElement.cpp:
2911         (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2912         * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
2913         (WebCore::SVGTests::SVGTests):
2914         (WebCore::SVGTests::isValid):
2915         (WebCore::SVGTests::parseMappedAttribute):
2916         (WebCore::SVGTests::isKnownAttribute):
2917         (WebCore::SVGTests::handleAttributeChange):
2918         (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
2919         (WebCore::SVGTests::synchronizeRequiredFeatures):
2920         (WebCore::SVGTests::synchronizeRequiredExtensions):
2921         (WebCore::SVGTests::synchronizeSystemLanguage):
2922         (WebCore::SVGTests::requiredFeatures):
2923         (WebCore::SVGTests::requiredExtensions):
2924         (WebCore::SVGTests::systemLanguage):
2925         * svg/SVGTests.h:
2926         * svg/SVGTextContentElement.cpp:
2927         (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2928         * svg/SVGTransform.cpp:
2929         (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
2930         * svg/SVGTransform.h:
2931         * svg/SVGTransformList.cpp:
2932         (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
2933         * svg/SVGUseElement.cpp:
2934         (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
2935         * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
2936         (WebCore::SVGListProperty::initializeValuesAndWrappers):
2937         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
2938         (WebCore::SVGListProperty::replaceItemValues):
2939         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
2940         (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
2941         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2942         (WebCore::SVGListProperty::role): Expose the role of this list property.
2943         * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
2944         (WebCore::SVGPathSegListPropertyTearOff::initialize):
2945         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2946         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2947         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2948         * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
2949         * svg/properties/SVGPropertyTearOff.h:
2950         (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
2951         (WebCore::SVGPropertyTearOff::role):
2952         (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
2953         * svg/properties/SVGStaticPropertyTearOff.h:
2954         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
2955         * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
2956         (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
2957
2958 2010-11-22  Yuzo Fujishima  <yuzo@google.com>
2959
2960         Reviewed by Dan Bernstein.
2961
2962         Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
2963         https://bugs.webkit.org/show_bug.cgi?id=49374
2964
2965         Test: fast/css/font-face-data-uri.html
2966
2967         * css/CSSFontFaceSrcValue.cpp:
2968         (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
2969         extension" for data URI. For other URI, check against ".eot" rather
2970         than "eot".
2971
2972 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
2973
2974         Reviewed by Csaba Osztrogonác.
2975
2976         Use WTF_ARRAY_LENGTH in WebCore directory
2977         https://bugs.webkit.org/show_bug.cgi?id=49882
2978
2979         * accessibility/AccessibilityObject.cpp:
2980         (WebCore::createARIARoleMap):
2981         * bindings/js/JSDOMWindowBase.cpp:
2982         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2983         * bindings/scripts/CodeGeneratorV8.pm:
2984         * bindings/scripts/test/V8/V8TestObj.cpp:
2985         (WebCore::ConfigureV8TestObjTemplate):
2986         * css/CSSComputedStyleDeclaration.cpp:
2987         * css/CSSMutableStyleDeclaration.cpp:
2988         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2989         * css/CSSParser.cpp:
2990         (WebCore::CSSParser::parseAnimationShorthand):
2991         (WebCore::CSSParser::parseTransitionShorthand):
2992         * css/CSSPropertyLonghand.cpp:
2993         (WebCore::initShorthandMap):
2994         * dom/ExceptionCode.cpp:
2995         (WebCore::getExceptionCodeDescription):
2996         * editing/ApplyStyleCommand.cpp:
2997         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
2998         * editing/EditingStyle.cpp:
2999         * editing/Editor.cpp:
3000         (WebCore::triStateOfStyle):
3001         * editing/EditorCommand.cpp:
3002         (WebCore::createCommandMap):
3003         * editing/MarkupAccumulator.cpp:
3004         (WebCore::appendCharactersReplacingEntities):
3005         * html/canvas/WebGLBuffer.cpp:
3006         (WebCore::WebGLBuffer::getCachedMaxIndex):
3007         (WebCore::WebGLBuffer::setCachedMaxIndex):
3008         * loader/FTPDirectoryParser.cpp:
3009         (WebCore::parseOneFTPLine):
3010         * mathml/RenderMathMLOperator.cpp:
3011         (WebCore::RenderMathMLOperator::updateFromElement):
3012         * page/animation/AnimationBase.cpp:
3013         (WebCore::addShorthandProperties):
3014         * rendering/RenderTextControl.cpp:
3015         (WebCore::RenderTextControl::hasValidAvgCharWidth):
3016         * rendering/break_lines.cpp:
3017         * svg/SVGTransformable.cpp:
3018         (WebCore::parseAndSkipType):
3019         * svg/SVGViewSpec.cpp:
3020         (WebCore::SVGViewSpec::parseViewSpec):
3021         * svg/SVGZoomAndPan.cpp:
3022         (WebCore::SVGZoomAndPan::parseZoomAndPan):
3023         * xml/XPathFunctions.cpp:
3024         (WebCore::XPath::createFunctionMap):
3025
3026 2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
3027
3028         Reviewed by Chris Fleizach.
3029
3030         [GTK] Implement ROLE_COMBO_BOX
3031         https://bugs.webkit.org/show_bug.cgi?id=25678
3032
3033         Implement the remaining bits for combo boxes.
3034
3035         This patch finishes the implementation, from the point of view of
3036         the Atk library, of those objects exposed to ATK as combo boxes,
3037         and their related elements (menus and menu items). It therefore
3038         implements the proper interfaces for each type of object related
3039         to combo boxes (AtkSelection for the combo box, AtkText for every
3040         menu item and AtkAction for the combo box, the menu and the menu
3041         items), takes care of emitting the proper signals when focus or a
3042         given a selection changes and adds a new unit test to check all
3043         this new stuff.
3044
3045         Make possible to ask an AccessibleMenuListOption for a sensible
3046         string representation, so far only available through the private
3047         and MSAA related method nameForMSAA. Just moved the implementation
3048         of that method to an overriden version of stringValue(), which is
3049         platform independent, and called that from nameForMSAA().
3050
3051         * accessibility/AccessibilityMenuListOption.h:
3052         * accessibility/AccessibilityMenuListOption.cpp:
3053         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
3054         stringValue(), which holds from now on that used to be here.
3055         (WebCore::AccessibilityMenuListOption::stringValue): New, override
3056         of AccessibilityObject::stringValue() to return a proper string.
3057
3058         Emit the missing signals when a selection is made.
3059
3060         * accessibility/gtk/AXObjectCacheAtk.cpp:
3061         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
3062         'focus' signals when a selection is made over the combo box.
3063
3064         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3065         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
3066         Atk states are added to the state set when needed.
3067         (listObjectForSelection): New, returns the proper list object (the
3068         one holding the list of available options as its children) for an
3069         specific AtkObject implementing AtkSelection. This is needed
3070         because sometimes the selectable options are not directly children
3071         of the AtkSelection object (i.e. a combo box has a 'menu' object
3072         as its only child of it, holding the list of options as children).
3073         (optionFromList): Use listObjectForSelection() to get the actual
3074         object holding the list of children as the available options.
3075         (optionFromSelection): Add support for combo boxes.
3076         (webkit_accessible_selection_add_selection): Ditto.
3077         (webkit_accessible_selection_clear_selection): Ditto.
3078         (webkit_accessible_selection_get_selection_count): Ditto.
3079         (webkit_accessible_selection_is_child_selected): Ditto.
3080         (webkit_accessible_selection_remove_selection): Ditto.
3081         (webkit_accessible_text_get_text): Makes sure stringValue() is
3082         considered to get the result substring when it was already
3083         considered when checking the maximum text length for the object.
3084         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
3085         is implemented for the combo boxes, that the AtkText is
3086         implemented for the menu items and that the AtkAction interface is
3087         now implemented for every object (WebCore will decide what to do).
3088
3089         Avoid a segfault crash when using this from unit tests.
3090
3091         * platform/gtk/PopupMenuGtk.cpp:
3092         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
3093         before calling gdk_window_get_origin() over it.
3094
3095 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
3096
3097         Reviewed by Csaba Osztrogonác.
3098
3099         Use WTF_ARRAY_LENGTH in WebCore/platform directory
3100         https://bugs.webkit.org/show_bug.cgi?id=49881
3101
3102         * platform/KURL.cpp:
3103         (WebCore::portAllowed):
3104         * platform/KURLGoogle.cpp:
3105         (WebCore::portAllowed):
3106         * platform/MIMETypeRegistry.cpp:
3107         (WebCore::initializeSupportedImageMIMETypes):
3108         (WebCore::initializeSupportedJavaScriptMIMETypes):
3109         (WebCore::initializeSupportedNonImageMimeTypes):
3110         * platform/UUID.cpp:
3111         (WebCore::createCanonicalUUIDString):
3112         * platform/efl/RenderThemeEfl.cpp:
3113         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
3114         * platform/graphics/GraphicsTypes.cpp:
3115         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3116         (WebCore::FontCodepage::if):
3117         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
3118         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3119         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3120         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3121         (WebCore::disableComponentsOnce):
3122         * platform/graphics/mac/SimpleFontDataATSUI.mm:
3123         (WebCore::SimpleFontData::checkShapesArabic):
3124         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
3125         (WebCore::SimpleFontData::getCFStringAttributes):
3126         * platform/graphics/win/GraphicsContextCGWin.cpp:
3127         (WebCore::GraphicsContext::drawLineForTextChecking):
3128         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3129         (WebCore::disableComponentsOnce):
3130         * platform/graphics/win/QTMovie.cpp:
3131         (QTMovie::load):
3132         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3133         (WebCore::SocketStreamHandle::createStreams):
3134         * platform/text/TextEncodingRegistry.cpp:
3135         (WebCore::pruneBlacklistedCodecs):
3136         * platform/text/transcoder/FontTranscoder.cpp:
3137         (WebCore::FontTranscoder::FontTranscoder):
3138
3139 2010-11-20  Andreas Kling  <kling@webkit.org>
3140
3141         Rubber-stamped by Antonio Gomes.
3142
3143         [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
3144
3145         * platform/graphics/qt/FontPlatformDataQt.cpp:
3146         (WebCore::isEmptyValue):
3147         (WebCore::FontPlatformData::FontPlatformData):
3148
3149 2010-11-20  Andreas Kling  <kling@webkit.org>
3150
3151         Reviewed by Antonio Gomes.
3152
3153         [Qt] Limit the size of image preview "cursor" when dragging
3154         https://bugs.webkit.org/show_bug.cgi?id=49872
3155
3156         Respect DragController::maxDragImageSize() (currently 400x400.)
3157
3158         * platform/qt/DragImageQt.cpp:
3159         (WebCore::dragImageSize):
3160         (WebCore::scaleDragImage):
3161
3162 2010-11-20  Andreas Kling  <kling@webkit.org>
3163
3164         Reviewed by Antonio Gomes.
3165
3166         [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
3167         https://bugs.webkit.org/show_bug.cgi?id=49870
3168
3169         Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
3170
3171         * page/qt/FrameQt.cpp:
3172         (WebCore::Frame::dragImageForSelection):
3173         * platform/qt/DragImageQt.cpp:
3174         (WebCore::deleteDragImage):
3175         (WebCore::createDragImageFromImage):
3176
3177 2010-11-20  Xan Lopez  <xlopez@igalia.com>
3178
3179         Reviewed by Martin Robinson.
3180
3181         [GTK] Memory managament for DOM GObject wrappers
3182         https://bugs.webkit.org/show_bug.cgi?id=40302
3183
3184         Initial attempt to have a kind of poor man's garbage collection
3185         for GObject DOM objects. We tie the object's lifecycle to their
3186         parent Frame and/or its document; that is, all objects will be
3187         collected when their parent frame is destroyed or when that frame
3188         transitions to a new document. Manual management (calling
3189         g_object_unref on them) is also allowed, and is required for
3190         objects that are not in the DOM tree (eg NodeLists).
3191
3192         * GNUmakefile.am:
3193         * bindings/gobject/DOMObjectCache.cpp: Added.
3194         * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
3195         * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
3196         * bindings/gobject/WebKitDOMBinding.h: ditto.
3197         * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
3198
3199 2010-11-20  Helder Correia  <helder@sencha.com>
3200
3201         Reviewed by Andreas Kling.
3202
3203         [Qt] Path stroke lacks blur shadow support
3204         https://bugs.webkit.org/show_bug.cgi?id=49490
3205
3206         Add blur shadow support to strokePath().
3207
3208         Test: fast/canvas/canvas-strokePath-shadow.html
3209
3210         * platform/graphics/qt/GraphicsContextQt.cpp:
3211         (WebCore::GraphicsContext::strokePath):
3212
3213 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
3214
3215         Reviewed by David Kilzer.
3216
3217         [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
3218         https://bugs.webkit.org/show_bug.cgi?id=49518
3219
3220         HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
3221
3222         * platform/graphics/WOFFFileFormat.cpp:
3223
3224 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
3225
3226         Reviewed by David Kilzer.
3227
3228         [BREWMP] Use std_wstrlen instead of WSTRLEN
3229         https://bugs.webkit.org/show_bug.cgi?id=49516
3230
3231         WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
3232
3233         * platform/text/brew/StringBrew.cpp:
3234         (WTF::String::String):
3235
3236 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
3237
3238         Reviewed by David Kilzer.
3239
3240         [WINCE] Implement textBreakLast and textBreakPrevious
3241         https://bugs.webkit.org/show_bug.cgi?id=49552
3242
3243         This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
3244         Also unify the different TextBreakIterator::first() implementations.
3245
3246         * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
3247         * platform/text/wince/TextBreakIteratorWinCE.cpp:
3248         (WebCore::TextBreakIterator::first):
3249         (WebCore::TextBreakIterator::last):
3250         (WebCore::textBreakLast):
3251         (WebCore::textBreakPrevious):
3252
3253 2010-11-20  Andreas Kling  <kling@webkit.org>
3254
3255         Reviewed by David Kilzer.
3256
3257         Path: Remove unused method swap()
3258         https://bugs.webkit.org/show_bug.cgi?id=49853
3259
3260         * platform/graphics/Path.h:
3261
3262 2010-11-20  David Kilzer  <ddkilzer@apple.com>
3263
3264         <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
3265
3266         Reviewed by Dan Bernstein.
3267
3268         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3269         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
3270         RetainPtr<NSDictionary> for movieAttributes.
3271
3272 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
3273
3274         Reviewed by Andreas Kling.
3275
3276         Use String::fromUTF8 instead of UTF8Encoding().decode
3277         in the libxml XMLDocumentParser
3278         https://bugs.webkit.org/show_bug.cgi?id=45488
3279
3280         * dom/XMLDocumentParser.cpp:
3281         (WebCore::toString):
3282
3283 2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
3284
3285         Reviewed by Dirk Schulze.
3286
3287         FilterPrimitives should have a pointer to its Filter object.
3288         https://bugs.webkit.org/show_bug.cgi?id=49863
3289
3290         FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
3291         This patch adds this member to FilterEffect.
3292
3293         No new test is needed because these modifications are covered by all of SVG Filter tests.
3294
3295         * platform/graphics/filters/FEBlend.cpp:
3296         (WebCore::FEBlend::FEBlend):
3297         (WebCore::FEBlend::create):
3298         (WebCore::FEBlend::apply):
3299         * platform/graphics/filters/FEBlend.h:
3300         * platform/graphics/filters/FEColorMatrix.cpp:
3301         (WebCore::FEColorMatrix::FEColorMatrix):
3302         (WebCore::FEColorMatrix::create):
3303         (WebCore::FEColorMatrix::apply):
3304         * platform/graphics/filters/FEColorMatrix.h:
3305         * platform/graphics/filters/FEComponentTransfer.cpp:
3306         (WebCore::FEComponentTransfer::FEComponentTransfer):
3307         (WebCore::FEComponentTransfer::create):
3308         (WebCore::FEComponentTransfer::apply):
3309         * platform/graphics/filters/FEComponentTransfer.h:
3310         * platform/graphics/filters/FEComposite.cpp:
3311         (WebCore::FEComposite::FEComposite):
3312         (WebCore::FEComposite::create):
3313         (WebCore::FEComposite::determineAbsolutePaintRect):
3314         (WebCore::FEComposite::apply):
3315         * platform/graphics/filters/FEComposite.h:
3316         * platform/graphics/filters/FEConvolveMatrix.cpp:
3317         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
3318         (WebCore::FEConvolveMatrix::create):
3319         (WebCore::FEConvolveMatrix::apply):
3320         * platform/graphics/filters/FEConvolveMatrix.h:
3321         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
3322         * platform/graphics/filters/FEDiffuseLighting.cpp:
3323         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
3324         (WebCore::FEDiffuseLighting::create):
3325         * platform/graphics/filters/FEDiffuseLighting.h:
3326         * platform/graphics/filters/FEDisplacementMap.cpp:
3327         (WebCore::FEDisplacementMap::FEDisplacementMap):
3328         (WebCore::FEDisplacementMap::create):
3329         (WebCore::FEDisplacementMap::apply):
3330         * platform/graphics/filters/FEDisplacementMap.h:
3331         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
3332         * platform/graphics/filters/FEFlood.cpp:
3333         (WebCore::FEFlood::FEFlood):
3334         (WebCore::FEFlood::create):
3335         (WebCore::FEFlood::apply):
3336         * platform/graphics/filters/FEFlood.h:
3337         (WebCore::FEFlood::determineAbsolutePaintRect):
3338         * platform/graphics/filters/FEGaussianBlur.cpp:
3339         (WebCore::FEGaussianBlur::FEGaussianBlur):
3340         (WebCore::FEGaussianBlur::create):
3341         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
3342         (WebCore::FEGaussianBlur::apply):
3343         * platform/graphics/filters/FEGaussianBlur.h:
3344         * platform/graphics/filters/FELighting.cpp:
3345         (WebCore::FELighting::FELighting):
3346         (WebCore::FELighting::apply):
3347         * platform/graphics/filters/FELighting.h:
3348         (WebCore::FELighting::determineAbsolutePaintRect):
3349         * platform/graphics/filters/FEMerge.cpp:
3350         (WebCore::FEMerge::FEMerge):
3351         (WebCore::FEMerge::create):
3352         (WebCore::FEMerge::apply):
3353         * platform/graphics/filters/FEMerge.h:
3354         * platform/graphics/filters/FEMorphology.cpp:
3355         (WebCore::FEMorphology::FEMorphology):
3356         (WebCore::FEMorphology::create):
3357         (WebCore::FEMorphology::determineAbsolutePaintRect):
3358         (WebCore::FEMorphology::apply):
3359         * platform/graphics/filters/FEMorphology.h:
3360         * platform/graphics/filters/FEOffset.cpp:
3361         (WebCore::FEOffset::FEOffset):
3362         (WebCore::FEOffset::create):
3363         (WebCore::FEOffset::determineAbsolutePaintRect):
3364         (WebCore::FEOffset::apply):
3365         * platform/graphics/filters/FEOffset.h:
3366         * platform/graphics/filters/FESpecularLighting.cpp:
3367         (WebCore::FESpecularLighting::FESpecularLighting):
3368         (WebCore::FESpecularLighting::create):
3369         * platform/graphics/filters/FESpecularLighting.h:
3370         * platform/graphics/filters/FETile.cpp:
3371         (WebCore::FETile::FETile):
3372         (WebCore::FETile::create):
3373         (WebCore::FETile::apply):
3374         * platform/graphics/filters/FETile.h:
3375         (WebCore::FETile::determineAbsolutePaintRect):
3376         * platform/graphics/filters/FETurbulence.cpp:
3377         (WebCore::FETurbulence::FETurbulence):
3378         (WebCore::FETurbulence::create):
3379         (WebCore::FETurbulence::apply):
3380         * platform/graphics/filters/FETurbulence.h:
3381         (WebCore::FETurbulence::determineAbsolutePaintRect):
3382         * platform/graphics/filters/FilterEffect.cpp:
3383         (WebCore::FilterEffect::FilterEffect):
3384         (WebCore::FilterEffect::determineAbsolutePaintRect):
3385         (WebCore::FilterEffect::effectContext):
3386         * platform/graphics/filters/FilterEffect.h:
3387         (WebCore::FilterEffect::filter):
3388         * platform/graphics/filters/SourceAlpha.cpp:
3389         (WebCore::SourceAlpha::create):
3390         (WebCore::SourceAlpha::determineAbsolutePaintRect):
3391         (WebCore::SourceAlpha::apply):
3392         * platform/graphics/filters/SourceAlpha.h:
3393         (WebCore::SourceAlpha::SourceAlpha):
3394         * platform/graphics/filters/SourceGraphic.cpp:
3395         (WebCore::SourceGraphic::create):
3396         (WebCore::SourceGraphic::determineAbsolutePaintRect):
3397         (WebCore::SourceGraphic::apply):
3398         * platform/graphics/filters/SourceGraphic.h:
3399         (WebCore::SourceGraphic::SourceGraphic):
3400         * rendering/RenderSVGResourceFilter.cpp:
3401         (WebCore::RenderSVGResourceFilter::buildPrimitives):
3402         (WebCore::RenderSVGResourceFilter::applyResource):
3403         (WebCore::RenderSVGResourceFilter::postApplyResource):
3404         * rendering/RenderSVGResourceFilter.h:
3405         * rendering/SVGRenderTreeAsText.cpp:
3406         (WebCore::writeSVGResourceContainer):
3407         * svg/SVGFEBlendElement.cpp:
3408         (WebCore::SVGFEBlendElement::build):
3409         * svg/SVGFEBlendElement.h:
3410         * svg/SVGFEColorMatrixElement.cpp:
3411         (WebCore::SVGFEColorMatrixElement::build):
3412         * svg/SVGFEColorMatrixElement.h:
3413         * svg/SVGFEComponentTransferElement.cpp:
3414         (WebCore::SVGFEComponentTransferElement::build):
3415         * svg/SVGFEComponentTransferElement.h:
3416         * svg/SVGFECompositeElement.cpp:
3417         (WebCore::SVGFECompositeElement::build):
3418         * svg/SVGFECompositeElement.h:
3419         * svg/SVGFEConvolveMatrixElement.cpp:
3420         (WebCore::SVGFEConvolveMatrixElement::build):
3421         * svg/SVGFEConvolveMatrixElement.h:
3422         * svg/SVGFEDiffuseLightingElement.cpp:
3423         (WebCore::SVGFEDiffuseLightingElement::build):
3424         * svg/SVGFEDiffuseLightingElement.h:
3425         * svg/SVGFEDisplacementMapElement.cpp:
3426         (WebCore::SVGFEDisplacementMapElement::build):
3427         * svg/SVGFEDisplacementMapElement.h:
3428         * svg/SVGFEFloodElement.cpp:
3429         (WebCore::SVGFEFloodElement::build):
3430         * svg/SVGFEFloodElement.h:
3431         * svg/SVGFEGaussianBlurElement.cpp:
3432         (WebCore::SVGFEGaussianBlurElement::build):
3433         * svg/SVGFEGaussianBlurElement.h:
3434         * svg/SVGFEImageElement.cpp:
3435         (WebCore::SVGFEImageElement::build):
3436         * svg/SVGFEImageElement.h:
3437         * svg/SVGFEMergeElement.cpp:
3438         (WebCore::SVGFEMergeElement::build):
3439         * svg/SVGFEMergeElement.h:
3440         * svg/SVGFEMorphologyElement.cpp:
3441         (WebCore::SVGFEMorphologyElement::build):
3442         * svg/SVGFEMorphologyElement.h:
3443         * svg/SVGFEOffsetElement.cpp:
3444         (WebCore::SVGFEOffsetElement::build):
3445         * svg/SVGFEOffsetElement.h:
3446         * svg/SVGFESpecularLightingElement.cpp:
3447         (WebCore::SVGFESpecularLightingElement::build):
3448         * svg/SVGFESpecularLightingElement.h:
3449         * svg/SVGFETileElement.cpp:
3450         (WebCore::SVGFETileElement::build):
3451         * svg/SVGFETileElement.h:
3452         * svg/SVGFETurbulenceElement.cpp:
3453         (WebCore::SVGFETurbulenceElement::build):
3454         * svg/SVGFETurbulenceElement.h:
3455         * svg/SVGFilterPrimitiveStandardAttributes.h:
3456         * svg/graphics/filters/SVGFEImage.cpp:
3457         (WebCore::FEImage::FEImage):
3458         (WebCore::FEImage::create):
3459         (WebCore::FEImage::determineAbsolutePaintRect):
3460         (WebCore::FEImage::apply):
3461         * svg/graphics/filters/SVGFEImage.h:
3462         * svg/graphics/filters/SVGFilterBuilder.cpp:
3463         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
3464         * svg/graphics/filters/SVGFilterBuilder.h:
3465         (WebCore::SVGFilterBuilder::create):
3466
3467 2010-11-20  Helder Correia  <helder@sencha.com>
3468
3469         Reviewed by Andreas Kling.
3470
3471         [Qt] GraphicsContext::strokeArc() is not necessary any more
3472         https://bugs.webkit.org/show_bug.cgi?id=49859
3473
3474         Remove strokeArc() from the Qt port.
3475
3476         No test is needed.
3477
3478         * platform/graphics/qt/GraphicsContextQt.cpp:
3479
3480 2010-11-20  Helder Correia  <helder@sencha.com>
3481
3482         Reviewed by Andreas Kling.
3483
3484         [Qt] Path fill lacks blur shadow support
3485         https://bugs.webkit.org/show_bug.cgi?id=49491
3486
3487         Add blur shadow support to fillPath().
3488
3489         Test: fast/canvas/canvas-fillPath-shadow.html
3490
3491         * platform/graphics/qt/GraphicsContextQt.cpp:
3492         (WebCore::GraphicsContext::fillPath):
3493
3494 2010-11-19  W. James MacLean  <wjmaclean@chromium.org>
3495
3496         Reviewed by James Robinson.
3497
3498         Scaled Resized images are blurred when sent to Skia
3499         https://bugs.webkit.org/show_bug.cgi?id=42370
3500
3501         This patch modifies ImageSkia.cpp to fix the calculation of resampled
3502         bitmap sizes so as to include the transform matrix of the canvas.
3503         Includes a new test to catch a regression that occured the first time
3504         this patch was applied.
3505
3506         Tests: svg/custom/image-rescale-scroll.html
3507                svg/custom/image-rescale.svg
3508
3509         * platform/graphics/skia/ImageSkia.cpp:
3510         (WebCore::computeResamplingMode):
3511         (WebCore::drawResampledBitmap):
3512
3513 2010-11-19  Jia Pu  <jpu@apple.com>
3514
3515         Reviewed by Dan Bernstein.
3516
3517         Regression: contraction is considered misspelling.
3518         https://bugs.webkit.org/show_bug.cgi?id=49423
3519         <rdar://problem/8654206>
3520
3521         Test: platform/mac/editing/spelling/autocorrection-contraction.html
3522               manual-tests/autocorrection/autocorrection-contraction.html
3523
3524         * editing/Editor.cpp:
3525         (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
3526           be used by all other functions in the file.
3527         (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
3528           to improve readability, and to pass in additional argument. Before we apply pending
3529           autocorrection, we check to see if currently typed character makes current word a partial
3530           contraction, for instance "wouldn'". If that's the case, we would not apply the pending
3531           correction.
3532         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
3533           is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
3534           the location of ambiguous boundary if other replacements have changed the length of the
3535           paragraph.
3536         * editing/Editor.h:
3537         * editing/TypingCommand.cpp:
3538         (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
3539         * manual-tests/autocorrection/autocorrection-contraction.html: Added.
3540
3541 2010-11-19  Andreas Kling  <kling@webkit.org>
3542
3543         Reviewed by Antonio Gomes.
3544
3545         ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
3546         https://bugs.webkit.org/show_bug.cgi?id=49854
3547
3548         * page/FrameView.cpp:
3549         (WebCore::FrameView::delegatesScrolling):
3550         (WebCore::FrameView::avoidScrollbarCreation):
3551         * page/FrameView.h:
3552         * platform/ScrollView.h:
3553         (WebCore::ScrollView::delegatesScrolling):
3554         (WebCore::ScrollView::avoidScrollbarCreation):
3555
3556 2010-11-19  Pavel Podivilov  <podivilov@chromium.org>
3557
3558         Reviewed by Yury Semikhatsky.
3559
3560         Web Inspector: scripts panel should be shown before execution line is scrolled into view.
3561         https://bugs.webkit.org/show_bug.cgi?id=49792
3562
3563         * inspector/front-end/ScriptsPanel.js:
3564         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
3565
3566 2010-11-19  James Simonsen  <simonjam@chromium.org>
3567
3568         Reviewed by Tony Chang.
3569
3570         [chromium] Fix whitespace character handling in complex text on linux
3571         https://bugs.webkit.org/show_bug.cgi?id=49771
3572
3573         * platform/graphics/SimpleFontData.h:
3574         (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
3575         (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
3576         (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
3577         * platform/graphics/chromium/FontLinux.cpp: