78bcc3519f94eee93436fa75fcd47e62d4e6145f
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-12  Abhishek Arya  <inferno@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Prevent block logical height of a root inline box from overflowing by clamping it
6         at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
7         removal a floating object.
8         https://bugs.webkit.org/show_bug.cgi?id=45611        
9
10         Test: fast/overflow/overflow-block-logical-height-crash.html
11
12         * rendering/RootInlineBox.cpp:
13         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
14
15 2010-10-13  James Robinson  <jamesr@chromium.org>
16
17         Reviewed by Darin Adler.
18
19         Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
20         Canvas: radialGradient with negative radius should throw exception
21         https://bugs.webkit.org/show_bug.cgi?id=37176
22
23         This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
24         and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
25
26         Test: canvas/philip/tests/2d.gradient.radial.negative.html
27
28         * html/canvas/CanvasRenderingContext2D.cpp:
29         (WebCore::CanvasRenderingContext2D::createLinearGradient):
30         (WebCore::CanvasRenderingContext2D::createRadialGradient):
31         (WebCore::createEmptyImageData):
32         (WebCore::CanvasRenderingContext2D::measureText):
33
34 2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
35
36         Reviewed by Darin Adler.
37
38         Add WebCore/plugins/win directory to CFLAGS
39         https://bugs.webkit.org/show_bug.cgi?id=45547
40
41         * GNUmakefile.am:
42
43 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
44
45         Build fix for older versions of libsoup.
46
47         * platform/network/soup/cache/soup-request-file.c:
48         (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
49
50 2010-10-13  Kwang Yul Seo  <skyul@company100.net>
51
52         Reviewed by Kent Tamura.
53
54         [BREWMP] Add TextBoundaries and TextBreakIterator
55         https://bugs.webkit.org/show_bug.cgi?id=46105
56
57         Copy the implementation of WinCE port.
58
59         * platform/text/brew/TextBoundariesBrew.cpp: Added.
60         (WebCore::findNextWordFromIndex):
61         (WebCore::findWordBoundary):
62         * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
63         (WebCore::isCharStop):
64         (WebCore::isLineStop):
65         (WebCore::isSentenceStop):
66         (WebCore::TextBreakIterator::reset):
67         (WebCore::TextBreakIterator::following):
68         (WebCore::TextBreakIterator::preceding):
69         (WebCore::WordBreakIterator::first):
70         (WebCore::WordBreakIterator::next):
71         (WebCore::WordBreakIterator::previous):
72         (WebCore::CharBreakIterator::first):
73         (WebCore::CharBreakIterator::next):
74         (WebCore::CharBreakIterator::previous):
75         (WebCore::LineBreakIterator::first):
76         (WebCore::LineBreakIterator::next):
77         (WebCore::LineBreakIterator::previous):
78         (WebCore::SentenceBreakIterator::first):
79         (WebCore::SentenceBreakIterator::next):
80         (WebCore::SentenceBreakIterator::previous):
81         (WebCore::wordBreakIterator):
82         (WebCore::characterBreakIterator):
83         (WebCore::lineBreakIterator):
84         (WebCore::sentenceBreakIterator):
85         (WebCore::textBreakFirst):
86         (WebCore::textBreakNext):
87         (WebCore::textBreakPreceding):
88         (WebCore::textBreakFollowing):
89         (WebCore::textBreakCurrent):
90         (WebCore::isTextBreak):
91         (WebCore::cursorMovementIterator):
92
93 2010-10-13  Jeremy Orlow  <jorlow@chromium.org>
94
95         Reviewed by Nate Chapin.
96
97         IndexedDB should fire some errors synchronously
98         https://bugs.webkit.org/show_bug.cgi?id=47530
99
100         Add dumb plumbing to pass around exception codes.
101         Utilize that plumbing in the backend to fire some
102         errors synchronously.
103         Verify that create/remove* functions are only called
104         in setVersionTransactions (and raise when not).
105         Remove plumbing for obsolete IDBDatabase.objectStore
106         Remove obsolete mode param.
107
108         * storage/IDBCursor.cpp:
109         (WebCore::IDBCursor::update):
110         (WebCore::IDBCursor::continueFunction):
111         (WebCore::IDBCursor::remove):
112         * storage/IDBCursor.h:
113         (WebCore::IDBCursor::continueFunction):
114         * storage/IDBCursor.idl:
115         * storage/IDBCursorBackendImpl.cpp:
116         (WebCore::IDBCursorBackendImpl::update):
117         (WebCore::IDBCursorBackendImpl::continueFunction):
118         (WebCore::IDBCursorBackendImpl::remove):
119         * storage/IDBCursorBackendImpl.h:
120         * storage/IDBCursorBackendInterface.h:
121         * storage/IDBDatabase.cpp:
122         (WebCore::IDBDatabase::IDBDatabase):
123         (WebCore::IDBDatabase::createObjectStore):
124         (WebCore::IDBDatabase::removeObjectStore):
125         (WebCore::IDBDatabase::setVersion):
126         (WebCore::IDBDatabase::transaction):
127         * storage/IDBDatabase.h:
128         (WebCore::IDBDatabase::createObjectStore):
129         (WebCore::IDBDatabase::transaction):
130         * storage/IDBDatabase.idl:
131         * storage/IDBDatabaseBackendImpl.cpp:
132         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
133         (WebCore::IDBDatabaseBackendImpl::objectStore):
134         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
135         (WebCore::IDBDatabaseBackendImpl::setVersion):
136         (WebCore::IDBDatabaseBackendImpl::transaction):
137         * storage/IDBDatabaseBackendImpl.h:
138         * storage/IDBDatabaseBackendInterface.h:
139         * storage/IDBFactory.cpp:
140         (WebCore::IDBFactory::open):
141         * storage/IDBFactory.h:
142         (WebCore::IDBFactory::open):
143         * storage/IDBFactory.idl:
144         * storage/IDBIndex.cpp:
145         (WebCore::IDBIndex::openCursor):
146         (WebCore::IDBIndex::openKeyCursor):
147         (WebCore::IDBIndex::get):
148         (WebCore::IDBIndex::getKey):
149         * storage/IDBIndex.h:
150         (WebCore::IDBIndex::openCursor):
151         (WebCore::IDBIndex::openKeyCursor):
152         * storage/IDBIndex.idl:
153         * storage/IDBIndexBackendImpl.cpp:
154         (WebCore::IDBIndexBackendImpl::openCursor):
155         (WebCore::IDBIndexBackendImpl::openKeyCursor):
156         (WebCore::IDBIndexBackendImpl::get):
157         (WebCore::IDBIndexBackendImpl::getKey):
158         * storage/IDBIndexBackendImpl.h:
159         * storage/IDBIndexBackendInterface.h:
160         * storage/IDBObjectStore.cpp:
161         (WebCore::IDBObjectStore::get):
162         (WebCore::IDBObjectStore::add):
163         (WebCore::IDBObjectStore::put):
164         (WebCore::IDBObjectStore::remove):
165         (WebCore::IDBObjectStore::createIndex):
166         (WebCore::IDBObjectStore::index):
167         (WebCore::IDBObjectStore::removeIndex):
168         (WebCore::IDBObjectStore::openCursor):
169         * storage/IDBObjectStore.h:
170         (WebCore::IDBObjectStore::add):
171         (WebCore::IDBObjectStore::put):
172         (WebCore::IDBObjectStore::createIndex):
173         (WebCore::IDBObjectStore::openCursor):
174         * storage/IDBObjectStore.idl:
175         * storage/IDBObjectStoreBackendImpl.cpp:
176         (WebCore::IDBObjectStoreBackendImpl::get):
177         (WebCore::IDBObjectStoreBackendImpl::put):
178         (WebCore::IDBObjectStoreBackendImpl::remove):
179         (WebCore::IDBObjectStoreBackendImpl::createIndex):
180         (WebCore::IDBObjectStoreBackendImpl::index):
181         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
182         (WebCore::IDBObjectStoreBackendImpl::openCursor):
183         * storage/IDBObjectStoreBackendImpl.h:
184         (WebCore::IDBObjectStoreBackendImpl::name):
185         (WebCore::IDBObjectStoreBackendImpl::keyPath):
186         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
187         * storage/IDBObjectStoreBackendInterface.h:
188         * storage/IDBTransaction.cpp:
189         (WebCore::IDBTransaction::objectStore):
190         * storage/IDBTransaction.h:
191         * storage/IDBTransactionBackendImpl.cpp:
192         (WebCore::IDBTransactionBackendImpl::objectStore):
193
194 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
195
196         Reviewed by Martin Robinson.
197
198         [GTK] Add HTTP caching support
199         https://bugs.webkit.org/show_bug.cgi?id=44261
200
201         This patch adds HTTP caching support to libsoup networking backend.
202         This code will eventually be part of libsoup, but has been temporarily
203         imported into the WebCore tree for testing purposes. All libsoup code
204         is located in WebCore/platform/network/soup/cache. The webkit prefix
205         was added to all the symbols to prevent problems when this lands in
206         libsoup. Some external API was also added under webkit/ directory and
207         will be used by library clients to enable HTTP caching.
208
209         There are two parts to this imported code, the first one is the code
210         under WebCore/platform/network/soup/cache/ that contains all the
211         SoupURILoader code that supports the development of the cache. The
212         second part is the HTTP cache implementation located in
213         WebCore/platform/network/soup/cache/webkit/.
214
215         * GNUmakefile.am:
216         * platform/network/soup/cache/soup-directory-input-stream.c: Added.
217         (webkit_soup_directory_input_stream_parse_info):
218         (webkit_soup_directory_input_stream_read_next_file):
219         (webkit_soup_directory_input_stream_read):
220         (webkit_soup_directory_input_stream_close):
221         (webkit_soup_directory_input_stream_class_init):
222         (webkit_soup_directory_input_stream_init):
223         (webkit_soup_directory_input_stream_new):
224         * platform/network/soup/cache/soup-directory-input-stream.h: Added.
225         * platform/network/soup/cache/soup-http-input-stream.c: Added.
226         (webkit_soup_http_input_stream_finalize):
227         (webkit_soup_http_input_stream_class_init):
228         (webkit_soup_http_input_stream_seekable_iface_init):
229         (webkit_soup_http_input_stream_init):
230         (webkit_soup_http_input_stream_queue_message):
231         (webkit_soup_http_input_stream_new):
232         (webkit_soup_http_input_stream_got_headers):
233         (webkit_soup_http_input_stream_got_chunk):
234         (webkit_soup_http_input_stream_finished):
235         (webkit_soup_http_input_stream_cancelled):
236         (webkit_soup_http_input_stream_prepare_for_io):
237         (webkit_soup_http_input_stream_done_io):
238         (set_error_if_http_failed):
239         (read_from_leftover):
240         (webkit_soup_http_input_stream_send_internal):
241         (send_sync_finished):
242         (webkit_soup_http_input_stream_send):
243         (webkit_soup_http_input_stream_read):
244         (webkit_soup_http_input_stream_close):
245         (wrapper_callback):
246         (send_async_thread):
247         (webkit_soup_http_input_stream_send_async_in_thread):
248         (send_async_finished):
249         (webkit_soup_http_input_stream_send_async_internal):
250         (webkit_soup_http_input_stream_send_async):
251         (webkit_soup_http_input_stream_send_finish):
252         (read_async_done):
253         (webkit_soup_http_input_stream_read_async):
254         (webkit_soup_http_input_stream_read_finish):
255         (webkit_soup_http_input_stream_close_async):
256         (webkit_soup_http_input_stream_close_finish):
257         (webkit_soup_http_input_stream_tell):
258         (webkit_soup_http_input_stream_can_seek):
259         (webkit_soup_http_input_stream_seek):
260         (webkit_soup_http_input_stream_can_truncate):
261         (webkit_soup_http_input_stream_truncate):
262         (webkit_soup_http_input_stream_get_message):
263         * platform/network/soup/cache/soup-http-input-stream.h: Added.
264         * platform/network/soup/cache/soup-request-data.c: Added.
265         (webkit_soup_request_data_init):
266         (webkit_soup_request_data_finalize):
267         (webkit_soup_request_data_check_uri):
268         (uri_decoded_copy):
269         (webkit_soup_request_data_send):
270         (webkit_soup_request_data_get_content_length):
271         (webkit_soup_request_data_get_content_type):
272         (webkit_soup_request_data_class_init):
273         * platform/network/soup/cache/soup-request-data.h: Added.
274         * platform/network/soup/cache/soup-request-file.c: Added.
275         (webkit_soup_request_file_get_file):
276         (webkit_soup_request_file_init):
277         (webkit_soup_request_file_finalize):
278         (webkit_soup_request_file_check_uri):
279         (webkit_soup_request_file_ftp_main_loop_quit):
280         (webkit_soup_request_file_ensure_file_ftp):
281         (webkit_soup_request_file_ensure_file):
282         (webkit_soup_request_file_send):
283         (webkit_soup_request_file_send_async_thread):
284         (webkit_soup_request_file_send_async):
285         (webkit_soup_request_file_send_finish):
286         (webkit_soup_request_file_get_content_length):
287         (webkit_soup_request_file_get_content_type):
288         (webkit_soup_request_file_class_init):
289         * platform/network/soup/cache/soup-request-file.h: Added.
290         * platform/network/soup/cache/soup-request-http.c: Added.
291         (webkit_soup_request_http_get_message):
292         (webkit_soup_request_http_init):
293         (webkit_soup_request_http_check_uri):
294         (webkit_soup_request_http_finalize):
295         (webkit_soup_request_http_send):
296         (sent_async):
297         (conditional_get_ready_cb):
298         (send_async_cb):
299         (webkit_soup_request_http_send_async):
300         (webkit_soup_request_http_send_finish):
301         (webkit_soup_request_http_get_content_length):
302         (webkit_soup_request_http_get_content_type):
303         (webkit_soup_request_http_class_init):
304         * platform/network/soup/cache/soup-request-http.h: Added.
305         * platform/network/soup/cache/soup-request.c: Added.
306         (webkit_soup_request_init):
307         (webkit_soup_request_finalize):
308         (webkit_soup_request_set_property):
309         (webkit_soup_request_get_property):
310         (webkit_soup_request_initable_init):
311         (webkit_soup_request_default_check_uri):
312         (webkit_soup_request_default_send_async):
313         (webkit_soup_request_default_send_finish):
314         (webkit_soup_request_send):
315         (webkit_soup_request_send_async):
316         (webkit_soup_request_send_finish):
317         (webkit_soup_request_class_init):
318         (webkit_soup_request_initable_interface_init):
319         (webkit_soup_request_get_uri):
320         (webkit_soup_request_get_session):
321         (webkit_soup_request_get_content_length):
322         (webkit_soup_request_get_content_type):
323         * platform/network/soup/cache/soup-request.h: Added.
324         * platform/network/soup/cache/soup-requester.c: Added.
325         (webkit_soup_requester_init):
326         (finalize):
327         (webkit_soup_requester_class_init):
328         (init_request_types):
329         (webkit_soup_requester_new):
330         (webkit_soup_requester_request):
331         (webkit_soup_requester_request_uri):
332         (webkit_soup_scheme_is_valid):
333         (webkit_soup_requester_add_protocol):
334         (webkit_soup_requester_remove_protocol):
335         (webkit_soup_error_quark):
336         * platform/network/soup/cache/soup-requester.h: Added.
337         * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
338         * platform/network/soup/cache/webkit/soup-cache.c: Added.
339         (get_cacheability):
340         (webkit_soup_cache_entry_free):
341         (copy_headers):
342         (update_headers):
343         (webkit_soup_cache_entry_get_current_age):
344         (webkit_soup_cache_entry_is_fresh_enough):
345         (webkit_soup_message_get_cache_key):
346         (webkit_soup_cache_entry_set_freshness):
347         (webkit_soup_cache_entry_new):
348         (webkit_soup_cache_writing_fixture_free):
349         (close_ready_cb):
350         (write_ready_cb):
351         (msg_got_chunk_cb):
352         (msg_got_body_cb):
353         (webkit_soup_cache_entry_delete):
354         (lru_compare_func):
355         (cache_accepts_entries_of_size):
356         (make_room_for_new_entry):
357         (webkit_soup_cache_entry_insert_by_key):
358         (msg_restarted_cb):
359         (append_to_ready_cb):
360         (msg_got_headers_cb):
361         (webkit_soup_cache_send_response):
362         (request_started):
363         (attach):
364         (webkit_soup_cache_session_feature_init):
365         (webkit_soup_cache_init):
366         (webkit_soup_cache_finalize):
367         (webkit_soup_cache_set_property):
368         (webkit_soup_cache_get_property):
369         (webkit_soup_cache_constructed):
370         (webkit_soup_cache_type_get_type):
371         (webkit_soup_cache_class_init):
372         (webkit_soup_cache_new):
373         (webkit_soup_cache_has_response):
374         (webkit_soup_cache_get_cacheability):
375         (force_flush_timeout):
376         (webkit_soup_cache_flush):
377         (remove_cache_item):
378         (webkit_soup_cache_clear):
379         (webkit_soup_cache_generate_conditional_request):
380         (pack_entry):
381         (webkit_soup_cache_dump):
382         (webkit_soup_cache_load):
383         (webkit_soup_cache_set_max_size):
384         (webkit_soup_cache_get_max_size):
385         * platform/network/soup/cache/webkit/soup-cache.h: Added.
386
387 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
388
389         Chromium build fix.
390
391         * bindings/v8/ScriptProfiler.cpp:
392
393 2010-10-13  Chris Evans  <cevans@google.com>
394
395         Reviewed by Jian Li.
396
397         Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
398         https://bugs.webkit.org/show_bug.cgi?id=47382
399
400         Fix integer overflow errors in Blob.slice and BlobBuilder.append.
401
402         Test: fast/files/blob-slice-overflow.html
403
404         * fileapi/Blob.cpp:
405         (WebCore::Blob::slice): handle integer overflow properly.
406         * fileapi/BlobBuilder.cpp:
407         (WebCore::BlobBuilder::append): use correct type for vector length.
408
409 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
410
411         Build fix - remove some redundant references to ScriptString.
412
413         * WebCore.gypi:
414         * WebCore.pro:
415         * bindings/v8/ScriptProfiler.cpp:
416
417 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
418
419         Reviewed by Oliver Hunt.
420
421         Bug 47621 - Remove bindings/v8/ScriptString
422         This is now redundant.
423
424         * bindings/v8/ScriptCallFrame.h:
425         (WebCore::ScriptCallFrame::functionName):
426         * bindings/v8/ScriptFunctionCall.cpp:
427         * bindings/v8/ScriptFunctionCall.h:
428         * bindings/v8/ScriptString.h: Removed.
429         * bindings/v8/ScriptStringImpl.cpp: Removed.
430         * bindings/v8/ScriptStringImpl.h: Removed.
431
432 2010-10-13  Anders Carlsson  <andersca@apple.com>
433
434         Reviewed by John Sullivan.
435
436         Draw the find overlay holes
437         https://bugs.webkit.org/show_bug.cgi?id=47631
438
439         Export symbols needed by WebKit2.
440
441         * WebCore.exp.in:
442
443 2010-10-13  James Simonsen  <simonjam@chromium.org>
444
445         Reviewed by Darin Adler.
446
447         Implement onreadystatechange event handler for Documents
448         https://bugs.webkit.org/show_bug.cgi?id=26140
449
450         Test: fast/dom/Document/readystate.html
451
452         * dom/Document.cpp:
453         (WebCore::Document::setReadyState): Fire readystatechangeevent.
454         (WebCore::Document::open): Clear event listeners.
455         * dom/Document.h: Add readystatechange event.
456         * dom/Document.idl: Ditto.
457
458 2010-10-13  Chris Fleizach  <cfleizach@apple.com>
459
460         Reviewed by Beth Dakin.
461
462         AX: accessibilityIsIgnored not respected on ARIA tables
463         https://bugs.webkit.org/show_bug.cgi?id=47564
464
465         For platforms that ignore column headers and header container objects (everything
466         except Mac) on accessibility tables, that choice needs to be respected in 
467         ARIA tables as well.
468
469         GTK is the only open platform doing this, so I'll have to collect the result of this 
470         test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
471
472         Test: platform/gtk/accessibility/aria-table-hierarchy.html
473
474         * accessibility/AccessibilityARIAGrid.cpp:
475         (WebCore::AccessibilityARIAGrid::addChildren):
476
477 2010-10-13  Victoria Kirst  <vrk@google.com>
478
479         Reviewed by James Robinson.
480
481         No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
482         https://bugs.webkit.org/show_bug.cgi?id=47432
483
484         * platform/graphics/chromium/VideoLayerChromium.cpp:
485         (WebCore::VideoLayerChromium::cleanupResources):
486
487 2010-10-13  Leandro Pereira  <leandro@profusion.mobi>
488
489         [EFL] Unreviewed. Build fix.
490
491         * CMakeLists.txt: Add ContextShadow.cpp.
492         * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
493
494 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
495
496         Reviewed by Holger Freyther.
497
498         [GTK] r69681 caused some tests to crash
499         https://bugs.webkit.org/show_bug.cgi?id=47622
500
501         Properly initialize m_layerContext on the ContextShadow so that in situations
502         where beginShadowLayer bails out early with a null return value, it is set
503         to null. This may happen when the first call to beginShadowLayer on a particular
504         ContextShadow uses a region which is entirely outside the clip region or which
505         is empty.
506
507         * platform/graphics/cairo/ContextShadow.cpp:
508         (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
509
510 2010-10-13  Anders Carlsson  <andersca@apple.com>
511
512         Reviewed by Beth Dakin.
513
514         Don't set the fill/stroke colorspace before filling/stroking
515         https://bugs.webkit.org/show_bug.cgi?id=47619
516
517         Setting the colorspace has the side-effect of setting the color to black, which is
518         not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
519
520         Pixel tests show no regressions from this change.
521
522         * platform/graphics/cg/GraphicsContextCG.cpp:
523         (WebCore::GraphicsContext::fillPath):
524         (WebCore::GraphicsContext::strokePath):
525         (WebCore::GraphicsContext::fillRect):
526         (WebCore::GraphicsContext::strokeRect):
527
528 2010-10-13  Brent Fulgham  <bfulgham@webkit.org>
529
530         Unreviewed WinCairo build fix.
531         New ContextShadow class not built for Windows builds.
532
533         * WebCore.vcproj/WebCore.vcproj: Add missing files for
534         building ContextShadow on WinCairo.
535         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
536         Add missing include for ContextShadow definition.
537
538 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
539
540         Chromium build fix pt1.
541
542         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
543         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
544
545 2010-10-13  Anders Carlsson  <andersca@apple.com>
546
547         Reviewed by Sam Weinig.
548
549         Send over find indicator information to the UI process
550         https://bugs.webkit.org/show_bug.cgi?id=47612
551
552         Export symbols needed by WebKit2.
553
554         * WebCore.exp.in:
555
556 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
557
558         Reviewed by Oliver Hunt.
559
560         https://bugs.webkit.org/show_bug.cgi?id=43987
561         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
562         to construct their internal result string.  Remove ScriptString (this is now
563         redundant).
564
565         * WebCore.xcodeproj/project.pbxproj:
566         * bindings/js/JSDOMBinding.cpp:
567         (WebCore::jsOwnedStringOrNull):
568         * bindings/js/JSDOMBinding.h:
569         * bindings/js/JSXMLHttpRequestCustom.cpp:
570         (WebCore::JSXMLHttpRequest::responseText):
571         * bindings/js/ScriptCallFrame.cpp:
572         (WebCore::ScriptCallFrame::ScriptCallFrame):
573         * bindings/js/ScriptCallFrame.h:
574         (WebCore::ScriptCallFrame::functionName):
575         * bindings/js/ScriptCallStack.h:
576         * bindings/js/ScriptFunctionCall.cpp:
577         * bindings/js/ScriptFunctionCall.h:
578         * bindings/js/ScriptString.h: Removed.
579         * dom/ScriptExecutionContext.h:
580         * fileapi/FileReader.cpp:
581         (WebCore::FileReader::FileReader):
582         (WebCore::FileReader::abort):
583         (WebCore::FileReader::didReceiveData):
584         (WebCore::FileReader::result):
585         (WebCore::FileReader::convertToText):
586         (WebCore::FileReader::convertToDataURL):
587         * fileapi/FileReader.h:
588         * fileapi/FileReaderSync.cpp:
589         (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
590         (WebCore::FileReaderSyncLoader::didReceiveData):
591         (WebCore::FileReaderSync::readAsBinaryString):
592         (WebCore::FileReaderSync::readAsText):
593         (WebCore::FileReaderSync::readAsDataURL):
594         (WebCore::FileReaderSync::read):
595         (WebCore::FileReaderSync::convertToText):
596         * fileapi/FileReaderSync.h:
597         (WebCore::FileReaderSync::readAsText):
598         (WebCore::FileReaderSync::FileReaderSync):
599         * inspector/InspectorController.cpp:
600         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
601         (WebCore::InspectorController::scriptImported):
602         * inspector/InspectorController.h:
603         * inspector/InspectorResource.cpp:
604         (WebCore::InspectorResource::setOverrideContent):
605         * inspector/InspectorResource.h:
606         * loader/FrameLoader.cpp:
607         * loader/FrameLoader.h:
608         * loader/FrameLoaderClient.h:
609         * loader/ResourceLoadNotifier.h:
610         * workers/WorkerScriptLoader.h:
611         * xml/XMLHttpRequest.cpp:
612         (WebCore::XMLHttpRequest::XMLHttpRequest):
613         (WebCore::XMLHttpRequest::responseText):
614         (WebCore::XMLHttpRequest::responseXML):
615         (WebCore::XMLHttpRequest::abort):
616         (WebCore::XMLHttpRequest::clearResponse):
617         (WebCore::XMLHttpRequest::dropProtection):
618         (WebCore::XMLHttpRequest::didFinishLoading):
619         (WebCore::XMLHttpRequest::didReceiveData):
620         * xml/XMLHttpRequest.h:
621
622 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
623
624         Reviewed by Oliver Hunt.
625
626         Bug 43987 - Downloading using XHR is much slower than before
627
628         * svg/SVGPathStringBuilder.cpp:
629         (WebCore::SVGPathStringBuilder::result):
630             StringBuilder::size() -> StringBuilder::length().
631
632 2010-10-13  Yong Li  <yoli@rim.com>
633
634         Reviewed by Oliver Hunt.
635
636         Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
637         that can result crash on ARM (<v6).
638         https://bugs.webkit.org/show_bug.cgi?id=47594
639
640         No new test added, because the crash can be produced by existing tests like:
641         LayoutTests/fast/events/message-channel-gc-4.html
642
643         * bindings/js/SerializedScriptValue.cpp:
644         (WebCore::CloneDeserializer::readLittleEndian):
645         (WebCore::CloneDeserializer::readString):
646
647 2010-10-06  Martin Robinson  <mrobinson@igalia.com>
648
649         Reviewed by Dirk Schulze.
650
651         [Cairo] Activate ContextShadow in all places where shadows are drawn
652         https://bugs.webkit.org/show_bug.cgi?id=46475
653
654         Turn on ContextShadow for the Cairo port and remove all old shadow code.
655         Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
656
657         * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
658         * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
659         (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
660         on the specified cairo_t to prepare for drawing glyphs.
661         (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
662         while properly handling glyphs with synthetic bold.
663         (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
664         * platform/graphics/cairo/GraphicsContextCairo.cpp:
665         (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
666         argument specifying whether to fill or stroke the solid figure for the shadow.
667         (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
668         (WebCore::strokeCurrentCairoPath): Ditto.
669         (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
670         (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
671         (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
672         (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
673         (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
674         (WebCore::GraphicsContext::contextShadow): Added.
675         (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
676         (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
677         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
678         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
679         * platform/graphics/cairo/ImageCairo.cpp:
680         (WebCore::BitmapImage::draw): Updated to use ContextShadow.
681
682 2010-10-13  John Knottenbelt  <jknotten@chromium.org>
683
684         Reviewed by Steve Block.
685
686         First step towards client-based Geolocation in Chromium. Build
687         fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
688         https://bugs.webkit.org/show_bug.cgi?id=47586
689
690         * WebCore.gyp/WebCore.gyp:
691         * platform/chromium/ChromiumBridge.h:
692         * platform/chromium/GeolocationServiceChromium.cpp:
693
694 2010-10-13  Steve Block  <steveblock@google.com>
695
696         Unreviewed fix
697
698         Need to check for the existence of DeviceOrientation and DeviceMotion controllers
699
700         These features can be disabled at run time, so an enable guard is not sufficient.
701         This bug was introduced in http://trac.webkit.org/changeset/69646
702
703         Tested with existing tests.
704
705         * history/PageCache.cpp:
706         (WebCore::logCanCachePageDecision):
707         (WebCore::PageCache::canCache):
708
709 2010-10-13  Yury Semikhatsky  <yurys@chromium.org>
710
711         Reviewed by Pavel Feldman.
712
713         Web Inspector: stack information is inconsistent between console.trace and runtime errors.
714         https://bugs.webkit.org/show_bug.cgi?id=47252
715
716         * console.trace() is now formatted the same way as other stack traces
717
718         * If there is //@ sourceURL=url line at the end of eval'ed script source
719         the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
720         type has changed from KURL to String.
721
722         Tests: inspector/console-trace-in-eval.html
723                inspector/console-uncaught-exception-in-eval.html
724
725         * bindings/js/ScriptCallFrame.cpp:
726         (WebCore::ScriptCallFrame::ScriptCallFrame):
727         * bindings/js/ScriptCallFrame.h:
728         (WebCore::ScriptCallFrame::sourceURL):
729         * bindings/v8/ScriptCallFrame.cpp:
730         (WebCore::ScriptCallFrame::ScriptCallFrame):
731         * bindings/v8/ScriptCallFrame.h:
732         (WebCore::ScriptCallFrame::sourceURL):
733         * bindings/v8/ScriptCallStack.cpp:
734         (WebCore::getFrameLocation):
735         (WebCore::ScriptCallStack::create):
736         * bindings/v8/ScriptCallStack.h:
737         * bindings/v8/ScriptController.cpp:
738         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
739         * bindings/v8/custom/V8ConsoleCustom.cpp:
740         (WebCore::V8Console::traceCallback):
741         * inspector/ConsoleMessage.cpp:
742         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
743         (WebCore::ConsoleMessage::ConsoleMessage):
744         * inspector/ConsoleMessage.h:
745         * inspector/front-end/ConsoleView.js:
746         (WebInspector.ConsoleMessage.prototype._formatMessage):
747         * page/Console.cpp:
748         (WebCore::Console::addMessage):
749         (WebCore::Console::count):
750         (WebCore::Console::timeEnd):
751
752 2010-10-13  Kent Tamura  <tkent@chromium.org>
753
754         Unreviewed, a trivial change.
755
756         Run sort-Xcode-project-file.
757
758         * WebCore.xcodeproj/project.pbxproj:
759
760 2010-10-13  Yael Aharon  <yael.aharon@nokia.com>
761
762         Reviewed by Andreas Kling.
763
764         Wrong ASSERT when select element has size 0
765         https://bugs.webkit.org/show_bug.cgi?id=47567
766
767         Keep the ASSERT only if the size of the element list is more than 0
768         Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
769
770         * dom/SelectElement.cpp:
771         (WebCore::SelectElement::updateListBoxSelection):
772         (WebCore::SelectElement::listBoxDefaultEventHandler):
773
774 2010-10-13  Steve Block  <steveblock@google.com>
775
776         Reviewed by Alexey Proskuryakov.
777
778         Pages using DeviceOrientation and DeviceMotion should not go into the page cache
779         https://bugs.webkit.org/show_bug.cgi?id=47408
780
781         Tests: fast/dom/DeviceMotion/no-page-cache.html
782                fast/dom/DeviceOrientation/no-page-cache.html
783
784         * dom/DeviceMotionController.h:
785         (WebCore::DeviceMotionController::isActive):
786         * dom/DeviceOrientationController.h:
787         (WebCore::DeviceOrientationController::isActive):
788         * history/PageCache.cpp:
789         (WebCore::logCanCachePageDecision):
790         (WebCore::PageCache::canCache):
791         * page/Page.cpp:
792
793 2010-10-13  Jenn Braithwaite  <jennb@chromium.org>
794
795         Reviewed by Dmitry Titov.
796
797         Make resource identifiers unique across pages
798         https://bugs.webkit.org/show_bug.cgi?id=47002
799
800         Test: http/tests/misc/iframe-reparenting-id-collision.html
801
802         * loader/ProgressTracker.cpp:
803         (WebCore::ProgressTracker::ProgressTracker):
804         (WebCore::ProgressTracker::createUniqueIdentifier):
805         * loader/ProgressTracker.h:
806
807 2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
808
809         Reviewed by David Hyatt.
810
811         Bug 41040 - :before/:after content should not become part of a ruby base
812         https://bugs.webkit.org/show_bug.cgi?id=41040
813
814         Also related to:
815         https://bugs.webkit.org/show_bug.cgi?id=40895.
816         https://bugs.webkit.org/show_bug.cgi?id=43722.
817
818         Explicitly handle :before and :after content in the default way.
819
820         Test: fast/ruby/ruby-beforeafter.html
821               fast/ruby/after-doesnt-crash.html
822
823         * rendering/RenderObject.h:
824         (WebCore::RenderObject::isBeforeContent):
825         * rendering/RenderRuby.cpp:
826         (WebCore::lastRubyRun):
827         (WebCore::RenderRubyAsInline::addChild):
828         (WebCore::RenderRubyAsInline::removeChild):
829         (WebCore::RenderRubyAsBlock::addChild):
830         (WebCore::RenderRubyAsBlock::removeChild):
831
832 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
833
834         Unreviewed, rolling out r69639.
835         http://trac.webkit.org/changeset/69639
836         https://bugs.webkit.org/show_bug.cgi?id=47575
837
838         "regressed nav-element.html" (Requested by rniwa on #webkit).
839
840         * editing/ApplyBlockElementCommand.cpp:
841         (WebCore::ApplyBlockElementCommand::formatSelection):
842         * editing/EditorCommand.cpp:
843         (WebCore::executeFormatBlock):
844         * editing/FormatBlockCommand.cpp:
845         (WebCore::FormatBlockCommand::formatRange):
846         * editing/FormatBlockCommand.h:
847         (WebCore::FormatBlockCommand::editingAction):
848         * editing/VisiblePosition.cpp:
849         (WebCore::enclosingBlockFlowElement):
850         * editing/VisiblePosition.h:
851         * editing/htmlediting.cpp:
852         (WebCore::validBlockTag):
853         * editing/htmlediting.h:
854
855 2010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
856
857         Reviewed by Tony Chang.
858
859         execCommand FormatBlock creates lots of blockquotes
860         https://bugs.webkit.org/show_bug.cgi?id=19795
861
862         The bug was caused by WebKit's not reusing the block node added by previous iteration
863         and its inserting block node at wrong places.
864
865         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
866         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
867         avoids the existing block elements when replacing blocks and it also adds a placeholder
868         when removing the existing block caused paragraphs to collapse.
869
870         Tests: editing/execCommand/format-block-multiple-paragraphs.html
871                editing/execCommand/format-block-table.html
872
873         * editing/EditorCommand.cpp:
874         (WebCore::executeFormatBlock):
875         * editing/FormatBlockCommand.cpp:
876         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
877         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
878         and moved from htmlediting.cpp.
879         (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
880         * editing/FormatBlockCommand.h:
881         * editing/VisiblePosition.cpp:
882         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
883         * editing/VisiblePosition.h:
884
885 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
886
887         Reviewed by Anders Carlsson.
888
889         Make PluginView inherit from PluginViewBase.
890
891         This change is a precursor to adding accelerated compositing support
892         for NPAPI plugins.
893
894         https://bugs.webkit.org/show_bug.cgi?id=47418
895
896         * page/Page.cpp:
897         (WebCore::Page::privateBrowsingStateChanged):
898         * plugins/PluginView.h:
899         * plugins/PluginViewBase.h:
900         (WebCore::PluginViewBase::PluginViewBase):
901
902 2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
903
904         Reviewed by Jian Li.
905
906         Pass platform path (rather than virtual path) when creating File from FileEntry
907         https://bugs.webkit.org/show_bug.cgi?id=47563
908
909         No new tests, the new test for FileWriter will be verifying this.
910
911         * fileapi/FileEntry.cpp:
912         (WebCore::FileEntry::file):
913
914 2010-10-12 David Hyatt  <hyatt@apple.com>
915
916         Reviewed by Dan Bernstein
917
918         <rdar://problem/8488444> REGRESSION (r67771)
919         https://bugs.webkit.org/show_bug.cgi?id=47434
920         Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
921         
922         Added printing/simultaneous-position-float-change.html
923
924         Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
925         objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
926         changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
927         automatically mark themselves as needing layout.
928
929         * rendering/LayoutState.cpp:
930         (WebCore::LayoutState::LayoutState):
931         * rendering/LayoutState.h:
932         (WebCore::LayoutState::LayoutState):
933         (WebCore::LayoutState::pageHeight):
934         (WebCore::LayoutState::pageHeightChanged):
935         * rendering/RenderBlock.cpp:
936         (WebCore::RenderBlock::layoutBlock):
937         (WebCore::RenderBlock::layoutBlockChild):
938         (WebCore::RenderBlock::layoutPositionedObjects):
939         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
940         (WebCore::RenderBlock::insertFloatingObject):
941         (WebCore::RenderBlock::positionNewFloats):
942         * rendering/RenderBlock.h:
943         * rendering/RenderBox.cpp:
944         * rendering/RenderBox.h:
945         (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
946         * rendering/RenderFlexibleBox.cpp:
947         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
948         (WebCore::RenderFlexibleBox::layoutVerticalBox):
949         * rendering/RenderView.cpp:
950         (WebCore::RenderView::RenderView):
951         (WebCore::RenderView::layout):
952         * rendering/RenderView.h:
953         (WebCore::RenderView::setPageHeight):
954         (WebCore::RenderView::pushLayoutState):
955         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
956         (WebCore::LayoutStateMaintainer::push):
957
958 2010-10-12  Anders Carlsson  <andersca@apple.com>
959
960         Reviewed by Dan Bernstein.
961
962         Paint the find overlay background
963         https://bugs.webkit.org/show_bug.cgi?id=47565
964
965         Export symbols required by WebKit2.
966
967         * WebCore.exp.in:
968
969 2010-10-12  James Robinson  <jamesr@chromium.org>
970
971         Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
972
973         * platform/graphics/chromium/LayerRendererChromium.cpp:
974         (WebCore::LayerRendererChromium::create):
975         (WebCore::LayerRendererChromium::LayerRendererChromium):
976         * platform/graphics/chromium/LayerRendererChromium.h:
977
978 2010-10-12  Chris Marrin  <cmarrin@apple.com>
979
980         Reviewed by Darin Adler.
981
982         Manage DrawingBuffer lifetime in GraphicsContext3D
983         https://bugs.webkit.org/show_bug.cgi?id=47501
984
985         GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
986         has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
987         DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
988         refers to GraphicsContext3D rather than SharedGraphicsContext3D.
989
990         * html/canvas/CanvasRenderingContext2D.cpp:
991         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
992         * html/canvas/CanvasRenderingContext2D.h:
993         * html/canvas/WebGLRenderingContext.cpp:
994         (WebCore::WebGLRenderingContext::create):
995         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
996         * html/canvas/WebGLRenderingContext.h:
997         * platform/graphics/GraphicsContext3D.cpp:
998         (WebCore::GraphicsContext3D::createDrawingBuffer):
999         * platform/graphics/GraphicsContext3D.h:
1000         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1001         (WebCore::generateColorTexture):
1002         (WebCore::DrawingBuffer::DrawingBuffer):
1003         (WebCore::DrawingBuffer::~DrawingBuffer):
1004         (WebCore::DrawingBuffer::publishToPlatformLayer):
1005         (WebCore::DrawingBuffer::reset):
1006         * platform/graphics/gpu/DrawingBuffer.cpp:
1007         (WebCore::DrawingBuffer::create):
1008         (WebCore::DrawingBuffer::clear):
1009         (WebCore::DrawingBuffer::bind):
1010         * platform/graphics/gpu/DrawingBuffer.h:
1011         (WebCore::DrawingBuffer::graphicsContext3D):
1012         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1013         (WebCore::SharedGraphicsContext3D::create):
1014         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1015         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1016         (WebCore::SharedGraphicsContext3D::graphicsContext3D):
1017         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1018         (WebCore::DrawingBuffer::DrawingBuffer):
1019         (WebCore::DrawingBuffer::~DrawingBuffer):
1020         (WebCore::DrawingBuffer::reset):
1021         * platform/graphics/mac/GraphicsContext3DMac.mm:
1022         (WebCore::GraphicsContext3D::create):
1023
1024 2010-10-12  Jian Li  <jianli@chromium.org>
1025
1026         Reviewed by David Levin.
1027
1028         Fix passing blob data with string data item between threads.
1029         https://bugs.webkit.org/show_bug.cgi?id=46543
1030
1031         The fix is to use a thread-safe ref-counted Vector<char> to store the
1032         string data. This also makes us be able to store any binary data in it.
1033
1034         I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
1035         copies to make blob handling faster.
1036
1037         * fileapi/BlobBuilder.cpp:
1038         (WebCore::BlobBuilder::append):
1039         * fileapi/ThreadableBlobRegistry.cpp:
1040         (WebCore::BlobRegistryContext::BlobRegistryContext):
1041         * platform/network/BlobData.cpp:
1042         (WebCore::BlobDataItem::RawData::RawData):
1043         (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
1044         (WebCore::BlobDataItem::detachFromCurrentThread):
1045         (WebCore::BlobData::create):
1046         (WebCore::BlobData::detachFromCurrentThread):
1047         (WebCore::BlobData::appendData):
1048         * platform/network/BlobData.h:
1049         (WebCore::BlobDataItem::RawData::create):
1050         (WebCore::BlobDataItem::RawData::data):
1051         (WebCore::BlobDataItem::RawData::length):
1052         (WebCore::BlobDataItem::RawData::mutableData):
1053         (WebCore::BlobDataItem::BlobDataItem):
1054         * platform/network/BlobRegistryImpl.cpp:
1055         (WebCore::BlobRegistryImpl::registerBlobURL):
1056         * platform/network/BlobResourceHandle.cpp:
1057         (WebCore::BlobResourceHandle::readDataSync):
1058         (WebCore::BlobResourceHandle::readDataAsync):
1059         * platform/network/mac/FormDataStreamMac.mm:
1060         (WebCore::setHTTPBody):
1061         * platform/text/LineEnding.cpp:
1062         (OutputBuffer::CStringBuffer::CStringBuffer):
1063         (OutputBuffer::CStringBuffer::~CStringBuffer):
1064         (OutputBuffer::CStringBuffer::allocate):
1065         (OutputBuffer::CStringBuffer::copy):
1066         (OutputBuffer::CStringBuffer::buffer):
1067         (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
1068         (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
1069         (OutputBuffer::VectorCharAppendBuffer::allocate):
1070         (OutputBuffer::VectorCharAppendBuffer::copy):
1071         (OutputBuffer::internalNormalizeLineEndingsToCRLF):
1072         (WebCore::normalizeToCROrLF):
1073         (WebCore::normalizeLineEndingsToCRLF):
1074         (WebCore::normalizeLineEndingsToCR):
1075         (WebCore::normalizeLineEndingsToLF):
1076         (WebCore::normalizeLineEndingsToNative):
1077         * platform/text/LineEnding.h:
1078
1079 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1080
1081         Unreviewed, rolling out r69589.
1082         http://trac.webkit.org/changeset/69589
1083         https://bugs.webkit.org/show_bug.cgi?id=47547
1084
1085         Wrong patch landed from a bug with two patches (Requested by
1086         mrobinson on #webkit).
1087
1088         * platform/network/ResourceHandleInternal.h:
1089         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1090         * platform/network/soup/ResourceHandleSoup.cpp:
1091         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1092         (WebCore::ResourceHandle::~ResourceHandle):
1093         (WebCore::restartedCallback):
1094         (WebCore::gotChunkCallback):
1095         (WebCore::finishedCallback):
1096         (WebCore::parseDataUrl):
1097         (WebCore::startHttp):
1098         * platform/network/soup/ResourceRequest.h:
1099         * platform/network/soup/ResourceRequestSoup.cpp:
1100
1101 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
1102
1103         Screen.availLeft should be signed
1104         https://bugs.webkit.org/show_bug.cgi?id=34397
1105         
1106         Add the manual test missed in r69599.
1107
1108         * manual-tests/screen-availLeft.html: Added.
1109
1110 2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
1111
1112         Reviewed by Ariya Hidayat.
1113
1114         [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
1115
1116         Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
1117         quirk is enabled only for 64-bit Flash/X11 and should not affect other
1118         plugins. The freeze itself is in Flash code and the backtrace is not
1119         useful.
1120
1121         https://bugs.webkit.org/show_bug.cgi?id=47545
1122
1123         * plugins/PluginPackage.cpp:
1124         (WebCore::PluginPackage::determineQuirks):
1125         * plugins/PluginQuirkSet.h:
1126         * plugins/qt/PluginViewQt.cpp:
1127         (WebCore::PluginView::handleMouseEvent):
1128
1129 2010-10-08  Simon Fraser  <simon.fraser@apple.com>
1130
1131         Reviewed by Alexey Proskuryakov.
1132
1133         Screen.availLeft should be signed
1134         https://bugs.webkit.org/show_bug.cgi?id=34397
1135
1136         For the screen to the left of the main screen, screen.availLeft
1137         can be negative, so the Screen API needs to use signed numbers
1138         for availLeft and availTop.
1139
1140         * manual-tests/screen-availLeft.html: Added.
1141         * page/Screen.cpp:
1142         (WebCore::Screen::availLeft):
1143         (WebCore::Screen::availTop):
1144         * page/Screen.h:
1145         * page/Screen.idl:
1146
1147 2010-10-12  Anders Carlsson  <andersca@apple.com>
1148
1149         Reviewed by Sam Weinig.
1150
1151         Add FindController class
1152         https://bugs.webkit.org/show_bug.cgi?id=47555
1153
1154         Export Page::findString.
1155
1156         * WebCore.exp.in:
1157
1158 2010-10-12  Alexey Proskuryakov  <ap@apple.com>
1159
1160         Reviewed by Simon Fraser.
1161
1162         https://bugs.webkit.org/show_bug.cgi?id=47550
1163         <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
1164         (esp. with AdBlock style extensions)
1165
1166         No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
1167
1168         The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
1169         not available yet, so scripting could only attempt to load it recursively.
1170
1171         This didn't affect NPAPI plug-ins, because of a completely different code path taken in
1172         updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
1173
1174         * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
1175         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
1176         * html/HTMLPlugInElement.cpp:
1177         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
1178         (WebCore::HTMLPlugInElement::pluginWidget):
1179         * html/HTMLPlugInElement.h:
1180
1181 2010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
1182
1183         Reviewed by Gavin Barraclough.
1184
1185         Unify JSC::StringBuilder & WebCore::StringBuilder
1186         https://bugs.webkit.org/show_bug.cgi?id=47538
1187
1188         JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
1189         WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
1190         characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
1191         most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
1192         strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
1193
1194         Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
1195         While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
1196
1197         No change in functionality, thus no new tests.
1198
1199         * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
1200         * CMakeLists.txt: Ditto.
1201         * GNUmakefile.am: Ditto. 
1202         * WebCore.gypi: Ditto.
1203         * WebCore.order: Ditto.
1204         * WebCore.pro: Ditto.
1205         * WebCore.vcproj/WebCore.vcproj: Ditto.
1206         * WebCore.xcodeproj/project.pbxproj: Ditto.
1207         * ForwardingHeaders/runtime/StringBuilder.h: Removed.
1208         * ForwardingHeaders/runtime/UStringBuilder.h: Added.
1209         * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
1210         * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
1211         (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
1212         * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
1213         * css/MediaQuery.cpp: Ditto.
1214         * css/MediaQueryExp.cpp: Ditto.
1215         * dom/Node.cpp: Ditto.
1216         (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
1217         * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
1218         * html/DOMTokenList.cpp: Use WTF::StringBuilder.
1219         * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
1220         * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
1221         * platform/brew/FileSystemBrew.cpp: Ditto.
1222         * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
1223         * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
1224         * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
1225         * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
1226         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
1227         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
1228         * platform/network/ProxyServer.cpp:
1229         (WebCore::appendProxyServerString): Use WTF::StringBuilder.
1230         * platform/text/StringBuffer.h: Removed.
1231         * platform/text/StringBuilder.cpp: Removed.
1232         * platform/text/StringBuilder.h: Removed.
1233         * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
1234         * svg/SVGPathParserFactory.cpp: Ditto.
1235         * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
1236         (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
1237         (WebCore::SVGPathStringBuilder::moveTo):
1238         (WebCore::SVGPathStringBuilder::lineTo):
1239         (WebCore::SVGPathStringBuilder::lineToHorizontal):
1240         (WebCore::SVGPathStringBuilder::lineToVertical):
1241         (WebCore::SVGPathStringBuilder::curveToCubic):
1242         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
1243         (WebCore::SVGPathStringBuilder::curveToQuadratic):
1244         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
1245         (WebCore::SVGPathStringBuilder::arcTo):
1246         (WebCore::SVGPathStringBuilder::closePath):
1247         * svg/SVGPathStringBuilder.h:
1248         (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
1249         * websockets/WebSocket.cpp: Use WTF::StringBuilder.
1250         * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
1251
1252 2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1253
1254         Reviewed by Antonio Gomes.
1255
1256         [EFL] Add a missing file in CMakeListEfl.txt
1257         https://bugs.webkit.org/show_bug.cgi?id=47480
1258
1259         IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
1260
1261         * CMakeListsEfl.txt:
1262
1263 2010-10-12  Sam Weinig  <sam@webkit.org>
1264
1265         Reviewed by Anders Carlsson.
1266
1267         Need WebKit2 API to get the cell above a table cell
1268         <rdar://problem/8537111>
1269         https://bugs.webkit.org/show_bug.cgi?id=47532
1270
1271         Re-factor functionality to get the cell above a table cell
1272         into a function on HTMLTableCellElement and export it for use
1273         as SPI.
1274
1275         * WebCore.exp.in:
1276         * WebCore.xcodeproj/project.pbxproj:
1277         * html/HTMLTableCellElement.cpp:
1278         (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
1279         * html/HTMLTableCellElement.h:
1280         * page/Frame.cpp:
1281         (WebCore::Frame::searchForLabelsAboveCell): ...from here.
1282
1283 2010-10-12  Dave Moore  <davemoore@chromium.org>
1284
1285         Reviewed by Tony Chang.
1286
1287         Use new WebThemeEngine api on chromium / linux to draw scrollbars.
1288         https://bugs.webkit.org/show_bug.cgi?id=47473
1289
1290         * platform/chromium/ChromiumBridge.h:
1291         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1292
1293 2010-10-12  Andreas Kling  <kling@webkit.org>
1294
1295         Reviewed by Antonio Gomes.
1296
1297         [Qt] Clipping problem viewing SVG with WebKit
1298         https://bugs.webkit.org/show_bug.cgi?id=29596
1299
1300         SVG path clipping (via GraphicsContext::clipPath()) was done using the
1301         Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
1302         to misrenderings when nesting multiple clip paths.
1303
1304         * platform/graphics/qt/GraphicsContextQt.cpp:
1305         (WebCore::GraphicsContext::clipPath):
1306
1307 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
1308
1309         Reviewed by Pavel Feldman.
1310
1311         Web Inspector: refactoring of native breakpoints.
1312         https://bugs.webkit.org/show_bug.cgi?id=47360
1313
1314         Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
1315         Move stuff that depends on breakpoint type to corresponding subclass.
1316
1317         * inspector/Inspector.idl:
1318         * inspector/InspectorController.cpp:
1319         (WebCore::InspectorController::didCommitLoad):
1320         (WebCore::InspectorController::setNativeBreakpoint):
1321         (WebCore::InspectorController::removeNativeBreakpoint):
1322         (WebCore::InspectorController::findEventListenerBreakpoint):
1323         (WebCore::InspectorController::findXHRBreakpoint):
1324         * inspector/InspectorController.h:
1325         * inspector/InspectorDOMAgent.cpp:
1326         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1327         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1328         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1329         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1330         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
1331         (WebCore::InspectorDOMAgent::createBreakpointId):
1332         * inspector/InspectorDOMAgent.h:
1333         * inspector/InspectorDebuggerAgent.h:
1334         * inspector/InspectorInstrumentation.cpp:
1335         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1336         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1337         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1338         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1339         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
1340         * inspector/front-end/BreakpointManager.js:
1341         (WebInspector.BreakpointManager):
1342         (WebInspector.BreakpointManager.prototype.reset):
1343         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
1344         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
1345         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
1346         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
1347         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
1348         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
1349         (WebInspector.BreakpointManager.prototype.debuggerPaused):
1350         (WebInspector.BreakpointManager.prototype.debuggerResumed):
1351         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
1352         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
1353         (WebInspector.NativeBreakpoint):
1354         (WebInspector.NativeBreakpoint.prototype.remove):
1355         (WebInspector.NativeBreakpoint.prototype.get _frontendId):
1356         (WebInspector.NativeBreakpoint.prototype.get _type):
1357         (WebInspector.NativeBreakpoint.prototype._compare):
1358         (WebInspector.NativeBreakpoint.prototype._onRemove):
1359         (WebInspector.DOMBreakpoint):
1360         (WebInspector.DOMBreakpoint.prototype.click):
1361         (WebInspector.DOMBreakpoint.prototype.compareTo):
1362         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
1363         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
1364         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
1365         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
1366         (WebInspector.DOMBreakpoint.prototype._condition):
1367         (WebInspector.DOMBreakpoint.prototype._onRemove):
1368         (WebInspector.EventListenerBreakpoint):
1369         (WebInspector.EventListenerBreakpoint.prototype.compareTo):
1370         (WebInspector.EventListenerBreakpoint.prototype.label):
1371         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
1372         (WebInspector.EventListenerBreakpoint.prototype._condition):
1373         (WebInspector.XHRBreakpoint):
1374         (WebInspector.XHRBreakpoint.prototype.compareTo):
1375         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
1376         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
1377         (WebInspector.XHRBreakpoint.prototype._condition):
1378         (WebInspector.domBreakpointTypeLabel):
1379         (WebInspector.domBreakpointTypeContextMenuLabel):
1380         * inspector/front-end/BreakpointsSidebarPane.js:
1381         (WebInspector.BreakpointItem):
1382         (WebInspector.BreakpointItem.prototype._breakpointClicked):
1383         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
1384         * inspector/front-end/CallStackSidebarPane.js:
1385         (WebInspector.CallStackSidebarPane):
1386         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1387         (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
1388         * inspector/front-end/DOMAgent.js:
1389         (WebInspector.DOMNode):
1390         (WebInspector.DOMAgent.prototype._setDocument):
1391         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1392         (WebInspector.childNodeRemoved):
1393         * inspector/front-end/ElementsTreeOutline.js:
1394         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1395         * inspector/front-end/ScriptsPanel.js:
1396         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
1397         * inspector/front-end/inspector.js:
1398         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
1399         (WebInspector.createDOMBreakpointsSidebarPane):
1400         (WebInspector.reset):
1401
1402 2010-10-11  Eric Uhrhane  <ericu@chromium.org>
1403
1404         Reviewed by Dumitru Daniliuc.
1405
1406         FileWriter should hold a reference to a Blob during write
1407         https://bugs.webkit.org/show_bug.cgi?id=47318
1408
1409         Without this reference, the Blob might get garbage-collected from JS
1410         before the write has completed, which would be quite unintuitive to the
1411         user.  I just grab a RefPtr to the Blob at write(), then clear it when
1412         we're done.
1413
1414         * fileapi/FileWriter.cpp:
1415         (WebCore::FileWriter::stop):
1416         (WebCore::FileWriter::write):
1417         (WebCore::FileWriter::didWrite):
1418         (WebCore::FileWriter::didFail):
1419         * fileapi/FileWriter.h:
1420
1421 2010-10-11  Michael Saboff  <msaboff@apple.com>
1422
1423         Reviewed by Darin Adler.
1424
1425         Changed DOMWindow to have a constructor.  Updated the code generator
1426         to add security checks to the constructors if CheckDomainSecurity is 
1427         set.  Also changed the constructor generation code to use 
1428         globalObject->prototype() for DOMWindow object prototypes instead
1429         of "self".
1430         https://bugs.webkit.org/show_bug.cgi?id=47422
1431
1432         Test: fast/dom/Window/window-constructor.html
1433
1434         * bindings/scripts/CodeGeneratorJS.pm:
1435         * page/DOMWindow.idl:
1436
1437 2010-10-11  Daniel Cheng  <dcheng@chromium.org>
1438
1439         Reviewed by Tony Chang.
1440
1441         [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
1442         https://bugs.webkit.org/show_bug.cgi?id=44992
1443
1444         In order to allow a graceful transition, ChromiumDataObject has been
1445         reimplemented as a wrapper around the three different types of data
1446         objects that the Chrome port uses:
1447         1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
1448            All the data that ClipboardChromium/DragDataChromium can potentially
1449            use is copied over, regardless of whether or not it is needed.
1450         2. ReadableDataObject -- used for dragging in and pasting into WebKit.
1451            For efficiency, it caches an optimistic list of types it believes it
1452            can handle. When getData() is called, a browser IPC is called to
1453            retrieve the appropriate data.
1454         3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
1455            buffers all data when dragging out of WebKit or copying/cutting.
1456            Unfortunately, there is a difference between dragging out and
1457            copying/cutting--on drag outs, the data is buffered and flushed out
1458            when startDrag() is called. For copy/cut, any calls to setData()
1459            result in a browser IPC right away, so calls to setData() in one
1460            copy/cut event are not atomic.
1461
1462         Copy and paste has been changed to use the new data objects. Dragging
1463         out uses the legacy data object, and dragging in now has two potential
1464         entry points--one using the legacy data object, and one using
1465         ReadableDataObject. Once Chromium transitions to using the new drag-in
1466         interface, the old interface will be removed.
1467
1468         This change is covered by existing tests.
1469
1470         * WebCore.gypi:
1471         * editing/chromium/EditorChromium.cpp:
1472         (WebCore::Editor::newGeneralClipboard):
1473         * page/chromium/EventHandlerChromium.cpp:
1474         (WebCore::EventHandler::createDraggingClipboard):
1475         * platform/chromium/ChromiumDataObject.cpp:
1476         (WebCore::ChromiumDataObject::ChromiumDataObject):
1477         (WebCore::ChromiumDataObject::create):
1478         (WebCore::ChromiumDataObject::createReadable):
1479         (WebCore::ChromiumDataObject::createWritable):
1480         (WebCore::ChromiumDataObject::clearData):
1481         (WebCore::ChromiumDataObject::clearAll):
1482         (WebCore::ChromiumDataObject::clearAllExceptFiles):
1483         (WebCore::ChromiumDataObject::hasData):
1484         (WebCore::ChromiumDataObject::types):
1485         (WebCore::ChromiumDataObject::getData):
1486         (WebCore::ChromiumDataObject::setData):
1487         (WebCore::ChromiumDataObject::urlTitle):
1488         (WebCore::ChromiumDataObject::setUrlTitle):
1489         (WebCore::ChromiumDataObject::htmlBaseUrl):
1490         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
1491         (WebCore::ChromiumDataObject::containsFilenames):
1492         (WebCore::ChromiumDataObject::filenames):
1493         (WebCore::ChromiumDataObject::setFilenames):
1494         (WebCore::ChromiumDataObject::fileExtension):
1495         (WebCore::ChromiumDataObject::setFileExtension):
1496         (WebCore::ChromiumDataObject::fileContentFilename):
1497         (WebCore::ChromiumDataObject::setFileContentFilename):
1498         (WebCore::ChromiumDataObject::fileContent):
1499         (WebCore::ChromiumDataObject::setFileContent):
1500         * platform/chromium/ChromiumDataObject.h:
1501         * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
1502         (WebCore::ChromiumDataObjectLegacy::clearData):
1503         (WebCore::ChromiumDataObjectLegacy::clearAll):
1504         (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
1505         (WebCore::ChromiumDataObjectLegacy::hasData):
1506         (WebCore::ChromiumDataObjectLegacy::types):
1507         (WebCore::ChromiumDataObjectLegacy::getData):
1508         (WebCore::ChromiumDataObjectLegacy::setData):
1509         (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
1510         * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
1511         (WebCore::ChromiumDataObjectLegacy::create):
1512         (WebCore::ChromiumDataObjectLegacy::copy):
1513         (WebCore::ChromiumDataObjectLegacy::urlTitle):
1514         (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
1515         (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
1516         (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
1517         (WebCore::ChromiumDataObjectLegacy::containsFilenames):
1518         (WebCore::ChromiumDataObjectLegacy::filenames):
1519         (WebCore::ChromiumDataObjectLegacy::setFilenames):
1520         (WebCore::ChromiumDataObjectLegacy::fileExtension):
1521         (WebCore::ChromiumDataObjectLegacy::setFileExtension):
1522         (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
1523         (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
1524         (WebCore::ChromiumDataObjectLegacy::fileContent):
1525         (WebCore::ChromiumDataObjectLegacy::setFileContent):
1526         * platform/chromium/ClipboardChromium.cpp:
1527         (WebCore::ClipboardChromium::create):
1528         * platform/chromium/ClipboardChromium.h:
1529         * platform/chromium/ReadableDataObject.cpp:
1530         (WebCore::ReadableDataObject::getData):
1531         * platform/chromium/WritableDataObject.cpp:
1532         (WebCore::WritableDataObject::setData):
1533
1534 2010-10-11  Anders Carlsson  <andersca@apple.com>
1535
1536         Reviewed by Darin Adler.
1537
1538         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
1539         https://bugs.webkit.org/show_bug.cgi?id=47523
1540
1541         Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
1542
1543         * GNUmakefile.am:
1544         * WebCore.exp.in:
1545         * WebCore.gyp/WebCore.gyp:
1546         * WebCore.gypi:
1547         * WebCore.vcproj/WebCore.vcproj:
1548         * WebCore.xcodeproj/project.pbxproj:
1549         * loader/icon/IconFetcher.cpp: Removed.
1550         * loader/icon/IconFetcher.h: Removed.
1551
1552 2010-10-11  Jia Pu  <jpu@apple.com>
1553
1554         Reviewed by Adele Peterson.
1555
1556         Should commit pending autocorrection before next round of text checking.
1557         https://bugs.webkit.org/show_bug.cgi?id=46986
1558         <rdar://problem/8424535>
1559
1560         1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
1561         2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
1562            selection changes, which occurs after every typing command.
1563
1564         * editing/Editor.cpp:
1565         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
1566         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
1567           in m_correctionReplacementString.
1568         (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
1569         * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
1570
1571 2010-10-11  Oliver Hunt  <oliver@apple.com>
1572
1573         Reviewed by Adam Barth.
1574
1575         Make fast/canvas/webgl/glsl-conformance pass again
1576         https://bugs.webkit.org/show_bug.cgi?id=47525
1577
1578         Remove incorrect call to glGetShaderiv, so it is only
1579         called in the case where we don't have our own simulated
1580         log.
1581
1582         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1583         (WebCore::GraphicsContext3D::getShaderInfoLog):
1584
1585 2010-10-11  Sam Weinig  <sam@webkit.org>
1586
1587         Reviewed by Anders Carlsson.
1588
1589         Add WebKit2 equivalents for setValueForUser and setAutoFilled
1590         <rdar://problem/8475934>
1591         https://bugs.webkit.org/show_bug.cgi?id=47524
1592
1593         * WebCore.exp.in: Add needed export.
1594
1595 2010-10-11  Andrei Popescu  <andreip@google.com>
1596
1597         Reviewed by Jeremy Orlow.
1598
1599         The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
1600         https://bugs.webkit.org/show_bug.cgi?id=47508
1601
1602         * bindings/generic/RuntimeEnabledFeatures.h:
1603         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
1604         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
1605         (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
1606         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
1607         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
1608         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
1609         (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
1610         (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
1611         (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
1612         (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
1613         (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
1614         (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
1615         (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
1616         (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
1617         (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
1618         * page/DOMWindow.cpp:
1619         (WebCore::DOMWindow::webkitIndexedDB):
1620         * page/DOMWindow.h:
1621         * page/DOMWindow.idl:
1622
1623 2010-10-11  Sam Weinig  <sam@webkit.org>
1624
1625         Reviewed by Anders Carlsson.
1626
1627         Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
1628         https://bugs.webkit.org/show_bug.cgi?id=47509
1629
1630         * WebCore.exp.in: Export toNode.
1631
1632 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1633
1634         Reviewed by Tony Chang.
1635
1636         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
1637         https://bugs.webkit.org/show_bug.cgi?id=47244
1638
1639         Store the URI list as a String in DataObjectGtk, so that non-URI elements
1640         are preserved when getData(...) is called. This necessitates some other
1641         changes, including adding a m_filenames member to DataObjectGtk to store
1642         filenames extracted during setURIList(...). The logic in getData(...) has
1643         also changed to set success = true no matter what to match the spec. A
1644         followup patch will remove this parameter completely for all platforms.
1645
1646         * platform/gtk/ClipboardGtk.cpp:
1647         (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
1648         spec and Firefox. Simply return the uriList string from the DataObject
1649         instead of reconstructing it from a vector of KURLs.
1650         (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
1651         for the uriList parameter.
1652         (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
1653         DataObjectGtk::hasFilenames().
1654         (WebCore::ClipboardGtk::files): Update to reflect the change from
1655         DataObjectGtk::files() to DataObjectGtk::filenames().
1656         * platform/gtk/DataObjectGtk.cpp:
1657         (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
1658         first valid URL to use as the m_url member and also extract a list of filenames
1659         from the URI list.
1660         (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
1661         (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
1662         also leave a comment explaining why we do not clear filenames here.
1663         * platform/gtk/DataObjectGtk.h:
1664         (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
1665         (WebCore::DataObjectGtk::uriList): Ditto.
1666         (WebCore::DataObjectGtk::filenames): Added.
1667         (WebCore::DataObjectGtk::hasURL): Now a simple check.
1668         (WebCore::DataObjectGtk::hasFilenames): Added.
1669         (WebCore::DataObjectGtk::clearURIList): Simple setter.
1670         (WebCore::DataObjectGtk::clearURL): Ditto.
1671         * platform/gtk/DragDataGtk.cpp:
1672         (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
1673         (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
1674         * platform/gtk/PasteboardHelper.cpp:
1675         (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
1676         (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
1677         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
1678
1679 2010-10-11  James Robinson  <jamesr@chromium.org>
1680
1681         Reviewed by Kenneth Russell.
1682
1683         [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
1684         https://bugs.webkit.org/show_bug.cgi?id=47241
1685
1686         Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
1687         if there is no drawingContext associated with the canvas.
1688
1689         Test: fast/canvas/access-zero-sized-canvas.html
1690               fast/canvas/canvas-skia-excessive-size.html
1691               fast/canvas/toDataURL-noData.html
1692         with --accelerated-compositing and --accelerated-2d-canvas
1693
1694         * html/canvas/CanvasRenderingContext2D.cpp:
1695         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1696         (WebCore::CanvasRenderingContext2D::reset):
1697
1698 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1699
1700         Reviewed by Gustavo Noronha Silva.
1701
1702         [GTK] Cleanup font selection code for the Freetype backend
1703         https://bugs.webkit.org/show_bug.cgi?id=47503
1704
1705         Do some miscellaneous cleanup work in the Freetype font font selection backend.
1706
1707         * platform/graphics/cairo/FontCacheFreeType.cpp:
1708         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
1709         a WebCore String.
1710         (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
1711         handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
1712         comparisons using WebCore Strings. Remove a large block comment that originated from a
1713         Apache-licensed file.
1714
1715 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1716
1717         Reviewed by Gustavo Noronha Silva.
1718
1719         [GTK] Buttons activated with the keyboard should be painted as clicked
1720         https://bugs.webkit.org/show_bug.cgi?id=18364
1721
1722         When a button is pressed, force it into the hovered state as far as the
1723         Mozilla theme drawing code is concerned. This bug also seems to be an
1724         issue for Firefox. When we switch away from the Mozilla theme drawing
1725         code this work-around should no longer be necessary.
1726
1727         No new tests. I was not able to generate a pixel test for this issue. It
1728         seems that our DRT does not have the necessary infrastructure to generate a
1729         pixel dump while a button is in the pressed state.
1730
1731         * platform/gtk/RenderThemeGtk.cpp:
1732         (WebCore::RenderThemeGtk::paintRenderObject):
1733
1734 2010-10-11  Jian Li  <jianli@chromium.org>
1735
1736         Unreviewed. Build fix.
1737
1738         * bindings/js/JSArrayBufferCustom.cpp:
1739         * bindings/js/JSArrayBufferViewCustom.cpp:
1740         * bindings/js/JSFloat32ArrayCustom.cpp:
1741         * bindings/js/JSInt16ArrayCustom.cpp:
1742         * bindings/js/JSInt32ArrayCustom.cpp:
1743         * bindings/js/JSInt8ArrayCustom.cpp:
1744         * bindings/js/JSUint16ArrayCustom.cpp:
1745         * bindings/js/JSUint32ArrayCustom.cpp:
1746         * bindings/js/JSUint8ArrayCustom.cpp:
1747         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1748         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
1749         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1750         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1751         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1752         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1753         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1754         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1755         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1756
1757 2010-10-11  Brent Fulgham  <bfulgham@webkit.org>
1758
1759         Unreviewed WinCairo build fixes.
1760
1761         * platform/network/curl/ResourceResponse.h: Correct forward declaration
1762         for CFURLResponseRef.
1763         * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
1764         header file to avoid build failure on non-VIDEO builds.
1765
1766 2010-10-11  Jian Li  <jianli@chromium.org>
1767
1768         Reviewed by Adam Barth.
1769
1770         Add File API feature guard to all typed array files
1771         https://bugs.webkit.org/show_bug.cgi?id=47437
1772
1773         Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
1774         we need to update all type array files to include File API feature guard
1775         in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
1776         XMLHttpRequest, we will then remove all the guards. This is per the
1777         discussion on webkit-dev mailing list:
1778         https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
1779
1780         * html/canvas/ArrayBuffer.cpp:
1781         * html/canvas/ArrayBuffer.idl:
1782         * html/canvas/ArrayBufferView.cpp:
1783         * html/canvas/ArrayBufferView.idl:
1784         * html/canvas/Float32Array.cpp:
1785         * html/canvas/Float32Array.idl:
1786         * html/canvas/Int16Array.cpp:
1787         * html/canvas/Int16Array.idl:
1788         * html/canvas/Int32Array.cpp:
1789         * html/canvas/Int32Array.idl:
1790         * html/canvas/Int8Array.cpp:
1791         * html/canvas/Int8Array.idl:
1792         * html/canvas/Uint16Array.cpp:
1793         * html/canvas/Uint16Array.idl:
1794         * html/canvas/Uint32Array.cpp:
1795         * html/canvas/Uint32Array.idl:
1796         * html/canvas/Uint8Array.cpp:
1797         * html/canvas/Uint8Array.idl:
1798
1799 2010-10-11  Andreas Kling  <kling@webkit.org>
1800
1801         Build fix (implicit float conversion in Path.cpp)
1802
1803         * platform/graphics/Path.cpp:
1804
1805 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
1806
1807         Reviewed by Kenneth Rohde Christiansen.
1808
1809         [Qt] Refactor Plugin X Pixmap painting code to a separate function
1810
1811         The refactored function will be used for rendering by the Accelerated
1812         Composition enabled graphics layer.
1813
1814         https://bugs.webkit.org/show_bug.cgi?id=35524
1815
1816         * plugins/PluginView.h:
1817         * plugins/qt/PluginViewQt.cpp:
1818         (WebCore::PluginView::paintUsingXPixmap):
1819         (WebCore::PluginView::paint):
1820
1821 2010-10-11  Andreas Kling  <kling@webkit.org>
1822
1823         Reviewed by Dirk Schulze.
1824
1825         SVG: Remove "create" methods and use port-specific "add" counterparts
1826         https://bugs.webkit.org/show_bug.cgi?id=46052
1827
1828         Circles and ellipses will be significantly faster on platforms that
1829         implement Path::addEllipse() in a sane fashion.
1830
1831         Also, a lot of Path copying has been factored out by changing functions
1832         that would return Paths to take Path& arguments instead (toPathData, toClipPath)
1833
1834         * mathml/RenderMathMLRoot.cpp:
1835         (WebCore::RenderMathMLRoot::paint):
1836         * mathml/RenderMathMLSquareRoot.cpp:
1837         (WebCore::RenderMathMLSquareRoot::paint):
1838         * platform/graphics/GraphicsContext.cpp:
1839         (WebCore::GraphicsContext::addRoundedRectClip):
1840         (WebCore::GraphicsContext::clipOutRoundedRect):
1841         * platform/graphics/Path.cpp:
1842         (WebCore::pathLengthApplierFunction):
1843         (WebCore::Path::addRoundedRect):
1844         * platform/graphics/Path.h:
1845         * platform/graphics/cairo/ContextShadowCairo.cpp:
1846         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
1847         (WebCore::ContextShadow::drawRectShadow):
1848         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1849         (WebCore::GraphicsContext::drawFocusRing):
1850         (WebCore::GraphicsContext::drawTiledShadow):
1851         (WebCore::GraphicsContext::fillRoundedRect):
1852         * platform/graphics/cg/GraphicsContextCG.cpp:
1853         (WebCore::GraphicsContext::fillRoundedRect):
1854         * platform/graphics/qt/GraphicsContextQt.cpp:
1855         (WebCore::GraphicsContext::fillRoundedRect):
1856         * rendering/RenderBoxModelObject.cpp:
1857         (WebCore::RenderBoxModelObject::paintBorder):
1858         (WebCore::RenderBoxModelObject::paintBoxShadow):
1859         * rendering/RenderEmbeddedObject.cpp:
1860         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1861         * rendering/RenderSVGResourceClipper.cpp:
1862         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
1863         * rendering/svg/RenderSVGPath.cpp:
1864         (WebCore::RenderSVGPath::layout):
1865         * rendering/svg/RenderSVGTextPath.cpp:
1866         (WebCore::RenderSVGTextPath::layoutPath):
1867         * rendering/svg/SVGInlineTextBox.cpp:
1868         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
1869         * svg/SVGAnimateMotionElement.cpp:
1870         (WebCore::SVGAnimateMotionElement::animationPath):
1871         * svg/SVGCircleElement.cpp:
1872         (WebCore::SVGCircleElement::toPathData):
1873         * svg/SVGCircleElement.h:
1874         * svg/SVGEllipseElement.cpp:
1875         (WebCore::SVGEllipseElement::toPathData):
1876         * svg/SVGEllipseElement.h:
1877         * svg/SVGLineElement.cpp:
1878         (WebCore::SVGLineElement::toPathData):
1879         * svg/SVGLineElement.h:
1880         * svg/SVGPathElement.cpp:
1881         (WebCore::SVGPathElement::getTotalLength):
1882         (WebCore::SVGPathElement::getPointAtLength):
1883         (WebCore::SVGPathElement::toPathData):
1884         * svg/SVGPathElement.h:
1885         * svg/SVGPolygonElement.cpp:
1886         (WebCore::SVGPolygonElement::toPathData):
1887         * svg/SVGPolygonElement.h:
1888         * svg/SVGPolylineElement.cpp:
1889         (WebCore::SVGPolylineElement::toPathData):
1890         * svg/SVGPolylineElement.h:
1891         * svg/SVGRectElement.cpp:
1892         (WebCore::SVGRectElement::toPathData):
1893         * svg/SVGRectElement.h:
1894         * svg/SVGStyledTransformableElement.cpp:
1895         (WebCore::SVGStyledTransformableElement::toClipPath):
1896         * svg/SVGStyledTransformableElement.h:
1897         (WebCore::SVGStyledTransformableElement::toPathData):
1898         * svg/SVGUseElement.cpp:
1899         (WebCore::SVGUseElement::toClipPath):
1900         * svg/SVGUseElement.h:
1901
1902 2010-10-01  Oliver Hunt  <oliver@apple.com>
1903
1904         Reviewed by Gavin Barraclough.
1905
1906         [ES5] Implement strict mode
1907         https://bugs.webkit.org/show_bug.cgi?id=10701
1908
1909         Test: fast/js/basic-strict-mode.html
1910
1911         Override toStrictThisObject on the domwindow so that
1912         it correctly provides the shell object when used as this
1913         in a strict mode function.
1914
1915         * bindings/js/JSDOMWindowBase.cpp:
1916         (WebCore::JSDOMWindowBase::toStrictThisObject):
1917         * bindings/js/JSDOMWindowBase.h:
1918
1919 2010-10-11  Joseph Pecoraro  <joepeck@webkit.org>
1920
1921         Reviewed by Eric Carlson.
1922
1923         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
1924         https://bugs.webkit.org/show_bug.cgi?id=46777
1925
1926         Another case that could lead to an improper set of states between
1927         m_currentNode and m_loadingState. Also added an ASSERT and early
1928         return to prevent crashes if this case can still happen in other ways.
1929
1930         * html/HTMLMediaElement.cpp:
1931         (WebCore::HTMLMediaElement::prepareForLoad):
1932
1933 2010-10-11  Ryosuke Niwa  <rniwa@webkit.org>
1934
1935         Reviewed by Darin Adler.
1936
1937         spellcheck="false" not respected in designMode
1938         https://bugs.webkit.org/show_bug.cgi?id=39978
1939
1940         The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
1941         Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
1942         this caused us to ignore body element's spellcheck attribute.
1943
1944         Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
1945         when the parent node of body elements (namely html element) is editable.
1946
1947         Test: editing/spelling/design-mode-spellcheck-off.html
1948
1949         * html/HTMLBodyElement.cpp:
1950         (WebCore::HTMLBodyElement::supportsFocus): Added.
1951         * html/HTMLBodyElement.h:
1952
1953 2010-10-11  Oliver Hunt  <oliver@apple.com>
1954
1955         Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
1956
1957         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1958         (WebCore::GraphicsContext3D::getShaderInfoLog):
1959
1960 2010-10-11  Oliver Hunt  <oliver@apple.com>
1961
1962         Reviewed by Andreas Kling.
1963
1964         Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
1965         https://bugs.webkit.org/show_bug.cgi?id=47494
1966
1967         Working on another patch I found that there was some screwy behaviour
1968         when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
1969         zero if there is no log message, but we did not check for that case and
1970         simply perfomed a zero sized alloc and passed the resultant buffer to
1971         glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
1972         terminator to the buffer, thus causing an overflow.  This is obviously
1973         not a problem in practice as allocations are at least 4 bytes long in
1974         all common allocators, but it is still a bug.
1975
1976         I also removed some unnecessary null checks following calls to fastMalloc.
1977
1978         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1979         (WebCore::GraphicsContext3D::getProgramInfoLog):
1980         (WebCore::GraphicsContext3D::getShaderInfoLog):
1981
1982 2010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1983
1984         Reviewed by Andreas Kling.
1985
1986         Kill Path::debugString()
1987         https://bugs.webkit.org/show_bug.cgi?id=47493
1988
1989         Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
1990
1991         * platform/graphics/Path.h:
1992         * platform/graphics/cairo/PathCairo.cpp:
1993         * platform/graphics/cg/PathCG.cpp:
1994         * platform/graphics/haiku/PathHaiku.cpp:
1995         * platform/graphics/openvg/PathOpenVG.cpp:
1996         * platform/graphics/qt/PathQt.cpp:
1997         * platform/graphics/skia/PathSkia.cpp:
1998         * platform/graphics/wince/PathWinCE.cpp:
1999         * platform/graphics/wince/PlatformPathWinCE.cpp:
2000         * platform/graphics/wince/PlatformPathWinCE.h:
2001         * platform/graphics/wx/PathWx.cpp:
2002         * svg/SVGGlyphElement.h:
2003         (WebCore::SVGGlyphIdentifier::operator==):
2004
2005 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
2006
2007         Reviewed by Xan Lopez.
2008
2009         [GTK] Search field icons should be centered vertically in the field
2010         https://bugs.webkit.org/show_bug.cgi?id=47441
2011
2012         Center search field icons vertically in the search field.
2013
2014         * platform/gtk/RenderThemeGtk.cpp:
2015         (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
2016         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
2017         field icon by adjusting its drawing rect relative to the containing search field.
2018         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
2019
2020 2010-10-11  Pavel Podivilov  <podivilov@chromium.org>
2021
2022         Reviewed by Pavel Feldman.
2023
2024         Web Inspector: fix event listener breakpoints sidebar pane style
2025         https://bugs.webkit.org/show_bug.cgi?id=47487
2026
2027         * inspector/front-end/inspector.css:
2028         (.section .properties, .event-bar .event-properties):
2029         (.section.expanded .properties, .event-bar.expanded .event-properties):
2030         (.properties-tree):
2031         (.properties-tree li):
2032         (.properties-tree li.parent):
2033         (.properties-tree li.parent::before):
2034         (.properties-tree li.parent.expanded::before):
2035         (.properties-tree li .info):
2036         (.properties-tree ol, .stack-trace ol, ol.stack-trace):
2037         (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
2038         (ol.stack-trace):
2039         (.event-listener-breakpoints .event-category):
2040         (.event-listener-breakpoints.properties-tree .children li):
2041         (.event-listener-breakpoints .checkbox-elem):
2042         (.breakpoint-list .breakpoint-hit):
2043
2044 2010-10-11  Andreas Kling  <kling@webkit.org>
2045
2046         Reviewed by Tor Arne Vestbø.
2047
2048         [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
2049
2050         Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
2051         when clearing an already empty QPainterPath. Avoids one delete+new.
2052
2053         * platform/graphics/qt/GraphicsContextQt.cpp:
2054         (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
2055         (WebCore::GraphicsContext::fillPath):
2056         (WebCore::GraphicsContext::strokePath):
2057         (WebCore::GraphicsContext::beginPath):
2058
2059 2010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2060
2061         Unreviewed. Remove unnecessary GTK+ and Pango includes.
2062
2063         * platform/gtk/FileChooserGtk.cpp:
2064         * platform/gtk/Language.cpp:
2065
2066 2010-10-11  Kinuko Yasuda  <kinuko@chromium.org>
2067
2068         Reviewed by David Levin.
2069
2070         Support DirectoryEntry.removeRecursively for FileSystem API
2071         https://bugs.webkit.org/show_bug.cgi?id=47400
2072
2073         Also disallows remove/removeRecursively on the root directory.
2074
2075         Test: fast/filesystem/op-remove.html
2076
2077         * fileapi/DOMFileSystemBase.cpp:
2078         (WebCore::DOMFileSystemBase::removeRecursively): Added.
2079         * fileapi/DOMFileSystemBase.h:
2080         * fileapi/DirectoryEntry.cpp:
2081         (WebCore::DirectoryEntry::removeRecursively): Added.
2082         * fileapi/DirectoryEntry.h:
2083         * fileapi/DirectoryEntry.idl:
2084         * fileapi/DirectoryEntrySync.cpp:
2085         (WebCore::DirectoryEntrySync::removeRecursively): Added.
2086         * fileapi/DirectoryEntrySync.h:
2087         * fileapi/DirectoryEntrySync.idl:
2088         * platform/AsyncFileSystem.h:
2089
2090 2010-10-11  Dirk Schulze  <krit@webkit.org>
2091
2092         Reviewed by Nikolas Zimmermann.
2093
2094         SVG feImage take preserveAspectRatio into account for absolute paint rect
2095         https://bugs.webkit.org/show_bug.cgi?id=47464
2096
2097         Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
2098
2099         * svg/graphics/filters/SVGFEImage.cpp:
2100         (WebCore::FEImage::determineAbsolutePaintRect):
2101         (WebCore::FEImage::apply):
2102         * svg/graphics/filters/SVGFEImage.h:
2103
2104 2010-10-10  Abhishek Arya  <inferno@chromium.org>
2105
2106         Reviewed by Dan Bernstein.
2107
2108         <rdar://problem/8510200> Lines flow around a float that has been removed 
2109
2110         Overhanging floats are not added to flexible boxes since they behave like
2111         block formatting contexts. This causes the intruding floats added in siblings
2112         to not get cleared. Enforce the float release by checking if the parent is a
2113         flexible box and if yes, use that as the outermost block.
2114         
2115         https://bugs.webkit.org/show_bug.cgi?id=47104
2116
2117         Test: fast/flexbox/overhanging-floats-removed.html
2118
2119         * rendering/RenderBox.cpp:
2120         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2121
2122 2010-10-10  Chris Fleizach  <cfleizach@apple.com>
2123
2124         Reviewed by Beth Dakin.
2125
2126         AX: if aria-live is on a <span> or ignored element, live regions don't work
2127         https://bugs.webkit.org/show_bug.cgi?id=47443
2128
2129         If an element has aria attributes, but has no other native role associated with it,
2130         accessibility should fallback to exposing that element as an AXGroup.
2131
2132         Test: platform/mac/accessibility/live-region-on-span.html
2133
2134         * accessibility/AccessibilityRenderObject.cpp:
2135         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2136
2137 2010-10-10  Daniel Cheng  <dcheng@chromium.org>
2138
2139         Reviewed by Adam Barth.
2140
2141         [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
2142         https://bugs.webkit.org/show_bug.cgi?id=47419
2143
2144         This was a regression introduced in r68807. mimeTypeText had the incorrect
2145         value.
2146
2147         Test: editing/pasteboard/dataTransfer-setData-getData.html
2148
2149         * platform/chromium/ClipboardMimeTypes.cpp:
2150
2151 2010-10-09  Eric Uhrhane  <ericu@chromium.org>
2152
2153         Reviewed by Andreas Kling.
2154
2155         FileWriter sends write event instead of progress event
2156         https://bugs.webkit.org/show_bug.cgi?id=47454
2157
2158         No new tests; FileWriter tests will be added shortly, but currently
2159         there's no implementation capable of running them.
2160
2161         * fileapi/FileWriter.cpp:
2162         (WebCore::FileWriter::didWrite):
2163
2164 2010-10-09  Andreas Kling  <kling@webkit.org>
2165
2166         Reviewed by Kenneth Rohde Christiansen.
2167
2168         [Qt] Fast-path in Path::clear() for already empty paths
2169         https://bugs.webkit.org/show_bug.cgi?id=47460
2170
2171         The only way to clear a QPainterPath is to assign QPainterPath() to it.
2172         Avoid creating a temporary object etc if the path is already empty.
2173
2174         * platform/graphics/qt/PathQt.cpp:
2175         (WebCore::Path::clear):
2176
2177 2010-10-08  Ryosuke Niwa  <rniwa@webkit.org>
2178
2179         Reviewed by Darin Adler.
2180
2181         Redo in ReplaceNodeWithSpanCommand is broken
2182         https://bugs.webkit.org/show_bug.cgi?id=47428
2183
2184         The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
2185         and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
2186         directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
2187         only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
2188
2189         Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
2190         This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
2191
2192         Test: editing/undo/replace-by-span-then-remove.html
2193
2194         * editing/ReplaceNodeWithSpanCommand.cpp:
2195         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
2196         * editing/ReplaceNodeWithSpanCommand.h:
2197
2198 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2199
2200         Reviewed by Martin Robinson.
2201
2202         [GTK] Implement subregion rendering in WebView when using gtk3
2203         https://bugs.webkit.org/show_bug.cgi?id=47411
2204
2205         * GNUmakefile.am:
2206         * platform/graphics/FloatRect.h:
2207         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
2208         (WebCore::FloatRect::FloatRect):
2209         (WebCore::FloatRect::operator cairo_rectangle_t):
2210
2211 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2212
2213         Reviewed by Martin Robinson.
2214
2215         [GTK] Implement subregion rendering in WebView when using gtk3
2216         https://bugs.webkit.org/show_bug.cgi?id=47411
2217
2218         * GNUmakefile.am:
2219         * platform/graphics/FloatRect.h:
2220         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
2221         (WebCore::FloatRect::FloatRect):
2222         (WebCore::FloatRect::operator cairo_rectangle_t):
2223
2224 2010-10-09  Kwang Yul Seo  <skyul@company100.net>
2225
2226         Reviewed by Andreas Kling.
2227
2228         Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
2229         https://bugs.webkit.org/show_bug.cgi?id=47114
2230
2231         PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
2232
2233         * platform/graphics/skia/PlatformContextSkia.h:
2234
2235 2010-10-09  Patrick Gansterer  <paroga@webkit.org>
2236
2237         Reviewed by Adam Barth.
2238
2239         Use WTF::StringHasher for hashing MappedAttributeKey
2240         https://bugs.webkit.org/show_bug.cgi?id=46516
2241
2242         * dom/StyledElement.cpp:
2243         (WebCore::MappedAttributeHash::hash):
2244
2245 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
2246
2247         Reviewed by Xan Lopez.
2248
2249         [Gtk] Non-rectangular buttons have a square background behind them
2250         https://bugs.webkit.org/show_bug.cgi?id=23569
2251
2252         Remove some code which was clearing pieces of the GdkDrawable if it was
2253         currently mapped to a window. In our case it is unnecessary, because the
2254         platform-independent parts of the render have already cleared this section
2255         if it is needed.
2256
2257         Mozilla must not trip this code path, which means they are probably rendering
2258         most often to a non-mapped GdkPixmap.
2259
2260         No new tests as some themed rendering is covered by existing tests that
2261         render buttons. This particular bug is very hard to test as it only appears
2262         with certain GTK+ themes and we currently have no mechanism to test different
2263         themes in DRT.
2264
2265         * platform/gtk/gtk2drawing.c:
2266         (moz_gtk_button_paint): Remove unnecessary code.
2267
2268 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
2269
2270         Reviewed by Xan Lopez.
2271
2272         [GTK] Slider padding translate into a larger track rect
2273         https://bugs.webkit.org/show_bug.cgi?id=47435
2274
2275         Instead of painting the track rectangle for ranges onto the entire RenderBox
2276         rectangle, simply paint it on the content rectangle. This prevents misrendering
2277         sliders with padding.
2278
2279         * platform/gtk/RenderThemeGtk.cpp:
2280         (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
2281         of the slider instead of the entire area (which includes padding).
2282
2283 2010-10-09  Kent Tamura  <tkent@chromium.org>
2284
2285         Unreviewed, trivial regression fix for r69445.
2286
2287         RangeInputType::supportsRequired() should return false.
2288         https://bugs.webkit.org/show_bug.cgi?id=47405
2289
2290         * html/RangeInputType.cpp:
2291         (WebCore::RangeInputType::supportsRequired):
2292         * html/RangeInputType.h:
2293
2294 2010-10-09  Kent Tamura  <tkent@chromium.org>
2295
2296         Reviewed by Dimitri Glazkov.
2297
2298         Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
2299         isRequiredFormControl(), and recalcWillValidate()
2300         https://bugs.webkit.org/show_bug.cgi?id=47405
2301
2302         Also make checkedRadioButtons() an inline member function of
2303         HTMLInputElement in order that RadioInputType can use it.
2304
2305         * html/BaseDateAndTimeInputType.cpp:
2306         (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
2307         (WebCore::BaseDateAndTimeInputType::typeMismatch):
2308         * html/BaseDateAndTimeInputType.h:
2309         * html/ButtonInputType.cpp:
2310         (WebCore::ButtonInputType::supportsValidation):
2311         * html/ButtonInputType.h:
2312         * html/CheckboxInputType.cpp:
2313         (WebCore::CheckboxInputType::valueMissing):
2314         * html/CheckboxInputType.h:
2315         * html/ColorInputType.cpp:
2316         (WebCore::isValidColorString):
2317         (WebCore::ColorInputType::typeMismatchFor):
2318         (WebCore::ColorInputType::typeMismatch):
2319         (WebCore::ColorInputType::supportsRequired):
2320         * html/ColorInputType.h:
2321         * html/EmailInputType.cpp:
2322         (WebCore::isValidEmailAddress):
2323         (WebCore::EmailInputType::typeMismatchFor):
2324         (WebCore::EmailInputType::typeMismatch):
2325         * html/EmailInputType.h:
2326         * html/FileInputType.cpp:
2327         (WebCore::FileInputType::valueMissing):
2328         * html/FileInputType.h:
2329         * html/HTMLInputElement.cpp:
2330         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2331         (WebCore::HTMLInputElement::isValidValue):
2332         (WebCore::HTMLInputElement::typeMismatch):
2333         (WebCore::HTMLInputElement::valueMissing):
2334         (WebCore::HTMLInputElement::isKeyboardFocusable):
2335         (WebCore::HTMLInputElement::updateType):
2336         (WebCore::HTMLInputElement::parseMappedAttribute):
2337         (WebCore::HTMLInputElement::setChecked):
2338         (WebCore::HTMLInputElement::preDispatchEventHandler):
2339         (WebCore::HTMLInputElement::isRequiredFormControl):
2340         (WebCore::HTMLInputElement::recalcWillValidate):
2341         * html/HTMLInputElement.h:
2342         (WebCore::HTMLInputElement::checkedRadioButtons):
2343         * html/HiddenInputType.cpp:
2344         (WebCore::HiddenInputType::supportsValidation):
2345         * html/HiddenInputType.h:
2346         * html/ImageInputType.cpp:
2347         (WebCore::ImageInputType::supportsValidation):
2348         * html/ImageInputType.h:
2349         * html/InputType.cpp:
2350         (WebCore::InputType::supportsValidation):
2351         (WebCore::InputType::typeMismatchFor):
2352         (WebCore::InputType::typeMismatch):
2353         (WebCore::InputType::supportsRequired):
2354         (WebCore::InputType::valueMissing):
2355         * html/InputType.h:
2356         * html/IsIndexInputType.cpp:
2357         (WebCore::IsIndexInputType::supportsRequired):
2358         * html/IsIndexInputType.h:
2359         * html/NumberInputType.cpp:
2360         (WebCore::NumberInputType::typeMismatchFor):
2361         (WebCore::NumberInputType::typeMismatch):
2362         * html/NumberInputType.h:
2363         * html/RadioInputType.cpp:
2364         (WebCore::RadioInputType::valueMissing):
2365         * html/RadioInputType.h:
2366         * html/ResetInputType.cpp:
2367         (WebCore::ResetInputType::supportsValidation):
2368         * html/ResetInputType.h:
2369         * html/SubmitInputType.cpp:
2370         (WebCore::SubmitInputType::supportsValidation):
2371         * html/SubmitInputType.h:
2372         * html/TextFieldInputType.cpp:
2373         (WebCore::TextFieldInputType::valueMissing):
2374         * html/TextFieldInputType.h:
2375         * html/URLInputType.cpp:
2376         (WebCore::URLInputType::typeMismatchFor):
2377         (WebCore::URLInputType::typeMismatch):
2378         * html/URLInputType.h:
2379         * html/ValidityState.cpp:
2380         (WebCore::ValidityState::typeMismatch):
2381
2382 2010-10-09  Pratik Solanki  <psolanki@apple.com>
2383
2384         Reviewed by Dan Bernstein.
2385
2386         https://bugs.webkit.org/show_bug.cgi?id=47450
2387         Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
2388         <rdar://problem/8244376>
2389
2390         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2391         (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
2392         NULL, return early to avoid crash.
2393
2394 2010-10-08  Chris Rogers  <crogers@google.com>
2395
2396         Reviewed by James Robinson.
2397
2398         Add HRTFPanner files
2399         https://bugs.webkit.org/show_bug.cgi?id=46299
2400
2401         No new tests since audio API is not yet implemented.
2402
2403         * platform/audio/HRTFPanner.cpp: Added.
2404         (WebCore::HRTFPanner::HRTFPanner):
2405         (WebCore::HRTFPanner::~HRTFPanner):
2406         (WebCore::HRTFPanner::fftSizeForSampleRate):
2407         (WebCore::HRTFPanner::reset):
2408         (WebCore::wrapDistance):
2409         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
2410         (WebCore::HRTFPanner::pan):
2411         * platform/audio/HRTFPanner.h: Added.
2412         (WebCore::HRTFPanner::fftSize):
2413         (WebCore::HRTFPanner::sampleRate):
2414
2415 2010-10-08  James Robinson  <jamesr@chromium.org>
2416
2417         Reviewed by Adam Barth.
2418
2419         Avoid inlining large and/or virtual functions in widely included header files
2420         https://bugs.webkit.org/show_bug.cgi?id=47230
2421
2422         Functions with very large bodies should not be included in widely included header files.
2423         This results in the function's code ending up included in hundreds of object files that
2424         the linker has to discard, at a cost of linker memory use, link time, and disk space. This
2425         is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
2426         virtual address space and completely fails to link.
2427
2428         This patch moves function definitions from the .h to the corresponding .cpp when the function
2429         is large and not a candidate for inlining either because it is virtual or because its size is
2430         above any reasonable compiler's threshhold for inlining.  The most common case by far in this
2431         patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
2432         the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
2433         container and utility classes (especially Vector, String, and HashSet) have quite large
2434         destructors.
2435
2436         This patch removes 22.4MB of object file size in a debug 64 bit compile.
2437
2438         * css/CSSBorderImageValue.cpp:
2439         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
2440         * css/CSSBorderImageValue.h:
2441         * css/CSSFontFaceSrcValue.cpp:
2442         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
2443         * css/CSSFontFaceSrcValue.h:
2444         * css/CSSFunctionValue.h:
2445         * dom/BeforeTextInsertedEvent.cpp:
2446         (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
2447         * dom/BeforeTextInsertedEvent.h:
2448         * dom/BeforeUnloadEvent.cpp:
2449         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
2450         * dom/BeforeUnloadEvent.h:
2451         * dom/ClassNodeList.h:
2452         * dom/ClipboardEvent.cpp:
2453         (WebCore::ClipboardEvent::~ClipboardEvent):
2454         * dom/ClipboardEvent.h:
2455         * dom/CustomEvent.cpp:
2456         (WebCore::CustomEvent::~CustomEvent):
2457         * dom/CustomEvent.h:
2458         * dom/Element.cpp:
2459         * dom/Element.h:
2460         * dom/EventTarget.cpp:
2461         (WebCore::EventTargetData::EventTargetData):
2462         * dom/EventTarget.h:
2463         * dom/InputElement.cpp:
2464         (WebCore::InputElementData::~InputElementData):
2465         * dom/InputElement.h:
2466         * dom/MutationEvent.cpp:
2467         (WebCore::MutationEvent::~MutationEvent):
2468         * dom/MutationEvent.h:
2469         * dom/Node.cpp:
2470         (WebCore::Node::refEventTarget):
2471         (WebCore::Node::derefEventTarget):
2472         * dom/Node.h:
2473         * dom/OptionElement.cpp:
2474         (WebCore::OptionElementData::~OptionElementData):
2475         * dom/OptionElement.h:
2476         * dom/PopStateEvent.cpp:
2477         (WebCore::PopStateEvent::~PopStateEvent):
2478         * dom/PopStateEvent.h:
2479         * dom/QualifiedName.cpp:
2480         (WebCore::QualifiedName::~QualifiedName):
2481         * dom/QualifiedName.h:
2482         * dom/SelectElement.cpp:
2483         (WebCore::SelectElementData::~SelectElementData):
2484         * dom/SelectElement.h:
2485         * dom/StaticHashSetNodeList.cpp:
2486         (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
2487         (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
2488         * dom/StaticHashSetNodeList.h:
2489         * dom/StyleElement.cpp:
2490         (WebCore::StyleElement::~StyleElement):
2491         * dom/StyleElement.h:
2492         * dom/TouchEvent.cpp:
2493         (WebCore::TouchEvent::TouchEvent):
2494         (WebCore::TouchEvent::~TouchEvent):
2495         * dom/TouchEvent.h:
2496         * editing/CompositeEditCommand.cpp:
2497         (WebCore::CompositeEditCommand::~CompositeEditCommand):
2498         * editing/CompositeEditCommand.h:
2499         * editing/TextIterator.cpp:
2500         (WebCore::BitStack::~BitStack):
2501         (WebCore::TextIterator::~TextIterator):
2502         (WebCore::WordAwareIterator::~WordAwareIterator):
2503         * editing/TextIterator.h:
2504         * inspector/InspectorValues.cpp:
2505         (WebCore::InspectorObject::~InspectorObject):
2506         (WebCore::InspectorObject::InspectorObject):
2507         (WebCore::InspectorArray::~InspectorArray):
2508         (WebCore::InspectorArray::InspectorArray):
2509         * inspector/InspectorValues.h:
2510         * loader/CachedResource.cpp:
2511         (WebCore::CachedResource::registerHandle):
2512         (WebCore::CachedResource::unregisterHandle):
2513         * loader/CachedResource.h:
2514         * platform/network/HTTPHeaderMap.cpp:
2515         (WebCore::HTTPHeaderMap::HTTPHeaderMap):
2516         (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
2517         (WebCore::HTTPHeaderMap::get):
2518         (WebCore::HTTPHeaderMap::add):
2519         * platform/network/HTTPHeaderMap.h:
2520         * rendering/RenderApplet.cpp:
2521         (WebCore::RenderApplet::~RenderApplet):
2522         * rendering/RenderApplet.h:
2523         * rendering/RenderButton.cpp:
2524         (WebCore::RenderButton::~RenderButton):
2525         * rendering/RenderButton.h:
2526         * rendering/RenderCounter.cpp:
2527         (WebCore::RenderCounter::~RenderCounter):
2528         * rendering/RenderCounter.h:
2529         * rendering/RenderFieldset.h:
2530         * rendering/RenderForeignObject.cpp:
2531         (WebCore::RenderForeignObject::~RenderForeignObject):
2532         * rendering/RenderForeignObject.h:
2533         * rendering/RenderFrame.h:
2534         * rendering/RenderFrameBase.h:
2535         * rendering/RenderHTMLCanvas.h:
2536         * rendering/RenderIFrame.h:
2537         * rendering/RenderInline.h:
2538         * rendering/RenderListItem.h:
2539         * rendering/RenderMarquee.cpp:
2540         (WebCore::RenderMarquee::~RenderMarquee):
2541         * rendering/RenderMarquee.h:
2542         * rendering/RenderPath.cpp:
2543         (WebCore::RenderPath::~RenderPath):
2544         * rendering/RenderPath.h:
2545         * rendering/RenderSVGBlock.h:
2546         * rendering/RenderSVGContainer.cpp:
2547         (WebCore::RenderSVGContainer::~RenderSVGContainer):
2548         * rendering/RenderSVGContainer.h:
2549         * rendering/RenderSVGHiddenContainer.h:
2550         * rendering/RenderSVGInline.h:
2551         * rendering/RenderSVGInlineText.cpp:
2552         (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
2553         * rendering/RenderSVGInlineText.h:
2554         * rendering/RenderSVGModelObject.h:
2555         * rendering/RenderSVGResourceFilterPrimitive.h:
2556         * rendering/RenderSVGRoot.cpp:
2557         (WebCore::RenderSVGRoot::~RenderSVGRoot):
2558         * rendering/RenderSVGRoot.h:
2559         * rendering/RenderSVGTSpan.h:
2560         * rendering/RenderSVGText.h:
2561         * rendering/RenderSVGTextPath.h:
2562         * rendering/RenderSVGTransformableContainer.h:
2563         * rendering/RenderSVGViewportContainer.h:
2564         * rendering/RenderTable.cpp:
2565         (WebCore::RenderTable::~RenderTable):
2566         * rendering/RenderTable.h:
2567         * rendering/RenderTableCell.h:
2568         * rendering/RenderTableCol.h:
2569         * rendering/RenderTableRow.h:
2570         * rendering/RenderTextFragment.cpp:
2571         (WebCore::RenderTextFragment::~RenderTextFragment):
2572         * rendering/RenderTextFragment.h:
2573         * rendering/RenderWordBreak.h:
2574         * svg/SVGStyledElement.cpp:
2575         (WebCore::SVGStyledElement::~SVGStyledElement):
2576         * svg/SVGStyledElement.h:
2577         * svg/SVGStyledTransformableElement.cpp:
2578         (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
2579         * svg/SVGStyledTransformableElement.h:
2580         * xml/XPathParser.cpp:
2581         (WebCore::XPath::Parser::~Parser):
2582         * xml/XPathParser.h:
2583
2584 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
2585
2586         Reviewed by Daniel Bates.
2587
2588         [GTK] Fails /LayoutTests/fast/css/button-height.html
2589         https://bugs.webkit.org/show_bug.cgi?id=33936
2590
2591         GTK buttons honor height property set via CSS. The code for the method
2592         adjustButtonStyle originates from the original GTK+ theme drawing code
2593         and is clearly just a copy-paste from the Safari theme drawing code. The
2594         Safari theme drawing code does quite a bit of work to ensure that button
2595         fonts are consistent with the system theme, which is not something the GTK+
2596         port does.
2597
2598         This change brings the method more in line with the Chromium port, which
2599         allows CSS to style buttons, only overriding the line-height property,
2600         which is required for layout tests to pass.
2601
2602         * platform/gtk/RenderThemeGtk.cpp:
2603         (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
2604         properties for button styling.
2605
2606 2010-10-08  Mihai Parparita  <mihaip@chromium.org>
2607
2608         Reviewed by Adam Barth.
2609
2610         popstate events are lost when network connection is in progress
2611         https://bugs.webkit.org/show_bug.cgi?id=42940
2612         
2613         Instead of checking FrameLoader::isComplete() (which isn't true if the
2614         document's resource loader has requests outstanding), check that the
2615         document's readyState is complete, as the spec says.
2616
2617         Test: http/tests/history/popstate-fires-with-pending-requests.html
2618
2619         * dom/Document.cpp:
2620         (WebCore::Document::statePopped):
2621         * loader/FrameLoader.cpp:
2622         (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
2623         to Loading earlier. Otherwise, readyState's initial value is Complete,
2624         and we only set it to Loading in Document::implicitOpen (which is called
2625         after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
2626         could end up in Document::statePopped and have the readyState be
2627         Complete, even if we hadn't even begin loading the document.
2628
2629 2010-10-08  Daniel Cheng  <dcheng@chromium.org>
2630
2631         Reviewed by Tony Chang.
2632
2633         [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
2634         https://bugs.webkit.org/show_bug.cgi?id=47394
2635
2636         Minor cleanup--these classes have suffered from bit rot since they aren't
2637         actively used at the moment. The three main changes are to:
2638         1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
2639            setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
2640            title and HTML base URL.
2641         2) Use Clipboard::ClipboardType instead of a bool.
2642         3) Remove the use of virtuals, as they are no longer needed..
2643
2644         * platform/chromium/ReadableDataObject.cpp:
2645         (WebCore::clipboardBuffer):
2646         (WebCore::ReadableDataObject::create):
2647         (WebCore::ReadableDataObject::ReadableDataObject):
2648         (WebCore::ReadableDataObject::getData):
2649         (WebCore::ReadableDataObject::urlTitle): renamed from getURL
2650         (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
2651         (WebCore::ReadableDataObject::containsFilenames):
2652         (WebCore::ReadableDataObject::filenames):
2653         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2654         * platform/chromium/ReadableDataObject.h:
2655         * platform/chromium/WritableDataObject.cpp:
2656         (WebCore::WritableDataObject::create):
2657         (WebCore::WritableDataObject::WritableDataObject):
2658         (WebCore::WritableDataObject::setData):
2659         * platform/chromium/WritableDataObject.h:
2660         (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
2661         (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
2662         (WebCore::WritableDataObject::dataMap):
2663         (WebCore::WritableDataObject::urlTitle):
2664         (WebCore::WritableDataObject::htmlBaseURL):
2665         (WebCore::WritableDataObject::fileExtension):
2666         (WebCore::WritableDataObject::fileContentFilename):
2667         (WebCore::WritableDataObject::fileContent):
2668         (WebCore::WritableDataObject::setFileExtension):
2669         (WebCore::WritableDataObject::setFileContentFilename):
2670         (WebCore::WritableDataObject::setFileContent):
2671
2672 2010-10-08  Abhishek Arya  <inferno@chromium.org>
2673
2674         Unreviewed, rolling out r69360.
2675         http://trac.webkit.org/changeset/69360
2676         https://bugs.webkit.org/show_bug.cgi?id=46921
2677
2678         Test still crashing on chromium test_shell
2679
2680         * html/HTMLObjectElement.cpp:
2681         (WebCore::HTMLObjectElement::renderFallbackContent):
2682
2683 2010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2684
2685         Unreviewed, rolling out r68574.
2686         http://trac.webkit.org/changeset/68574
2687         https://bugs.webkit.org/show_bug.cgi?id=47433
2688
2689         [chromium] Breaks partial repaint of images while scrolling
2690         (Requested by jamesr on #webkit).
2691
2692         * platform/graphics/skia/ImageSkia.cpp:
2693         (WebCore::computeResamplingMode):
2694         (WebCore::drawResampledBitmap):
2695
2696 2010-10-08  Andy Estes  <aestes@apple.com>
2697
2698         Reviewed by Darin Adler.
2699
2700         REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
2701         https://bugs.webkit.org/show_bug.cgi?id=47430
2702
2703         Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
2704
2705         * rendering/RenderImage.cpp:
2706         (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
2707         to m_imageResource being set. The appropriate thing to do in this case
2708         is to return early.
2709         (WebCore::RenderImage::notifyFinished): Ditto.
2710
2711 2010-10-08  Andrei Popescu  <andreip@google.com>
2712
2713         Reviewed by Jeremy Orlow.
2714
2715         IndexedDB does not have a quota mechanism.
2716         https://bugs.webkit.org/show_bug.cgi?id=47389
2717
2718         Test: storage/indexeddb/database-quota.html
2719
2720         Add a simple mechanism for enforcing a maximum size
2721         for each origin using IndexedDB. Note that this depends
2722         on having one SQLite database file per origin, which is
2723         addressed in a separate patch.
2724
2725         * page/GroupSettings.cpp:
2726         (WebCore::GroupSettings::GroupSettings):
2727         (WebCore::GroupSettings::setIndexedDBQuotaBytes):
2728         * page/GroupSettings.h:
2729         (WebCore::GroupSettings::indexedDBQuotaBytes):
2730         * storage/IDBDatabaseBackendImpl.cpp:
2731         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2732         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2733         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2734         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
2735         * storage/IDBFactory.cpp:
2736         (WebCore::IDBFactory::open):
2737         * storage/IDBFactoryBackendImpl.cpp:
2738         (WebCore::openSQLiteDatabase):
2739         (WebCore::IDBFactoryBackendImpl::open):
2740         * storage/IDBFactoryBackendImpl.h:
2741         * storage/IDBFactoryBackendInterface.h:
2742         * storage/IDBObjectStoreBackendImpl.cpp:
2743         (WebCore::putObjectStoreData):
2744         (WebCore::putIndexData):
2745         (WebCore::IDBObjectStoreBackendImpl::put):
2746         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2747         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2748         * storage/IDBObjectStoreBackendImpl.h:
2749
2750 2010-10-08  Gavin Peters  <gavinp@chromium.org>
2751
2752         Reviewed by Adam Barth.
2753
2754         Output X-Purpose header for prefetch requests
2755         https://bugs.webkit.org/show_bug.cgi?id=46529
2756
2757         Test: http/tests/misc/prefetch-purpose.html
2758
2759         * loader/loader.cpp:
2760         (WebCore::Loader::Host::servePendingRequests):
2761
2762 2010-10-08  James Kozianski  <koz@chromium.org>
2763
2764         Reviewed by Simon Fraser.
2765
2766         Crash on reload when CSS property 'content' has malformed URL.
2767         https://bugs.webkit.org/show_bug.cgi?id=47322
2768
2769         Make CSSStyleSelector handle the case where a cached image can't be
2770         produced due to a malformed URL.
2771
2772         Test: fast/css-generated-content/malformed-url.html
2773
2774         * css/CSSStyleSelector.cpp:
2775         (WebCore::CSSStyleSelector::loadPendingImages):
2776
2777 2010-10-08  Dirk Schulze  <krit@webkit.org>
2778
2779         Reviewed by Nikolas Zimmermann.
2780
2781         SVG feImage needs absolute subregion for preserveAspectRatio
2782         https://bugs.webkit.org/show_bug.cgi?id=47409
2783
2784         PreserverAspectRatio needs the subregion in absolute coordinates to determine
2785         the destination position and size of the input image. The maxEffectRect() already
2786         stores the absolute subregion, but clipped to the filter region.
2787
2788         Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
2789
2790         * platform/graphics/filters/FETile.cpp:
2791         (WebCore::FETile::apply):
2792         * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
2793         (WebCore::FilterEffect::filterEffectType):
2794         * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
2795         (WebCore::SourceAlpha::filterEffectType):
2796         * platform/graphics/filters/SourceGraphic.h: Ditto.
2797         (WebCore::SourceGraphic::filterEffectType):
2798         * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
2799         (WebCore::FEImage::apply):
2800         * svg/graphics/filters/SVGFEImage.h: Ditto.
2801         (WebCore::FEImage::setAbsoluteSubregion):
2802         (WebCore::FEImage::filterEffectType):
2803         * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
2804         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
2805
2806 2010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2807
2808         Reviewed by Dirk Schulze.
2809
2810         gradient stroke on lines does not work
2811         https://bugs.webkit.org/show_bug.cgi?id=40985
2812
2813         Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
2814         Perfectly matches Opera, and now lets us pass three of the new tests.
2815
2816         Fix incorrect svg/custom/invalid-fill* tests:
2817         -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
2818         -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)
2819
2820         Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
2821         As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.
2822
2823         Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
2824                svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
2825                svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
2826
2827         * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
2828         (WebCore::requestPaintingResource):
2829         (WebCore::RenderSVGResource::fillPaintingResource):
2830         (WebCore::RenderSVGResource::strokePaintingResource):
2831         * rendering/RenderSVGResource.h:
2832         * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
2833         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
2834         (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
2835         (WebCore::clipToTextMask):
2836         (WebCore::RenderSVGResourceGradient::applyResource):
2837         * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
2838         * rendering/RenderSVGResourceLinearGradient.cpp:
2839         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
2840         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
2841         * rendering/RenderSVGResourceLinearGradient.h:
2842         (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
2843         (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
2844         * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
2845         (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
2846         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
2847         (WebCore::RenderSVGResourcePattern::applyResource):
2848         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
2849         * rendering/RenderSVGResourcePattern.h:
2850         * rendering/RenderSVGResourceRadialGradient.cpp:
2851         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
2852         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
2853         * rendering/RenderSVGResourceRadialGradient.h:
2854         (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
2855         (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
2856         * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
2857         (WebCore::writeStyle):
2858         (WebCore::writeSVGResourceContainer):
2859         * rendering/svg/RenderSVGPath.cpp: 
2860         (WebCore::RenderSVGPath::fillContains): Ditto.
2861         (WebCore::RenderSVGPath::strokeContains): Ditto.
2862         (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
2863         * rendering/svg/SVGInlineTextBox.cpp:
2864         (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
2865         * svg/SVGLinearGradientElement.cpp:
2866         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
2867         * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
2868         * svg/SVGPatternElement.cpp:
2869         (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
2870         * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
2871         * svg/SVGRadialGradientElement.cpp:
2872         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
2873         * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
2874
2875 2010-10-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
2876
2877         Reviewed by Andreas Kling.
2878
2879         [Qt] Slider widgets looks bad on Mac
2880         https://bugs.webkit.org/show_bug.cgi?id=47421
2881
2882         This patch change the rendering of the slider to only have the
2883         subcontrols that would be defined by default on a QSlider.
2884
2885         * platform/qt/RenderThemeQt.cpp:
2886         (WebCore::RenderThemeQt::paintSliderTrack):
2887
2888 2010-10-08  Renata Hodovan  <reni@inf.u-szeged.hu>
2889
2890         Reviewed by Andreas Kling.
2891
2892         SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
2893         https://bugs.webkit.org/show_bug.cgi?id=47342
2894
2895         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
2896
2897         Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
2898                svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
2899                svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
2900                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
2901                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
2902                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html
2903
2904         * svg/SVGFEColorMatrixElement.cpp:
2905         (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
2906         * svg/SVGFEColorMatrixElement.h:
2907
2908 2010-10-08  Pavel Podivilov  <podivilov@chromium.org>
2909
2910         Reviewed by Pavel Feldman.
2911
2912         Web Inspector: save InspectorController in instrumentation cookie
2913         https://bugs.webkit.org/show_bug.cgi?id=47406
2914
2915         * bindings/v8/V8Proxy.cpp:
2916         (WebCore::V8Proxy::evaluate):
2917         (WebCore::V8Proxy::callFunction):
2918         * dom/Document.cpp:
2919         (WebCore::Document::recalcStyle):
2920         * dom/Node.cpp:
2921         (WebCore::Node::dispatchGenericEvent):
2922         * html/parser/HTMLDocumentParser.cpp:
2923         (WebCore::HTMLDocumentParser::pumpTokenizer):
2924         * inspector/InspectorInstrumentation.cpp:
2925         * inspector/InspectorInstrumentation.h:
2926         * loader/ResourceLoader.cpp:
2927         (WebCore::ResourceLoader::didReceiveResponse):
2928         (WebCore::ResourceLoader::didReceiveData):
2929         * page/DOMTimer.cpp:
2930         (WebCore::DOMTimer::fired):
2931         * page/DOMWindow.cpp:
2932         (WebCore::DOMWindow::dispatchEvent):
2933         * page/FrameView.cpp:
2934         (WebCore::FrameView::layout):
2935         (WebCore::FrameView::paintContents):
2936         * rendering/RenderLayerBacking.cpp:
2937         (WebCore::RenderLayerBacking::paintContents):
2938         * xml/XMLHttpRequest.cpp:
2939         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2940
2941 2010-10-08  Adam Roben  <aroben@apple.com>
2942
2943         Windows Release build fix for 32-bit systems
2944
2945         WebCore had once again grown too large for the linker's virtual
2946         address space on 32-bit systems. I combined WebCore/rendering,
2947         WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
2948         and added a few more files to RenderSVGAllInOne.cpp.
2949
2950         Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>
2951
2952         * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
2953         excluded the individual files they contain from the build.
2954
2955         * rendering/RenderSVGAllInOne.cpp: Added a few more files to this.
2956
2957         * dom/DOMAllInOne.cpp: Added.
2958         * rendering/RenderingAllInOne.cpp: Added.
2959         * rendering/style/StyleAllInOne.cpp: Added.
2960
2961 2010-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
2962
2963         Reviewed by Andreas Kling.
2964
2965         [Qt] Use constBegin and constEnd when using const iterators
2966
2967         * platform/graphics/qt/GraphicsLayerQt.cpp:
2968         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
2969         (WebCore::GraphicsLayerQtImpl::updateTransform):
2970         (WebCore::GraphicsLayerQtImpl::flushChanges):
2971
2972 2010-10-07  Pavel Feldman  <pfeldman@chromium.org>
2973
2974         Reviewed by Yury Semikhatsky.
2975
2976         Web Inspector: add resource viewer to the network panel.
2977         https://bugs.webkit.org/show_bug.cgi?id=47346
2978
2979         * inspector/front-end/DataGrid.js:
2980         (WebInspector.DataGrid):
2981         (WebInspector.DataGrid.prototype.autoSizeColumns):
2982         (WebInspector.DataGrid.prototype.updateWidths):
2983         (WebInspector.DataGrid.prototype.columnWidthsMap):
2984         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
2985         (WebInspector.DataGrid.prototype.isColumnVisible):
2986         (WebInspector.DataGrid.prototype.showColumn):
2987         (WebInspector.DataGrid.prototype.hideColumn):
2988         (WebInspector.DataGrid.prototype._positionResizers):
2989         (WebInspector.DataGrid.prototype._resizerDragging):
2990         * inspector/front-end/NetworkPanel.js:
2991         (WebInspector.NetworkPanel):
2992         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
2993         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
2994         (WebInspector.NetworkPanel.prototype.handleShortcut):
2995         (WebInspector.NetworkPanel.prototype._createTable):
2996         (WebInspector.NetworkPanel.prototype._sortItems):
2997         (WebInspector.NetworkPanel.prototype._sortByTimeline):
2998         (WebInspector.NetworkPanel.prototype._createSummaryBar):
2999         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
3000         (WebInspector.NetworkPanel.prototype.hide):
3001         (WebInspector.NetworkPanel.prototype.get searchableViews):
3002         (WebInspector.NetworkPanel.prototype.refresh):
3003         (WebInspector.NetworkPanel.prototype.reset):
3004         (WebInspector.NetworkPanel.prototype.refreshResource):
3005         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
3006         (WebInspector.NetworkPanel.prototype.showSourceLine):
3007         (WebInspector.NetworkPanel.prototype._showResource):
3008         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
3009         (WebInspector.NetworkPanel.prototype._resourceViewForResource):
3010         (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
3011         (WebInspector.NetworkPanel.prototype._toggleGridMode):
3012         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
3013         (WebInspector.NetworkDataGridNode):
3014         (WebInspector.NetworkDataGridNode.prototype.select):
3015         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
3016         * inspector/front-end/networkPanel.css:
3017         (#network-container):
3018         (#network-views):
3019         (.network.panel .data-grid.full-grid-mode .viewer-column):
3020         (.network.panel .data-grid.brief-grid-mode .time-column):
3021         (.network.panel.viewing-resource .network-timeline-grid):
3022         (.network.panel .data-grid.viewing-resource-mode .timeline-column):
3023         (.network.panel .network-sidebar):
3024         (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
3025         (.network.panel.viewing-resource .data-grid-resizer):
3026         (.network.panel .scope-bar):
3027         (.network.panel .resource-view.headers-visible .resource-view-content):
3028         (.network.panel:not(.viewing-resource) .data-grid tr.selected):
3029
3030 2010-10-08  Andreas Kling  <kling@webkit.org>
3031
3032         Reviewed by Nikolas Zimmermann.
3033
3034         SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
3035         https://bugs.webkit.org/show_bug.cgi?id=47180
3036
3037         Rename *Value to *ValueAttribute
3038
3039         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
3040         (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
3041         (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
3042         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
3043
3044 2010-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3045
3046         Reviewed by Kenneth Rohde Christiansen.
3047
3048         [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
3049         https://bugs.webkit.org/show_bug.cgi?id=47347
3050
3051         * WebCore.pro:
3052
3053 2010-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3054
3055         Reviewed by Kenneth Rohde Christiansen.
3056
3057         [EFL] Implement IntRectEfl.cpp
3058         https://bugs.webkit.org/show_bug.cgi?id=47403
3059
3060         Implement IntRect for Efl Port using Eina_Rectangle.
3061
3062         * platform/graphics/IntRect.h:
3063         * platform/graphics/efl/IntRectEfl.cpp:
3064         (WebCore::IntRect::IntRect):
3065         (WebCore::IntRect::operator Eina_Rectangle):
3066
3067 2010-10-08  Andreas Kling  <andreas.kling@nokia.com>
3068
3069         Reviewed by Nikolas Zimmermann.
3070
3071         SVG: Make RenderPath DRT output platform-independent
3072         https://bugs.webkit.org/show_bug.cgi?id=46051
3073
3074         Move away from using the port-specific Path::debugString() to dump
3075         RenderPath objects. This shrinks the DRT output delta between platforms
3076         and makes it more readable as we now dump only the relevant,
3077         element-specific properties of each object.
3078
3079         * rendering/SVGRenderTreeAsText.cpp:
3080         (WebCore::operator<<):
3081         Generate DRT output for RenderPaths in a platform-independent manner,
3082         dumping the relevant element properties.
3083
3084 2010-10-08  Kinuko Yasuda  <kinuko@chromium.org>
3085
3086         Reviewed by David Levin.
3087
3088         Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
3089         https://bugs.webkit.org/show_bug.cgi?id=47309
3090
3091         Test: fast/filesystem/op-get-entry.html
3092
3093         * fileapi/DOMFileSystemBase.cpp:
3094         (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
3095         (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.
3096
3097 2010-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3098
3099         Reviewed by Xan Lopez.
3100
3101         [GTK] Port GTK+ theming code to GTK+ 3.x APIs
3102         https://bugs.webkit.org/show_bug.cgi?id=47398
3103
3104         Create a new gtk3drawing file for the widget drawing primitives in
3105         WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
3106         code at the moment, but we'll evolve it incrementally from here.
3107
3108         * GNUmakefile.am:
3109         * platform/gtk/RenderThemeGtk.cpp:
3110         (WebCore::RenderThemeGtk::partsForDrawable):
3111         (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
3112         * platform/gtk/gtk2drawing.c:
3113         (TSOffsetStyleGCArray):
3114         (TSOffsetStyleGCs):
3115         (moz_gtk_button_paint):
3116         (moz_gtk_scrollbar_thumb_paint):
3117         (moz_gtk_entry_paint):
3118         (moz_gtk_combo_box_paint):
3119         (moz_gtk_get_widget_border):
3120         * platform/gtk/gtk3drawing.c: Added.
3121         * platform/gtk/gtkdrawing.h:
3122
3123 2010-10-07  Daniel Cheng  <dcheng@chromium.org>
3124
3125         Reviewed by Kent Tamura.
3126
3127         [chromium] Fix indentation in ChromiumDataObject.h 
3128         https://bugs.webkit.org/show_bug.cgi?id=47396
3129
3130         Just a cleanup patch to make followup diffs smaller.
3131
3132         * platform/chromium/ChromiumDataObject.h:
3133         (WebCore::ChromiumDataObject::create):
3134         (WebCore::ChromiumDataObject::copy):
3135         (WebCore::ChromiumDataObject::urlTitle):
3136         (WebCore::ChromiumDataObject::setUrlTitle):
3137         (WebCore::ChromiumDataObject::htmlBaseUrl):
3138         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
3139         (WebCore::ChromiumDataObject::containsFilenames):
3140         (WebCore::ChromiumDataObject::filenames):
3141         (WebCore::ChromiumDataObject::setFilenames):
3142         (WebCore::ChromiumDataObject::fileExtension):
3143         (WebCore::ChromiumDataObject::setFileExtension):
3144         (WebCore::ChromiumDataObject::fileContentFilename):
3145         (WebCore::ChromiumDataObject::setFileContentFilename):
3146         (WebCore::ChromiumDataObject::fileContent):
3147         (WebCore::ChromiumDataObject::setFileContent):
3148
3149 2010-10-07  Kent Tamura  <tkent@chromium.org>
3150
3151         Reviewed by Dimitri Glazkov.
3152
3153         Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
3154         https://bugs.webkit.org/show_bug.cgi?id=47327
3155
3156         Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
3157         valueAsNumber(), and setValueAsNumber() to InputType, and move
3158         serialize() and serializeForDateTimeTypes() too
3159
3160         * html/BaseDateAndTimeInputType.cpp:
3161         (WebCore::BaseDateAndTimeInputType::valueAsDate):
3162         (WebCore::BaseDateAndTimeInputType::setValueAsDate):
3163         (WebCore::BaseDateAndTimeInputType::valueAsNumber):
3164         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
3165         (WebCore::BaseDateAndTimeInputType::serialize):
3166         * html/BaseDateAndTimeInputType.h:
3167         * html/DateInputType.cpp:
3168         (WebCore::DateInputType::setMillisecondToDateComponents):
3169         * html/DateInputType.h:
3170         * html/DateTimeInputType.cpp:
3171         (WebCore::DateTimeInputType::setMillisecondToDateComponents):
3172         * html/DateTimeInputType.h:
3173         * html/DateTimeLocalInputType.cpp:
3174         (WebCore::DateTimeLocalInputType::valueAsDate):
3175         (WebCore::DateTimeLocalInputType::setValueAsDate):
3176         (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
3177         * html/DateTimeLocalInputType.h:
3178         * html/HTMLInputElement.cpp:
3179         (WebCore::HTMLInputElement::valueAsDate):
3180         (WebCore::HTMLInputElement::setValueAsDate):
3181         (WebCore::HTMLInputElement::valueAsNumber):
3182         (WebCore::HTMLInputElement::setValueAsNumber):
3183         (WebCore::HTMLInputElement::stepUpFromRenderer):
3184         * html/HTMLInputElement.h:
3185         * html/InputType.cpp:
3186         (WebCore::InputType::valueAsDate):
3187         (WebCore::InputType::setValueAsDate):
3188         (WebCore::InputType::valueAsNumber):
3189         (WebCore::InputType::setValueAsNumber):
3190         (WebCore::InputType::serialize):
3191         * html/InputType.h:
3192         * html/MonthInputType.cpp:
3193         (WebCore::MonthInputType::valueAsDate):
3194         (WebCore::MonthInputType::setValueAsDate):
3195         (WebCore::MonthInputType::setMillisecondToDateComponents):
3196         * html/MonthInputType.h:
3197         * html/NumberInputType.cpp:
3198         (WebCore::NumberInputType::valueAsNumber):
3199         (WebCore::NumberInputType::setValueAsNumber):
3200         (WebCore::NumberInputType::serialize):
3201         * html/NumberInputType.h:
3202         * html/RangeInputType.cpp:
3203         (WebCore::RangeInputType::valueAsNumber):
3204         (WebCore::RangeInputType::setValueAsNumber):
3205         (WebCore::RangeInputType::serialize):
3206         * html/RangeInputType.h:
3207         * html/TimeInputType.cpp:
3208         (WebCore::TimeInputType::setMillisecondToDateComponents):
3209         * html/TimeInputType.h:
3210         * html/WeekInputType.cpp:
3211         (WebCore::WeekInputType::setMillisecondToDateComponents):
3212         * html/WeekInputType.h:
3213
3214 2010-10-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
3215
3216         Reviewed by Kenneth Rohde Christiansen.
3217
3218         [Texmap] [Qt] Texture mapper initial implementation
3219         Texture Mapper is an implementation of accelerated compositing that doesn't require a
3220         platform specific scenegraph library like CA or QGraphicsView. The idea is that with
3221         time this would replace GraphicsLayerQt, and could serve as an implementation for other
3222         platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
3223         and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
3224         an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.
3225
3226         This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.
3227
3228         * platform/graphics/qt/TextureMapperQt.cpp: Added.
3229         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
3230         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
3231         * platform/graphics/texmap/TextureMapper.h: Added.
3232         * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.
3233
3234 2010-10-07  Antonio Gomes  <agomes@rim.com>
3235
3236         Reviewed by Simon Fraser.
3237
3238         [Mac] [DRT] implement setSpatialNavigationEnabled
3239         https://bugs.webkit.org/show_bug.cgi?id=47291
3240
3241         Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
3242         so it can be used from WebKit/mac.
3243
3244         * WebCore.exp.in:
3245
3246 2010-10-07  Eric Uhrhane  <ericu@chromium.org>
3247
3248         Reviewed by Jian Li
3249
3250         [V8] Add FileWriter to active DOM map
3251         https://bugs.webkit.org/show_bug.cgi?id=47380
3252
3253         It's an ActiveDOMObject; it needs to be in the map.
3254
3255         * bindings/scripts/CodeGeneratorV8.pm:
3256
3257 2010-10-07  Nico Weber  <thakis@chromium.org>
3258
3259         Reviewed by James Robinson.
3260
3261         [chromium] Make sure to update the current graphics context when calling out to AppKit.
3262         https://bugs.webkit.org/show_bug.cgi?id=47387
3263
3264         This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
3265         now no longer necessary.
3266
3267         Should be covered by existing tests. The checkbox at
3268         http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
3269         now show up correctly.
3270
3271         * platform/chromium/ThemeChromiumMac.mm:
3272         (WebCore::paintCheckbox):
3273         (WebCore::paintRadio):
3274         Create current context.
3275         * platform/graphics/chromium/ContentLayerChromium.cpp:
3276         (WebCore::ContentLayerChromium::updateContents):
3277         Remove LocalCurrentContext, it's now no longer necessary.
3278
3279 2010-10-07  Cris Neckar  <cdn@chromium.org>
3280
3281         Reviewed by Adam Barth.
3282
3283         Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
3284         https://bugs.webkit.org/show_bug.cgi?id=46921
3285
3286         Test: fast/html/object-image-nested-fallback.html
3287
3288         * html/HTMLObjectElement.cpp:
3289         (WebCore::HTMLObjectElement::renderFallbackContent):
3290
3291 2010-10-07  Rafael Antognolli  <antognolli@profusion.mobi>
3292
3293         Reviewed by Kenneth Rohde Christiansen.
3294
3295         [EFL] Fix shared timers on EFL port - make them thread safe.
3296         https://bugs.webkit.org/show_bug.cgi?id=47383
3297
3298         Using ecore_timer_add to create a timer from a thread that is
3299         not the main thread isn't safe. Now we add a pipe that is used
3300         to request a timer to be added in the main thread.
3301
3302         In order to reduce some delay on timers that are added with a
3303         very small interval, the timer callback is called immediately
3304         if the interval is smaller than the mainloop frame time.
3305
3306         No new features, so no tests added.
3307
3308         * platform/efl/SharedTimerEfl.cpp:
3309         (WebCore::setSharedTimerFiredFunction):
3310         (WebCore::timerEvent):
3311         (WebCore::processTimers):
3312         (WebCore::pipeHandlerCb):
3313         (WebCore::stopSharedTimer):
3314         (WebCore::addNewTimer):
3315         (WebCore::setSharedTimerFireTime):
3316
3317 2010-10-07  James Kozianski  <koz@chromium.org>
3318
3319         Reviewed by Adam Barth.
3320
3321         getPropertyValue('border') is incorrect after border-top-width is set
3322         https://bugs.webkit.org/show_bug.cgi?id=45949
3323
3324         Test: fast/dom/css-shorthand-common-value.html
3325
3326         CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
3327         properties that were implicitly set, which led to erroneous results
3328         from getPropertyValue().
3329
3330         * css/CSSMutableStyleDeclaration.cpp:
3331         (WebCore::CSSMutableStyleDeclaration::getCommonValue):
3332
3333 2010-10-07  Ryosuke Niwa  <rniwa@webkit.org>
3334
3335         Reviewed by Tony Chang.
3336
3337         REGRESSION: Indenting pre duplicates content
3338         https://bugs.webkit.org/show_bug.cgi?id=47233
3339
3340         The bug was caused by our not splitting text nodes properly.
3341
3342         In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
3343         to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
3344         for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
3345         start, and end to work-around moveParagraphWithClones's removing a line feed.
3346
3347         Tests: editing/execCommand/indent-pre-list.html
3348                editing/execCommand/indent-pre-paragraphs.html
3349
3350         * editing/ApplyBlockElementCommand.cpp:
3351         (WebCore::ApplyBlockElementCommand::formatSelection): See above.
3352         (WebCore::isNewLineAtPosition):
3353         (WebCore::renderStyleOfEnclosingTextNode): Added.
3354         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
3355         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
3356         * editing/ApplyBlockElementCommand.h:
3357         * editing/FormatBlockCommand.cpp:
3358         (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
3359         * editing/FormatBlockCommand.h:
3360         * editing/IndentOutdentCommand.cpp:
3361         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
3362         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
3363         (WebCore::IndentOutdentCommand::formatRange): Ditto.
3364         * editing/IndentOutdentCommand.h:
3365
3366 2010-10-07  Jian Li  <jianli@chromium.org>
3367
3368         Reviewed by Adam Barth.
3369
3370         Support generating a FormData object based on the data in an existing <form>.
3371         https://bugs.webkit.org/show_bug.cgi?id=45929
3372
3373         Test: http/tests/local/formdata/send-form-data-constructed-from-form.html
3374
3375         * bindings/js/JSDOMFormDataCustom.cpp:
3376         (WebCore::toHTMLFormElement):
3377         (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
3378         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3379         (WebCore::V8DOMFormData::constructorCallback):
3380         * html/DOMFormData.cpp:
3381         (WebCore::DOMFormData::DOMFormData):
3382         * html/DOMFormData.h:
3383         (WebCore::DOMFormData::create):
3384         * html/DOMFormData.idl:
3385
3386 2010-10-07  Abhishek Arya  <inferno@chromium.org>
3387
3388         Reviewed by Dave Hyatt.
3389
3390         Set the m_selectedChildren flag on the root inline box if one of the leaf 
3391         inline box from the bidi runs walk has a selection state. Remove the flag
3392         setting logic from addToLine, since line boxes created in createLinesBoxes
3393         should not be propagating selection state to root inline box.
3394         https://bugs.webkit.org/show_bug.cgi?id=47201
3395
3396         Test: editing/selection/root-inlinebox-selected-children-crash.html
3397
3398         * rendering/InlineFlowBox.cpp:
3399         (WebCore::InlineFlowBox::addToLine):
3400         * rendering/RenderBlockLineLayout.cpp:
3401         (WebCore::RenderBlock::constructLine):
3402
3403 2010-10-07  Benjamin Otte  <otte@gnome.org>
3404
3405         Reviewed by Martin Robinson.
3406
3407         [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
3408         https://bugs.webkit.org/show_bug.cgi?id=47361
3409
3410         Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
3411         of directly with X11. This should work fine with GDK double-buffering, but
3412         if we ever disable it, we'll need to verify that this is still functioning
3413         properly.
3414
3415         * plugins/gtk/PluginViewGtk.cpp:
3416         (WebCore::PluginView::paint): Do a bit of code cleanup.
3417
3418 2010-10-07  Anders Carlsson  <andersca@apple.com>
3419
3420         Reviewed by Sam Weinig.
3421
3422         Add a WKPageFindClient, hook up WKPageCountStringMatches
3423         https://bugs.webkit.org/show_bug.cgi?id=47373
3424
3425         Export find related symbols needed by WebKit2.
3426
3427         * WebCore.exp.in:
3428
3429 2010-10-07  David Hyatt  <hyatt@apple.com>
3430
3431         Reviewed by Sam Weinig.
3432
3433         https://bugs.webkit.org/show_bug.cgi?id=47370
3434         
3435         Make line box placement in the inline direction writing-mode-aware.  Lines now set their y-position instead of x-position
3436         when vertical.
3437         
3438         Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
3439         placeBoxesInInlineDirection can be replaced with the helper.
3440
3441         Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
3442         boxes.
3443
3444         Vertical lines are still not testable until they can be placed in the block direction.  Then the render tree dumps
3445         become meaningful (even if the pixel results look horrible).
3446
3447         * rendering/InlineBox.h:
3448         (WebCore::InlineBox::logicalRight):
3449         * rendering/InlineFlowBox.cpp:
3450         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3451         * rendering/InlineFlowBox.h:
3452         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
3453         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
3454         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
3455         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
3456         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
3457         * rendering/RenderBlockLineLayout.cpp:
3458         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3459         * rendering/style/RenderStyle.cpp:
3460         (WebCore::RenderStyle::getShadowExtent):
3461         (WebCore::RenderStyle::getShadowHorizontalExtent):
3462         (WebCore::RenderStyle::getShadowVerticalExtent):
3463         * rendering/style/RenderStyle.h:
3464         (WebCore::InheritedFlags::getTextShadowExtent):
3465         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
3466         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
3467         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
3468         (WebCore::InheritedFlags::getBoxShadowExtent):
3469         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
3470         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
3471         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
3472         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
3473
3474 2010-10-07  Dan Bernstein  <mitz@apple.com>
3475
3476         Reviewed by Simon Fraser.
3477
3478         <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
3479         https://bugs.webkit.org/show_bug.cgi?id=47374
3480
3481         In the legacy (paint-time pagination) printing model, when there are overlapping lines,
3482         adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
3483         namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
3484         moved the truncation point up again.
3485
3486         * rendering/RenderLineBoxList.cpp:
3487         (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
3488         current line extends below the truncation point.
3489
3490 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
3491
3492         Reviewed by Beth Dakin.
3493
3494         Use isIdentityOrTranslationOrFlipped() in scrollbar code
3495         https://bugs.webkit.org/show_bug.cgi?id=47378
3496
3497         Replace old code that looked at values in the CGAffineTransform
3498         with nicely named method that does the same test.
3499
3500         * platform/mac/ScrollbarThemeMac.mm:
3501         (WebCore::ScrollbarThemeMac::paint):
3502
3503 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
3504
3505         Reviewed by Beth Dakin.
3506
3507         Edge fringe artifact with transformed, masked elements (including reflections)
3508         https://bugs.webkit.org/show_bug.cgi?id=19179
3509         
3510         When drawing the mask images, use a transparency layer if the CTM
3511         has a rotation, scale or skew in it to avoid antialiasing issues at
3512         the edges.
3513
3514         Test: fast/css/transformed-mask.html
3515
3516         * rendering/RenderBox.cpp:
3517         (WebCore::RenderBox::paintMask): Don't bother painting the mask if
3518         painting is disabled, which also avoids an assertion in getCTM().
3519         (WebCore::RenderBox::paintMaskImages):
3520
3521 2010-10-07  Kwang Yul Seo  <skyul@company100.net>
3522
3523         Reviewed by Kent Tamura.
3524
3525         [BREWMP] Map non-alphabet key code to Unicode value
3526         https://bugs.webkit.org/show_bug.cgi?id=46002
3527
3528         Non-alphabet key codes are not equal to the unicode values. Add conversion.
3529
3530         * platform/brew/PlatformKeyboardEventBrew.cpp:
3531         (WebCore::singleCharacterString):
3532
3533 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
3534
3535         Reviewed by Chris Fleizach.
3536
3537         [GTK] The FreeType backend does not respect the FC_EMBOLDEN property
3538         https://bugs.webkit.org/show_bug.cgi?id=46216
3539
3540         Look for the FC_EMBOLDEN property of the FcPattern when constructing
3541         FontPlatformData and use it to enable synthetic bold fonts when necessary.
3542
3543         Test: platform/gtk/fonts/fontconfig-synthetic-bold.html
3544
3545         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
3546         (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.
3547
3548 2010-10-07  James Simonsen  <simonjam@chromium.org>
3549
3550         Reviewed by Pavel Feldman.
3551
3552         [Web Timing] Use platform definition of responseEnd
3553         https://bugs.webkit.org/show_bug.cgi?id=46306
3554
3555         No new tests. Used existing webtiming test.
3556
3557         * loader/MainResourceLoader.cpp:
3558         (WebCore::MainResourceLoader::didFinishLoading):
3559
3560 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
3561
3562         Reviewed by Chris Fleizach.
3563
3564         [Gtk] CSS font-style: italic behavior
3565         https://bugs.webkit.org/show_bug.cgi?id=33299
3566
3567         Properly interpret the FC_MATRIX property from a FontConfig pattern.
3568         FontConfig will use this property when returning fonts which have a
3569         synthetic oblique variant configured in the fonts.conf configuration
3570         file.
3571
3572         Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html
3573
3574         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
3575         (WebCore::FontPlatformData::FontPlatformData): Added a constructor that
3576         takes an existing FontPlatformData and a font size.
3577         (WebCore::FontPlatformData::initializeWithFontFace): Added this helper
3578         intialization method that properly handles the FC_MATRIX property from
3579         the FcPattern.
3580         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
3581         to the new constructor and the initializeWithFontFace.
3582         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
3583         (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
3584         constructor.
3585
3586 2010-10-07  David Hyatt  <hyatt@apple.com>
3587
3588         Reviewed by Dan Bernstein.
3589
3590         https://bugs.webkit.org/show_bug.cgi?id=47357
3591         
3592         Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.
3593
3594         * rendering/InlineFlowBox.cpp:
3595         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3596         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3597         * rendering/RenderBlock.cpp:
3598         (WebCore::RenderBlock::positionNewFloatOnLine):
3599         * rendering/RenderBlockLineLayout.cpp:
3600         (WebCore::getBorderPaddingMargin):
3601         (WebCore::inlineLogicalWidth):
3602         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3603         (WebCore::inlineFlowRequiresLineBox):
3604         (WebCore::RenderBlock::skipLeadingWhitespace):
3605         (WebCore::RenderBlock::fitBelowFloats):
3606         (WebCore::RenderBlock::findNextLineBreak):
3607         * rendering/RenderBoxModelObject.h:
3608         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
3609         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):
3610
3611 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
3612
3613         Reviewed by Kenneth Rohde Christiansen.
3614
3615         Fixing viewport meta tag user-scalable handling
3616         https://bugs.webkit.org/show_bug.cgi?id=47330
3617
3618         user-scalable attribute was not considered in viewport meta tag handling.
3619
3620         * dom/ViewportArguments.cpp:
3621         (WebCore::findConfigurationForViewportData):
3622         * dom/ViewportArguments.h:
3623
3624 2010-10-05  Diego Gonzalez  <diegohcg@webkit.org>
3625
3626         Reviewed by Andreas Kling.
3627
3628         [Qt] Hook up accelerometer data via Qt DeviceMotion
3629         https://bugs.webkit.org/show_bug.cgi?id=47105
3630
3631         Get accelerometer necessary data via Qt mobility library using a
3632         provider class. Enable, also the RotationRate using the current device
3633         orientation provider.
3634
3635         * WebCore.pro:
3636
3637 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
3638
3639         Reviewed by Kenneth Rohde Christiansen.
3640
3641         Some viewport meta tag api refactoring
3642         https://bugs.webkit.org/show_bug.cgi?id=47334
3643
3644         WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
3645         WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
3646
3647         * dom/ViewportArguments.cpp:
3648         (WebCore::computeViewportAttributes):
3649         * dom/ViewportArguments.h:
3650
3651 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3652
3653         Reviewed by Xan Lopez.
3654
3655         [GTK] Don't use GtkObject
3656         https://bugs.webkit.org/show_bug.cgi?id=47090
3657
3658         GtkObject has been removed in gtk3.
3659
3660         * plugins/gtk/gtk2xtbin.c:
3661         (gtk_xtbin_class_init):
3662         (gtk_xtbin_dispose):
3663
3664 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
3665
3666         Reviewed by Pavel Feldman.
3667
3668         Web Inspector: highlight XHR breakpoint when hit.
3669         https://bugs.webkit.org/show_bug.cgi?id=47253
3670
3671         * inspector/InspectorController.cpp:
3672         (WebCore::InspectorController::didCommitLoad):
3673         (WebCore::InspectorController::setNativeBreakpoint):
3674         (WebCore::InspectorController::removeNativeBreakpoint):
3675         (WebCore::InspectorController::findEventListenerBreakpoint):
3676         (WebCore::InspectorController::findXHRBreakpoint):
3677         * inspector/InspectorController.h:
3678         * inspector/InspectorInstrumentation.cpp:
3679         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
3680         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
3681         * inspector/front-end/BreakpointManager.js:
3682         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
3683         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
3684         (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
3685         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
3686         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
3687         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
3688         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
3689         (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
3690         (WebInspector.BreakpointManager.prototype.debuggerPaused):
3691         (WebInspector.BreakpointManager.prototype.debuggerResumed):
3692         (WebInspector.NativeBreakpoint):
3693         (WebInspector.NativeBreakpoint.prototype.get enabled):
3694         (WebInspector.NativeBreakpoint.prototype.set enabled):
3695         (WebInspector.NativeBreakpoint.prototype.remove):
3696         * inspector/front-end/BreakpointsSidebarPane.js:
3697         (WebInspector.BreakpointItem):
3698         (WebInspector.BreakpointItem.prototype._breakpointClicked):
3699         (WebInspector.BreakpointItem.prototype._hitStateChanged):
3700         * inspector/front-end/CallStackSidebarPane.js:
3701         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
3702         * inspector/front-end/inspector.css:
3703         (.breakpoint-list .breakpoint-hit):
3704         * inspector/front-end/inspector.js:
3705         (WebInspector.pausedScript):
3706         (WebInspector.resumedScript):
3707
3708 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3709
3710         Reviewed by Xan Lopez.
3711
3712         [GTK] Fix the build for GTK+ 3
3713         https://bugs.webkit.org/show_bug.cgi?id=47249
3714
3715         Use GdkVisual instead of GdkColormap. GdkColormap has been removed
3716         in gtk3.
3717
3718         * plugins/gtk/PluginViewGtk.cpp:
3719         (WebCore::PluginView::platformStart):
3720         * plugins/gtk/gtk2xtbin.c:
3721         (gtk_xtbin_new):
3722
3723 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3724
3725         Reviewed by Xan Lopez.
3726
3727         [GTK] Fix the build for GTK+ 3
3728         https://bugs.webkit.org/show_bug.cgi?id=47249
3729
3730         Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
3731         are deprecated in gtk2 and have been removed in gtk3. Equivalent
3732         API has been added to GdkWindow.
3733
3734         * platform/gtk/GtkVersioning.c:
3735         (getDefaultGDKPointerDevice):
3736         * platform/gtk/GtkVersioning.h:
3737         * platform/gtk/PlatformScreenGtk.cpp:
3738         (WebCore::getVisual):
3739         (WebCore::screenAvailableRect):
3740
3741 2010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3742
3743         Reviewed by Andreas Kling.
3744
3745         [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
3746
3747         https://bugs.webkit.org/show_bug.cgi?id=47073
3748
3749         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3750
3751 2010-10-07  Alexander Pavlov  <apavlov@chromium.org>
3752
3753         Unreviewed, release build fix.
3754
3755         * inspector/InspectorStyleSheet.cpp:
3756         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3757         * inspector/InspectorStyleSheet.h:
3758         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
3759         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
3760
3761 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
3762
3763         Unreviewed, build fix.
3764
3765         Build fix for r69283.
3766
3767         * dom/Document.cpp:
3768         (WebCore::Document::inspectorController):
3769         * dom/Document.h:
3770
3771 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3772
3773         Reviewed by Xan Lopez.
3774
3775         [GTK] Fix the build for GTK+ 3
3776         https://bugs.webkit.org/show_bug.cgi?id=47249
3777
3778         Don't use gtk_size_request_get_size(). It has been removed,
3779         gtk_widget_get_preferred_size() should be used instead
3780
3781         * platform/gtk/PopupMenuGtk.cpp:
3782         (WebCore::PopupMenuGtk::show):
3783
3784 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
3785
3786         Reviewed by Pavel Feldman.
3787
3788         Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
3789         Property toggling not implemented yet. The code is not going live.
3790         https://bugs.webkit.org/show_bug.cgi?id=45825
3791
3792         * CMakeLists.txt:
3793         * GNUmakefile.am:
3794         * WebCore.gypi:
3795         * WebCore.pro:
3796         * WebCore.vcproj/WebCore.vcproj:
3797         * WebCore.xcodeproj/project.pbxproj:
3798         * inspector/InspectorCSSAgent.cpp: Added.
3799         (WebCore::InspectorCSSAgent::buildObjectForStyle):
3800         (WebCore::InspectorCSSAgent::parentStyleSheet):
3801         (WebCore::InspectorCSSAgent::asCSSStyleRule):
3802         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3803         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
3804         (WebCore::InspectorCSSAgent::reset):
3805         (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
3806         (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
3807         (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
3808         (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
3809         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
3810         (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
3811         (WebCore::InspectorCSSAgent::getAllStyles2):
3812         (WebCore::InspectorCSSAgent::getStyleSheet2):
3813         (WebCore::InspectorCSSAgent::setStyleSheetText2):
3814         (WebCore::InspectorCSSAgent::setStyleText2):
3815         (WebCore::InspectorCSSAgent::toggleProperty2):
3816         (WebCore::InspectorCSSAgent::setRuleSelector2):
3817         (WebCore::InspectorCSSAgent::addRule2):
3818         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3819         (WebCore::InspectorCSSAgent::inlineStyleElement):
3820         (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
3821         (WebCore::InspectorCSSAgent::shorthandValue):
3822         (WebCore::InspectorCSSAgent::shorthandPriority):
3823         (WebCore::InspectorCSSAgent::longhandProperties):
3824         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
3825         (WebCore::InspectorCSSAgent::elementForId):
3826         (WebCore::InspectorCSSAgent::bindStyleSheet):
3827         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3828         (WebCore::InspectorCSSAgent::styleSheetForId):
3829         (WebCore::InspectorCSSAgent::detectOrigin):
3830         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3831         (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
3832         (WebCore::InspectorCSSAgent::didRemoveDocument):
3833         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
3834         * inspector/InspectorCSSAgent.h: Added.
3835         (WebCore::InspectorCSSAgent::create):
3836         * inspector/InspectorDOMAgent.cpp:
3837         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3838         (WebCore::InspectorDOMAgent::setDOMListener):
3839         (WebCore::InspectorDOMAgent::unbind):
3840         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3841         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
3842         * inspector/InspectorDOMAgent.h:
3843         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
3844         (WebCore::InspectorDOMAgent::documents):
3845         * inspector/InspectorStyleSheet.cpp: Added.
3846         (ParsedStyleSheet::cssStyleSheet):
3847         (ParsedStyleSheet::text):
3848         (ParsedStyleSheet::hasText):
3849         (ParsedStyleSheet::sourceData):
3850         (ParsedStyleSheet::hasSourceData):
3851         (ParsedStyleSheet::ParsedStyleSheet):
3852         (ParsedStyleSheet::setText):
3853         (ParsedStyleSheet::setSourceData):
3854         (ParsedStyleSheet::ruleSourceDataAt):
3855         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
3856         (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
3857         (WebCore::InspectorStyleSheet::setText):
3858         (WebCore::InspectorStyleSheet::setRuleSelector):
3859         (WebCore::InspectorStyleSheet::addRule):
3860         (WebCore::InspectorStyleSheet::ruleForId):
3861         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3862         (WebCore::InspectorStyleSheet::buildObjectForRule):
3863         (WebCore::InspectorStyleSheet::buildObjectForStyle):
3864         (WebCore::InspectorStyleSheet::styleForId):
3865         (WebCore::InspectorStyleSheet::setStyleText):
3866         (WebCore::InspectorStyleSheet::ownerDocument):
3867         (WebCore::InspectorStyleSheet::ruleSourceDataFor):
3868         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
3869         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
3870         (WebCore::InspectorStyleSheet::text):
3871         (WebCore::InspectorStyleSheet::ensureText):
3872         (WebCore::InspectorStyleSheet::ensureSourceData):
3873         (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
3874         (WebCore::InspectorStyleSheet::innerSetStyleText):
3875         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
3876         (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
3877         (WebCore::InspectorStyleSheet::fullRuleId):
3878         (WebCore::InspectorStyleSheet::revalidateStyle):
3879         (WebCore::InspectorStyleSheet::styleSheetText):
3880         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3881         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
3882         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3883         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3884         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3885         (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
3886         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
3887         (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
3888         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
3889         * inspector/InspectorStyleSheet.h: Added.
3890         (WebCore::InspectorStyleSheet::create):
3891         (WebCore::InspectorStyleSheet::id):
3892         (WebCore::InspectorStyleSheet::pageStyleSheet):
3893         (WebCore::InspectorStyleSheet::canBind):
3894         (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
3895         (WebCore::InspectorStyleSheet::ruleOrStyleId):
3896         (WebCore::InspectorStyleSheet::fullStyleId):
3897         (WebCore::InspectorStyleSheetForInlineStyle::create):
3898         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
3899         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
3900         (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
3901         * inspector/InspectorUtilities.cpp: Added.
3902         (WebCore::InspectorUtilities::resourceContentForURL):
3903         * inspector/InspectorUtilities.h: Added.
3904
3905 2010-10-05  Pavel Podivilov  <podivilov@chromium.org>
3906
3907         Reviewed by Pavel Feldman.
3908
3909         Web Inspector: extract Inspector Instrumentation API as a class
3910         https://bugs.webkit.org/show_bug.cgi?id=47173
3911
3912         * bindings/js/JSXMLHttpRequestCustom.cpp:
3913         (WebCore::JSXMLHttpRequest::send):
3914         * bindings/js/ScriptController.cpp:
3915         (WebCore::ScriptController::evaluateInWorld):
3916         * bindings/v8/V8DOMWindowShell.cpp:
3917         * bindings/v8/V8Proxy.cpp:
3918         (WebCore::V8Proxy::evaluate):
3919         (WebCore::V8Proxy::callFunction):
3920         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3921         (WebCore::V8XMLHttpRequest::sendCallback):
3922         * dom/Document.cpp:
3923         (WebCore::Document::recalcStyle):
3924         * dom/Document.h:
3925         * dom/Node.cpp:
3926         (WebCore::Node::dispatchGenericEvent):
3927         * html/parser/HTMLDocumentParser.cpp:
3928         (WebCore::HTMLDocumentParser::pumpTokenizer):
3929         * html/parser/HTMLDocumentParser.h:
3930         * inspector/InspectorInstrumentation.cpp:
3931         (WebCore::InspectorInstrumentation::hasFrontend):
3932         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3933         * inspector/InspectorInstrumentation.h:
3934         (WebCore::InspectorInstrumentation::hasFrontends):
3935         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
3936         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
3937         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
3938         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
3939         * inspector/InspectorTimelineAgent.cpp:
3940         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3941         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3942         * inspector/InspectorTimelineAgent.h:
3943         * loader/ResourceLoader.cpp:
3944         (WebCore::ResourceLoader::didReceiveResponse):
3945         (WebCore::ResourceLoader::didReceiveData):
3946         * loader/loader.cpp:
3947         (WebCore::Loader::load):
3948         * page/DOMTimer.cpp:
3949         (WebCore::DOMTimer::install):
3950         (WebCore::DOMTimer::removeById):
3951         (WebCore::DOMTimer::fired):
3952         * page/DOMTimer.h:
3953         * page/DOMWindow.cpp:
3954         (WebCore::DOMWindow::dispatchEvent):
3955         * page/DOMWindow.h:
3956         * page/FrameView.cpp:
3957         (WebCore::FrameView::layout):
3958         (WebCore::FrameView::paintContents):
3959         * page/FrameView.h:
3960         * page/Page.cpp:
3961         * page/Page.h:
3962         * rendering/RenderLayerBacking.cpp:
3963         (WebCore::RenderLayerBacking::paintContents):
3964         * xml/XMLHttpRequest.cpp:
3965         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3966
3967 2010-10-07  Zraly Mike  <mike.zraly@nokia.com>
3968
3969         Reviewed by Andreas Kling.
3970
3971         Windowless flash plugin is not rendered in Symbian
3972         https://bugs.webkit.org/show_bug.cgi?id=47172
3973
3974         * plugins/symbian/PluginViewSymbian.cpp:
3975         (WebCore::PluginView::platformStart):
3976         Add call to updatePluginWidget() following changes to
3977         platform widget.  This is needed to set PluginView's
3978         m_windowRect and m_clipRect members properly after
3979         the proxy widget and its container get created.
3980
3981 2010-10-07  Andreas Kling  <kling@webkit.org>
3982
3983         Reviewed by Nikolas Zimmermann.
3984
3985         Rename (and move) RenderPath to svg/RenderSVGPath
3986         https://bugs.webkit.org/show_bug.cgi?id=47053
3987
3988         Also renamed RenderObject::isRenderPath() to isSVGPath()
3989
3990         * Android.mk:
3991         * CMakeLists.txt:
3992         * GNUmakefile.am:
3993         * WebCore.gypi:
3994         * WebCore.order:
3995         * WebCore.pro:
3996         * WebCore.vcproj/WebCore.vcproj:
3997         * WebCore.xcodeproj/project.pbxproj:
3998         * rendering/RenderObject.h:
3999         (WebCore::RenderObject::isSVGPath):
4000         * rendering/RenderPath.cpp: Removed.
4001         * rendering/RenderPath.h: Removed.
4002         * rendering/RenderSVGHiddenContainer.cpp:
4003         * rendering/RenderSVGResourceClipper.cpp:
4004         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
4005         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
4006         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
4007         * rendering/RenderSVGResourceContainer.cpp:
4008         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
4009         * rendering/RenderSVGResourceSolidColor.cpp:
4010         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
4011         * rendering/RenderTreeAsText.cpp:
4012         (WebCore::write):
4013         * rendering/SVGRenderSupport.cpp:
4014         (WebCore::SVGRenderSupport::layoutChildren):
4015         * rendering/SVGRenderTreeAsText.cpp:
4016         (WebCore::writeStyle):
4017         (WebCore::operator<<):
4018         (WebCore::write):
4019         * rendering/SVGRenderTreeAsText.h:
4020         * rendering/style/SVGRenderStyle.cpp:
4021         (WebCore::SVGRenderStyle::diff):
4022         * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
4023         (WebCore::RenderSVGPath::RenderSVGPath):
4024         (WebCore::RenderSVGPath::fillContains):
4025         (WebCore::RenderSVGPath::strokeContains):
4026         (WebCore::RenderSVGPath::layout):
4027         (WebCore::RenderSVGPath::fillAndStrokePath):
4028         (WebCore::RenderSVGPath::paint):
4029         (WebCore::RenderSVGPath::addFocusRingRects):
4030         (WebCore::RenderSVGPath::nodeAtFloatPoint):
4031         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
4032         (WebCore::RenderSVGPath::updateCachedBoundaries):
4033         * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
4034         (WebCore::RenderSVGPath::isSVGPath):
4035         (WebCore::RenderSVGPath::renderName):
4036         (WebCore::toRenderSVGPath):
4037         * svg/SVGCircleElement.cpp:
4038         (WebCore::SVGCircleElement::svgAttributeChanged):
4039         * svg/SVGEllipseElement.cpp:
4040         (WebCore::SVGEllipseElement::svgAttributeChanged):
4041         * svg/SVGGradientElement.cpp:
4042         * svg/SVGLineElement.cpp:
4043         (WebCore::SVGLineElement::svgAttributeChanged):
4044         * svg/SVGPathElement.cpp:
4045         (WebCore::SVGPathElement::svgAttributeChanged):
4046         * svg/SVGPolyElement.cpp:
4047         (WebCore::SVGPolyElement::svgAttributeChanged):
4048         * svg/SVGRectElement.cpp:
4049         (WebCore::SVGRectElement::svgAttributeChanged):
4050         * svg/SVGStyledLocatableElement.cpp:
4051         * svg/SVGStyledTransformableElement.cpp:
4052         (WebCore::SVGStyledTransformableElement::createRenderer):
4053
4054 2010-10-06  Yury Semikhatsky  <yurys@chromium.org>
4055
4056         Reviewed by Pavel Feldman.
4057
4058         Web Inspector: clear line highlight when switching current view
4059         https://bugs.webkit.org/show_bug.cgi?id=47262
4060
4061         * inspector/front-end/SourceFrame.js:
4062         (WebInspector.SourceFrame.prototype.clearLineHighlight):
4063         * inspector/front-end/SourceView.js:
4064         (WebInspector.SourceView.prototype.hide):
4065         * inspector/front-end/TextViewer.js:
4066         (WebInspector.TextViewer.prototype.highlightLine):
4067         (WebInspector.TextViewer.prototype.clearLineHighlight):
4068
4069 2010-10-06  Chris Evans  <cevans@google.com>
4070
4071         Reviewed by David Levin.
4072
4073         https://bugs.webkit.org/show_bug.cgi?id=47313
4074
4075         Fix integer errors with enormous input strings to newline normalization APIs.
4076
4077         * platform/text/LineEnding.cpp:
4078         (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
4079         (WebCore::normalizeToCROrLF): use the correct type for a string length.
4080
4081 2010-10-06  Kent Tamura  <tkent@chromium.org>
4082
4083         Unreviewed, build fix.
4084
4085         Windows build fix for r69272.
4086
4087         * html/BaseDateAndTimeInputType.cpp:
4088         (WebCore::BaseDateAndTimeInputType::stepBase):
4089          Use defaultStepBase() instead of defaultStepBase.
4090         * html/InputType.h:
4091         (WebCore::InputType::defaultStepBase):
4092          Make defaultStepBase static function.
4093         * html/NumberInputType.cpp:
4094         (WebCore::NumberInputType::stepBase):
4095          Use defaultStepBase() instead of defaultStepBase.
4096
4097 2010-10-06  Kent Tamura  <tkent@chromium.org>
4098
4099         Reviewed by Dimitri Glazkov.
4100
4101         Refactor HTMLInputElement: Move range/step related functions
4102         https://bugs.webkit.org/show_bug.cgi?id=47251
4103
4104         Move the content of the following functions:
4105          - rangeUnderflow()
4106          - rangeOverflow()
4107          - minimum()
4108          - maximum()
4109          - stepMismatch()
4110          - stepBase()
4111
4112         getStepParameters() was split into InputType::defaultStep() and
4113         stepScaleFactor().
4114
4115         * html/BaseDateAndTimeInputType.cpp:
4116         (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
4117         (WebCore::BaseDateAndTimeInputType::rangeOverflow):
4118         (WebCore::BaseDateAndTimeInputType::stepMismatch):
4119         (WebCore::BaseDateAndTimeInputType::stepBase):
4120         * html/BaseDateAndTimeInputType.h:
4121         * html/DateInputType.cpp:
4122         (WebCore::DateInputType::minimum):
4123         (WebCore::DateInputType::maximum):
4124         (WebCore::DateInputType::defaultStep):
4125         (WebCore::DateInputType::stepScaleFactor):
4126         (WebCore::DateInputType::parsedStepValueShouldBeInteger):
4127         * html/DateInputType.h:
4128         * html/DateTimeInputType.cpp:
4129         (WebCore::DateTimeInputType::minimum):
4130         (WebCore::DateTimeInputType::maximum):
4131         (WebCore::DateTimeInputType::defaultStep):
4132         (WebCore::DateTimeInputType::stepScaleFactor):
4133         (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
4134         * html/DateTimeInputType.h:
4135         * html/DateTimeLocalInputType.cpp:
4136         (WebCore::DateTimeLocalInputType::minimum):
4137         (WebCore::DateTimeLocalInputType::maximum):
4138         (WebCore::DateTimeLocalInputType::defaultStep):
4139         (WebCore::DateTimeLocalInputType::stepScaleFactor):
4140         (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
4141         * html/DateTimeLocalInputType.h:
4142         * html/HTMLInputElement.cpp:
4143         (WebCore::HTMLInputElement::rangeUnderflow):
4144         (WebCore::HTMLInputElement::rangeOverflow):
4145         (WebCore::HTMLInputElement::minimum):
4146         (WebCore::HTMLInputElement::maximum):
4147         (WebCore::HTMLInputElement::stepMismatch):
4148         (WebCore::HTMLInputElement::getAllowedValueStep):
4149         (WebCore::HTMLInputElement::applyStep):
4150         (WebCore::HTMLInputElement::handleKeyEventForRange):
4151         (WebCore::HTMLInputElement::stepUpFromRenderer):
4152         * html/HTMLInputElement.h:
4153         * html/InputType.cpp:
4154         (WebCore::InputType::patternMismatch):
4155         (WebCore::InputType::rangeUnderflow):
4156         (WebCore::InputType::rangeOverflow):
4157         (WebCore::InputType::minimum):
4158         (WebCore::InputType::maximum):
4159         (WebCore::InputType::stepMismatch):
4160         (WebCore::InputType::stepBase):
4161         (WebCore::InputType::defaultStep):
4162         (WebCore::InputType::stepScaleFactor):
4163         (WebCore::InputType::parsedStepValueShouldBeInteger):
4164         (WebCore::InputType::scaledStepValeuShouldBeInteger):
4165         * html/InputType.h:
4166         * html/MonthInputType.cpp:
4167         (WebCore::MonthInputType::minimum):
4168         (WebCore::MonthInputType::maximum):
4169         (WebCore::MonthInputType::defaultStep):
4170         (WebCore::MonthInputType::stepScaleFactor):
4171         (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
4172         * html/MonthInputType.h:
4173         * html/NumberInputType.cpp:
4174         (WebCore::NumberInputType::rangeUnderflow):
4175         (WebCore::NumberInputType::rangeOverflow):
4176         (WebCore::NumberInputType::minimum):
4177         (WebCore::NumberInputType::maximum):
4178         (WebCore::NumberInputType::stepMismatch):
4179         (WebCore::NumberInputType::stepBase):
4180         (WebCore::NumberInputType::defaultStep):
4181         (WebCore::NumberInputType::stepScaleFactor):
4182         * html/NumberInputType.h:
4183         * html/RangeInputType.cpp:
4184         (WebCore::RangeInputType::rangeUnderflow):
4185         (WebCore::RangeInputType::rangeOverflow):
4186         (WebCore::RangeInputType::minimum):
4187         (WebCore::RangeInputType::maximum):
4188         (WebCore::RangeInputType::stepMismatch):
4189         (WebCore::RangeInputType::stepBase):
4190         (WebCore::RangeInputType::defaultStep):
4191         (WebCore::RangeInputType::stepScaleFactor):
4192         * html/RangeInputType.h:
4193         * html/TimeInputType.cpp:
4194         (WebCore::TimeInputType::minimum):
4195         (WebCore::TimeInputType::maximum):
4196         (WebCore::TimeInputType::defaultStep):
4197         (WebCore::TimeInputType::stepScaleFactor):
4198         (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
4199         * html/TimeInputType.h:
4200         * html/WeekInputType.cpp:
4201         (WebCore::WeekInputType::minimum):
4202         (WebCore::WeekInputType::maximum):
4203         (WebCore::WeekInputType::stepBase):
4204         (WebCore::WeekInputType::defaultStep):
4205         (WebCore::WeekInputType::stepScaleFactor):
4206         (WebCore::We