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