2010-10-05 Fady Samuel <fsamuel@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-05  Fady Samuel  <fsamuel@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
6         https://bugs.webkit.org/show_bug.cgi?id=45131
7
8         When border-collapse: separate property is set on the table, paintObject
9         may skip repainting cells, if the dirty region only touches one row/col of pixels.
10
11         Test: fast/table/simple_paint_separate_borders.html
12
13         * rendering/RenderTableSection.cpp:
14         (WebCore::RenderTableSection::paintObject):  
15             Don't subtract one from the right and bottom of the dirty paint rect.
16
17 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
18
19         Reviewed by Darin Fisher.
20
21         PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
22         https://bugs.webkit.org/show_bug.cgi?id=47129
23
24         * html/PluginDocument.cpp:
25         (WebCore::PluginDocumentParser::createDocumentStructure):
26         (WebCore::PluginDocument::pluginWidget):
27         (WebCore::PluginDocument::pluginNode):
28         * html/PluginDocument.h:
29         (WebCore::PluginDocument::setPluginNode):
30
31 2010-10-05  Andreas Kling  <kling@webkit.org>
32
33         Reviewed by Tor Arne Vestbø.
34
35         [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
36         https://bugs.webkit.org/show_bug.cgi?id=45363
37
38         This is still causing trouble for people, so let's put the
39         quirk back until we can figure this out properly.
40
41         * plugins/PluginPackage.cpp:
42         (WebCore::PluginPackage::determineQuirks):
43
44 2010-10-05  Jian Li  <jianli@chromium.org>
45
46         Reviewed by Nate Chapin.
47
48         [V8] Add FileReader to active DOM map
49         https://bugs.webkit.org/show_bug.cgi?id=47205
50
51         We need to have a custom FileReader V8 constructor in order to add object
52         into active DOM map to prevent it from GC-ed when it is still in-use.
53
54         * Android.v8bindings.mk:
55         * WebCore.gypi:
56         * bindings/scripts/CodeGeneratorV8.pm:
57         * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
58         (WebCore::V8FileReader::constructorCallback):
59         * fileapi/FileReader.idl:
60
61 2010-10-05  Vincent Scheib  <scheib@chromium.org>
62
63         Reviewed by Kenneth Russell.
64
65         [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
66         https://bugs.webkit.org/show_bug.cgi?id=47193
67
68         Test: Accelerated compositor test infrastructure still coming online. Tested manually.
69
70         * platform/graphics/chromium/LayerRendererChromium.cpp:
71         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
72         (WebCore::LayerRendererChromium::prepareToDrawLayers):
73         (WebCore::LayerRendererChromium::drawLayers):
74
75 2010-10-05  Nico Weber  <thakis@chromium.org>
76
77         Reviewed by Andreas Kling.
78
79         Fix clang build
80         https://bugs.webkit.org/show_bug.cgi?id=47198
81
82         * page/Chrome.h:
83         Declare ViewportArguments as struct, not as class.
84
85 2010-10-05  David Hyatt  <hyatt@apple.com>
86
87         Reviewed by Sam Weinig.
88
89         https://bugs.webkit.org/show_bug.cgi?id=47204
90         
91         Make isSelfCollapsingBlock use logical height instead of height in all its checks.
92
93         Added fast/blockflow/self-collapsing-block.html
94
95         * rendering/RenderBlock.cpp:
96         (WebCore::RenderBlock::isSelfCollapsingBlock):
97
98 2010-10-05  Eric Uhrhane  <ericu@chromium.org>
99
100         Reviewed by David Levin.
101
102         Relax restrictions on FileWriter::didWrite calls
103         https://bugs.webkit.org/show_bug.cgi?id=47139
104
105         No new tests; they're still waiting on the first implementation.
106
107         * fileapi/FileWriter.cpp:
108         (WebCore::FileWriter::FileWriter):
109         (WebCore::FileWriter::write):
110         (WebCore::FileWriter::didWrite):
111         * fileapi/FileWriter.h:
112
113 2010-10-05  Daniel Cheng  <dcheng@chromium.org>
114
115         Reviewed by Tony Chang.
116
117         [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
118         https://bugs.webkit.org/show_bug.cgi?id=46943
119
120         We no longer parse the input of setData('text/uri-list') and only store
121         the valid URLs that were parsed out.
122
123         Test: editing/pasteboard/dataTransfer-setData-getData.html
124
125         * platform/chromium/ChromiumDataObject.cpp:
126         (WebCore::ChromiumDataObject::clearData):
127         (WebCore::ChromiumDataObject::clearAllExceptFiles):
128         (WebCore::ChromiumDataObject::types):
129         (WebCore::ChromiumDataObject::getData):
130         (WebCore::ChromiumDataObject::setData):
131         * platform/chromium/ChromiumDataObject.h:
132
133 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
134
135         Reviewed by Xan Lopez.
136
137         [GTK] Support FontPlatformData::isFixedPitch for custom fonts
138         https://bugs.webkit.org/show_bug.cgi?id=47124
139
140         Instead of determining whether or not a font is a fixed-width font
141         lazily, do it up front. For fonts not backed by Fontconfig patterns,
142         fetch information about whether or not the font is fixed-width from
143         the FreeType face.
144
145         No new tests as this should not change functionality.
146
147         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
148         (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
149         from the Fontconfig pattern or the FreeType face.
150         (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
151         (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
152         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.
153
154 2010-10-05  David Hyatt  <hyatt@apple.com>
155
156         Reviewed by Anders Carlsson.
157
158         https://bugs.webkit.org/show_bug.cgi?id=47199
159         
160         Make float positioning work in block layout with block children.
161         It doesn't work yet from inside line layout, since line layout is unpatched.
162
163         Added fast/blockflow/floats-in-block-layout.html
164
165         * rendering/RenderBlock.cpp:
166         (WebCore::RenderBlock::adjustFloatingBlock):
167         (WebCore::RenderBlock::setLogicalLeftForChild):
168         (WebCore::RenderBlock::setLogicalTopForChild):
169         (WebCore::RenderBlock::insertFloatingObject):
170         (WebCore::RenderBlock::positionNewFloats):
171         (WebCore::RenderBlock::logicalLeftOffsetForLine):
172         (WebCore::RenderBlock::logicalRightOffsetForLine):
173         * rendering/RenderBlock.h:
174         (WebCore::RenderBlock::FloatingObject::type):
175         (WebCore::RenderBlock::FloatingObject::renderer):
176         (WebCore::RenderBlock::logicalRightForFloat):
177         (WebCore::RenderBlock::setLogicalTopForFloat):
178         (WebCore::RenderBlock::setLogicalLeftForFloat):
179         (WebCore::RenderBlock::setLogicalHeightForFloat):
180         (WebCore::RenderBlock::setLogicalWidthForFloat):
181
182 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
183
184         Reviewed by Kenneth Rohde Christiansen.
185
186         [Qt] Web process crash when pressing modifiers in input field
187         https://bugs.webkit.org/show_bug.cgi?id=44935
188
189         Revert part of the http://trac.webkit.org/changeset/69105 due to a
190         test regression.  Unix: Add ASSERTs to plugin related code. These
191         will fail if Qt WebKit2 is used with plugins, unless code is not
192         fixed before.
193
194         * plugins/qt/PluginViewQt.cpp:
195         (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.
196
197 2010-10-05  Chris Rogers  <crogers@google.com>
198
199         Reviewed by Kenneth Russell.
200
201         Add AudioBasicProcessorNode files
202         https://bugs.webkit.org/show_bug.cgi?id=46495
203
204         No new tests since audio API is not yet implemented.
205
206         * webaudio/AudioBasicProcessorNode.cpp: Added.
207         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
208         (WebCore::AudioBasicProcessorNode::initialize):
209         (WebCore::AudioBasicProcessorNode::uninitialize):
210         (WebCore::AudioBasicProcessorNode::process):
211         (WebCore::AudioBasicProcessorNode::pullInputs):
212         (WebCore::AudioBasicProcessorNode::reset):
213         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
214         (WebCore::AudioBasicProcessorNode::numberOfChannels):
215         * webaudio/AudioBasicProcessorNode.h: Added.
216         (WebCore::AudioBasicProcessorNode::processor):
217
218 2010-10-05  Chris Marrin  <cmarrin@apple.com>
219
220         Unreviewed.
221
222         The platform/graphics/gpu folder was mistakenly inside the filters folder.
223         I moved it to the right place in the Group Tree.
224
225         * WebCore.xcodeproj/project.pbxproj:
226
227 2010-10-05  Chris Marrin  <cmarrin@apple.com>
228
229         Reviewed by Adam Roben.
230
231         Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
232         https://bugs.webkit.org/show_bug.cgi?id=47197
233
234         This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
235         by default). Many existing test cases will crash before and after this patch.
236
237         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
238         (WebCore::SharedGraphicsContext3D::create):
239
240 2010-10-05  Tony Chang  <tony@chromium.org>
241
242         Reviewed by Kent Tamura.
243
244         [chromium] properly paint really small scrollbar arrows on linux
245         https://bugs.webkit.org/show_bug.cgi?id=47109
246
247         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
248         (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size.  This matches what
249             we do on Win.
250
251 2010-10-05  Nate Chapin  <japhet@chromium.org>
252
253         Reviewed by David Levin.
254
255         Remove unused CachedResource::Status values (New and NotCached).
256         https://bugs.webkit.org/show_bug.cgi?id=47132
257
258         Refactor only, no new tests.
259
260         * loader/CachedResource.h:
261         * loader/CachedResourceLoader.cpp:
262         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
263
264 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
265
266         Reviewed by Nate Chapin.
267
268         Rename get* and open*Cursor per the spec on IDBIndex
269         https://bugs.webkit.org/show_bug.cgi?id=46906
270
271         The spec changed so that:
272         IDBIndex.get -> getKey
273         IDBIndex.getObject -> get
274         IDBIndex.openCursor -> openKeyCursor
275         IDBIndex.openObjectCursor -> openCursor
276
277         Existing tests cover since this is just renaming stuff.
278
279         * storage/IDBIndex.cpp:
280         (WebCore::IDBIndex::openCursor):
281         (WebCore::IDBIndex::openKeyCursor):
282         (WebCore::IDBIndex::get):
283         (WebCore::IDBIndex::getKey):
284         * storage/IDBIndex.h:
285         * storage/IDBIndex.idl:
286         * storage/IDBIndexBackendImpl.cpp:
287         (WebCore::IDBIndexBackendImpl::openCursor):
288         (WebCore::IDBIndexBackendImpl::openKeyCursor):
289         (WebCore::IDBIndexBackendImpl::get):
290         (WebCore::IDBIndexBackendImpl::getKey):
291         * storage/IDBIndexBackendImpl.h:
292         * storage/IDBIndexBackendInterface.h:
293
294 2010-10-05  Keith Kyzivat  <keith.kyzivat@nokia.com>
295
296         Reviewed by Simon Hausmann.
297
298         [Qt] Fix breakage in RVCT 2.2 compile
299         https://bugs.webkit.org/show_bug.cgi?id=47187
300
301         Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and 
302         html/canvas/Uin8Array.h
303         For RVCT2.2, the using clause is unneeded, and can be omitted.
304
305         A Test case cannot be made for this since this is a build-related issue.
306
307         * html/canvas/Int32Array.h:
308         * html/canvas/Uint8Array.h:
309
310 2010-10-04  Andrei Popescu  <andreip@google.com>
311
312         Reviewed by Jeremy Orlow.
313
314         IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
315         https://bugs.webkit.org/show_bug.cgi?id=46883
316
317         Makes the schema manipulation methods synchronous. Modifies the transaction
318         logic to support tasks that may have pending events as well as tasks that
319         don't have such events.
320
321         * storage/IDBDatabase.cpp:
322         (WebCore::IDBDatabase::createObjectStore):
323         (WebCore::IDBDatabase::removeObjectStore):
324         * storage/IDBDatabase.h:
325         * storage/IDBDatabase.idl:
326         * storage/IDBDatabaseBackendImpl.cpp:
327         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
328         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
329         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
330         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
331         * storage/IDBDatabaseBackendImpl.h:
332         * storage/IDBDatabaseBackendInterface.h:
333         * storage/IDBIndexBackendImpl.cpp:
334         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
335         * storage/IDBIndexBackendImpl.h:
336         (WebCore::IDBIndexBackendImpl::create):
337         (WebCore::IDBIndexBackendImpl::id):
338         (WebCore::IDBIndexBackendImpl::setId):
339         * storage/IDBObjectStore.cpp:
340         (WebCore::IDBObjectStore::createIndex):
341         (WebCore::IDBObjectStore::removeIndex):
342         * storage/IDBObjectStore.h:
343         * storage/IDBObjectStore.idl:
344         * storage/IDBObjectStoreBackendImpl.cpp:
345         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
346         (WebCore::IDBObjectStoreBackendImpl::createIndex):
347         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
348         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
349         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
350         * storage/IDBObjectStoreBackendImpl.h:
351         (WebCore::IDBObjectStoreBackendImpl::create):
352         (WebCore::IDBObjectStoreBackendImpl::id):
353         (WebCore::IDBObjectStoreBackendImpl::setId):
354         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
355         * storage/IDBObjectStoreBackendInterface.h:
356         * storage/IDBTransactionBackendImpl.cpp:
357         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
358         (WebCore::IDBTransactionBackendImpl::objectStore):
359         (WebCore::IDBTransactionBackendImpl::scheduleTask):
360         (WebCore::IDBTransactionBackendImpl::abort):
361         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
362         (WebCore::IDBTransactionBackendImpl::run):
363         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
364         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
365         * storage/IDBTransactionBackendImpl.h:
366
367 2010-10-05  Chris Fleizach  <cfleizach@apple.com>
368
369         Reviewed by Darin Adler.
370
371         WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
372         https://bugs.webkit.org/show_bug.cgi?id=47185
373
374         Test: platform/mac/accessibility/aria-liveregion-marquee-default.html
375
376         * accessibility/AccessibilityRenderObject.cpp:
377         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
378
379 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
380
381         Reviewed by Xan Lopez.
382
383         [GTK] Interior scrollbars do not draw their background properly
384         https://bugs.webkit.org/show_bug.cgi?id=47096
385
386         Correct the method that the GTK+ theme drawing code uses to
387         draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
388         the same as the actual code from GTK+.
389
390         No new tests as this is very hard to write tests for. The bug only
391         manifests on some GTK+ themes and we have no test harness mechanism
392         for testing rendering with non-default GTK+ themes.
393
394         * platform/gtk/ScrollbarThemeGtk.cpp:
395         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
396         initialize the widget state, as it's unused by the callee.
397         (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
398         * platform/gtk/gtk2drawing.c:
399         (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
400         with gtk_paint_shadow instead of gtk_paint_box.
401
402 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
403
404         Reviewed by Kent Tamura.
405
406         [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
407         https://bugs.webkit.org/show_bug.cgi?id=47025
408
409         PlatformRefPtr is a better choice here because all Brew MP instances are
410         reference counted.
411
412         * platform/brew/FileSystemBrew.cpp:
413         (WebCore::getFileSize):
414         (WebCore::fileExists):
415         (WebCore::deleteFile):
416         (WebCore::deleteEmptyDirectory):
417         (WebCore::canonicalPath):
418         (WebCore::makeAllDirectories):
419         (WebCore::openTemporaryFile):
420
421 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
422
423         Reviewed by Gustavo Noronha Silva.
424
425         [GTK] Complex text rendering does not render custom fonts
426         https://bugs.webkit.org/show_bug.cgi?id=41091
427
428         For fonts that do not have a FontConfig pattern (including custom
429         fonts), fall back to the simple text rendering path. This is a work-
430         -around for not supporting Pango rendering with non-FontConfig fonts.
431
432         Test: platform/gtk/fonts/font-face-with-complex-text.html
433
434         * platform/graphics/gtk/FontGtk.cpp:
435         (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
436         (WebCore::Font::floatWidthForComplexText): Ditto.
437         (WebCore::Font::offsetForPositionForComplexText): Ditto.
438         (WebCore::Font::selectionRectForComplexText): Ditto.
439
440 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
441
442         Reviewed by Kent Tamura.
443
444         [BREWMP] Use PlatformRefPtr in getDisplayInfo
445         https://bugs.webkit.org/show_bug.cgi?id=47023
446
447         Use PlatformRefPtr to release IBitmap* automatically.
448
449         * platform/brew/ScreenBrew.cpp:
450         (WebCore::getDisplayInfo):
451
452 2010-10-05  Kristian Monsen  <kristianm@google.com>
453
454         Reviewed by Steve Block.
455
456         Including JavaScriptCore/config.h from WebCore/config.h
457         instead of from WebCorePrefix.h.
458         https://bugs.webkit.org/show_bug.cgi?id=47179
459
460         No new tests, just changing where files are included.
461
462         * WebCorePrefix.h:
463         * config.h:
464
465 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
466
467         Reviewed by Andreas Kling.
468
469         [Qt] Make build work with QT_NO_CURSOR
470         https://bugs.webkit.org/show_bug.cgi?id=46097
471
472         Add a missing include.
473
474         * platform/qt/QWebPageClient.h:
475
476 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
477
478         Reviewed by Andreas Kling.
479
480         [Qt] Make build work with QT_NO_CURSOR
481         https://bugs.webkit.org/show_bug.cgi?id=46097
482
483         createCustomCursor() is a static function and not used
484         in that file if QT_NO_CURSOR is defined, so rather than
485         making it return 0, it should not exist altogether.
486
487         * platform/qt/CursorQt.cpp:
488         (WebCore::createCustomCursor):
489
490 2010-10-05  Adam Roben  <aroben@apple.com>
491
492         Windows linker warning fix
493
494         * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
495         build, since it is already being compiled via DerivedSources.cpp. Also
496         let VS reorder some files.
497
498 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
499
500         Reviewed by Kenneth Rohde Christiansen.
501
502         [Qt] Web process crash when pressing modifiers in input field
503         https://bugs.webkit.org/show_bug.cgi?id=44935
504
505         Fix null pointer dereference by not using
506         PlatformKeyboardEvent::m_qtEvent. This member is not set when
507         event comes from WebKit2.  Unix: Add ASSERTs to plugin related
508         code. These will fail if WebKit2 is used with plugins, unless code
509         is not fixed before.  Symbian: Add ASSERT to code which uses
510         qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
511         code is not fixed before.
512
513         * platform/PlatformKeyboardEvent.h:
514         * platform/qt/PlatformKeyboardEventQt.cpp:
515         (WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
516         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
517         (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
518         (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
519         * plugins/qt/PluginViewQt.cpp:
520         (WebCore::setXKeyEventSpecificFields):
521         * plugins/symbian/PluginViewSymbian.cpp:
522         (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.
523
524 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
525
526         Reviewed by Csaba Osztrogonác.
527
528         Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
529         https://bugs.webkit.org/show_bug.cgi?id=47115
530
531         LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
532         ENABLE(ACCELERATED_2D_CANVAS).
533
534         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:
535
536 2010-10-05  Satish Sampath  <satish@chromium.org>
537
538         Reviewed by Kent Tamura.
539
540         Added event onwebkitspeechchange to invoke on new speech input results.
541         https://bugs.webkit.org/show_bug.cgi?id=47127
542
543         * dom/EventNames.h: Added webkitspeechchange event name.
544         * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
545         * html/HTMLInputElement.cpp:
546         (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
547         (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
548         * html/HTMLInputElement.h:
549         * html/HTMLInputElement.idl: Added attribute to IDL.
550         * rendering/TextControlInnerElements.cpp:
551         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange
552
553 2010-10-05  Satish Sampath  <satish@chromium.org>
554
555         Reviewed by Jeremy Orlow.
556
557         Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
558         https://bugs.webkit.org/show_bug.cgi?id=46873
559
560         The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
561         attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
562         code for the attribute did not match the generated code for the IDL, so I modified
563         dom/make_names.pl to generate the appropriate name for such extension attributes.
564
565         * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
566         (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
567         * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
568         generated code from IDL and remember the original names including the x- prefix when writing
569         out the cpp files.
570         * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
571         * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech
572
573 2010-10-04  Andrey Kosyakov  <caseq@chromium.org>
574
575         Reviewed by Yury Semikhatsky.
576
577         Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
578         https://bugs.webkit.org/show_bug.cgi?id=47080
579
580         * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
581         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
582
583 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
584
585         Reviewed by Darin Fisher.
586
587         Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
588         https://bugs.webkit.org/show_bug.cgi?id=47129
589
590         * html/PluginDocument.cpp:
591         (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
592
593 2010-10-05  Chris Rogers  <crogers@google.com>
594
595         Reviewed by Kenneth Russell.
596
597         Add BiquadDSPKernel files
598         https://bugs.webkit.org/show_bug.cgi?id=46528
599
600         No new tests since audio API is not yet implemented.
601
602         * webaudio/BiquadDSPKernel.cpp: Added.
603         (WebCore::BiquadDSPKernel::process):
604         * webaudio/BiquadDSPKernel.h: Added.
605         (WebCore::BiquadDSPKernel::BiquadDSPKernel):
606         (WebCore::BiquadDSPKernel::reset):
607         (WebCore::BiquadDSPKernel::biquadProcessor):
608
609 2010-10-05  Chris Rogers  <crogers@google.com>
610
611         Reviewed by James Robinson.
612
613         Fix AudioContext to use new HRTFDatabaseLoader API
614         https://bugs.webkit.org/show_bug.cgi?id=46858
615
616         No new tests since audio API is not yet implemented.
617
618         * webaudio/AudioContext.cpp:
619         (WebCore::AudioContext::AudioContext):
620         (WebCore::AudioContext::isRunnable):
621         * webaudio/AudioContext.h:
622         * webaudio/AudioContext.idl:
623
624 2010-10-05  Chris Rogers  <crogers@google.com>
625
626         Reviewed by Kenneth Russell.
627
628         Add AudioPannerNode files
629         https://bugs.webkit.org/show_bug.cgi?id=46505
630
631         No new tests since audio API is not yet implemented.
632
633         * webaudio/AudioPannerNode.cpp: Added.
634         (WebCore::fixNANs):
635         (WebCore::AudioPannerNode::AudioPannerNode):
636         (WebCore::AudioPannerNode::~AudioPannerNode):
637         (WebCore::AudioPannerNode::pullInputs):
638         (WebCore::AudioPannerNode::process):
639         (WebCore::AudioPannerNode::reset):
640         (WebCore::AudioPannerNode::initialize):
641         (WebCore::AudioPannerNode::uninitialize):
642         (WebCore::AudioPannerNode::listener):
643         (WebCore::AudioPannerNode::setPanningModel):
644         (WebCore::AudioPannerNode::getAzimuthElevation):
645         (WebCore::AudioPannerNode::dopplerRate):
646         (WebCore::AudioPannerNode::distanceConeGain):
647         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
648         * webaudio/AudioPannerNode.h: Added.
649         (WebCore::AudioPannerNode::create):
650         (WebCore::AudioPannerNode::panningModel):
651         (WebCore::AudioPannerNode::position):
652         (WebCore::AudioPannerNode::setPosition):
653         (WebCore::AudioPannerNode::orientation):
654         (WebCore::AudioPannerNode::setOrientation):
655         (WebCore::AudioPannerNode::velocity):
656         (WebCore::AudioPannerNode::setVelocity):
657         (WebCore::AudioPannerNode::distanceModel):
658         (WebCore::AudioPannerNode::setDistanceModel):
659         (WebCore::AudioPannerNode::refDistance):
660         (WebCore::AudioPannerNode::setRefDistance):
661         (WebCore::AudioPannerNode::maxDistance):
662         (WebCore::AudioPannerNode::setMaxDistance):
663         (WebCore::AudioPannerNode::rolloffFactor):
664         (WebCore::AudioPannerNode::setRolloffFactor):
665         (WebCore::AudioPannerNode::coneInnerAngle):
666         (WebCore::AudioPannerNode::setConeInnerAngle):
667         (WebCore::AudioPannerNode::coneOuterAngle):
668         (WebCore::AudioPannerNode::setConeOuterAngle):
669         (WebCore::AudioPannerNode::coneOuterGain):
670         (WebCore::AudioPannerNode::setConeOuterGain):
671         (WebCore::AudioPannerNode::distanceGain):
672         (WebCore::AudioPannerNode::coneGain):
673         * webaudio/AudioPannerNode.idl: Added.
674
675 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
676
677         Reviewed by Martin Robinson.
678
679         [Cairo] Port drawTiledShadow to the new ContextShadow
680         https://bugs.webkit.org/show_bug.cgi?id=45902
681
682         Ported the drawTiledShadow function to the ContextShadow, it
683         renders shadows for rects faster than the simple blurring using
684         tiling of a smaller rect. We will remove the old function in a
685         next patch when starting to use ContextShadows for cairo
686         rendering.
687
688         * platform/graphics/ContextShadow.h:
689         * platform/graphics/cairo/ContextShadowCairo.cpp:
690         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
691         (WebCore::ContextShadow::drawRectShadow):
692
693 2010-10-05  Chris Rogers  <crogers@google.com>
694
695         Reviewed by Kenneth Russell.
696
697         Add BiquadProcessor files
698         https://bugs.webkit.org/show_bug.cgi?id=46527
699
700         No new tests since audio API is not yet implemented.
701
702         * webaudio/BiquadProcessor.cpp: Added.
703         (WebCore::BiquadProcessor::BiquadProcessor):
704         (WebCore::BiquadProcessor::~BiquadProcessor):
705         (WebCore::BiquadProcessor::createKernel):
706         (WebCore::BiquadProcessor::process):
707         * webaudio/BiquadProcessor.h: Added.
708         (WebCore::BiquadProcessor::filterCoefficientsDirty):
709         (WebCore::BiquadProcessor::parameter1):
710         (WebCore::BiquadProcessor::parameter2):
711         (WebCore::BiquadProcessor::parameter3):
712         (WebCore::BiquadProcessor::type):
713
714 2010-10-05  Chris Rogers  <crogers@google.com>
715
716         Reviewed by Kenneth Russell.
717
718         Add EqualPowerPanner files
719         https://bugs.webkit.org/show_bug.cgi?id=45077
720
721         No new tests since audio API is not yet implemented.
722
723         * platform/audio/EqualPowerPanner.cpp: Added.
724         (WebCore::EqualPowerPanner::EqualPowerPanner):
725         (WebCore::EqualPowerPanner::pan):
726         * platform/audio/EqualPowerPanner.h: Added.
727         (WebCore::EqualPowerPanner::reset):
728
729 2010-10-05  Chris Rogers  <crogers@google.com>
730
731         Reviewed by Kenneth Russell.
732
733         Add HighPass2FilterNode files
734         https://bugs.webkit.org/show_bug.cgi?id=46533
735
736         No new tests since audio API is not yet implemented.
737
738         * webaudio/HighPass2FilterNode.cpp: Added.
739         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
740         * webaudio/HighPass2FilterNode.h: Added.
741         (WebCore::HighPass2FilterNode::create):
742         (WebCore::HighPass2FilterNode::cutoff):
743         (WebCore::HighPass2FilterNode::resonance):
744         (WebCore::HighPass2FilterNode::biquadProcessor):
745         * webaudio/HighPass2FilterNode.idl: Added.
746
747 2010-10-05  Chris Rogers  <crogers@google.com>
748
749         Reviewed by Kenneth Russell.
750
751         Add LowPass2FilterNode files
752         https://bugs.webkit.org/show_bug.cgi?id=46532
753
754         No new tests since audio API is not yet implemented.
755
756         * webaudio/LowPass2FilterNode.cpp: Added.
757         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
758         * webaudio/LowPass2FilterNode.h: Added.
759         (WebCore::LowPass2FilterNode::create):
760         (WebCore::LowPass2FilterNode::cutoff):
761         (WebCore::LowPass2FilterNode::resonance):
762         (WebCore::LowPass2FilterNode::biquadProcessor):
763         * webaudio/LowPass2FilterNode.idl: Added.
764
765 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
766
767         Reviewed by Kent Tamura.
768
769         Fixed compilation problem added in commit 69082. The interface of
770         the function has two parameters with the same name.
771
772         * rendering/RenderBlock.h:
773
774 2010-10-04  Chris Rogers  <crogers@google.com>
775
776         Reviewed by Kenneth Russell.
777
778         Add AudioUtilities files
779         https://bugs.webkit.org/show_bug.cgi?id=47011
780
781         No new tests since audio API is not yet implemented.
782
783         * platform/audio/AudioUtilities.cpp: Added.
784         (WebCore::AudioUtilities::decibelsToLinear):
785         (WebCore::AudioUtilities::linearToDecibels):
786         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
787         * platform/audio/AudioUtilities.h: Added.
788
789 2010-10-04  David Hyatt  <hyatt@apple.com>
790
791         Reviewed by Dan Bernstein.
792
793         https://bugs.webkit.org/show_bug.cgi?id=47112
794
795         Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
796         
797         Also clean up how floats are placed to use a bit instead of the magic -1 value on top().
798
799         * rendering/RenderBlock.cpp:
800         (WebCore::RenderBlock::layoutBlock):
801         (WebCore::RenderBlock::layoutBlockChild):
802         (WebCore::RenderBlock::insertFloatingObject):
803         (WebCore::RenderBlock::removeFloatingObject):
804         (WebCore::RenderBlock::removeFloatingObjectsBelow):
805         (WebCore::RenderBlock::positionNewFloats):
806         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
807         (WebCore::RenderBlock::clearFloats):
808         (WebCore::RenderBlock::addOverhangingFloats):
809         (WebCore::RenderBlock::addIntrudingFloats):
810         * rendering/RenderBlock.h:
811         (WebCore::RenderBlock::FloatingObject::FloatingObject):
812         (WebCore::RenderBlock::FloatingObject::isPlaced):
813         (WebCore::RenderBlock::FloatingObject::setIsPlaced):
814         * rendering/RenderBlockLineLayout.cpp:
815         (WebCore::RenderBlock::determineStartPosition):
816
817 2010-10-04  Nico Weber  <thakis@chromium.org>
818
819         Reviewed by Kenneth Russell.
820
821         Fix broken C++ in PODInterval and PODIntervalTree
822         https://bugs.webkit.org/show_bug.cgi?id=47063
823
824         See http://clang.llvm.org/compatibility.html#dep_lookup . Since
825         valueToString needs to work with non-class types, it needs to be
826         declared before it's used. And since it needs to handle many types, it
827         needs to be a template function, for which clients will need to
828         provide specializations for the types they care about. Partial template
829         specialization is only supported for structs, so wrap the function in
830         a struct, too.
831
832         * platform/graphics/gpu/PODInterval.h:
833         (WebCore::PODInterval::toString):
834         * platform/graphics/gpu/PODIntervalTree.h:
835         (WebCore::PODIntervalTree::checkInvariantsFromNode):
836         * platform/graphics/gpu/PODRedBlackTree.h:
837         (WebCore::PODRedBlackTree::dumpFromNode):
838
839 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
840
841         Reviewed by Antonio Gomes.
842
843         Spatial Navigation: Add support for <input type="radio">
844         https://bugs.webkit.org/show_bug.cgi?id=46993
845
846         When using Spatial Navigation, every radio button should be focusable and 
847         users should be able to navigate from one button to the next without moving the selection. 
848
849         Tests: fast/events/spatial-navigation/snav-radio-group.html
850                fast/events/spatial-navigation/snav-radio.html
851
852         * html/HTMLInputElement.cpp:
853         (WebCore::HTMLInputElement::isKeyboardFocusable):
854         Every radio button should be keyboard focusable, if using Spatial Navigation.
855         (WebCore::HTMLInputElement::defaultEventHandler):
856         Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.
857
858 2010-10-04  Renata Hodovan  <reni@inf.u-szeged.hu>
859
860         Reviewed by Andreas Kling.
861
862         SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
863         https://bugs.webkit.org/show_bug.cgi?id=47074
864         The patch also implements the simple setStdDeviation method.
865
866         Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
867                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
868                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
869                svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html
870
871         * svg/SVGFEGaussianBlurElement.cpp:
872         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
873         (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
874         * svg/SVGFEGaussianBlurElement.h:
875
876 2010-10-04  Patrick Gansterer  <paroga@paroga.com>
877
878         Reviewed by Darin Adler.
879
880         Add Base64DecodePolicy option at base64Decode()
881         https://bugs.webkit.org/show_bug.cgi?id=41510
882
883         Add an option for ignoring characters in base64 data.
884         This is necessary for decoding data urls.
885
886         Also add an overload to decode WebCore::String directly.
887
888         * page/DOMWindow.cpp:
889         (WebCore::DOMWindow::atob):
890         * page/Page.cpp:
891         (WebCore::Page::userStyleSheetLocationChanged):
892         * platform/text/Base64.cpp:
893         (WebCore::base64Encode):
894         (WebCore::base64Decode):
895         (WebCore::base64DecodeInternal):
896         * platform/text/Base64.h:
897         (WebCore::):
898
899 2010-10-04  Ryuan Choi  <bunhere@gmail.com>
900
901         Unreviewed build fix.
902
903         [WML] Build fix for r68854
904         https://bugs.webkit.org/show_bug.cgi?id=47043
905
906         Include HTMLParserIdioms.h.
907
908         No features added, so no new tests.
909
910         * wml/WMLAElement.cpp:
911         * wml/WMLImageLoader.cpp:
912
913 2010-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
914
915         Unreviewed build fix.
916
917         [CMAKE] Build fix for r68901
918         https://bugs.webkit.org/show_bug.cgi?id=47042
919
920         Move plugins/PluginPackage.cpp
921
922         No features added, so no new tests.
923
924         * CMakeLists.txt:
925
926 2010-10-04  Eric Uhrhane  <ericu@chromium.org>
927
928         Reviewed by David Levin.
929
930         Hook FileEntry::createWriter to DOMFileSystem::createWriter
931         https://bugs.webkit.org/show_bug.cgi?id=46908
932
933         No new tests--still waiting for the first complete implementation.
934
935         * fileapi/FileEntry.cpp:
936         (WebCore::FileEntry::createWriter):
937
938 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
939
940         Reviewed by Antonio Gomes.
941
942         Spatial Navigation: select element does not release focus with Spatial Navigation
943         https://bugs.webkit.org/show_bug.cgi?id=46896
944
945         When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
946         to navigate out of the select element. That is because select element currently uses the
947         arrow keys to change the selected element.
948         Change the behavior of select element so it does not change selection, if Spatial Navigation
949         is on.
950
951         This patch is addressing the case where Spatial Navigation is used 
952         in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
953         In the future we can add support for the case where the flag is off, and
954         the user needs to traverse the select element inline.
955
956         Tests: fast/events/spatial-navigation/snav-multiple-select.html
957                fast/events/spatial-navigation/snav-single-select.html
958
959         * dom/SelectElement.cpp:
960         (WebCore::SelectElement::menuListDefaultEventHandler):
961
962 2010-10-04  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
963
964         Reviewed by Andreas Kling.
965
966         [Qt] QNetworkReplyHandler forces buffered output for FormData with files
967         https://bugs.webkit.org/show_bug.cgi?id=46259
968
969         No new tests. Existing form submit tests should cover this change.
970
971         * platform/network/qt/QNetworkReplyHandler.cpp:
972         (WebCore::FormDataIODevice::FormDataIODevice):
973         (WebCore::FormDataIODevice::computeSize):
974          Add computeSize() for computing form device size
975         (WebCore::QNetworkReplyHandler::start):
976          Call computeSize(), fill Content-Length and prevent UploadData buffering
977         * platform/network/qt/QNetworkReplyHandler.h:
978         (WebCore::FormDataIODevice::getFormDataSize):
979
980 2010-10-04  Chang Shu  <chang.shu@nokia.com>
981
982         Reviewed by Antonio Gomes.
983
984         Fixed the typo that searches the wrong direction in the no-focus-node case.
985         As a result, after page is loaded, pressing key "arrowdown" will bring the
986         focus to the 1st element instead of the last element.
987         https://bugs.webkit.org/show_bug.cgi?id=46901
988
989         Test: fast/events/spatial-navigation/snav-1st-stop.html
990
991         * page/FocusController.cpp:
992         (WebCore::FocusController::advanceFocusDirectionally):
993
994 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
995
996         No review.
997         
998         Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
999         to fail at compile time if Mac includes that header.
1000
1001         * platform/network/cf/SocketStreamHandle.h:
1002         * platform/network/qt/SocketStreamHandle.h:
1003
1004 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
1005
1006         Reviewed by Darin Adler.
1007
1008         https://bugs.webkit.org/show_bug.cgi?id=47136
1009         WebSocket tests are crashing
1010
1011         The Mac xcode project was finding qt/SocketStreamHandle.h because of
1012         an inadvertent change in r68951. Thus the header and implementation didn't match,
1013         and memory corruption ensued.
1014         
1015         * WebCore.xcodeproj/project.pbxproj:
1016
1017 2010-10-04  Chris Marrin  <cmarrin@apple.com>
1018
1019         Reviewed by James Robinson.
1020
1021         Move SharedGraphicsContext3D from ChromeClient to Page
1022         https://bugs.webkit.org/show_bug.cgi?id=47113
1023
1024         * html/canvas/CanvasRenderingContext2D.cpp:
1025         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1026         * page/ChromeClient.h:
1027         * page/Page.cpp:
1028         (WebCore::Page::sharedGraphicsContext3D):
1029         * page/Page.h:
1030         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1031         (WebCore::SharedGraphicsContext3D::create):
1032         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1033
1034 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
1035
1036         Reviewed by Nate Chapin.
1037
1038         Implement IndexedDB's oncomplete and ontimeout.
1039         https://bugs.webkit.org/show_bug.cgi?id=47106
1040
1041         Add ontimeout and oncomplete to IDBTransaction and plumb
1042         them.  Test this behavior in the existing IDBTransaction-basics
1043         test.
1044
1045         * WebCore.gypi:
1046         * storage/IDBTransaction.cpp:
1047         (WebCore::IDBTransaction::IDBTransaction):
1048         (WebCore::IDBTransaction::mode):
1049         (WebCore::IDBTransaction::objectStore):
1050         (WebCore::IDBTransaction::abort):
1051         (WebCore::IDBTransaction::onAbort):
1052         (WebCore::IDBTransaction::onComplete):
1053         (WebCore::IDBTransaction::onTimeout):
1054         (WebCore::IDBTransaction::stop):
1055         (WebCore::IDBTransaction::onAbortTimerFired):
1056         (WebCore::IDBTransaction::onCompleteTimerFired):
1057         (WebCore::IDBTransaction::onTimeoutTimerFired):
1058         * storage/IDBTransaction.h:
1059         * storage/IDBTransactionBackendImpl.cpp:
1060         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1061         (WebCore::IDBTransactionBackendImpl::commit):
1062         * storage/IDBTransactionCallbacks.h:
1063
1064 2010-10-04  Enrica Casucci  <enrica@apple.com>
1065
1066         Reviewed by Darin Adler.
1067
1068         Crash at WebCore::nextCandidate + 27
1069         https://bugs.webkit.org/show_bug.cgi?id=47118
1070         <rdar://problem/7282934>
1071
1072         When we canonicalize a Position to create a VisiblePosition, the position
1073         is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
1074         that can produce a lot of side effects, including changing the selection.
1075         This becomes a serious problem whne the position passed as reference is one of
1076         the selection endpoints.
1077         
1078         Test: editing/selection/focus-crash.html
1079
1080         * editing/VisiblePosition.cpp:
1081         (WebCore::VisiblePosition::canonicalPosition):
1082
1083 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
1084
1085         Reviewed by Adam Barth.
1086
1087         https://bugs.webkit.org/show_bug.cgi?id=37812
1088         Assertion failure when appcache/fail-on-update.html is run twice in a row
1089
1090         Test: http/tests/appcache/fail-on-update-2.html
1091
1092         For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
1093         previously are still good, and covered by the new test.
1094
1095         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
1096         Handle the case when the cache is already obsolete by the time cache selection occurs.
1097
1098         * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
1099         It's not true that loading from appcache always succeeds - it can be aborted.
1100
1101         * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
1102         Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!
1103
1104 2010-10-04  Erik Arvidsson  <arv@chromium.org>
1105
1106         Reviewed by James Robinson.
1107
1108         https://bugs.webkit.org/show_bug.cgi?id=47122
1109         Crash in classList when class attribute is empty.
1110
1111         Tests: fast/dom/HTMLElement/class-list.html
1112
1113         * html/DOMTokenList.cpp:
1114         (WebCore::DOMTokenList::length):
1115         (WebCore::DOMTokenList::containsInternal):
1116         (WebCore::DOMTokenList::classNames):
1117
1118 2010-10-04  Darin Adler  <darin@apple.com>
1119
1120         Reviewed by Dan Bernstein.
1121
1122         Use isHTMLSpace in more places, and optimize it
1123         https://bugs.webkit.org/show_bug.cgi?id=47103
1124
1125         * css/CSSParser.cpp:
1126         (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
1127         (WebCore::parseAlphaValue): Ditto.
1128         (WebCore::CSSParser::text): Ditto.
1129
1130         * dom/SpaceSplitString.h: Removed isClassWhitespace.
1131
1132         * dom/SpaceSplitString.cpp:
1133         (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
1134         * dom/StyledElement.cpp:
1135         (WebCore::StyledElement::classAttributeChanged): Ditto.
1136         * html/DOMTokenList.cpp:
1137         (WebCore::validateToken): Ditto.
1138         (WebCore::DOMTokenList::removeInternal): Ditto.
1139
1140         * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
1141         only a single branch and plain old spaces take only two branches.
1142
1143 2010-10-04  Justin Schuh  <jschuh@chromium.org>
1144
1145         Reviewed by James Robinson.
1146
1147         HTMLMediaElement delayed load should fire asynchronously
1148         https://bugs.webkit.org/show_bug.cgi?id=45765
1149
1150         Test: media/remove-from-document-before-load.html
1151
1152         * dom/Document.cpp:
1153         (WebCore::Document::Document):
1154         (WebCore::Document::decrementLoadEventDelayCount):
1155         (WebCore::Document::loadEventDelayTimerFired):
1156         * dom/Document.h:
1157         * html/HTMLMediaElement.cpp:
1158         (WebCore::HTMLMediaElement::HTMLMediaElement):
1159         (WebCore::HTMLMediaElement::asyncEventTimerFired):
1160         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
1161         * html/HTMLMediaElement.h:
1162
1163 2010-10-04  Adam Barth  <abarth@webkit.org>
1164
1165         Reviewed by Darin Adler.
1166
1167         ResourceHandle's public/protected/private sections are fragmented
1168         https://bugs.webkit.org/show_bug.cgi?id=47038
1169
1170         Minor cleanup.
1171
1172         * platform/network/ResourceHandle.h:
1173
1174 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
1175
1176         Reviewed by Adam Barth.
1177
1178         https://bugs.webkit.org/show_bug.cgi?id=43506
1179         <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
1180         idempotent-update.html)
1181
1182         Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
1183         abort update process explicitly.
1184
1185         Note that in principle, update could piggyback on any other existing frame - or even run
1186         frameless - but currently, it's tied to the first frame that requested update.
1187
1188         * loader/DocumentLoader.cpp:
1189         (WebCore::DocumentLoader::stopLoading):
1190         * loader/appcache/ApplicationCacheGroup.cpp:
1191         (WebCore::ApplicationCacheGroup::stopLoadingInFrame):
1192         * loader/appcache/ApplicationCacheGroup.h:
1193         * loader/appcache/ApplicationCacheHost.cpp:
1194         (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
1195         (WebCore::ApplicationCacheHost::stopLoadingInFrame):
1196         * loader/appcache/ApplicationCacheHost.h:
1197
1198 2010-10-04  Adam Barth  <abarth@webkit.org>
1199
1200         Reviewed by Darin Adler.
1201
1202         Rename RedirectScheduler to NavigationScheduler
1203         https://bugs.webkit.org/show_bug.cgi?id=47037
1204
1205         This class schedules more than just redirects.  In fact, it schedules
1206         most kinds of navigations.
1207
1208         * Android.mk:
1209         * CMakeLists.txt:
1210         * GNUmakefile.am:
1211         * WebCore.gypi:
1212         * WebCore.pro:
1213         * WebCore.vcproj/WebCore.vcproj:
1214         * WebCore.xcodeproj/project.pbxproj:
1215         * bindings/generic/BindingDOMWindow.h:
1216         (WebCore::::createWindow):
1217         (WebCore::::open):
1218         * bindings/generic/BindingFrame.h:
1219         (WebCore::::navigateIfAllowed):
1220         * bindings/js/JSDOMWindowCustom.cpp:
1221         (WebCore::JSDOMWindow::setLocation):
1222         (WebCore::createWindow):
1223         (WebCore::JSDOMWindow::open):
1224         * bindings/js/JSDocumentCustom.cpp:
1225         (WebCore::JSDocument::setLocation):
1226         * bindings/js/JSLocationCustom.cpp:
1227         (WebCore::JSLocation::reload):
1228         * bindings/v8/custom/V8LocationCustom.cpp:
1229         (WebCore::V8Location::reloadCallback):
1230         * dom/Document.cpp:
1231         (WebCore::Document::implicitClose):
1232         (WebCore::Document::processHttpEquiv):
1233         * inspector/InspectorController.cpp:
1234         (WebCore::InspectorController::setResourceTrackingEnabled):
1235         (WebCore::InspectorController::reloadPage):
1236         * loader/FrameLoader.cpp:
1237         (WebCore::FrameLoader::setDefersLoading):
1238         (WebCore::FrameLoader::submitForm):
1239         (WebCore::FrameLoader::stopLoading):
1240         (WebCore::FrameLoader::didOpenURL):
1241         (WebCore::FrameLoader::didExplicitOpen):
1242         (WebCore::FrameLoader::cancelAndClear):
1243         (WebCore::FrameLoader::clear):
1244         (WebCore::FrameLoader::receivedFirstData):
1245         (WebCore::FrameLoader::checkCompleted):
1246         (WebCore::FrameLoader::provisionalLoadStarted):
1247         (WebCore::FrameLoader::completed):
1248         (WebCore::FrameLoader::prepareForCachedPageRestore):
1249         * loader/FrameLoader.h:
1250         * loader/NavigationScheduler.cpp: Added.
1251         (WebCore::ScheduledNavigation::ScheduledNavigation):
1252         (WebCore::ScheduledNavigation::~ScheduledNavigation):
1253         (WebCore::ScheduledNavigation::shouldStartTimer):
1254         (WebCore::ScheduledNavigation::didStartTimer):
1255         (WebCore::ScheduledNavigation::didStopTimer):
1256         (WebCore::ScheduledNavigation::delay):
1257         (WebCore::ScheduledNavigation::lockHistory):
1258         (WebCore::ScheduledNavigation::lockBackForwardList):
1259         (WebCore::ScheduledNavigation::wasDuringLoad):
1260         (WebCore::ScheduledNavigation::isLocationChange):
1261         (WebCore::ScheduledNavigation::wasUserGesture):
1262         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
1263         (WebCore::ScheduledURLNavigation::fire):
1264         (WebCore::ScheduledURLNavigation::didStartTimer):
1265         (WebCore::ScheduledURLNavigation::didStopTimer):
1266         (WebCore::ScheduledURLNavigation::url):
1267         (WebCore::ScheduledURLNavigation::referrer):
1268         (WebCore::ScheduledRedirect::ScheduledRedirect):
1269         (WebCore::ScheduledRedirect::shouldStartTimer):
1270         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
1271         (WebCore::ScheduledRefresh::ScheduledRefresh):
1272         (WebCore::ScheduledRefresh::fire):
1273         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
1274         (WebCore::ScheduledHistoryNavigation::fire):
1275         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
1276         (WebCore::ScheduledFormSubmission::fire):
1277         (WebCore::ScheduledFormSubmission::didStartTimer):
1278         (WebCore::ScheduledFormSubmission::didStopTimer):
1279         (WebCore::NavigationScheduler::NavigationScheduler):
1280         (WebCore::NavigationScheduler::~NavigationScheduler):
1281         (WebCore::NavigationScheduler::redirectScheduledDuringLoad):
1282         (WebCore::NavigationScheduler::locationChangePending):
1283         (WebCore::NavigationScheduler::clear):
1284         (WebCore::NavigationScheduler::scheduleRedirect):
1285         (WebCore::NavigationScheduler::mustLockBackForwardList):
1286         (WebCore::NavigationScheduler::scheduleLocationChange):
1287         (WebCore::NavigationScheduler::scheduleFormSubmission):
1288         (WebCore::NavigationScheduler::scheduleRefresh):
1289         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
1290         (WebCore::NavigationScheduler::timerFired):
1291         (WebCore::NavigationScheduler::schedule):
1292         (WebCore::NavigationScheduler::startTimer):
1293         (WebCore::NavigationScheduler::cancel):
1294         * loader/NavigationScheduler.h: Added.
1295         * loader/RedirectScheduler.cpp: Removed.
1296         * loader/RedirectScheduler.h: Removed.
1297         * loader/SubframeLoader.cpp:
1298         (WebCore::SubframeLoader::loadOrRedirectSubframe):
1299         * loader/appcache/ApplicationCacheGroup.cpp:
1300         (WebCore::ApplicationCacheGroup::selectCache):
1301         * page/Frame.cpp:
1302         (WebCore::Frame::Frame):
1303         * page/Frame.h:
1304         (WebCore::Frame::navigationScheduler):
1305         * page/History.cpp:
1306         (WebCore::History::back):
1307         (WebCore::History::forward):
1308         (WebCore::History::go):
1309         * page/XSSAuditor.cpp:
1310         (WebCore::XSSAuditor::findInRequest):
1311
1312 2010-10-04  Adam Barth  <abarth@webkit.org>
1313
1314         Reviewed by Sam Weinig.
1315
1316         Remove ENABLE_SANDBOX
1317         https://bugs.webkit.org/show_bug.cgi?id=47032
1318
1319         I'm not sure there's a reason for this to be behind a compile flag
1320         anymore.
1321
1322         * Configurations/FeatureDefines.xcconfig:
1323         * GNUmakefile.am:
1324         * features.pri:
1325         * html/HTMLIFrameElement.cpp:
1326         (WebCore::parseSandboxAttribute):
1327         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1328
1329 2010-10-04  Huahui Wu  <mediadependent@gmail.com>
1330
1331         Reviewed by Darin Adler.
1332
1333         Fix a compiler error for ANDROID introduced by bug 45221.
1334         https://bugs.webkit.org/show_bug.cgi?id=47095
1335
1336         It's a small fix for a compiler error, so there is no new test.
1337
1338         * platform/android/PlatformTouchEventAndroid.cpp:
1339         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1340
1341 2010-10-04  Chris Fleizach  <cfleizach@apple.com>
1342
1343         Reviewed by Beth Dakin.
1344
1345         AX: doAXRangeForLine does not work
1346         https://bugs.webkit.org/show_bug.cgi?id=47101
1347
1348         Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
1349         The code was using a SelectionController to extend to the next line. Rather than change the implementation
1350         of that core functionality, it is cleaner to use endOfLine to find the end of the line.
1351
1352         Test: platform/mac/accessibility/range-for-line-textarea.html
1353
1354         * accessibility/AccessibilityRenderObject.cpp:
1355         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
1356
1357 2010-10-04  Brent Fulgham  <bfulgham@webkit.org>
1358
1359         Unreviewed, build fix for r68951.
1360
1361         Add stub implementation for ProxyServer logic.
1362
1363         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
1364         * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
1365
1366 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
1367
1368         Reviewed by Adam Barth.
1369
1370         https://bugs.webkit.org/show_bug.cgi?id=47035
1371         Application cache selection algorithm should only be invoked after navigation
1372
1373         Tests: http/tests/appcache/document-write-html-element-2.html
1374                http/tests/appcache/document-write-html-element.html
1375                http/tests/appcache/insert-html-element-with-manifest-2.html
1376                http/tests/appcache/insert-html-element-with-manifest.html
1377
1378         * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
1379         * dom/DocumentParser.h:
1380         (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
1381         (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
1382         Track whether the document being parsed is being loaded as part of navigation.
1383
1384         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
1385         cache selection algorithm if the document is being loaded as part of navigation. We don't 
1386         want to switch associated appcache is someone document.writes <html manifest=...>.
1387
1388         * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
1389         this code can't be in HTMLHtmlElement::insertedIntoDocument().
1390
1391         * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
1392         * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
1393         * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
1394         * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
1395         * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
1396         * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1397         Check for manifest attribute in cases specified by HTML5.
1398
1399         * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
1400
1401         * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
1402         * loader/DocumentWriter.h:
1403         Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
1404
1405         * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
1406         loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
1407         definition that I could find - this seems to be a meaningful formalization.
1408
1409 2010-10-04  David Hyatt  <hyatt@apple.com>
1410
1411         Reviewed by Dan Bernstein.
1412
1413         https://bugs.webkit.org/show_bug.cgi?id=47100
1414
1415         Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.
1416
1417         * rendering/RenderBlock.cpp:
1418         (WebCore::RenderBlock::clearFloats):
1419         * rendering/RenderBlock.h:
1420         (WebCore::RenderBlock::logicalTopForFloat):
1421         (WebCore::RenderBlock::logicalLeftForFloat):
1422         (WebCore::RenderBlock::logicalWidthForFloat):
1423
1424 2010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
1425
1426         Reviewed by Kenneth Rohde Christiansen.
1427
1428         [Qt] Hook up DeviceOrientation data for Qt support
1429         https://bugs.webkit.org/show_bug.cgi?id=47052
1430
1431         Get DeviceOrientation necessary data via Qt mobility library
1432         using a provider class.
1433
1434         * WebCore.pro:
1435
1436 2010-10-01  Victoria Kirst  <vrk@google.com>
1437
1438         Reviewed by James Robinson.
1439
1440         Fixing crash when audio media player is destructed
1441         https://bugs.webkit.org/show_bug.cgi?id=47020
1442
1443         Adds assert for LayerRenderer in destructor.
1444
1445         * platform/graphics/chromium/VideoLayerChromium.cpp:
1446         (WebCore::VideoLayerChromium::~VideoLayerChromium):
1447
1448 2010-10-04  Pavel Podivilov  <podivilov@chromium.org>
1449
1450         Reviewed by Pavel Feldman.
1451
1452         Web Inspector: do not show breakpoint in front-end if it was not set in v8
1453         https://bugs.webkit.org/show_bug.cgi?id=46749
1454
1455         * bindings/v8/DebuggerScript.js:
1456         ():
1457
1458 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
1459
1460         Reviewed by Martin Robinson.
1461
1462         [cairo] Context shadow modifies the data of the surface without
1463         flushing and marking as dirty
1464         https://bugs.webkit.org/show_bug.cgi?id=47079
1465
1466         Added the cairo_surface_flush and cairo_surface_mark_dirty before
1467         and after modifying the image pixels directly.
1468
1469         * platform/graphics/cairo/ContextShadowCairo.cpp:
1470         (WebCore::ContextShadow::endShadowLayer):
1471
1472 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
1473
1474         Reviewed by Xan Lopez.
1475
1476         Crashed caused by missing OwnPtrCairo include, for more
1477         information check the issue in the bug 46268.
1478
1479         * platform/graphics/cairo/CairoUtilities.cpp:
1480
1481 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
1482
1483         Reviewed by Martin Robinson.
1484
1485         [cairo] Move some cairo functions to the CairoUtilities
1486         https://bugs.webkit.org/show_bug.cgi?id=47076
1487
1488         Moved some cairo functions to the CairoUtilities so we can use
1489         them outside GraphicsContextCairo.
1490
1491         * platform/graphics/cairo/CairoUtilities.cpp:
1492         (WebCore::appendPathToCairoContext):
1493         (WebCore::setPathOnCairoContext):
1494         (WebCore::appendWebCorePathToCairoContext):
1495         (WebCore::toCairoOperator):
1496         (WebCore::drawPatternToCairoContext):
1497         * platform/graphics/cairo/CairoUtilities.h:
1498         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1499         * platform/graphics/cairo/ImageCairo.cpp:
1500         (WebCore::Image::drawPattern):
1501
1502 2010-10-04  podivilov@chromium.org  <podivilov@chromium.org>
1503
1504         Reviewed by Yury Semikhatsky.
1505
1506         Web Inspector: implement pausing on event listeners (back-end part)
1507         https://bugs.webkit.org/show_bug.cgi?id=46624
1508
1509         * bindings/js/ScriptDebugServer.cpp:
1510         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1511         * bindings/js/ScriptDebugServer.h:
1512         * bindings/v8/ScriptDebugServer.cpp:
1513         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1514         * bindings/v8/ScriptDebugServer.h:
1515         * dom/Node.cpp:
1516         (WebCore::Node::dispatchGenericEvent):
1517         * inspector/InspectorController.cpp:
1518         (WebCore::InspectorController::didCommitLoad):
1519         (WebCore::InspectorController::setNativeBreakpoint):
1520         (WebCore::InspectorController::removeNativeBreakpoint):
1521         (WebCore::InspectorController::shouldBreakOnEvent):
1522         (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
1523         * inspector/InspectorController.h:
1524         * inspector/InspectorDebuggerAgent.cpp:
1525         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
1526         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1527         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1528         (WebCore::InspectorDebuggerAgent::pause):
1529         (WebCore::InspectorDebuggerAgent::didContinue):
1530         (WebCore::InspectorDebuggerAgent::breakProgram):
1531         * inspector/InspectorDebuggerAgent.h:
1532         * inspector/InspectorInstrumentation.cpp:
1533         (WebCore::eventHasListeners):
1534         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
1535         (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
1536         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
1537         * inspector/InspectorInstrumentation.h:
1538         (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
1539         (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
1540         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
1541         * inspector/InspectorTimelineAgent.cpp:
1542         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1543         * inspector/InspectorTimelineAgent.h:
1544         (WebCore::InspectorTimelineAgent::id):
1545         * inspector/front-end/CallStackSidebarPane.js:
1546
1547 2010-10-04  Pavel Feldman  <pfeldman@chromium.org>
1548
1549         Reviewed by Yury Semikhatsky.
1550
1551         Web Inspector: add total bar to the network panel.
1552         https://bugs.webkit.org/show_bug.cgi?id=47081
1553
1554         * English.lproj/localizedStrings.js:
1555         * inspector/front-end/ConsoleView.js:
1556         (WebInspector.ConsoleView.createDividerElement):
1557         * inspector/front-end/DataGrid.js:
1558         (WebInspector.DataGrid.prototype.removeChild):
1559         (WebInspector.DataGrid.prototype.sortNodes):
1560         (WebInspector.DataGrid.prototype._clickInHeaderCell):
1561         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
1562         * inspector/front-end/NetworkPanel.js:
1563         (WebInspector.NetworkPanel):
1564         (WebInspector.NetworkPanel.prototype.resize):
1565         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
1566         (WebInspector.NetworkPanel.prototype._createTimelineGrid):
1567         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
1568         (WebInspector.NetworkPanel.prototype._sortItems):
1569         (WebInspector.NetworkPanel.prototype._sortByTimeline):
1570         (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
1571         (WebInspector.NetworkPanel.prototype._createSummaryBar):
1572         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
1573         (WebInspector.NetworkPanel.prototype._updateFilter):
1574         (WebInspector.NetworkPanel.prototype.show):
1575         (WebInspector.NetworkPanel.prototype.refresh):
1576         (WebInspector.NetworkPanel.prototype.reset):
1577         (WebInspector.NetworkDataGridNode.SizeComparator):
1578         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
1579         (WebInspector.NetworkTotalGridNode):
1580         (WebInspector.NetworkTotalGridNode.prototype.createCells):
1581         * inspector/front-end/ResourcesPanel.js:
1582         (WebInspector.ResourcesPanel.prototype.createFilterPanel):
1583         * inspector/front-end/inspector.css:
1584         (.scope-bar-divider):
1585         * inspector/front-end/networkPanel.css:
1586         (.network-timeline-grid):
1587         (.network-summary-bar):
1588         (.network-summary-bar-bottom):
1589         (.data-grid td .network-summary-bar):
1590
1591 2010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
1592
1593         Reviewed by Kenneth Rohde Christiansen.
1594
1595         Viewport data change notifications
1596         https://bugs.webkit.org/show_bug.cgi?id=46755
1597
1598         Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
1599         changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
1600         viewport data in Page as a reference, to be able to send notifications only when the current viewport
1601         has changed.
1602
1603         * dom/Document.cpp:
1604         (WebCore::Document::processViewport):
1605         (WebCore::Document::setInPageCache):
1606         * dom/ViewportArguments.h:
1607         (WebCore::ViewportArguments::operator==):
1608         * html/HTMLBodyElement.cpp:
1609         (WebCore::HTMLBodyElement::HTMLBodyElement):
1610         * page/Chrome.cpp:
1611         (WebCore::Chrome::viewportDataChanged):
1612         * page/Chrome.h:
1613         * page/ChromeClient.h:
1614         (WebCore::ChromeClient::viewportDataChanged):
1615         * page/Page.cpp:
1616         (WebCore::Page::updateViewportArguments):
1617         * page/Page.h:
1618         (WebCore::Page::viewportArguments):
1619
1620 2010-10-03  Kent Tamura  <tkent@chromium.org>
1621
1622         Unreviewed, build fix for r68996.
1623
1624         * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
1625         * html/MonthInputType.cpp: ditto.
1626         * html/NumberInputType.cpp: ditto.
1627         * html/RangeInputType.cpp: ditto.
1628
1629 2010-10-03  Kent Tamura  <tkent@chromium.org>
1630
1631         Reviewed by Dimitri Glazkov.
1632
1633         Refactor HTMLInputElement: Move parseToDouble() and
1634         parseToDateComponents() to InputType.
1635         https://bugs.webkit.org/show_bug.cgi?id=46965
1636
1637         Introduce BaseDateAndTimeInputType, which is a super class of
1638         date, datetime, datetime-local, month, time, and week types.
1639
1640         No new tests. Just a refactoring.
1641
1642         * Android.mk: Add BaseDateAndTimeInputType.
1643         * CMakeLists.txt: ditto.
1644         * GNUmakefile.am: ditto.
1645         * WebCore.gypi: ditto.
1646         * WebCore.pro: ditto.
1647         * WebCore.vcproj/WebCore.vcproj: ditto.
1648         * WebCore.xcodeproj/project.pbxproj: ditto.
1649         * html/BaseDateAndTimeInputType.cpp: Added.
1650         (WebCore::BaseDateAndTimeInputType::parseToDouble):
1651         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
1652         * html/BaseDateAndTimeInputType.h: Added.
1653         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
1654         * html/DateInputType.cpp:
1655         (WebCore::DateInputType::parseToDateComponentsInternal):
1656         * html/DateInputType.h:
1657         (WebCore::DateInputType::DateInputType):
1658         * html/DateTimeInputType.cpp:
1659         (WebCore::DateTimeInputType::parseToDateComponentsInternal):
1660         * html/DateTimeInputType.h:
1661         (WebCore::DateTimeInputType::DateTimeInputType):
1662         * html/DateTimeLocalInputType.cpp:
1663         (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
1664         * html/DateTimeLocalInputType.h:
1665         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
1666         * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
1667         (WebCore::HTMLInputElement::typeMismatch):
1668         (WebCore::HTMLInputElement::rangeUnderflow):
1669         (WebCore::HTMLInputElement::rangeOverflow):
1670         (WebCore::HTMLInputElement::minimum):
1671         (WebCore::HTMLInputElement::maximum):
1672         (WebCore::HTMLInputElement::stepBase):
1673         (WebCore::HTMLInputElement::stepMismatch):
1674         (WebCore::HTMLInputElement::applyStep):
1675         (WebCore::HTMLInputElement::valueAsDate):
1676         (WebCore::HTMLInputElement::valueAsNumber):
1677         (WebCore::HTMLInputElement::handleKeyEventForRange):
1678         (WebCore::HTMLInputElement::stepUpFromRenderer):
1679         * html/HTMLInputElement.h:
1680         * html/InputType.cpp:
1681         (WebCore::InputType::parseToDouble):
1682         (WebCore::InputType::parseToDateComponents):
1683         * html/InputType.h:
1684         * html/MonthInputType.cpp:
1685         (WebCore::MonthInputType::parseToDouble):
1686         (WebCore::MonthInputType::parseToDateComponentsInternal):
1687         * html/MonthInputType.h:
1688         (WebCore::MonthInputType::MonthInputType):
1689         * html/NumberInputType.cpp:
1690         (WebCore::NumberInputType::parseToDouble):
1691         * html/NumberInputType.h:
1692         * html/RangeInputType.cpp:
1693         (WebCore::RangeInputType::parseToDouble):
1694         * html/RangeInputType.h:
1695         * html/TimeInputType.cpp:
1696         (WebCore::TimeInputType::parseToDateComponentsInternal):
1697         * html/TimeInputType.h:
1698         (WebCore::TimeInputType::TimeInputType):
1699         * html/WeekInputType.cpp:
1700         (WebCore::WeekInputType::parseToDateComponentsInternal):
1701         * html/WeekInputType.h:
1702         (WebCore::WeekInputType::WeekInputType):
1703
1704 2010-10-03  Adam Barth  <abarth@webkit.org>
1705
1706         Reviewed by Holger Freyther.
1707
1708         ASSERT(m_state = Open); is bad news bears
1709         https://bugs.webkit.org/show_bug.cgi?id=47057
1710
1711         Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
1712         Too bad the compiler doesn't catch these errors.  I don't believe this
1713         is possible to test.
1714
1715         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1716         (WebCore::SocketStreamHandle::writeStreamCallback):
1717
1718 2010-10-03  Adam Barth  <abarth@webkit.org>
1719
1720         Reviewed by Holger Freyther.
1721
1722         All the WebSocket tests crash
1723         https://bugs.webkit.org/show_bug.cgi?id=47056
1724
1725         More code that tries to hold onto temporaries with references.
1726
1727         * websockets/WebSocketChannel.cpp:
1728         (WebCore::WebSocketChannel::didOpen):
1729
1730 2010-10-03  Adam Barth  <abarth@webkit.org>
1731
1732         Reviewed by Holger Freyther.
1733
1734         All the WebSocket tests crash
1735         https://bugs.webkit.org/show_bug.cgi?id=47055
1736
1737         This code attempts to hold onto temporary objects using references.
1738         That doesn't work in C++. Instead, we need to actually store the
1739         objects somewhere.
1740
1741         * bindings/js/JSWebSocketCustom.cpp:
1742         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
1743
1744 2010-10-02  Diego Gonzalez  <diegohcg@webkit.org>
1745
1746         Reviewed by Kenneth Rohde Christiansen.
1747
1748         [Qt] Provide Qt support for DeviceMotion/Orientation clients
1749         https://bugs.webkit.org/show_bug.cgi?id=47051
1750
1751         Add Qt DeviceMotion/Orientation dummy clients in build system.
1752
1753         * WebCore.pro:
1754
1755 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1756
1757         Reviewed by Dirk Schulze.
1758
1759         Rewrite SVG text layout code
1760         https://bugs.webkit.org/show_bug.cgi?id=45532
1761
1762         Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).
1763
1764         Phase #1) - SVGTextLayoutAttributesBuilder
1765         ------------------------------------------
1766
1767         Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
1768         This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
1769         Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
1770
1771         Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
1772         RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
1773
1774         The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.
1775
1776         Phase #2) - SVGTextLayoutEngine
1777         ------------------------------------------
1778
1779         RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
1780         decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
1781         current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
1782
1783         For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
1784         is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
1785         and starts phase #2 of the layout process.
1786
1787         SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
1788         letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
1789
1790         As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
1791         at once. Some examples to illustrate what's going on:
1792
1793         <text x="20">ABCD</text>:
1794         - SVGInlineTextBox
1795           - SVGTextFragment, start 0 length 4, "ABCD" (x=20)
1796
1797         <text x="20 100">ABCD</text>:
1798         - SVGInlineTextBox
1799           - SVGTextFragment, start 0 length 1, "A" (x=20)
1800         - SVGInlineTextBox
1801           - SVGTextFragment, start 0 length 1, "B" (x=100)
1802           - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
1803
1804         <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
1805         - SVGInlineTextBox
1806           - SVGTextFragment, start 0 length 1, "A" (rotated!)
1807           - SVGTextFragment, start 1 length 1, "B" (rotated!)
1808           - SVGTextFragment, start 2 length 1, "C" (rotated!)
1809           - SVGTextFragment, start 3 length 1, "D" (rotated!)
1810
1811         <text x="0 50 100">A<tspan>B</tspan>C</text>
1812         - SVGInlineTextBox
1813           - SVGTextFragment, start 0 length 1, "A" (x=0)
1814         - SVGInlineFlowBox
1815           - SVGInlineTextBox
1816             - SVGTextFragment, start 0 length 1, "B" (x=50)
1817         - SVGInlineTextBox
1818           - SVGTextFragment, start 0 length 1, "C" (x=100)
1819
1820         When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
1821         All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
1822         This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
1823
1824         We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
1825         if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
1826         It's likely that we'll also find ways to skip phase #2 in certain situations.
1827
1828         Phase #3) - SVGTextChunkBuilder
1829         ------------------------------------------
1830
1831         After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
1832         text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
1833
1834         SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
1835         are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
1836
1837         After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
1838         boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
1839
1840         This should give interessted readers a good summary of how the new text layout engine works.
1841         See LayoutTests/ChangeLog for more details on test progression.
1842
1843         Tests: svg/custom/text-rotation.svg
1844                svg/custom/text-x-dy-lists.svg
1845
1846         * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
1847         * CMakeLists.txt: Ditto.
1848         * GNUmakefile.am: Ditto.
1849         * WebCore.gypi: Ditto.
1850         * WebCore.pro: Ditto.
1851         * WebCore.vcproj/WebCore.vcproj: Ditto.
1852         * WebCore.xcodeproj/project.pbxproj: Ditto.
1853         * rendering/InlineBox.h:
1854         (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
1855         * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
1856         * rendering/RenderSVGAllInOne.cpp: removes
1857         * rendering/RenderText.cpp:
1858         (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
1859         * rendering/SVGCharacterData.cpp: Removed.
1860         * rendering/SVGCharacterData.h: Removed.
1861         * rendering/SVGCharacterLayoutInfo.cpp: Removed.
1862         * rendering/SVGCharacterLayoutInfo.h: Removed.
1863         * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
1864         (WebCore::writeRenderSVGTextBox):
1865         (WebCore::writeSVGInlineTextBox):
1866         * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
1867         * rendering/SVGTextChunkLayoutInfo.h: Removed.
1868         * rendering/SVGTextLayoutUtilities.cpp: Removed.
1869         * rendering/SVGTextLayoutUtilities.h: Removed.
1870         * rendering/style/RenderStyle.cpp:
1871         (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
1872         * rendering/style/SVGRenderStyle.h:
1873         (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
1874         * rendering/svg/RenderSVGInlineText.cpp:
1875         (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
1876         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
1877         (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
1878         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
1879         (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
1880         * rendering/svg/RenderSVGInlineText.h:
1881         (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
1882         (WebCore::toRenderSVGInlineText): New helper methods for casting.
1883         * rendering/svg/RenderSVGText.cpp:
1884         (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
1885         (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
1886         * rendering/svg/RenderSVGText.h:
1887         * rendering/svg/SVGInlineFlowBox.cpp:
1888         (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
1889         (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
1890         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
1891         * rendering/svg/SVGInlineFlowBox.h:
1892         (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
1893         * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
1894         * rendering/svg/SVGInlineTextBox.h:
1895         (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
1896         (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
1897         (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
1898         (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
1899         * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
1900         (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
1901         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
1902         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
1903         (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
1904         (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
1905         * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
1906         * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
1907         * rendering/svg/SVGTextChunk.h:
1908         * rendering/svg/SVGTextChunkBuilder.cpp: Added.
1909         * rendering/svg/SVGTextChunkBuilder.h: Added.
1910         * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
1911         * rendering/svg/SVGTextLayoutAttributes.h:
1912         (WebCore::SVGTextLayoutAttributes::textMetricsValues):
1913         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
1914         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1915         * rendering/svg/SVGTextLayoutEngine.cpp: Added.
1916         * rendering/svg/SVGTextLayoutEngine.h: Added.
1917         * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
1918         * rendering/svg/SVGTextQuery.h:
1919
1920 2010-10-02  Alpha Lam  <hclam@chromium.org>
1921
1922         Build fix. Not reviewed.
1923
1924         An adhoc fix for a crash found by reliability bot. This will make the
1925         reliability bot happy. A proper fix is pending commit.
1926
1927         * platform/graphics/chromium/VideoLayerChromium.cpp:
1928         (WebCore::VideoLayerChromium::~VideoLayerChromium):
1929
1930 2010-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1931
1932         Reviewed by Darin Adler.
1933
1934         FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
1935         https://bugs.webkit.org/show_bug.cgi?id=46840
1936
1937         Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
1938         and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.
1939
1940         ApplyBlockElementCommand's doApply verifies the current selection and exits early
1941         if it's invalid or orphaned or if the current selection is outside editable region.
1942         It then calls formatSelection to apply the block element after which doApply restores the selection.
1943         formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
1944         implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
1945
1946         No new tests are added since this is a refactoring.
1947
1948         * Android.mk: Added ApplyBlockElementCommand.cpp.
1949         * CMakeLists.txt: Ditto.
1950         * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
1951         * WebCore.gypi: Ditto.
1952         * WebCore.pro: Ditto.
1953         * WebCore.xcodeproj/project.pbxproj: Ditto.
1954         * editing/ApplyBlockElementCommand.cpp: Added.
1955         (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
1956         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
1957         (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
1958         (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
1959         (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
1960         (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
1961         * editing/ApplyBlockElementCommand.h: Added.
1962         * editing/EditingAllInOne.cpp:
1963         * editing/EditorCommand.cpp:
1964         (WebCore::executeFormatBlock):
1965         * editing/FormatBlockCommand.cpp: Removed doApply.
1966         (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
1967         (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
1968         * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
1969         (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
1970         * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
1971         (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
1972         (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
1973         when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
1974         (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
1975         (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
1976         * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
1977
1978 2010-10-01  Mark Rowe  <mrowe@apple.com>
1979
1980         Build fix.
1981
1982         Clear the executable bit from a number of source files.
1983
1984         * page/Frame.cpp:
1985         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1986         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1987         * platform/graphics/win/WKCACFLayerRenderer.h:
1988         * platform/network/ResourceRawHeaders.h:
1989         * rendering/RenderLayerCompositor.cpp:
1990         * rendering/RenderLayerCompositor.h:
1991
1992 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
1993
1994         Reviewed by Adam Barth.
1995
1996         [GTK] r68923 broke some plugin tests
1997         https://bugs.webkit.org/show_bug.cgi?id=47040
1998
1999         No longer pass focus and blur events to plugins when the "old" DOM Level
2000         2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
2001         that the DOM Level 3 version is always fired for this event. 
2002
2003         No new tests, as this should cause the failing tests to pass.
2004
2005         * plugins/PluginView.cpp:
2006         (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
2007         plugins when DOMFocusIn / DOMFocusOut events occur.
2008
2009 2010-10-01  Anders Carlsson  <andersca@apple.com>
2010
2011         Reviewed by Sam Weinig.
2012
2013         Plug-ins should have access to the private browsing state.
2014         https://bugs.webkit.org/show_bug.cgi?id=47031
2015         <rdar://problem/8505405>
2016
2017         * page/Page.cpp:
2018         (WebCore::Page::privateBrowsingStateChanged):
2019         When iterating over all widgets, also look for PluginViewBase classes and invoke their 
2020         privateBrowsingStateChange member function.
2021
2022         * plugins/PluginViewBase.h:
2023         (WebCore::PluginViewBase::privateBrowsingStateChanged):
2024         Add function.
2025
2026 2010-10-01  Brian Weinstein  <bweinstein@apple.com>
2027
2028         Build Fix for Windows.
2029
2030         * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
2031             WebCoreCommon.vsprops to handle post-build step.
2032         * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
2033              $(WebKitOutputDir)/buildfailed.
2034
2035 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
2036
2037         Reviewed by Kenneth Rohde Christiansen.
2038
2039         [Qt] Segmentation fault during zoom out
2040         https://bugs.webkit.org/show_bug.cgi?id=46984
2041
2042         * platform/qt/QtMobileWebStyle.cpp:
2043         (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
2044
2045 2010-10-01  Anders Carlsson  <andersca@apple.com>
2046
2047         Another Qt build fix attempt.
2048
2049         * WebCore.pro:
2050
2051 2010-10-01  David Hyatt  <hyatt@apple.com>
2052
2053         Reviewed by Dan Bernstein.
2054
2055         https://bugs.webkit.org/show_bug.cgi?id=47021
2056         
2057         Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.
2058
2059         Nothing testable yet, since most of the float code is still unpatched.
2060
2061         * rendering/RenderBlock.cpp:
2062         (WebCore::RenderBlock::layoutBlock):
2063         (WebCore::RenderBlock::layoutBlockChildren):
2064         (WebCore::RenderBlock::layoutBlockChild):
2065         (WebCore::RenderBlock::positionNewFloats):
2066         (WebCore::RenderBlock::newLine):
2067         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
2068         (WebCore::RenderBlock::lowestFloatLogicalBottom):
2069         (WebCore::RenderBlock::clearFloats):
2070         (WebCore::RenderBlock::addOverhangingFloats):
2071         (WebCore::RenderBlock::getClearDelta):
2072         * rendering/RenderBlock.h:
2073         (WebCore::RenderBlock::logicalBottomForFloat):
2074         (WebCore::RenderBlock::hasOverhangingFloats):
2075         * rendering/RenderBlockLineLayout.cpp:
2076         (WebCore::RenderBlock::fitBelowFloats):
2077
2078 2010-10-01  Anders Carlsson  <andersca@apple.com>
2079
2080         Fix typo.
2081
2082         * platform/network/qt/ProxyServerQt.cpp:
2083         (WebCore::proxyServersForURL):
2084
2085 2010-10-01  Anders Carlsson  <andersca@apple.com>
2086
2087         Add Qt ProxyServer stub.
2088
2089         * WebCore.pro:
2090         * platform/network/qt/ProxyServerQt.cpp: Added.
2091         (WebCore::proxyServersForURL):
2092
2093 2010-10-01  Anders Carlsson  <andersca@apple.com>
2094
2095         Reviewed by Dan Bernstein.
2096
2097         Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
2098         https://bugs.webkit.org/show_bug.cgi?id=47022
2099         <rdar://problem/8504712>
2100
2101         * WebCore.exp.in:
2102         Export proxyServersForURL and toString.
2103
2104         * WebCore.vcproj/WebCore.vcproj:
2105         * WebCore.xcodeproj/project.pbxproj:
2106         Add new files.
2107
2108         * platform/network/ProxyServer.cpp: Added.
2109         (WebCore::appendProxyServerString):
2110         (WebCore::toString):
2111         New function that converts a vector of ProxyServers into a PAC style string.
2112
2113         * platform/network/ProxyServer.h: Added.
2114         (WebCore::ProxyServer::ProxyServer):
2115         (WebCore::ProxyServer::type):
2116         (WebCore::ProxyServer::hostName):
2117         (WebCore::ProxyServer::port):
2118         Add ProxyServer class.
2119
2120         * platform/network/cf/ProxyServerCFNet.cpp: Added.
2121         (WebCore::proxyServersForURL):
2122         (WebCore::addProxyServersForURL):
2123         Query CFNetwork for the proxy servers given a URL.
2124
2125 2010-09-30  Zhenyao Mo  <zmo@google.com>
2126
2127         Reviewed by Kenneth Russell.
2128
2129         texImage2D fails on 16-bit-per-channel images
2130         https://bugs.webkit.org/show_bug.cgi?id=46947
2131
2132         * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
2133         (WebCore::convertColor16To8):
2134         (WebCore::doPacking):
2135         * platform/graphics/GraphicsContext3D.h: Ditto.
2136         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
2137         (WebCore::GraphicsContext3D::getImageData):
2138
2139 2010-10-01  Eric Uhrhane  <ericu@chromium.org>
2140
2141         Reviewed by Nate Chapin.
2142
2143         Add v8 binding helpers to make FileWriter be an EventTarget.
2144         https://bugs.webkit.org/show_bug.cgi?id=46910
2145
2146         No new tests; still waiting for the first complete implementation.
2147
2148         * bindings/v8/V8DOMWrapper.cpp:
2149         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2150
2151 2010-10-01  David Hyatt  <hyatt@apple.com>
2152
2153         Reviewed by Sam Weinig.
2154
2155         https://bugs.webkit.org/show_bug.cgi?id=47015
2156         
2157         Change FloatingObject to store its dimensions as a rect.
2158         This will make it easier for logical access for block-flow later on if
2159         top/bottom is no different from left/width.  This change also simplifies
2160         calling code a bit in places.
2161
2162         * rendering/RenderBlock.cpp:
2163         (WebCore::RenderBlock::addOverflowFromFloats):
2164         (WebCore::RenderBlock::repaintOverhangingFloats):
2165         (WebCore::RenderBlock::paintFloats):
2166         (WebCore::RenderBlock::fillSelectionGaps):
2167         (WebCore::RenderBlock::insertFloatingObject):
2168         (WebCore::RenderBlock::removeFloatingObject):
2169         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2170         (WebCore::RenderBlock::positionNewFloats):
2171         (WebCore::RenderBlock::positionNewFloatOnLine):
2172         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2173         (WebCore::RenderBlock::logicalRightOffsetForLine):
2174         (WebCore::RenderBlock::nextFloatBottomBelow):
2175         (WebCore::RenderBlock::floatBottom):
2176         (WebCore::RenderBlock::lowestPosition):
2177         (WebCore::RenderBlock::rightmostPosition):
2178         (WebCore::RenderBlock::leftmostPosition):
2179         (WebCore::RenderBlock::leftBottom):
2180         (WebCore::RenderBlock::rightBottom):
2181         (WebCore::RenderBlock::clearFloats):
2182         (WebCore::RenderBlock::addOverhangingFloats):
2183         (WebCore::RenderBlock::addIntrudingFloats):
2184         (WebCore::RenderBlock::hitTestFloats):
2185         (WebCore::RenderBlock::adjustForBorderFit):
2186         * rendering/RenderBlock.h:
2187         (WebCore::RenderBlock::FloatingObject::FloatingObject):
2188         (WebCore::RenderBlock::FloatingObject::left):
2189         (WebCore::RenderBlock::FloatingObject::right):
2190         (WebCore::RenderBlock::FloatingObject::top):
2191         (WebCore::RenderBlock::FloatingObject::bottom):
2192         (WebCore::RenderBlock::FloatingObject::width):
2193         (WebCore::RenderBlock::FloatingObject::height):
2194         (WebCore::RenderBlock::FloatingObject::setLeft):
2195         (WebCore::RenderBlock::FloatingObject::setTop):
2196         (WebCore::RenderBlock::FloatingObject::setWidth):
2197         (WebCore::RenderBlock::FloatingObject::setHeight):
2198         (WebCore::RenderBlock::FloatingObject::frameRect):
2199         (WebCore::RenderBlock::FloatingObject::setFrameRect):
2200         * rendering/RenderBlockLineLayout.cpp:
2201         (WebCore::RenderBlock::layoutInlineChildren):
2202         (WebCore::RenderBlock::matchedEndLine):
2203
2204 2010-10-01  Enrica Casucci  <enrica@apple.com>
2205
2206         Reviewed by Darin Adler.
2207
2208         DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
2209         https://bugs.webkit.org/show_bug.cgi?id=42580
2210         <rdar://problem/8107311>
2211         
2212         This change removes the aliased type machinery from the Event class.
2213         We now fire the event with the new name and the oldname.
2214         
2215         Tests: Modified fast/events/focusinout.html to check the event
2216         type.
2217
2218         * dom/Document.cpp:
2219         (WebCore::Document::setFocusedNode):
2220         * dom/Event.cpp: Removed aliasedType and hasAliasedType.
2221         * dom/Event.h: Removed aliasedType and hasAliasedType.
2222         * dom/EventTarget.cpp:
2223         (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
2224
2225 2010-10-01  David Hyatt  <hyatt@apple.com>
2226
2227         Reviewed by Darin Adler.
2228
2229         https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
2230         all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
2231         and logical height instead.
2232
2233         Added fast/blockflow/block-level-images.html
2234
2235         * rendering/RenderBox.cpp:
2236         (WebCore::RenderBox::computeLogicalWidth):
2237         (WebCore::RenderBox::computeLogicalHeight):
2238         (WebCore::RenderBox::computeReplacedLogicalWidth):
2239         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2240         (WebCore::RenderBox::computeReplacedLogicalHeight):
2241         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2242         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2243         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
2244         * rendering/RenderBox.h:
2245         (WebCore::RenderBox::intrinsicLogicalWidth):
2246         (WebCore::RenderBox::intrinsicLogicalHeight):
2247         * rendering/RenderImage.cpp:
2248         (WebCore::RenderImage::isLogicalWidthSpecified):
2249         (WebCore::RenderImage::isLogicalHeightSpecified):
2250         (WebCore::RenderImage::computeReplacedLogicalWidth):
2251         (WebCore::RenderImage::computeReplacedLogicalHeight):
2252         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
2253         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
2254         * rendering/RenderImage.h:
2255         * rendering/RenderReplaced.cpp:
2256         (WebCore::RenderReplaced::layout):
2257         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2258         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2259         (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
2260         (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
2261         (WebCore::RenderReplaced::computePreferredLogicalWidths):
2262         * rendering/RenderReplaced.h:
2263         * rendering/RenderSVGRoot.cpp:
2264         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
2265         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2266         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2267         * rendering/RenderSVGRoot.h:
2268         * rendering/RenderVideo.cpp:
2269         (WebCore::RenderVideo::computeReplacedLogicalWidth):
2270         (WebCore::RenderVideo::computeReplacedLogicalHeight):
2271         * rendering/RenderVideo.h:
2272
2273 2010-10-01  Nate Chapin  <japhet@chromium.org>
2274
2275         Reviewed by Darin Adler.
2276
2277         Remove unused Request::buffer() and Request::m_buffer.
2278
2279         https://bugs.webkit.org/show_bug.cgi?id=47003
2280
2281         * loader/Request.h:
2282
2283 2010-10-01  Dan Bernstein  <mitz@apple.com>
2284
2285         Reviewed by Adele Peterson.
2286
2287         <rdar://problem/7563219> Null dereference when dragging an element with generated content
2288         https://bugs.webkit.org/show_bug.cgi?id=47005
2289
2290         Test: fast/css-generated-content/drag-state.html
2291
2292         * rendering/RenderObject.cpp:
2293         (WebCore::RenderObject::updateDragState): Null-check node().
2294
2295 2010-10-01  Robert Hogan  <robert@webkit.org>
2296
2297         Reviewed by Adam Barth.
2298
2299         [Qt] Fix http/tests/loading/redirect-methods.html
2300
2301         Document our redirection behaviour too.
2302
2303         https://bugs.webkit.org/show_bug.cgi?id=41571
2304
2305         * platform/network/qt/QNetworkReplyHandler.cpp:
2306         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2307         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2308         * platform/network/qt/QNetworkReplyHandler.h:
2309
2310 2010-10-01  Adam Roben  <aroben@apple.com>
2311
2312         Copy forwarding headers and Inspector JS files as part of
2313         WebCoreGenerated.vcproj
2314
2315         WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
2316         runs when a .h or .cpp file changes. By moving the copying to
2317         WebCoreGenerated, it will happen even when someone only changes a JS
2318         file (as happened in r68887).
2319
2320         Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
2321         (r68887): Web Inspector: inspector/extensions*.html are failing on
2322         Windows
2323
2324         Reviewed by Anders Carlsson.
2325
2326         * WebCore.vcproj/WebCore.vcproj: Moved invocation of
2327         copyForwardingHeaders and copyInspectorFiles from here...
2328         * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.
2329
2330 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
2331
2332         Reviewed by Darin Adler.
2333
2334         Implement queryCommandState('justifyFull')
2335         https://bugs.webkit.org/show_bug.cgi?id=46954
2336
2337         Implemented queryCommandState('justifyFull').
2338         New tests are added to editing/style/inline-style-container.html
2339
2340         * editing/ApplyStyleCommand.cpp:
2341         (WebCore::getTextAlignment): Added support for CSSValueJustify.
2342         * editing/EditorCommand.cpp:
2343         (WebCore::stateJustifyFull): Added.
2344         (WebCore::createCommandMap): Added stateJustifyFull.
2345
2346 2010-10-01  Jia Pu  <jpu@apple.com>
2347
2348         Reviewed by Darin Adler.
2349
2350         Autocorrection shouldn't prompt the same correction after user has edited previous correction.
2351         https://bugs.webkit.org/show_bug.cgi?id=46839
2352         <rdar://problem/8476963>
2353
2354         * editing/Editor.cpp:
2355         (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
2356           "Replacement" marker. Since the former controls whether we draw autocorrection underline,
2357           and the latter is used to prevent autocorrection from being applied again on already auto-
2358           corrected word. So the "Replacement" shouldn't be removed.
2359
2360 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
2361
2362         Reviewed by Anders Carlsson.
2363
2364         [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
2365         https://bugs.webkit.org/show_bug.cgi?id=46309
2366
2367         * CMakeLists.txt:
2368         * CMakeListsEfl.txt:
2369
2370 2010-10-01  David Hyatt  <hyatt@apple.com>
2371
2372         Reviewed by Darin Adler.
2373
2374         https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
2375         be block-flow-aware.
2376
2377         * rendering/RenderBlock.cpp:
2378         (WebCore::RenderBlock::setCollapsedBottomMargin):
2379         (WebCore::RenderBlock::handleAfterSideOfBlock):
2380
2381 2010-10-01  Pratik Solanki  <psolanki@apple.com>
2382
2383         Reviewed by Geoffrey Garen.
2384         Specify ALWAYS_INLINE at function declaration not function definition
2385         https://bugs.webkit.org/show_bug.cgi?id=46960
2386
2387         For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.
2388
2389         * css/CSSStyleSelector.h:
2390         * rendering/InlineIterator.h:
2391         * rendering/style/RenderStyle.h:
2392
2393 2010-10-01  David Hyatt  <hyatt@apple.com>
2394
2395         Reviewed by Dan Bernstein.
2396
2397         https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
2398
2399         Added fast/css/rtl-to-viewport.html
2400
2401         * css/CSSStyleSelector.cpp:
2402         (WebCore::CSSStyleSelector::styleForDocument):
2403         * rendering/RenderBox.cpp:
2404         (WebCore::RenderBox::styleDidChange):
2405
2406 2010-10-01  Alexey Proskuryakov  <ap@apple.com>
2407
2408         Reviewed by Anders Carlsson.
2409
2410         https://bugs.webkit.org/show_bug.cgi?id=44406
2411         <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL
2412
2413         Test: http/tests/appcache/foreign-fallback.html
2414
2415         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
2416         Changed ApplicationCacheResource lookup to find fallback resources correctly.
2417
2418 2010-10-01  Kwang Yul Seo  <skyul@company100.net>
2419
2420         Unreviewed, Brew MP build fix.
2421
2422         * platform/brew/ClipboardBrew.cpp:
2423         (WebCore::ClipboardBrew::ClipboardBrew):
2424
2425 2010-10-01  Rafael Antognolli  <antognolli@profusion.mobi>
2426
2427         Unreviewed build fix.
2428
2429         [CMAKE] Build fix for r68878
2430         https://bugs.webkit.org/show_bug.cgi?id=46985
2431
2432         Fix name of files added to CMakeLists.txt:
2433         SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
2434         SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp
2435
2436         No features added, so no new tests.
2437
2438         * CMakeLists.txt:
2439
2440 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
2441
2442         Reviewed by Kenneth Rohde Christiansen.
2443
2444         [Qt] New buttons style for Qt Mobile theme
2445         https://bugs.webkit.org/show_bug.cgi?id=46920
2446
2447         Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
2448         Adjust new Qt mobile style for buttons, radios, checks and combos.
2449
2450         * WebCore.pro:
2451         * css/themeQtMobile.css: Adjust gradient color for buttons and combos.
2452         (select):
2453         (select:active):
2454         * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
2455         (QtMobileWebStyle::QtMobileWebStyle):
2456         (drawRectangularControlBackground):
2457         (QtMobileWebStyle::drawChecker):
2458         (QtMobileWebStyle::findChecker):
2459         (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
2460         (QtMobileWebStyle::findRadio):
2461         (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
2462         (QtMobileWebStyle::drawMultipleComboButton):
2463         (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
2464         (QtMobileWebStyle::getButtonImageSize):
2465         (QtMobileWebStyle::findComboButton):
2466         (QtMobileWebStyle::drawComplexControl):
2467         * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
2468         * platform/qt/RenderThemeQt.cpp:
2469         (WebCore::RenderThemeQt::RenderThemeQt):
2470
2471 2010-10-01  Andrey Kosyakov  <caseq@chromium.org>
2472
2473         Reviewed by Pavel Feldman.
2474
2475         Web Inspector: [Extensions API] expose page load events timings
2476         Added webInspector.resources.getPageTimings()
2477         
2478         https://bugs.webkit.org/show_bug.cgi?id=45954
2479
2480         * inspector/front-end/ExtensionAPI.js:
2481         (WebInspector.injectedExtensionAPI.Resources.prototype):
2482         (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
2483         * inspector/front-end/ExtensionServer.js:
2484         (WebInspector.ExtensionServer):
2485         (WebInspector.ExtensionServer.prototype._onGetPageTimings):
2486         * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
2487         (WebInspector.HARLog.prototype._buildPages):
2488         (WebInspector.HARLog.prototype.buildMainResourceTimings):
2489         (WebInspector.HARLog.prototype._convertResource):
2490         (WebInspector.HARLog.prototype._pageEventTime):
2491
2492 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
2493
2494         Reviewed by Adam Roben.
2495
2496         [WIN] Add GDIExtras
2497         https://bugs.webkit.org/show_bug.cgi?id=46974
2498
2499         Some, but not all WinCE environments have support for AlphaBlend().
2500         Add this files to check for AlphaBlend (and SoftLink) on WinCE.
2501         On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.
2502
2503         * platform/graphics/win/GDIExtras.cpp: Added.
2504         (WebCore::AlphaBlendPointer):
2505         * platform/graphics/win/GDIExtras.h: Added.
2506         (WebCore::hasAlphaBlendSupport):
2507         (WebCore::alphaBlendIfSupported):
2508
2509 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
2510
2511         Reviewed by Adam Roben.
2512
2513         [WINCE] Use alphaBlendIfSupported in GraphicsContext
2514         https://bugs.webkit.org/show_bug.cgi?id=46979
2515
2516         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2517         (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):
2518
2519 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2520
2521         Reviewed by Dirk Schulze.
2522
2523         Add two new helper files for the new SVGTextLayoutEngine
2524         https://bugs.webkit.org/show_bug.cgi?id=46972
2525
2526         Refactor code from SVGTextLayoutUtilities into two seperated classes.
2527         SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
2528
2529         Doesn't affect any functionality yet, as the new classes are not used so far.
2530
2531         * Android.mk:
2532         * CMakeLists.txt:
2533         * GNUmakefile.am:
2534         * WebCore.gypi:
2535         * WebCore.vcproj/WebCore.vcproj:
2536         * WebCore.xcodeproj/project.pbxproj:
2537         * rendering/svg/SVGTextFragment.h:
2538         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
2539         (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
2540         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
2541         (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
2542         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
2543         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
2544         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
2545         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
2546         * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
2547         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
2548         (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
2549         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
2550         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
2551         * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
2552
2553 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2554
2555         Reviewed by Andreas Kling.
2556
2557         Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
2558         https://bugs.webkit.org/show_bug.cgi?id=46971
2559
2560         Doesn't affect any functionality, just moves files around.
2561
2562         * Android.mk:
2563         * CMakeLists.txt:
2564         * GNUmakefile.am:
2565         * WebCore.gypi:
2566         * WebCore.pro:
2567         * WebCore.vcproj/WebCore.vcproj:
2568         * WebCore.xcodeproj/project.pbxproj:
2569         * rendering/svg/RenderSVGText.cpp:
2570         (WebCore::RenderSVGText::layout): Adopt to renaming.
2571         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
2572         * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
2573         * rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
2574         * rendering/svg/SVGTextLayoutBuilder.h: Removed.
2575
2576 2010-10-01  MORITA Hajime  <morrita@google.com>
2577
2578         Unreviewed build fix.
2579
2580         * platform/graphics/skia/PlatformContextSkia.cpp:
2581         (WebCore::PlatformContextSkia::PlatformContextSkia):
2582
2583 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2584
2585         Reviewed by Andreas Kling.
2586
2587         Move SVG text related renderers into rendering/svg/
2588         https://bugs.webkit.org/show_bug.cgi?id=46969
2589
2590         Doesn't affect any functionality, just moves files around.
2591
2592         * Android.mk:
2593         * CMakeLists.txt:
2594         * GNUmakefile.am:
2595         * WebCore.gypi:
2596         * WebCore.pro:
2597         * WebCore.vcproj/WebCore.vcproj:
2598         * WebCore.xcodeproj/project.pbxproj:
2599         * rendering/RenderSVGAllInOne.cpp:
2600         * rendering/RenderSVGInline.cpp: Removed.
2601         * rendering/RenderSVGInline.h: Removed.
2602         * rendering/RenderSVGInlineText.cpp: Removed.
2603         * rendering/RenderSVGInlineText.h: Removed.
2604         * rendering/RenderSVGTSpan.cpp: Removed.
2605         * rendering/RenderSVGTSpan.h: Removed.
2606         * rendering/RenderSVGText.cpp: Removed.
2607         * rendering/RenderSVGText.h: Removed.
2608         * rendering/RenderSVGTextPath.cpp: Removed.
2609         * rendering/RenderSVGTextPath.h: Removed.
2610         * rendering/SVGInlineFlowBox.cpp: Removed.
2611         * rendering/SVGInlineFlowBox.h: Removed.
2612         * rendering/SVGInlineTextBox.cpp: Removed.
2613         * rendering/SVGInlineTextBox.h: Removed.
2614         * rendering/SVGRootInlineBox.cpp: Removed.
2615         * rendering/SVGRootInlineBox.h: Removed.
2616         * rendering/SVGTextQuery.cpp: Removed.
2617         * rendering/SVGTextQuery.h: Removed.
2618         * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
2619         * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
2620         * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
2621         * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
2622         * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
2623         * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
2624         * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
2625         * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
2626         * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
2627         * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
2628         * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
2629         * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
2630         * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
2631         * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
2632         * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
2633         * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
2634         * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
2635         * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.
2636
2637 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2638
2639         Reviewed by Dirk Schulze.
2640
2641         Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
2642         https://bugs.webkit.org/show_bug.cgi?id=46964
2643
2644         The new SVG text layout engine will use these new classes.
2645         1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
2646            
2647            -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
2648               describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
2649            -> In "range of characters" mode, it returns the width/height of the range, and its length.
2650
2651            All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.
2652
2653         2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
2654            It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
2655            length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)
2656
2657            In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
2658            be performed as SVGTextFragment contains all necessary information to render text / select text etc.
2659
2660         3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).
2661
2662            Quotes from SVG spec:
2663            Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
2664             * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
2665             * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
2666             * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.
2667
2668             An absolute position adjustment occurs in the following circumstances:
2669             * At the start of a <text> element
2670             * At the start of each <textPath> element
2671             * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly
2672
2673             After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
2674             (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).
2675
2676             SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.
2677
2678         Doesn't affect any tests, as these classes aren't used so far.
2679
2680         * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
2681         * CMakeLists.txt: Ditto.
2682         * GNUmakefile.am: Ditto.
2683         * WebCore.gypi: Ditto.
2684         * WebCore.pro: Ditto.
2685         * WebCore.vcproj/WebCore.vcproj: Ditto.
2686         * WebCore.xcodeproj/project.pbxproj: Ditto.
2687         * rendering/svg/SVGTextChunk.cpp: Added.
2688         * rendering/svg/SVGTextChunk.h: Added.
2689         * rendering/svg/SVGTextFragment.h: Added.
2690         * rendering/svg/SVGTextMetrics.cpp: Added.
2691         * rendering/svg/SVGTextMetrics.h: Added.
2692
2693 2010-10-01  Vincent Scheib  <scheib@chromium.org>
2694
2695         Reviewed by James Robinson.
2696
2697         REGRESSION: Lots of fast canvas updates fail to completely render
2698         https://bugs.webkit.org/show_bug.cgi?id=46319
2699
2700         Test: fast/repaint/canvas-putImageData.html
2701
2702         * html/canvas/CanvasRenderingContext2D.cpp:
2703         (WebCore::CanvasRenderingContext2D::putImageData):
2704
2705 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2706
2707         Reviewed by Dirk Schulze.
2708
2709         Add helper methods to cast between renderers & SVGTextContent/PositioningElement
2710         https://bugs.webkit.org/show_bug.cgi?id=46963
2711
2712         Doesn't affect any tests.
2713
2714         * svg/SVGTextContentElement.cpp:
2715         (WebCore::SVGTextContentElement::elementFromRenderer):
2716         * svg/SVGTextContentElement.h:
2717         * svg/SVGTextPositioningElement.cpp:
2718         (WebCore::SVGTextPositioningElement::elementFromRenderer):
2719         * svg/SVGTextPositioningElement.h:
2720
2721 2010-09-30  MORITA Hajime  <morrita@google.com>
2722
2723         Reviewed by James Robinson.
2724
2725         [Chromium] build fails unless ACCELERATED_2D_CANVAS defined
2726         https://bugs.webkit.org/show_bug.cgi?id=46955
2727         
2728         Added ifdef guard around SharedGraphicsContext3D.
2729
2730         No new tests. just a build fix.
2731
2732         * platform/graphics/skia/PlatformContextSkia.cpp:
2733         (WebCore::PlatformContextSkia::~PlatformContextSkia):
2734         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2735         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2736         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2737         * platform/graphics/skia/PlatformContextSkia.h:
2738         (WebCore::PlatformContextSkia::gpuCanvas):
2739
2740 2010-09-30  Kent Tamura  <tkent@chromium.org>
2741
2742         Reviewed by Chris Fleizach.
2743
2744         [Windows] Implement <input type=number> UI
2745         https://bugs.webkit.org/show_bug.cgi?id=38381
2746
2747         Implement theme drawing for inner-spin-button.
2748         No new tests. Existing tests for type=number will cover this change.
2749
2750         * rendering/RenderThemeWin.cpp:
2751         (WebCore::RenderThemeWin::RenderThemeWin):
2752          Handle m_spinButtonTheme.
2753         (WebCore::RenderThemeWin::spinButtonTheme): ditto.
2754         (WebCore::RenderThemeWin::close): ditto.
2755         (WebCore::RenderThemeWin::determineClassicState):
2756          Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
2757         (WebCore::RenderThemeWin::determineSpinButtonState): Added.
2758         (WebCore::RenderThemeWin::getClassicThemeData):
2759          Add ControlSubPart parameter, and handle InnerSpinButtonPart.
2760         (WebCore::RenderThemeWin::getThemeData): ditto.
2761         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
2762          Set SM_CXVSCROLL value to the width.
2763         (WebCore::RenderThemeWin::paintInnerSpinButton):
2764          Call drawControl() for the upper part and the lower part.
2765         * rendering/RenderThemeWin.h:
2766
2767 2010-09-30  Kent Tamura  <tkent@chromium.org>
2768
2769         Unreviewed, Windows build fix for r68854
2770
2771         * WebCore.vcproj/copyForwardingHeaders.cmd:
2772           Copy WebCore/html/parser/*.h.
2773
2774 2010-09-30  Abhishek Arya  <inferno@chromium.org>
2775
2776         Reviewed by Dan Bernstein.
2777
2778         While updating :before and :after content, make sure that the generated
2779         container is allowed to add the child type.
2780         https://bugs.webkit.org/show_bug.cgi?id=46106
2781
2782         Test: fast/css-generated-content/text-before-table-col-crash.html
2783
2784         * rendering/RenderObjectChildList.cpp:
2785         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2786
2787 2010-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
2788
2789         Reviewed by Daniel Bates.
2790
2791         [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
2792         https://bugs.webkit.org/show_bug.cgi?id=46886
2793
2794         Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().
2795
2796         So far, this assertion made sense because it was not possible that
2797         a call to listMarkerSuffix() happened when the style of the list
2798         item was one of the following: Asterisks, Circle, Discm Footnotes,
2799         NoneListStyle or Square (it's easy to figure this out by checking
2800         the functions where listMarkerSuffix() was called).
2801
2802         However, since revision 68415 (about bug 45381), there's a new
2803         place where listMarkerSuffix() is being called (the suffix()
2804         public method), regardless of the style of the item being or not
2805         one of those pointed out, so the aforementioned assertion in
2806         listMarkerSuffix() would no longer be correct, as now it's ok to
2807         reach those cases in the switch statement.
2808
2809         * rendering/RenderListMarker.cpp:
2810         (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().
2811
2812 2010-09-30  Beth Dakin  <bdakin@apple.com>
2813
2814         Reviewed by Adele Peterson.
2815
2816         https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
2817         whitespace separators for mfenced
2818
2819         Check the size of characters instead of separators in case all the 
2820         separators were whitespace.
2821
2822         * mathml/RenderMathMLFenced.cpp:
2823         (WebCore::RenderMathMLFenced::updateFromElement):
2824
2825 2010-09-30  Darin Adler  <darin@apple.com>
2826
2827         Reviewed by Sam Weinig.
2828
2829         Remove remaining calls to deprecatedParseURL
2830         https://bugs.webkit.org/show_bug.cgi?id=26599
2831
2832         Test: fast/replaced/object-param-spaces.html
2833
2834         * css/CSSHelper.cpp: Removed.
2835         * css/CSSHelper.h: Removed deprecatedParseURL.
2836
2837         * html/parser/HTMLParserIdioms.cpp:
2838         (WebCore::stripLeadingAndTrailingHTMLSpaces):
2839         Fixed bug where the function would turn the null string into the empty string.
2840         Fixed bug where the function would not strip all trailing spaces.
2841
2842         * html/parser/CSSPreloadScanner.cpp:
2843         (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
2844         instead of calling the reset function.
2845         (WebCore::CSSPreloadScanner::scan): Tweaked coding style.
2846         (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
2847         an identical local function named isWhitespace.
2848         (WebCore::parseCSSStringOrURL): Added. This function does what
2849         deprecatedParseURL did before, and this is the only place in WebKit
2850         that needs it. The code implements the rules for a string or URL
2851         token. The real CSS parser does this with flex and the code to hook
2852         flex up to yacc, so the function is not needed there.
2853         (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
2854         and mae it call parseCSSStringOrURL.
2855
2856         * bindings/generic/BindingSecurity.h:
2857         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
2858         * bindings/js/JSDOMBinding.cpp:
2859         (WebCore::allowSettingSrcToJavascriptURL):
2860         * bindings/js/JSHTMLFrameElementCustom.cpp:
2861         (WebCore::allowSettingJavascriptURL):
2862         * bindings/objc/DOM.mm:
2863         (-[DOMElement _getURLAttribute:]):
2864         * bindings/objc/DOMHTML.mm:
2865         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
2866         * dom/Document.cpp:
2867         (WebCore::Document::processBaseElement):
2868         * dom/Element.cpp:
2869         (WebCore::isAttributeToRemove):
2870         (WebCore::Element::getURLAttribute):
2871         (WebCore::Element::getNonEmptyURLAttribute):
2872         * html/HTMLAnchorElement.cpp:
2873         (WebCore::HTMLAnchorElement::defaultEventHandler):
2874         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2875         (WebCore::HTMLAnchorElement::href):
2876         * html/HTMLBodyElement.cpp:
2877         (WebCore::HTMLBodyElement::parseMappedAttribute):
2878         * html/HTMLEmbedElement.cpp:
2879         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2880         * html/HTMLFrameElementBase.cpp:
2881         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2882         * html/HTMLImageElement.cpp:
2883         (WebCore::HTMLImageElement::parseMappedAttribute):
2884         * html/HTMLImageLoader.cpp:
2885         (WebCore::HTMLImageLoader::sourceURI):
2886         * html/HTMLLinkElement.cpp:
2887         (WebCore::HTMLLinkElement::parseMappedAttribute):
2888         * html/HTMLMediaElement.cpp:
2889         * html/HTMLObjectElement.cpp:
2890         (WebCore::HTMLObjectElement::parseMappedAttribute):
2891         (WebCore::HTMLObjectElement::parametersForPlugin):
2892         * html/HTMLTableElement.cpp:
2893         (WebCore::HTMLTableElement::parseMappedAttribute):
2894         * html/HTMLTablePartElement.cpp:
2895         (WebCore::HTMLTablePartElement::parseMappedAttribute):
2896         * html/parser/HTMLPreloadScanner.cpp:
2897         (WebCore::HTMLNames::PreloadTask::setUrlToLoad):
2898         * loader/FormSubmission.cpp:
2899         (WebCore::FormSubmission::Attributes::parseAction):
2900         * platform/chromium/ClipboardChromium.cpp:
2901         (WebCore::ClipboardChromium::declareAndWriteDragImage):
2902         * platform/chromium/PasteboardChromium.cpp:
2903         (WebCore::Pasteboard::writeImage):
2904         * platform/qt/ClipboardQt.cpp:
2905         (WebCore::ClipboardQt::declareAndWriteDragImage):
2906         * platform/win/ClipboardWin.cpp:
2907         (WebCore::ClipboardWin::declareAndWriteDragImage):
2908         * rendering/HitTestResult.cpp:
2909         (WebCore::HitTestResult::absoluteImageURL):
2910         (WebCore::HitTestResult::absoluteMediaURL):
2911         (WebCore::HitTestResult::absoluteLinkURL):
2912         * svg/SVGAElement.cpp:
2913         (WebCore::SVGAElement::defaultEventHandler):
2914         * svg/SVGImageLoader.cpp:
2915         (WebCore::SVGImageLoader::sourceURI):
2916         * wml/WMLAElement.cpp:
2917         (WebCore::WMLAElement::defaultEventHandler):
2918         * wml/WMLImageLoader.cpp:
2919         (WebCore::WMLImageLoader::sourceURI):
2920         Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
2921
2922         * WebCore.exp.in: Updated.
2923
2924         * Android.mk: Removed CSSHelper.cpp.
2925         * CMakeLists.txt: Ditto.
2926         * GNUmakefile.am: Ditto.
2927         * WebCore.gypi: Ditto.
2928         * WebCore.pro: Ditto.
2929         * WebCore.vcproj/WebCore.vcproj: Ditto.
2930         * WebCore.xcodeproj/project.pbxproj: Ditto.
2931
2932         * bindings/js/JSAttrCustom.cpp:
2933         * bindings/js/JSElementCustom.cpp:
2934         * bindings/v8/custom/V8ElementCustom.cpp:
2935         * bindings/v8/custom/V8LocationCustom.cpp:
2936         * css/CSSParser.cpp:
2937         * html/HTMLMediaElement.cpp:
2938         * html/HTMLVideoElement.cpp:
2939         * loader/ImageLoader.cpp:
2940         * rendering/style/RenderStyle.h:
2941         Removed unneeded include of CSSHelper.h.
2942
2943 2010-09-30  Alexey Marinichev  <amarinichev@chromium.org>
2944
2945         Reviewed by Chris Marrin.
2946
2947         Add GetGraphicsResetStatusARB entry point from ARB_robustness
2948         extension to GraphicsContext3D
2949         https://bugs.webkit.org/show_bug.cgi?id=46850
2950
2951         Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
2952         Mac and QT.
2953
2954         * platform/graphics/GraphicsContext3D.h:
2955         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2956         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
2957         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2958         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
2959
2960 2010-09-30  David Hyatt  <hyatt@apple.com>
2961
2962         Reviewed by Sam Weinig.
2963
2964         https://bugs.webkit.org/show_bug.cgi?id=46938
2965         
2966         Rewrite margin collapsing to be block-flow-aware.  Eliminate a bunch of the margin functions on RenderBox in favor of a single
2967         master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock.  Introduce a new
2968         MarginValues struct to make returning the collection of 4 margin values easy.
2969     
2970         fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
2971         Added fast/blockflow/margin-collapse.html
2972
2973         * rendering/RenderBlock.cpp:
2974         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2975         (WebCore::RenderBlock::adjustPositionedBlock):
2976         (WebCore::RenderBlock::collapseMargins):
2977         (WebCore::RenderBlock::clearFloatsIfNeeded):
2978         (WebCore::RenderBlock::setCollapsedBottomMargin):
2979         (WebCore::RenderBlock::layoutBlockChild):
2980         (WebCore::RenderBlock::setMaxMarginBeforeValues):
2981         (WebCore::RenderBlock::setMaxMarginAfterValues):
2982         (WebCore::RenderBlock::marginValuesForChild):
2983         * rendering/RenderBlock.h:
2984         (WebCore::RenderBlock::MarginValues::MarginValues):
2985         (WebCore::RenderBlock::MarginValues::positiveMarginBefore):
2986         (WebCore::RenderBlock::MarginValues::negativeMarginBefore):
2987         (WebCore::RenderBlock::MarginValues::positiveMarginAfter):
2988         (WebCore::RenderBlock::MarginValues::negativeMarginAfter):
2989         (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
2990         (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
2991         (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
2992         (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
2993         (WebCore::RenderBlock::maxPositiveMarginBefore):
2994         (WebCore::RenderBlock::maxNegativeMarginBefore):
2995         (WebCore::RenderBlock::maxPositiveMarginAfter):
2996         (WebCore::RenderBlock::maxNegativeMarginAfter):
2997         (WebCore::RenderBlock::initMaxMarginValues):
2998         (WebCore::RenderBlock::collapsedMarginBefore):
2999         (WebCore::RenderBlock::collapsedMarginAfter):
3000         (WebCore::RenderBlock::MarginInfo::clearMargin):
3001         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
3002         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
3003         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
3004         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
3005         (WebCore::RenderBlock::MarginInfo::setMargin):
3006         (WebCore::RenderBlock::MarginInfo::positiveMargin):
3007         (WebCore::RenderBlock::MarginInfo::negativeMargin):
3008         (WebCore::RenderBlock::MarginInfo::margin):
3009         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
3010         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
3011         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
3012         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
3013         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
3014         * rendering/RenderBox.h:
3015         (WebCore::RenderBox::collapsedMarginBefore):
3016         (WebCore::RenderBox::collapsedMarginAfter):
3017         * rendering/RenderFlexibleBox.cpp:
3018         (WebCore::RenderFlexibleBox::layoutBlock):
3019
3020 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
3021
3022         Reviewed by Adam Roben.
3023
3024         [WINCE] Fix InternetGetCookie in CookieJarWin.cpp
3025         https://bugs.webkit.org/show_bug.cgi?id=46929
3026
3027         If the InternetGetCookie fails the output size won't be set.
3028         Set the default size to 0, so we always get the correct size
3029         and check the return value of InternetGetCookie.
3030
3031         * platform/network/win/CookieJarWin.cpp:
3032         (WebCore::cookies):
3033
3034 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
3035
3036         Reviewed by Adam Roben.
3037
3038         [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
3039         https://bugs.webkit.org/show_bug.cgi?id=46881
3040
3041         Also add some missing SelectObject calls.
3042
3043         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3044         (WebCore::createPen):
3045         (WebCore::createBrush):
3046         (WebCore::GraphicsContext::drawRect):
3047         (WebCore::GraphicsContext::drawLine):
3048         (WebCore::GraphicsContext::drawEllipse):
3049         (WebCore::GraphicsContext::strokeArc):
3050         (WebCore::GraphicsContext::drawConvexPolygon):
3051         (WebCore::GraphicsContext::strokeRect):
3052         (WebCore::GraphicsContext::fillRoundedRect):
3053         (WebCore::GraphicsContext::fillPath):
3054         (WebCore::GraphicsContext::strokePath):
3055
3056 2010-09-30  Anders Carlsson  <andersca@apple.com>
3057
3058         Reviewed by Dan Bernstein and Darin Adler.
3059
3060         WebCore uses the main thread to process sleep notifications
3061         https://bugs.webkit.org/show_bug.cgi?id=46935
3062         <rdar://problem/8495374>
3063
3064         Rewrite the old WebCorePowerNotifier to use IOKit directly. 
3065         
3066         On Snow Leopard, set up power notifications to arrive on a dispatch queue,
3067         so that we can handle them quickly even if the main thread is hung.
3068
3069         (Tiger and Leopard will still get the old behavior).
3070
3071         * WebCore.xcodeproj/project.pbxproj:
3072         Link with IOKit.
3073
3074         * platform/mac/SharedTimerMac.mm:
3075         (WebCore::PowerObserver::PowerObserver):
3076         Initialize the IOKit machinery.
3077
3078         (WebCore::PowerObserver::~PowerObserver):
3079         Tear down the IOKit notifications.
3080
3081         (WebCore::PowerObserver::didReceiveSystemPowerNotification):
3082         Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
3083         make sure to call the shared timer functions on the main thread.
3084     
3085 2010-09-30  James Simonsen  <simonjam@chromium.org>
3086
3087         Reviewed by Adam Barth.
3088
3089         [Web Timing] Make requestEnd equal to start of response
3090         https://bugs.webkit.org/show_bug.cgi?id=46302
3091
3092         * page/Timing.cpp:
3093         (WebCore::Timing::requestEnd):
3094
3095 2010-09-30  Zhenyao Mo  <zmo@google.com>
3096
3097         Reviewed by Kenneth Russell.
3098
3099         fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
3100         https://bugs.webkit.org/show_bug.cgi?id=46870
3101
3102         * platform/graphics/ANGLEWebKitBridge.cpp:
3103         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().
3104
3105 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
3106
3107         Reviewed by Tony Chang.
3108
3109         WebKit nests font element when applying different font styles
3110         https://bugs.webkit.org/show_bug.cgi?id=45568
3111
3112         The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
3113         and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
3114         adding font attributes or style attribute.
3115
3116         Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
3117         the appropriate container node to add attributes in addInlineStyleIfNeeded.
3118         addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
3119         span elements respectively.
3120
3121         Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
3122         modify the contents when the entire contents already have the desired style.
3123
3124         Test: editing/style/inline-style-container.html
3125
3126         * editing/ApplyStyleCommand.cpp:
3127         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
3128         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
3129         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
3130         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3131
3132 2010-09-30  Jarred Nicholls  <jarred@sencha.com>
3133
3134         Reviewed by Darin Adler.
3135
3136         Removed unnecessary calls to ceil() on an int
3137         Removing the call fixes MSVC build errors
3138         https://bugs.webkit.org/show_bug.cgi?id=46931
3139
3140         * platform/graphics/ContextShadow.cpp:
3141         (WebCore::ContextShadow::calculateLayerBoundingRect):
3142
3143 2010-09-30  David Hyatt  <hyatt@apple.com>
3144
3145         Reviewed by Beth Dakin.
3146
3147         https://bugs.webkit.org/show_bug.cgi?id=46932
3148         
3149         Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
3150         height() calls to be logicalHeight().
3151
3152         * rendering/RenderBlock.cpp:
3153         (WebCore::RenderBlock::collapseMargins):
3154         (WebCore::RenderBlock::handleAfterSideOfBlock):
3155
3156 2010-09-30  Cris Neckar  <cdn@chromium.org>
3157
3158         Reviewed by Darin Adler.
3159
3160         Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
3161         Added refcounting to counternodes in countermaps.
3162         https://bugs.webkit.org/show_bug.cgi?id=46387
3163
3164         Test: fast/css/counters/counter-traverse-table-cell.html
3165
3166         * rendering/CounterNode.cpp:
3167         (WebCore::CounterNode::create):
3168         * rendering/CounterNode.h:
3169         * rendering/RenderCounter.cpp:
3170         (WebCore::makeCounterNode):
3171         (WebCore::destroyCounterNodeWithoutMapRemoval):
3172         (WebCore::RenderCounter::destroyCounterNodes):
3173         (WebCore::RenderCounter::destroyCounterNode):
3174         (WebCore::updateCounters):
3175
3176 2010-09-30  David Hyatt  <hyatt@apple.com>
3177
3178         Reviewed by Beth Dakin.
3179
3180         https://bugs.webkit.org/show_bug.cgi?id=46928
3181         
3182         Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.
3183
3184         * css/CSSStyleSelector.cpp:
3185         (WebCore::CSSStyleSelector::isLeftPage):
3186         (WebCore::CSSStyleSelector::applyProperty):
3187         * editing/Editor.cpp:
3188         (WebCore::Editor::hasBidiSelection):
3189         * editing/VisiblePosition.cpp:
3190         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3191         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3192         * html/canvas/CanvasRenderingContext2D.cpp:
3193         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3194         * rendering/InlineBox.h:
3195         (WebCore::InlineBox::isLeftToRightDirection):
3196         (WebCore::InlineBox::caretLeftmostOffset):
3197         (WebCore::InlineBox::caretRightmostOffset):
3198         * rendering/InlineFlowBox.cpp:
3199         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3200         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3201         (WebCore::InlineFlowBox::paintTextDecorations):
3202         * rendering/InlineIterator.h:
3203         (WebCore::InlineIterator::direction):
3204         * rendering/InlineTextBox.cpp:
3205         (WebCore::InlineTextBox::selectionRect):
3206         (WebCore::InlineTextBox::placeEllipsisBox):
3207         (WebCore::InlineTextBox::paint):
3208         (WebCore::InlineTextBox::paintSelection):
3209         (WebCore::InlineTextBox::paintCompositionBackground):
3210         (WebCore::InlineTextBox::paintDecoration):
3211         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3212         (WebCore::InlineTextBox::paintTextMatchMarker):
3213         (WebCore::InlineTextBox::computeRectForReplacementMarker):
3214         (WebCore::InlineTextBox::textPos):
3215         (WebCore::InlineTextBox::offsetForPosition):
3216         (WebCore::InlineTextBox::positionForOffset):
3217         * rendering/RenderBlock.cpp:
3218         (WebCore::RenderBlock::adjustPositionedBlock):
3219         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3220         (WebCore::RenderBlock::paintColumnRules):
3221         (WebCore::RenderBlock::paintColumnContents):
3222         (WebCore::RenderBlock::getHorizontalSelectionGapInfo):
3223         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3224         (WebCore::RenderBlock::logicalRightOffsetForLine):
3225         (WebCore::RenderBlock::rightmostPosition):
3226         (WebCore::RenderBlock::leftmostPosition):
3227         (WebCore::RenderBlock::columnRectAt):
3228         (WebCore::RenderBlock::layoutColumns):
3229         (WebCore::getBorderPaddingMargin):
3230         (WebCore::RenderBlock::localCaretRect):
3231         (WebCore::RenderBlock::marginStartForChild):
3232         (WebCore::RenderBlock::marginEndForChild):
3233         (WebCore::RenderBlock::setMarginStartForChild):
3234         (WebCore::RenderBlock::setMarginEndForChild):
3235         * rendering/RenderBlockLineLayout.cpp:
3236         (WebCore::getBorderPaddingMargin):
3237         (WebCore::RenderBlock::constructLine):
3238         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3239         (WebCore::RenderBlock::determineStartPosition):
3240         (WebCore::RenderBlock::skipTrailingWhitespace):
3241         (WebCore::RenderBlock::skipLeadingWhitespace):
3242         (WebCore::RenderBlock::findNextLineBreak):
3243         (WebCore::RenderBlock::checkLinesForTextOverflow):
3244         * rendering/RenderBox.cpp:
3245         (WebCore::RenderBox::marginStart):
3246         (WebCore::RenderBox::marginEnd):
3247         (WebCore::RenderBox::setMarginStart):
3248         (WebCore::RenderBox::setMarginEnd):
3249         (WebCore::RenderBox::scrollWidth):
3250         (WebCore::RenderBox::computeInlineDirectionMargins):
3251         (WebCore::RenderBox::containingBlockWidthForPositioned):
3252         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
3253         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3254         (WebCore::RenderBox::localCaretRect):
3255         * rendering/RenderBoxModelObject.cpp:
3256         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
3257         * rendering/RenderFieldset.cpp:
3258         (WebCore::RenderFieldset::layoutLegend):
3259         * rendering/RenderFileUploadControl.cpp:
3260         (WebCore::RenderFileUploadControl::paintObject):
3261         * rendering/RenderFlexibleBox.cpp:
3262         (WebCore::FlexBoxIterator::FlexBoxIterator):
3263         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3264         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3265         * rendering/RenderLayer.cpp:
3266         (WebCore::RenderLayer::computeScrollDimensions):
3267         * rendering/RenderListBox.cpp:
3268         (WebCore::RenderListBox::paintItemForeground):
3269         * rendering/RenderListItem.cpp:
3270         (WebCore::RenderListItem::positionListMarker):
3271         (WebCore::RenderListItem::markerTextWithSuffix):
3272         * rendering/RenderListMarker.cpp:
3273         (WebCore::RenderListMarker::paint):
3274         (WebCore::RenderListMarker::updateMargins):
3275         (WebCore::RenderListMarker::suffix):
3276         * rendering/RenderMarquee.cpp:
3277         (WebCore::RenderMarquee::computePosition):
3278         * rendering/RenderMeter.cpp:
3279         (WebCore::RenderMeter::valuePartRect):
3280         * rendering/RenderProgress.cpp:
3281         (WebCore::RenderProgress::valuePartRect):
3282         * rendering/RenderTable.cpp:
3283         (WebCore::RenderTable::calcBorderLeft):
3284         (WebCore::RenderTable::calcBorderRight):
3285         * rendering/RenderTableCell.cpp:
3286         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3287         (WebCore::RenderTableCell::borderHalfLeft):
3288         (WebCore::RenderTableCell::borderHalfRight):
3289         (WebCore::RenderTableCell::collectBorderStyles):
3290         (WebCore::RenderTableCell::paintCollapsedBorder):
3291         * rendering/RenderTableSection.cpp:
3292         (WebCore::RenderTableSection::layoutRows):
3293         (WebCore::RenderTableSection::recalcOuterBorder):
3294         (WebCore::RenderTableSection::paintObject):
3295         (WebCore::RenderTableSection::nodeAtPoint):
3296         * rendering/RenderText.cpp:
3297         (WebCore::RenderText::localCaretRect):
3298         (WebCore::RenderText::positionLineBox):
3299         * rendering/RenderTextControlSingleLine.cpp:
3300         (WebCore::RenderTextControlSingleLine::forwardEvent):
3301         * rendering/RenderThemeMac.mm:
3302         (WebCore::RenderThemeMac::levelIndicatorFor):
3303         (WebCore::RenderThemeMac::paintProgressBar):
3304         * rendering/RenderTreeAsText.cpp:
3305         (WebCore::writeTextRun):
3306         * rendering/SVGInlineTextBox.cpp:
3307         (WebCore::SVGInlineTextBox::measureCharacter):
3308         (WebCore::SVGInlineTextBox::buildLayoutInformation):
3309         * rendering/SVGRenderTreeAsText.cpp:
3310         (WebCore::writeSVGInlineTextBox):
3311         * rendering/SVGTextLayoutUtilities.cpp:
3312         (WebCore::svgTextRunForInlineTextBox):
3313         * rendering/style/RenderStyle.cpp:
3314         (WebCore::RenderStyle::borderStartWidth):
3315         (WebCore::RenderStyle::borderEndWidth):
3316         (WebCore::RenderStyle::marginStart):
3317         (WebCore::RenderStyle::marginEnd):
3318         (WebCore::RenderStyle::marginStartUsing):
3319         (WebCore::RenderStyle::marginEndUsing):
3320         (WebCore::RenderStyle::paddingStart):
3321         (WebCore::RenderStyle::paddingEnd):
3322         * rendering/style/RenderStyle.h:
3323         (WebCore::InheritedFlags::isLeftToRightDirection):
3324         * wml/WMLTableElement.cpp:
3325         (WebCore::WMLTableElement::alignCells):
3326
3327 2010-09-30  David Hyatt  <hyatt@apple.com>
3328
3329         Reviewed by Simon Fraser.
3330
3331         https://bugs.webkit.org/show_bug.cgi?id=46923
3332         
3333         Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
3334         completely separate LTR/RTL cases.
3335
3336         Added fast/blockflow/inline-direction-positioning.html
3337
3338         * rendering/RenderBlock.cpp:
3339         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3340         (WebCore::RenderBlock::setLogicalLeftForChild):
3341         * rendering/RenderBlock.h:
3342         (WebCore::RenderBlock::logicalWidthForChild):
3343         (WebCore::RenderBlock::logicalRightOffsetForContent):
3344         (WebCore::RenderBlock::logicalLeftOffsetForContent):
3345
3346 2010-09-29  Adam Roben  <aroben@apple.com>
3347
3348         Fix color media queries on Windows
3349
3350         Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
3351         media query does not evaluate to true for 32bpp displays on Windows
3352
3353         Test: fast/media/color-does-not-include-alpha.html
3354
3355         Reviewed by Darin Adler.
3356
3357         * platform/win/PlatformScreenWin.cpp:
3358         (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
3359         to interpret DEVMODE directly, since screenDepth knows how to correct
3360         for video drivers that return 32 instead of 24.
3361
3362 2010-09-29  Adam Roben  <aroben@apple.com>
3363
3364         Make sure screen.colorDepth/screen.pixelDepth don't include the bits
3365         used for alpha
3366
3367         Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
3368         screen.colorDepth and screen.pixelDepth return 32 on Windows, but
3369         should return 24 (according to CSSOM View and Firefox)
3370
3371         Reviewed by Darin Adler.
3372
3373         * platform/win/PlatformScreenWin.cpp:
3374         (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
3375         return 24 instead, as 32 includes the alpha component but this
3376         function is supposed to ignore the alpha component.
3377
3378 2010-09-30  Daniel Cheng  <dcheng@chromium.org>
3379
3380         Reviewed by Tony Chang.
3381
3382         [chromium] Refactor ChromiumDataObject to use getters/setters.
3383         https://bugs.webkit.org/show_bug.cgi?id=46559
3384
3385         This is an intermediate step to converting ChromiumDataObject to use
3386         callbacks to the browser to retrieve data.
3387
3388         This is covered by existing tests.
3389
3390         * editing/chromium/EditorChromium.cpp:
3391         (WebCore::Editor::newGeneralClipboard):
3392         * page/chromium/EventHandlerChromium.cpp:
3393         (WebCore::EventHandler::createDraggingClipboard):
3394         * platform/chromium/ChromiumDataObject.cpp:
3395         (WebCore::ChromiumDataObject::clearData):
3396         (WebCore::ChromiumDataObject::clearAll):
3397         (WebCore::ChromiumDataObject::clearAllExceptFiles):
3398         (WebCore::ChromiumDataObject::hasData):
3399         (WebCore::ChromiumDataObject::types):
3400         (WebCore::ChromiumDataObject::getData):
3401         (WebCore::ChromiumDataObject::setData):
3402         (WebCore::ChromiumDataObject::ChromiumDataObject):
3403         * platform/chromium/ChromiumDataObject.h:
3404         (WebCore::ChromiumDataObject::create):
3405         (WebCore::ChromiumDataObject::urlTitle):
3406         (WebCore::ChromiumDataObject::setUrlTitle):
3407         (WebCore::ChromiumDataObject::htmlBaseUrl):
3408         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
3409         (WebCore::ChromiumDataObject::containsFilenames):
3410         (WebCore::ChromiumDataObject::filenames):
3411         (WebCore::ChromiumDataObject::setFilenames):
3412         (WebCore::ChromiumDataObject::fileExtension):
3413         (WebCore::ChromiumDataObject::setFileExtension):
3414         (WebCore::ChromiumDataObject::fileContentFilename):
3415         (WebCore::ChromiumDataObject::setFileContentFilename):
3416         (WebCore::ChromiumDataObject::fileContent):
3417         (WebCore::ChromiumDataObject::setFileContent):
3418         * platform/chromium/ClipboardChromium.cpp:
3419         (WebCore::normalizeType):
3420         (WebCore::ClipboardChromium::clearData):
3421         (WebCore::ClipboardChromium::clearAllData):
3422         (WebCore::ClipboardChromium::getData):
3423         (WebCore::ClipboardChromium::setData):
3424         (WebCore::ClipboardChromium::types):
3425         (WebCore::ClipboardChromium::files):
3426         (WebCore::writeImageToDataObject):
3427         (WebCore::ClipboardChromium::declareAndWriteDragImage):
3428         (WebCore::ClipboardChromium::writeURL):
3429         (WebCore::ClipboardChromium::writeRange):
3430         (WebCore::ClipboardChromium::writePlainText):
3431         * platform/chromium/ClipboardChromiumWin.cpp:
3432         (WebCore::ClipboardChromium::validateFileName):
3433         * platform/chromium/ClipboardMimeTypes.cpp:
3434         * platform/chromium/ClipboardMimeTypes.h:
3435         * platform/chromium/DragDataChromium.cpp:
3436         (WebCore::containsHTML):
3437         (WebCore::DragData::containsURL):
3438         (WebCore::DragData::asURL):
3439         (WebCore::DragData::containsFiles):
3440         (WebCore::DragData::asFilenames):
3441         (WebCore::DragData::containsPlainText):
3442         (WebCore::DragData::asPlainText):
3443         (WebCore::DragData::canSmartReplace):
3444         (WebCore::DragData::asFragment):
3445         * platform/chromium/ReadableDataObject.cpp:
3446         (WebCore::ReadableDataObject::getURL):
3447         (WebCore::ReadableDataObject::getHTML):
3448         * platform/chromium/WritableDataObject.cpp:
3449         (WebCore::WritableDataObject::clearData):
3450         (WebCore::WritableDataObject::setData):
3451         (WebCore::WritableDataObject::setURL):
3452         (WebCore::WritableDataObject::setHTML):
3453
3454 2010-09-30  Chris Marrin  <cmarrin@apple.com>
3455
3456         Reviewed by Simon Fraser.
3457
3458         Make 2D accelerated canvas rendering build on Mac
3459         https://bugs.webkit.org/show_bug.cgi?id=46007
3460
3461         Add accelerated 2D rendering files to Mac build, fix build errors,
3462         add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
3463         enabled, and add a skeleton of the mac specific file so it builds.
3464
3465         DrawingBufferMac.mm, the Mac specific file does nothing right now
3466         other than initialize and create a layer. The rest will be added
3467         when I do the actual implementation. 
3468
3469         The most significant change was to SharedGraphicsContext3D, which
3470         had a static local OwnPtr in one of the methods. This was causing
3471         the exit time destructor warning. Getting rid of the OwnPtr fixed
3472         the problem. Since the pointer that was being wrapped was to a
3473         static object that would never get destroyed, the OwnPtr was not
3474         necessary.
3475
3476         I also added the ACCELERATED_2D_CANVAS flag to build-webkit
3477         and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
3478         But right now the flag is off by default.
3479
3480         * Configurations/FeatureDefines.xcconfig:
3481         * WebCore.xcodeproj/project.pbxproj:
3482         * platform/graphics/gpu/DrawingBuffer.cpp:
3483         * platform/graphics/gpu/DrawingBuffer.h:
3484         (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
3485         * platform/graphics/gpu/LoopBlinnClassifier.cpp:
3486         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3487         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
3488         * platform/graphics/gpu/Shader.cpp:
3489         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3490         (WebCore::SharedGraphicsContext3D::allContexts):
3491         * platform/graphics/gpu/SolidFillShader.cpp:
3492         * platform/graphics/gpu/TexShader.cpp:
3493         * platform/graphics/gpu/Texture.cpp:
3494         * platform/graphics/gpu/Texture.h:
3495         * platform/graphics/gpu/TilingData.cpp:
3496         * platform/graphics/gpu/mac: Added.
3497         * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
3498         (WebCore::DrawingBuffer::DrawingBuffer):
3499         (WebCore::DrawingBuffer::~DrawingBuffer):
3500         (WebCore::DrawingBuffer::reset):
3501         (WebCore::DrawingBuffer::platformLayer):
3502
3503 2010-09-30  Renata Hodovan  <reni@inf.u-szeged.hu>
3504
3505         Reviewed by Dirk Schulze.
3506
3507         SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
3508         https://bugs.webkit.org/show_bug.cgi?id=46902
3509
3510         Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
3511                svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
3512                svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
3513                svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
3514                svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
3515                svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
3516                svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
3517                svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
3518                svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
3519                svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
3520                svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
3521                svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
3522                svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
3523                svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
3524
3525         * svg/SVGFECompositeElement.cpp:
3526         (WebCore::SVGFECompositeElement::svgAttributeChanged):
3527         * svg/SVGFECompositeElement.h:
3528
3529 2010-09-29  Jeremy Orlow  <jorlow@chromium.org>
3530
3531         Reviewed by Steve Block.
3532
3533         Finished IDBTransaction for IndexedDB
3534         https://bugs.webkit.org/show_bug.cgi?id=46823
3535
3536         Switch the rest of IndexedDB to use transactions.
3537         Implement most of setVersion.
3538         Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
3539         Switch to using the standard cross thread task stuff.
3540         Make everything threadsafe so it works with cross thread copy
3541             (will be useful in the future).
3542         Fix some subtle bugs in transactions.
3543         
3544         Various bits of clean up (when I couldn't resist).
3545
3546         * bindings/js/JSIDBAnyCustom.cpp:
3547         (WebCore::toJS):
3548         * bindings/v8/IDBBindingUtilities.cpp:
3549         (WebCore::LocalContext::LocalContext):
3550         (WebCore::LocalContext::~LocalContext):
3551         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
3552         * bindings/v8/SerializedScriptValue.cpp:
3553         (WebCore::SerializedScriptValue::release):
3554         (WebCore::SerializedScriptValue::SerializedScriptValue):
3555         * bindings/v8/SerializedScriptValue.h:
3556         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3557         (WebCore::toV8):
3558         * platform/CrossThreadCopier.cpp:
3559         * storage/IDBAny.cpp:
3560         (WebCore::IDBAny::idbFactory):
3561         (WebCore::IDBAny::idbTransaction):
3562         (WebCore::IDBAny::set):
3563         * storage/IDBAny.h:
3564         * storage/IDBCallbacks.h: