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