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