Remove invalidateContents, it isn't used and it never makes sense to only invalidate...
[WebKit-https.git] / WebCore / ChangeLog
1 2010-03-11  Anders Carlsson  <andersca@apple.com>
2
3         Reviewed by David Hyatt.
4
5         Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
6
7         * loader/EmptyClients.h:
8         * page/Chrome.cpp:
9         * page/Chrome.h:
10         * page/ChromeClient.h:
11         * platform/HostWindow.h:
12
13 2010-03-11  Nate Chapin  <japhet@chromium.org>
14
15         Reviewed by Dimitri Glazkov.
16
17         [V8] Remove DOMObjectsInclude.h and update headers accordingly.
18
19         https://bugs.webkit.org/show_bug.cgi?id=36036
20
21         * WebCore.gypi:
22         * bindings/v8/DOMData.h:
23         * bindings/v8/DOMDataStore.h:
24         * bindings/v8/DOMObjectsInclude.h: Removed.
25         * bindings/v8/V8DOMMap.cpp:
26         * bindings/v8/V8DOMWindowShell.cpp:
27         * bindings/v8/V8DOMWrapper.cpp:
28         * bindings/v8/V8GCController.cpp:
29         * bindings/v8/V8Proxy.cpp:
30
31 2010-03-11  Simon Fraser  <simon.fraser@apple.com>
32
33         Reviewed by Mark Rowe.
34
35         Remove duplicate entries revealed after sorting.
36
37         * WebCore.xcodeproj/project.pbxproj:
38
39 2010-03-11  Simon Fraser  <simon.fraser@apple.com>
40
41         Reviewed by Mark Rowe.
42
43         Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
44         every time you opened it).
45
46         * WebCore.xcodeproj/project.pbxproj:
47
48 2010-03-11  Nate Chapin  <japhet@chromium.org>
49
50         Reviewed by Dimitri Glazkov.
51
52         Fix style issues and improve comments from 
53         http://trac.webkit.org/changeset/55853.
54
55         https://bugs.webkit.org/show_bug.cgi?id=36029
56
57         * platform/animation/TimingFunction.h:
58         (WebCore::TimingFunction::TimingFunction):
59
60 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
61
62         Reviewed by Beth Dakin.
63
64         accessibilityIsIgnoredBase() needs to respect when platform says include
65         https://bugs.webkit.org/show_bug.cgi?id=36025
66
67         Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
68         answer. This allows the platform to make a yes decision on an element.
69
70         * accessibility/AccessibilityList.cpp:
71         (WebCore::AccessibilityList::accessibilityIsIgnored):
72         * accessibility/AccessibilityListBox.cpp:
73         (WebCore::AccessibilityListBox::accessibilityIsIgnored):
74         * accessibility/AccessibilityObject.h:
75         (WebCore::):
76         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
77         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
78         * accessibility/AccessibilityRenderObject.cpp:
79         (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
80         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
81         * accessibility/AccessibilityRenderObject.h:
82         * accessibility/AccessibilitySlider.cpp:
83         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
84         * accessibility/AccessibilityTable.cpp:
85         (WebCore::AccessibilityTable::accessibilityIsIgnored):
86         * accessibility/AccessibilityTableCell.cpp:
87         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
88         * accessibility/AccessibilityTableRow.cpp:
89         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
90         * accessibility/chromium/AccessibilityObjectChromium.cpp:
91         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
92         * accessibility/gtk/AccessibilityObjectAtk.cpp:
93         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
94         * accessibility/mac/AccessibilityObjectMac.mm:
95         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
96         * accessibility/qt/AccessibilityObjectQt.cpp:
97         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
98         * accessibility/win/AccessibilityObjectWin.cpp:
99         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
100         * accessibility/wx/AccessibilityObjectWx.cpp:
101         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
102
103 2010-03-11  Kenneth Russell  <kbr@google.com>
104
105         Reviewed by Dimitri Glazkov.
106
107         Fix build breakage with ENABLE_3D_CANVAS=0
108         https://bugs.webkit.org/show_bug.cgi?id=35995
109
110         No new tests; verified in Chromium that WebGL is disabled in
111         ENABLE_3D_CANVAS=0 builds.
112
113         * bindings/v8/custom/V8DocumentCustom.cpp:
114         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
115
116 2010-03-11  Nate Chapin  <japhet@chromium.org>
117
118         Unreviewed, Chromium mac build fix.
119
120         Add an explicit copy constructor to TimingFunction.
121         http://trac.webkit.org/changeset/55835 trigged an inlining
122         bug in gcc that the copy constructor resolves.
123
124         * platform/animation/TimingFunction.h:
125         (WebCore::TimingFunction::TimingFunction):
126
127 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
128
129         Fixing GTK. No review.
130
131         support lang attribute on <option> elements
132         https://bugs.webkit.org/show_bug.cgi?id=36021
133  
134         We don't need to cast to AccessibilityRenderObject to get language().
135
136         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
137         (webkit_accessible_document_get_locale):
138
139 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
140
141         Reviewed by Darin Adler.
142
143         support lang attribute on <option> elements
144         https://bugs.webkit.org/show_bug.cgi?id=36021
145
146         Allow non AccessibilityRenderObject classes to access the lang
147         attribute by moving the useful code into AccessibilityObject.
148
149         Test: platform/mac/accessibility/option-with-lang.html
150
151         * accessibility/AccessibilityListBoxOption.cpp:
152         (WebCore::AccessibilityListBoxOption::language):
153         * accessibility/AccessibilityListBoxOption.h:
154         * accessibility/AccessibilityObject.cpp:
155         (WebCore::AccessibilityObject::language):
156         * accessibility/AccessibilityObject.h:
157         * accessibility/AccessibilityRenderObject.cpp:
158         (WebCore::AccessibilityRenderObject::language):
159         * accessibility/AccessibilityRenderObject.h:
160
161 2010-03-11  Diego Gonzalez  <diego.gonzalez@openbossa.org>
162
163         Reviewed by Simon Hausmann.
164
165         [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
166         https://bugs.webkit.org/show_bug.cgi?id=35993
167
168         * page/qt/EventHandlerQt.cpp:
169         (WebCore::EventHandler::accessKeyModifiers):
170
171 2010-03-08  Brett Wilson  <brettw@chromium.org>
172
173         Reviewed by Adam Barth.
174
175         Remove the deprecated argument to url_util::IsStandard in preparation
176         for deleting that version of the function. Pull the latest googleurl
177         with the new version for the Chromium builder.
178
179         * platform/KURLGoogle.cpp:
180         (WebCore::KURL::isHierarchical):
181
182 2010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
183
184         Reviewed by Tor Arne Vestbø.
185
186         [Qt] Make it possible to do builds with separate debug info in packages
187
188         * WebCore.pro:
189
190 2010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
191
192         Reviewed by Tor Arne Vestbø.
193
194         [Qt] Avoid double-buffering with Qt image decoders
195
196         Pass QIODevice::Unbuffered when opening the QBuffer that
197         wraps the image data, to hint to Qt that no extra buffering
198         is needed.
199
200         * platform/graphics/qt/ImageDecoderQt.cpp:
201         (WebCore::ImageDecoderQt::setData):
202
203 2010-03-10  Ben Murdoch  <benm@google.com>
204
205         Reviewed by Jeremy Orlow.
206
207         [Android] The platform touch events on Android are missing support
208         for key modifiers.
209         https://bugs.webkit.org/show_bug.cgi?id=35521
210
211         Add support in PlatformToucHEventAndroid for the platform supplying
212         key modifiers with touch events.
213
214         Fixes Android so it now passes basic-single-touch-events.html.
215
216         * page/EventHandler.cpp:
217         (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings.
218         * platform/PlatformTouchEvent.h:
219         (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for
220             key modifiers on Android.
221         * platform/android/PlatformTouchEventAndroid.cpp:
222         (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto.
223
224 2010-03-10  Steve Block  <steveblock@google.com>
225
226         Reviewed by Jeremy Orlow.
227
228         Implements Geolocation maximumAge property
229         https://bugs.webkit.org/show_bug.cgi?id=30676
230
231         Test: fast/dom/Geolocation/maximum-age.html
232
233         * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers
234         * page/Geolocation.cpp: Modified.
235         (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added.
236         (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added.
237         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position
238         (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request
239         (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position
240         (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position
241         (WebCore::Geolocation::makeCachedPositionCallbacks): Added.
242         (WebCore::Geolocation::haveSuitableCachedPosition): Added.
243         (WebCore::Geolocation::setIsAllowed): Modified.
244         (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate
245         (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate
246         * page/Geolocation.h: Modified.
247
248 2010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
249
250         Unreviewed buildfix after r55823. (To fix Qt --minimal build.)
251         I have déjà vu, I'm sure that I did it before. (r55598)
252
253         * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added. 
254
255 2010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
256
257         [Qt] Unreviewed buildfix after r55833.
258
259         Rename all instances of data() to characters()
260
261         * bridge/qt/qt_class.cpp:
262         (JSC::Bindings::QtClass::fieldNamed):
263         * bridge/qt/qt_runtime.cpp:
264         (JSC::Bindings::convertValueToQVariant):
265
266 2010-03-11  Zoltan Horvath  <zoltan@webkit.org>
267
268         Reviewed by Simon Hausmann.
269
270         Allow custom memory allocation control for RenderLayerBacking class
271         https://bugs.webkit.org/show_bug.cgi?id=35857
272
273         Inherits the following class from Noncopyable because it is
274         instantiated by 'new' and no need to be copyable:                                     
275
276         class name    - instantiated at: WebCore/'location'
277         RenderLayerBacking - rendering/RenderLayer.cpp:3047
278
279         * rendering/RenderLayerBacking.h:
280
281 2010-03-11  Zoltan Horvath  <zoltan@webkit.org>
282
283         Reviewed by Simon Hausmann.
284
285         Allow custom memory allocation control for TimingFunction struct
286         https://bugs.webkit.org/show_bug.cgi?id=35855
287
288         Inherits the following struct from FastAllocBase because it is 
289         instantiated by 'new':
290
291         class name    - instantiated at: WebCore/'location'
292         TimingFuction - platform/graphics/GraphicsLayer.h:89
293
294         * platform/animation/TimingFunction.h:
295
296 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
297
298         Rubber stamped by Oliver Hunt.
299         
300         Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
301
302         * bridge/jni/jsc/JavaStringJSC.h:
303         (JSC::Bindings::JavaStringImpl::uchars):
304         * platform/text/AtomicString.cpp:
305         (WebCore::AtomicString::add):
306         (WebCore::AtomicString::find):
307
308 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
309
310         Reviewed by Mark Rowe.
311
312         Fix for r55825, threadsafeCopy no longer needs to special-case for
313         empty strings (in fact, doing so results in leaks).
314
315         * platform/text/StringImpl.cpp:
316         (WebCore::StringImpl::threadsafeCopy):
317
318 2010-03-10  Chang Shu  <chang.shu@nokia.com>
319
320         Reviewed by Darin Adler.
321
322         While calculating alpha channel, convert the floating point value to
323         an integer in [0, 256) with equal distribution.
324         https://bugs.webkit.org/show_bug.cgi?id=22150
325
326         * css/CSSParser.cpp:
327         (WebCore::CSSParser::parseColorParameters):
328
329 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
330
331         Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
332
333         https://bugs.webkit.org/show_bug.cgi?id=35991
334         Would be faster to not use a thread specific to implement StringImpl::empty()
335
336         Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
337         shared by all threads.
338
339         ~2% progression on Dromaeo DOM core & JS lib tests.
340
341         * platform/ThreadGlobalData.cpp:
342         (WebCore::ThreadGlobalData::ThreadGlobalData):
343         (WebCore::ThreadGlobalData::~ThreadGlobalData):
344         * platform/ThreadGlobalData.h:
345         (WebCore::ThreadGlobalData::eventNames):
346         * platform/text/StringImpl.cpp:
347         (WebCore::StringImpl::StringImpl):
348         (WebCore::StringImpl::empty):
349         * platform/text/StringImpl.h:
350         (WebCore::StringImpl::deref):
351         (WebCore::StringImpl::hasOneRef):
352
353 2010-03-08  Dumitru Daniliuc  <dumi@chromium.org>
354
355         Reviewed by Adam Barth.
356
357         Adding support for the optional creation callback that could be
358         passed to openDatabase().
359
360         Tests: storage/open-database-creation-callback.html
361                storage/open-database-creation-callback-isolated-world.html
362
363         https://bugs.webkit.org/show_bug.cgi?id=34726
364
365         * Android.jscbindings.mk
366         * Android.v8bindings.mk
367         * GNUmakefile.am:
368         * WebCore.gypi:
369         * WebCore.pro:
370         * WebCore.vcproj/WebCore.vcproj:
371         * WebCore.xcodeproj/project.pbxproj:
372         * bindings/js/JSDOMWindowCustom.cpp:
373         (WebCore::JSDOMWindow::openDatabase):
374         * bindings/js/JSDatabaseCallback.cpp: Added.
375         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
376         (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
377         (WebCore::JSDatabaseCallback::handleEvent):
378         * bindings/js/JSDatabaseCallback.h: Added.
379         (WebCore::JSDatabaseCallback::create):
380         * bindings/v8/custom/V8DOMWindowCustom.cpp:
381         (WebCore::V8DOMWindow::openDatabaseCallback):
382         * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
383         (WebCore::V8DatabaseCallback::V8DatabaseCallback):
384         (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
385         (WebCore::V8DatabaseCallback::handleEvent):
386         * bindings/v8/custom/V8DatabaseCallback.h: Added.
387         (WebCore::V8DatabaseCallback::create):
388         * page/DOMWindow.cpp:
389         (WebCore::DOMWindow::openDatabase):
390         * page/DOMWindow.h:
391         * page/DOMWindow.idl:
392         * storage/Database.cpp:
393         (WebCore::DatabaseCreationCallbackTask::create):
394         (WebCore::DatabaseCreationCallbackTask::performTask):
395         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
396         (WebCore::Database::openDatabase):
397         (WebCore::Database::Database):
398         (WebCore::Database::performOpenAndVerify):
399         (WebCore::Database::performCreationCallback):
400         * storage/Database.h:
401         (WebCore::Database::isNew):
402         * storage/DatabaseCallback.h: Added.
403         (WebCore::DatabaseCallback::~DatabaseCallback):
404         * workers/WorkerContext.cpp:
405         (WebCore::WorkerContext::openDatabase):
406         * workers/WorkerContext.h:
407
408 2010-03-10  Justin Schuh  <jschuh@chromium.org>
409
410         Reviewed by Adam Barth.
411
412         Make Chrome consistently handle leading format characters in URLs
413
414         https://bugs.webkit.org/show_bug.cgi?id=35948
415
416         Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
417
418         * platform/KURLGoogle.cpp:
419
420 2010-03-10  Jian Li  <jianli@chromium.org>
421
422         Reviewed by Dmitry Titov.
423
424         Implementing DOMFormData class.
425         https://bugs.webkit.org/show_bug.cgi?id=35707
426
427         This patch only addresses the implementation of DOMFormData class and
428         moves the FormData construction logic from HTMLFormElement::createFormData
429         to FormData::create() so that it can be used by both HTMLFormElement
430         and XMLHttpRequest.
431
432         The DOMFormData IDL interface will be exposed in another patch and the
433         test will be added then.
434
435         * Android.mk:
436         * GNUmakefile.am:
437         * WebCore.gypi:
438         * WebCore.pro:
439         * WebCore.vcproj/WebCore.vcproj:
440         * WebCore.xcodeproj/project.pbxproj:
441         * html/DOMFormData.cpp: Added.
442         * html/DOMFormData.h: Added.
443         * html/FormDataList.h:
444         (WebCore::FormDataList::encoding):
445         * html/HTMLFormElement.cpp:
446         (WebCore::HTMLFormElement::createFormData):
447         (WebCore::HTMLFormElement::submit):
448         * html/HTMLFormElement.h:
449         * platform/network/FormData.cpp:
450         (WebCore::FormData::create):
451         (WebCore::FormData::createMultiPart):
452         (WebCore::FormData::appendDOMFormData):
453         * platform/network/FormData.h:
454         (WebCore::FormData::boundary):
455         * xml/XMLHttpRequest.cpp:
456         (WebCore::XMLHttpRequest::send):
457         * xml/XMLHttpRequest.h:
458
459 2010-03-10  Chris Fleizach  <cfleizach@apple.com>
460
461         Reviewed by Beth Dakin.
462
463         VoiceOver can navigate to hidden content in widget (WAI-ARIA)
464         https://bugs.webkit.org/show_bug.cgi?id=35986
465
466         Elements that are subclassers of AXRenderObject have not been respecting
467         aria-hidden and other cases that would make them ignored. This applies
468         to tables, rows, cells, select boxes, sliders, and lists. Select boxes
469         also need to make sure their option elements respect aria-hidden as well.
470
471         Test: accessibility/aria-hidden-with-elements.html
472
473         * accessibility/AccessibilityList.cpp:
474         (WebCore::AccessibilityList::accessibilityIsIgnored):
475         * accessibility/AccessibilityListBox.cpp:
476         (WebCore::AccessibilityListBox::addChildren):
477         (WebCore::AccessibilityListBox::accessibilityIsIgnored):
478         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
479         * accessibility/AccessibilityListBox.h:
480         * accessibility/AccessibilityListBoxOption.cpp:
481         (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
482         * accessibility/AccessibilityListBoxOption.h:
483         * accessibility/AccessibilityRenderObject.cpp:
484         (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon):
485         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
486         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
487         * accessibility/AccessibilityRenderObject.h:
488         * accessibility/AccessibilitySlider.cpp:
489         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
490         * accessibility/AccessibilitySlider.h:
491         (WebCore::AccessibilitySlider::roleValue):
492         (WebCore::AccessibilitySliderThumb::roleValue):
493         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
494         * accessibility/AccessibilityTable.cpp:
495         (WebCore::AccessibilityTable::accessibilityIsIgnored):
496         * accessibility/AccessibilityTableCell.cpp:
497         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
498         * accessibility/AccessibilityTableColumn.cpp:
499         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
500         * accessibility/AccessibilityTableColumn.h:
501         (WebCore::AccessibilityTableColumn::roleValue):
502         * accessibility/AccessibilityTableHeaderContainer.cpp:
503         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
504         * accessibility/AccessibilityTableHeaderContainer.h:
505         * accessibility/AccessibilityTableRow.cpp:
506         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
507
508 2010-03-10  Dmitry Titov  <dimich@chromium.org>
509
510         Reviewed by Darin Adler.
511
512         Make Document::postTask to use a single queue of tasks, to fire them in order
513         https://bugs.webkit.org/show_bug.cgi?id=35943
514
515         Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593.
516         Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726
517
518         * dom/Document.cpp:
519         (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
520
521 2010-03-10  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
522
523         Reviewed by Darin Fisher.
524
525         Allow a plugin to participate in the browser's print workflow.
526         https://bugs.webkit.org/show_bug.cgi?id=35550
527
528         * loader/PluginDocument.cpp:
529         * loader/PluginDocument.h:
530
531 2010-03-10  Ilya Tikhonovsky  <loislo@loislo-macbookpro.local>
532
533         Reviewed by Pavel Feldman.
534
535         Sidebar resize element height was adjusted.
536         Display name for Function Call details was adjusted.
537
538         https://bugs.webkit.org/show_bug.cgi?id=35939
539
540         * inspector/front-end/TimelinePanel.js:
541         (WebInspector.TimelinePanel.prototype._refreshRecords):
542         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
543
544 2010-03-10  Charles Wei  <charles.wei@torchmobile.com.cn>
545
546         Reviewed by George Staikos.
547
548         Fix https://bugs.webkig.org/show_bug.cgi?id=35207
549         When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer.
550
551         No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
552
553         * dom/Document.cpp:
554         (WebCore::Document::isXHTMLMPDocument):
555         * dom/XMLTokenizerLibxml2.cpp:
556         (WebCore::XMLTokenizer::internalSubset):
557         (WebCore::externalSubsetHandler):
558
559 2010-03-10  Garret Kelly  <gdk@chromium.org>
560
561         Reviewed by Darin Fisher.
562
563         Adding all of the touch-related sources into Chromium's WebCore build.
564         https://bugs.webkit.org/show_bug.cgi?id=35874
565
566         Patch tested against the try bots, but the feature is exercised in the
567         fast/events/touch tests.
568
569         * WebCore.gypi:
570
571 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
572
573         Reviewed by Timothy Hatcher.
574
575         Web Inspector: now that audits panel is added, add it to the
576         enums (for storing last active, etc.).
577
578         https://bugs.webkit.org/show_bug.cgi?id=35980
579
580         * inspector/InspectorController.cpp:
581         (WebCore::InspectorController::setWindowVisible):
582         (WebCore::InspectorController::specialPanelForJSName):
583         * inspector/InspectorController.h:
584         (WebCore::InspectorController::):
585         * inspector/InspectorFrontend.cpp:
586         (WebCore::InspectorFrontend::showPanel):
587         * inspector/front-end/inspector.js:
588         (WebInspector.showAuditsPanel):
589
590 2010-03-10  Nate Chapin  <japhet@chromium.org>
591
592         Reviewed by Dimitri Glazkov.
593
594         [V8] Instead of describing the type of a wrapped v8 object
595         with an enum value, use a pointer to struct with more complete
596         information.
597
598         https://bugs.webkit.org/show_bug.cgi?id=35941
599
600         Refactoring only, so new tests.
601
602         * bindings/scripts/CodeGeneratorV8.pm:
603         * bindings/v8/DOMData.cpp:
604         * bindings/v8/DOMData.h:
605         * bindings/v8/NPV8Object.cpp:
606         * bindings/v8/V8Collection.h:
607         * bindings/v8/V8DOMWindowShell.cpp:
608         * bindings/v8/V8DOMWindowShell.h:
609         * bindings/v8/V8DOMWrapper.cpp:
610         * bindings/v8/V8DOMWrapper.h:
611         * bindings/v8/V8GCController.cpp:
612         * bindings/v8/V8Helpers.cpp:
613         * bindings/v8/V8Helpers.h:
614         * bindings/v8/V8Index.cpp: Removed.
615         * bindings/v8/V8Index.h:
616         * bindings/v8/V8NPObject.cpp:
617         * bindings/v8/V8Proxy.cpp:
618         * bindings/v8/V8Proxy.h:
619         * bindings/v8/WorkerContextExecutionProxy.cpp:
620         * bindings/v8/custom/V8DOMWindowCustom.cpp:
621         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
622         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
623         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
624         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
625         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
626         * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
627         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
628         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
629         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
630         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
631         * bindings/v8/custom/V8WebGLArrayCustom.h:
632         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
633         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
634         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
635         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
636         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
637         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
638         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
639         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
640         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
641         * bindings/v8/custom/V8WebSocketCustom.cpp:
642         * bindings/v8/custom/V8WorkerCustom.cpp:
643         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
644         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
645
646 2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>
647
648         Reviewed by Dave Hyatt.
649         Patch by Antonio Gomes <tonikitoo@webkit.org>
650
651         Extend keyboard navigation to allow directional navigation (Manual tests)
652         https://bugs.webkit.org/show_bug.cgi?id=18662
653
654         Adds a manual tests for the Spatial Navigation feature comprasing varios
655         Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic
656         provided by the feature.
657
658         * manual-tests/spatial-navigation/links.html: Added.
659         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
660
661 2010-03-10  Leandro Pereira  <leandro@profusion.mobi>
662
663         Reviewed by Kenneth Rohde Christiansen.
664
665         Add EFL port files to platform/efl.
666         http://webkit.org/b/35890
667
668         * platform/efl/ScrollbarEfl.h: Added.
669         * platform/efl/ScrollbarThemeEfl.h: Added.
670
671 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
672
673         Reviewed by Timothy Hatcher.
674
675         Web Inspector: Audits panel needs an icon.
676         Landing icon attached by Timothy. Enabling panel!
677
678         https://bugs.webkit.org/show_bug.cgi?id=35945
679
680         * WebCore.gypi:
681         * inspector/front-end/Images/auditsIcon.png: Added.
682         * inspector/front-end/WebKit.qrc:
683         * inspector/front-end/inspector.css:
684
685 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
686
687         Roll-out r55657, as Xan noticed a bad degradation in playing
688         youtube HTML5 videos with it, that is fixed with it
689         reverted. Looks like we'll need to work a bit more on this.
690
691         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
692         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
693         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
694         (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
695         (WebCore::MediaPlayerPrivate::volumeChanged):
696         (WebCore::MediaPlayerPrivate::processBufferingStats):
697         (WebCore::MediaPlayerPrivate::fillTimerFired):
698         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
699         (WebCore::MediaPlayerPrivate::updateStates):
700         (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
701         (WebCore::MediaPlayerPrivate::muteChanged):
702         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
703
704 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
705
706         Rubber-stamped by Xan Lopez.
707
708         Fix ready state when buffering under PLAYING. We should not go
709         back to HaveNothing in that case.
710
711         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
712         (WebCore::MediaPlayerPrivate::updateStates):
713
714 2010-03-10  Ada Chan  <adachan@apple.com>
715
716         Reviewed by Adam Roben.
717
718         https://bugs.webkit.org/show_bug.cgi?id=35976
719
720         Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
721
722         * platform/win/ContextMenuWin.cpp:
723
724 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
725
726         Reviewed by Darin Fisher.
727
728         Add IndexedDatabase class and hook it up.
729         https://bugs.webkit.org/show_bug.cgi?id=35927
730
731         This change is mostly just adding the plumbing necessary for
732         the IndexedDatabaseRequest and IndexedDatabaseSync (not written
733         yet).
734
735         This code is non-functional, so no tests (yet).
736
737         * WebCore.gyp/WebCore.gyp:
738         * WebCore.gypi:
739         * platform/chromium/ChromiumBridge.h:
740         * storage/IndexedDatabase.cpp: Added.
741         (WebCore::IndexedDatabase::get):
742         * storage/IndexedDatabase.h: Added.
743         (WebCore::IndexedDatabase::~IndexedDatabase):
744         * storage/IndexedDatabaseImpl.cpp: Added.
745         (WebCore::IndexedDatabaseImpl::get):
746         (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
747         (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
748         (WebCore::IndexedDatabaseImpl::open):
749         * storage/IndexedDatabaseImpl.h: Added.
750         * storage/chromium/IndexedDatabase.cpp: Added.
751         (WebCore::IndexedDatabase::get):
752
753 2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
754
755         Reviewed by Sam Weinig.
756
757         Add one more parent check during node removal.
758         https://bugs.webkit.org/show_bug.cgi?id=35818
759
760         Test: fast/dom/Node/mutation-blur.html
761
762         * dom/ContainerNode.cpp:
763         (WebCore::ContainerNode::removeChild): Added check.
764
765 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
766
767         Not reviewed: added missing quote into localized strings.
768
769         * English.lproj/localizedStrings.js:
770
771 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
772
773         Commit files that were supposed to go in with the last checkin.
774
775 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
776
777         Reviewed by Dimitry Glazkov.
778
779         Baby steps towards IndexedDB: Start implementing callbacks.
780         https://bugs.webkit.org/show_bug.cgi?id=35911
781
782         This patch adds some infastructure for IndexedDB callbacks in V8.
783         It also adds a stub of IDBDatabaseRequest.  In the near future,
784         I'll gut the event based implementation code, flesh out IDBReqest
785         further, and start plumbing IndexedDatabaseRequest.
786
787         Code is not testible because it doesn't work (yet).
788
789         * WebCore.gypi:
790         * bindings/v8/DOMObjectsInclude.h:
791         * bindings/v8/V8Index.cpp:
792         * bindings/v8/V8Index.h:
793         * bindings/v8/custom/V8CustomIDBCallback.h: Added.
794         (WebCore::V8CustomIDBCallback::create):
795         (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback):
796         (WebCore::V8CustomIDBCallback::handleEvent):
797         (WebCore::V8CustomIDBCallback::V8CustomIDBCallback):
798         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
799         (WebCore::V8IndexedDatabaseRequest::openCallback):
800         * storage/IDBDatabaseRequest.h: Added.
801         (WebCore::IDBDatabaseRequest::request):
802         * storage/IDBDatabaseRequest.idl: Added.
803         * storage/IndexedDatabaseRequest.idl:
804
805 2010-03-10  Holger Hans Peter Freyther  <zecke@selfish.org>
806
807         Reviewed by Simon Hausmann.
808
809         [Qt] Non animated gifs are animated in QtWebKit
810         https://bugs.webkit.org/show_bug.cgi?id=35955
811
812         Properly map Qt animated and non-animated values to WebCore's
813         understanding of animated and non-animated images. Currently
814         we can not map anything to the cAnimationLoopNone value.
815
816         * manual-tests/qt/qt-anim.gif: Added.
817         * manual-tests/qt/qt-gif-test.html: Added.
818         * manual-tests/qt/qt-noanim.gif: Added.
819         * platform/graphics/qt/ImageDecoderQt.cpp:
820         (WebCore::ImageDecoderQt::repetitionCount):
821
822 2010-03-07  Holger Hans Peter Freyther  <zecke@selfish.org>
823
824         Reviewed by Darin Adler.
825
826         [CAIRO] DoS on iexploder test with high text stroke width.
827         https://bugs.webkit.org/show_bug.cgi?id=33759
828
829         Specifying a big text stroke width can make WebKitGTK+ spend
830         a very long time in the cairo library for stroking the path of
831         the text. The best way to prevent this from happening right now
832         is to not stroke paths with a certain width. Samuel proposed to
833         not stroke with a width that is twice the width of the text. The
834         reason to use twice the text width is that even one stroke of
835         any charachter to be drawn would cover the full width.
836
837         Test: fast/text/text-stroke-width-cairo-dos.html
838
839         * platform/graphics/cairo/FontCairo.cpp:
840         (WebCore::Font::drawGlyphs):
841
842 2010-03-10  Andrey Kosyakov  <caseq@chromium.org>
843
844         Reviewed by Pavel Feldman.
845
846         Web Inspector: display list of active workers & support debugging
847         with fake workers.
848         https://bugs.webkit.org/show_bug.cgi?id=35568
849
850         * English.lproj/localizedStrings.js:
851         * WebCore.gypi:
852         * WebCore.vcproj/WebCore.vcproj:
853         * bindings/js/JSInjectedScriptHostCustom.cpp:
854         (WebCore::InjectedScriptHost::createInjectedScript):
855         (WebCore::InjectedScriptHost::injectedScriptFor):
856         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
857         (WebCore::InjectedScriptHost::createInjectedScript):
858         (WebCore::InjectedScriptHost::injectedScriptFor):
859         * dom/Document.cpp:
860         (WebCore::Document::inspectorController):
861         * dom/Document.h:
862         * dom/ScriptExecutionContext.h:
863         (WebCore::ScriptExecutionContext::inspectorController):
864         * inspector/InjectedScriptHost.cpp:
865         (WebCore::InjectedScriptHost::InjectedScriptHost):
866         (WebCore::InjectedScriptHost::injectScript):
867         (WebCore::InjectedScriptHost::nextWorkerId):
868         (WebCore::InjectedScriptHost::didCreateWorker):
869         (WebCore::InjectedScriptHost::willDestroyWorker):
870         * inspector/InjectedScriptHost.h:
871         * inspector/InjectedScriptHost.idl:
872         * inspector/InspectorController.cpp:
873         (WebCore::InspectorController::populateScriptObjects):
874         (WebCore::InspectorController::resetScriptObjects):
875         (WebCore::InspectorController::didCommitLoad):
876         (WebCore::InspectorController::didCreateWorker):
877         (WebCore::InspectorController::willDestroyWorker):
878         * inspector/InspectorController.h:
879         * inspector/InspectorFrontend.cpp:
880         (WebCore::InspectorFrontend::didCreateWorker):
881         (WebCore::InspectorFrontend::willDestroyWorker):
882         * inspector/InspectorFrontend.h:
883         * inspector/InspectorWorkerResource.h: Added.
884         (WebCore::InspectorWorkerResource::create):
885         (WebCore::InspectorWorkerResource::id):
886         (WebCore::InspectorWorkerResource::url):
887         (WebCore::InspectorWorkerResource::isSharedWorker):
888         (WebCore::InspectorWorkerResource::InspectorWorkerResource):
889         * inspector/front-end/Checkbox.js: Added.
890         (WebInspector.Checkbox.callbackWrapper):
891         (WebInspector.Checkbox):
892         (WebInspector.Checkbox.prototype.checked):
893         * inspector/front-end/InjectedFakeWorker.js:
894         (InjectedFakeWorker.FakeWorker):
895         (InjectedFakeWorker.FakeWorker.prototype.terminate):
896         (InjectedFakeWorker.FakeWorker.prototype._handleException):
897         (InjectedFakeWorker.FakeWorker.prototype._importScripts):
898         (InjectedFakeWorker.FakeWorker.prototype._loadScript):
899         (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
900         * inspector/front-end/ScriptsPanel.js:
901         (WebInspector.ScriptsPanel):
902         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
903         (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
904         (WebInspector.ScriptsPanel.prototype.reset):
905         * inspector/front-end/StylesSidebarPane.js:
906         (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
907         (WebInspector.StylePropertiesSection):
908         * inspector/front-end/WebKit.qrc:
909         * inspector/front-end/WorkersSidebarPane.js: Added.
910         (WebInspector.WorkersSidebarPane):
911         (WebInspector.WorkersSidebarPane.prototype.addWorker):
912         (WebInspector.WorkersSidebarPane.prototype.removeWorker):
913         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
914         (WebInspector.WorkersSidebarPane.prototype.reset):
915         (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
916         (WebInspector.Worker):
917         (WebInspector.didCreateWorker):
918         (WebInspector.willDestroyWorker):
919         * inspector/front-end/inspector.css:
920         * inspector/front-end/inspector.html:
921         * workers/AbstractWorker.cpp:
922         (WebCore::AbstractWorker::AbstractWorker):
923         (WebCore::AbstractWorker::~AbstractWorker):
924         (WebCore::AbstractWorker::onDestroyWorker):
925         (WebCore::AbstractWorker::contextDestroyed):
926         * workers/AbstractWorker.h:
927         (WebCore::AbstractWorker::id):
928         * workers/SharedWorker.cpp:
929         (WebCore::SharedWorker::SharedWorker):
930         * workers/Worker.cpp:
931         (WebCore::Worker::Worker):
932
933 2010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
934
935         Unreviewed build fix. Fix variable name change that somehow didn't
936         make it into the patch.
937
938 2010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
939
940         Reviewed by David Levin.
941
942         Bug 28293 -  [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
943         https://bugs.webkit.org/show_bug.cgi?id=28293
944         
945         Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
946         correctly for event.dataTransfer.getData/setData. Currently both are treated
947         as synonyms, but for "URL", getData is supposed to only return the first valid URL
948         contained within the data for "text/uri-list" (see HTML5 spec).
949
950         Tests: editing/pasteboard/dataTransfer-setData-getData.html
951
952         * platform/chromium/ChromiumDataObject.cpp:
953         (WebCore::ChromiumDataObject::clear):
954         (WebCore::ChromiumDataObject::clearAllExceptFiles):
955         (WebCore::ChromiumDataObject::hasData):
956         (WebCore::ChromiumDataObject::ChromiumDataObject):
957         * platform/chromium/ChromiumDataObject.h:
958         (WebCore::ChromiumDataObject::clearURL):
959         (WebCore::ChromiumDataObject::hasValidURL):
960         (WebCore::ChromiumDataObject::getURL):
961         (WebCore::ChromiumDataObject::setURL):
962         * platform/chromium/ClipboardChromium.cpp:
963         (WebCore::):
964         (WebCore::clipboardTypeFromMIMEType):
965         (WebCore::ClipboardChromium::clearData):
966         (WebCore::ClipboardChromium::getData):
967         (WebCore::ClipboardChromium::setData):
968         (WebCore::ClipboardChromium::types):
969         * platform/chromium/DragDataChromium.cpp:
970         (WebCore::DragData::asURL):
971         (WebCore::DragData::canSmartReplace):
972
973 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
974
975         Reviewed by Timothy Hatcher.
976
977         Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
978
979         https://bugs.webkit.org/show_bug.cgi?id=34720
980
981         * inspector/front-end/inspector.css:
982
983 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
984
985         Reviewed by Timothy Hatcher.
986
987         Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
988         value in CSS property takes focus away.
989
990         https://bugs.webkit.org/show_bug.cgi?id=34697
991
992         * inspector/front-end/StylesSidebarPane.js:
993         (WebInspector.StylePropertyTreeElement.prototype):
994         (WebInspector.StylePropertyTreeElement.prototype.):
995
996 2010-03-09  Tony Chang  <tony@chromium.org>
997
998         Reviewed by Adam Barth.
999
1000         https://bugs.webkit.org/show_bug.cgi?id=21840
1001         https://bugs.webkit.org/show_bug.cgi?id=23993
1002
1003         Fix an editing bug where replacing a selection would result in the
1004         new text ending up inside nodes that were not visibly included in the
1005         selection.  Instead, move our destination position out of nodes that
1006         were not visibly included.
1007
1008         Tests: editing/deleting/backspace-avoid-preceding-style.html
1009                editing/inserting/replace-at-visible-boundary.html
1010
1011         * editing/ReplaceSelectionCommand.cpp:
1012         (WebCore::positionAvoidingPrecedingNodes):
1013         (WebCore::ReplaceSelectionCommand::doApply):
1014
1015 2010-03-09  Brady Eidson  <beidson@apple.com>
1016
1017         Reviewed by Tim Hatcher.
1018
1019         REGRESSION: WebInspector docking busted on Windows
1020         <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
1021
1022         First off, a bit of settings-key related cleanup. If they're shared over multiple files, these 
1023         things should be properly declared Strings, not random loose char*'s.
1024
1025         Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
1026         InspectorController in WebCore.
1027
1028         Finally, when the controller is ready to show the WebInspector window, it can use this newly
1029         exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
1030         it indirectly.
1031
1032         * WebCore.base.exp:
1033
1034         * inspector/InspectorBackend.cpp:
1035         (WebCore::InspectorBackend::saveFrontendSettings):
1036         * inspector/InspectorController.cpp:
1037         (WebCore::InspectorController::frontendSettingsSettingName):
1038         (WebCore::InspectorController::inspectorStartsAttachedSettingName):
1039         (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
1040           key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
1041           window.
1042         (WebCore::InspectorController::populateScriptObjects):
1043         * inspector/InspectorController.h:
1044
1045 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
1046
1047         Reviewed by Mark Rowe.
1048
1049         https://bugs.webkit.org/show_bug.cgi?id=35951
1050         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
1051
1052         * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
1053
1054 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
1055
1056         Reviewed by Oliver Hunt.
1057
1058         https://bugs.webkit.org/show_bug.cgi?id=35951
1059         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
1060
1061         * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
1062         personality for keys, because the key can be a mutable object, so its hash can change over its
1063         lifetime.
1064
1065 2010-03-09  Ojan Vafai  <ojan@chromium.org>
1066
1067         Reviewed by Darin Adler.
1068
1069         Fix review comment accidentally overlooked in bug 35713
1070         https://bugs.webkit.org/show_bug.cgi?id=35947
1071
1072         * editing/DeleteSelectionCommand.cpp:
1073         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
1074         * editing/DeleteSelectionCommand.h:
1075
1076 2010-03-03  Ojan Vafai  <ojan@chromium.org>
1077
1078         Reviewed by Adam Barth.
1079
1080         undo after smartdelete should select the deleted space
1081         https://bugs.webkit.org/show_bug.cgi?id=35713
1082
1083         TextEdit behavior is to select the deleted space after a smartdelete.
1084
1085         Tests: editing/undo/undo-smart-delete-reversed-selection.html
1086                editing/undo/undo-smart-delete-word.html
1087
1088         * editing/DeleteSelectionCommand.cpp:
1089         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
1090         (WebCore::DeleteSelectionCommand::initializePositionData):
1091         * editing/DeleteSelectionCommand.h:
1092         * editing/VisibleSelection.cpp:
1093         (WebCore::VisibleSelection::setWithoutValidation):
1094         This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
1095         but not as a result of the other changes in this patch. The granularity when
1096         deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
1097
1098 2010-03-09  Steve Falkenburg  <sfalken@apple.com>
1099
1100         Rubber stamped by Adam Roben.
1101
1102         Load debug version of graphics library in Windows Debug_All builds.
1103
1104         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1105         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
1106
1107 2010-03-09  Brady Eidson  <beidson@apple.com>
1108
1109         Reviewed by Darin Adler.
1110
1111         Plug-ins don't always respect the cookie accept policy.
1112         <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
1113
1114         The problem is that the various plug-in implementations call into a ResourceLoader
1115         directly instead of filtering the request through FrameLoader. This bypassed the step
1116         of adding extra fields to the requests, such as the firstPartyForCookies URL.
1117
1118         Since plug-in code is currently so strewn about and very platform specific, I
1119         think reworking it needs to be a task for domain experts. I don't know the implications
1120         of adding *all* the extra fields to plug-in requests, for example.
1121
1122         There's no harm in this targeted fix for the hole in our cookie accept policy until
1123         plug-ins can more fundamentally change.
1124
1125         Test: http/tests/plugins/third-party-cookie-accept-policy.html
1126
1127         * loader/ResourceLoader.cpp:
1128         (WebCore::ResourceLoader::load): Don't load a resource without first giving the request 
1129           a firstPartyForCookies URL.
1130
1131 2010-03-09  Andy Estes  <aestes@apple.com>
1132
1133         Reviewed by Adele Peterson.
1134
1135         Check for null renderer in scrollNode().
1136         https://bugs.webkit.org/show_bug.cgi?id=34700
1137
1138         Test: fast/events/remove-child-onscroll.html
1139
1140         * page/EventHandler.cpp:
1141         (WebCore::scrollNode): Return early if node->renderer() == 0
1142
1143 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1144
1145         Unreviewed distcheck fix.
1146
1147         * GNUmakefile.am:
1148
1149 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1150
1151         Unreviewed build fix (only exposed by make distcheck). The
1152         SharedWorkers files are not built, they need to be distributed.
1153
1154         * GNUmakefile.am:
1155
1156 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1157
1158         Reviewed by Dirk Schulze.
1159
1160         [GStreamer] Buffering logic is not correct, and does not work very well
1161         https://bugs.webkit.org/show_bug.cgi?id=35706
1162
1163         Fix buffering to match GStreamer expectancies regarding the
1164         pipeline state, so that videos which really need buffering to play
1165         correctly also work, while maintaining the convenience of
1166         on-disk-buffering. This required a bit of shuffling of state
1167         change handling.
1168
1169         No behaviour change expected.
1170
1171         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1172         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1173         (WebCore::MediaPlayerPrivate::processBufferingStats):
1174         (WebCore::MediaPlayerPrivate::fillTimerFired):
1175         (WebCore::MediaPlayerPrivate::updateStates):
1176         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1177
1178 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1179
1180         Reviewed by Dirk Schulze.
1181
1182         [GStreamer] Buffering logic is not correct, and does not work very well
1183         https://bugs.webkit.org/show_bug.cgi?id=35706
1184
1185         Do not call pause(), but set the GStreamer state directly. This is
1186         just a GStreamer implementation detail, and this will avoid having
1187         side effects in case we change the pause implementation in the
1188         future.
1189
1190         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1191         (WebCore::MediaPlayerPrivate::load):
1192
1193 2010-03-09  Chris Fleizach  <cfleizach@apple.com>
1194
1195         Reviewed by Darin Adler.
1196
1197         AX: hit testing a list box doesn't work anymore
1198         https://bugs.webkit.org/show_bug.cgi?id=35893
1199
1200         Since <option> elements don't have renderers, their hit testing needs
1201         to be handled with a special case.
1202
1203         Test: platform/mac/accessibility/listbox-hit-test.html
1204
1205         * accessibility/AccessibilityRenderObject.cpp:
1206         (WebCore::AccessibilityRenderObject::ariaIsHidden):
1207         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1208
1209 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
1210
1211         Reviewed by Timothy Hatcher.
1212
1213         Web Inspector: Refactor Audits panel presentation layer.
1214         This change removes unnecessary complexity:
1215           - Audit scores were not used
1216           - Audit rule parameters are passed as rule constructor arguments
1217           - View management aligned with the rest of the front-end
1218           - Single TreeOutline is used for category results (no need to create sections for those)
1219           - Rules code beautified and simplified where possible
1220           - Some UI improvements applied (see attached screenshot)
1221
1222         https://bugs.webkit.org/show_bug.cgi?id=35860
1223
1224         * inspector/front-end/AuditCategories.js:
1225         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
1226         (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
1227         * inspector/front-end/AuditResultView.js:
1228         (WebInspector.AuditResultView):
1229         (WebInspector.AuditCategoryResultPane):
1230         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
1231         * inspector/front-end/AuditRules.js:
1232         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1233         (WebInspector.AuditRules.CombineExternalResourcesRule):
1234         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
1235         (WebInspector.AuditRules.CombineJsResourcesRule):
1236         (WebInspector.AuditRules.CombineCssResourcesRule):
1237         (WebInspector.AuditRules.MinimizeDnsLookupsRule):
1238         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
1239         (WebInspector.AuditRules.ParallelizeDownloadRule):
1240         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
1241         (WebInspector.AuditRules.UnusedCssRule):
1242         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1243         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
1244         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1245         (WebInspector.AuditRules.CacheControlRule):
1246         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
1247         (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
1248         (WebInspector.AuditRules.BrowserCacheControlRule):
1249         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
1250         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
1251         (WebInspector.AuditRules.ProxyCacheControlRule):
1252         (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
1253         (WebInspector.AuditRules.ImageDimensionsRule):
1254         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1255         (WebInspector.AuditRules.CssInHeadRule):
1256         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
1257         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
1258         (WebInspector.AuditRules.StylesScriptsOrderRule):
1259         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
1260         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
1261         (WebInspector.AuditRules.CookieRuleBase):
1262         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
1263         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
1264         (WebInspector.AuditRules.CookieSizeRule):
1265         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
1266         (WebInspector.AuditRules.StaticCookielessRule):
1267         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
1268         * inspector/front-end/AuditsPanel.js:
1269         (WebInspector.AuditsPanel):
1270         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
1271         (WebInspector.AuditsPanel.prototype._executeAudit):
1272         (WebInspector.AuditsPanel.prototype._reloadResources):
1273         (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
1274         (WebInspector.AuditsPanel.prototype.showResults):
1275         (WebInspector.AuditsPanel.prototype.showLauncherView):
1276         (WebInspector.AuditsPanel.prototype.get visibleView):
1277         (WebInspector.AuditsPanel.prototype.set visibleView):
1278         (WebInspector.AuditsPanel.prototype.show):
1279         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
1280         (WebInspector.AuditCategory.prototype.addRule):
1281         (WebInspector.AuditRule):
1282         (WebInspector.AuditRule.prototype.set severity):
1283         (WebInspector.AuditRule.prototype.run):
1284         (WebInspector.AuditRule.prototype.doRun):
1285         (WebInspector.AuditCategoryResult):
1286         (WebInspector.AuditCategoryResult.prototype.addRuleResult):
1287         (WebInspector.AuditRuleResult):
1288         (WebInspector.AuditRuleResult.prototype.addChild):
1289         (WebInspector.AuditRuleResult.prototype.addURL):
1290         (WebInspector.AuditRuleResult.prototype.addURLs):
1291         (WebInspector.AuditRuleResult.prototype.addSnippet):
1292         * inspector/front-end/Settings.js:
1293         * inspector/front-end/audits.css:
1294         * inspector/front-end/inspector.js:
1295         (WebInspector._createPanels):
1296         (WebInspector.documentKeyDown):
1297
1298 2010-03-09  Yury Semikhatsky  <yurys@chromium.org>
1299
1300         Reviewed by Pavel Feldman.
1301  
1302         When enable resource tracking state changes use the same method as
1303         location.reload for reloading inspected page.
1304
1305         https://bugs.webkit.org/show_bug.cgi?id=35923
1306
1307         * inspector/InspectorBackend.cpp:
1308         (WebCore::InspectorBackend::reloadPage):
1309         * inspector/InspectorController.cpp:
1310         (WebCore::InspectorController::enableResourceTracking):
1311
1312 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
1313
1314         Reviewed by Timothy Hatcher.
1315
1316         Web Inspector: highlight text node containers while searching for node.
1317
1318         https://bugs.webkit.org/show_bug.cgi?id=35912
1319
1320         * inspector/InspectorController.cpp:
1321         (WebCore::InspectorController::mouseDidMoveOverElement):
1322
1323 2010-03-09  Philippe Normand  <pnormand@igalia.com>
1324
1325         Reviewed by Gustavo Noronha Silva.
1326
1327         [GStreamer] player code cleanups
1328         https://bugs.webkit.org/show_bug.cgi?id=35868
1329
1330         Cleaned up the private instance variables of the player.
1331
1332         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1333         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1334         (WebCore::MediaPlayerPrivate::fillTimerFired):
1335         (WebCore::MediaPlayerPrivate::mediaLocationChanged):
1336         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1337
1338 2010-03-09  Philippe Normand  <pnormand@igalia.com>
1339
1340         Reviewed by Gustavo Noronha Silva.
1341
1342         [GStreamer] player code cleanups
1343         https://bugs.webkit.org/show_bug.cgi?id=35868
1344
1345         Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
1346
1347         * GNUmakefile.am:
1348         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
1349         (WTF::GstElement):
1350         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
1351         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1352         * platform/gtk/GOwnPtrGtk.cpp: Removed.
1353         * platform/gtk/GOwnPtrGtk.h: Removed.
1354         * platform/network/soup/CookieJarSoup.cpp:
1355         * platform/network/soup/DNSSoup.cpp:
1356         * platform/network/soup/GOwnPtrSoup.cpp: Added.
1357         (WTF::SoupURI):
1358         * platform/network/soup/GOwnPtrSoup.h: Added.
1359         * platform/network/soup/ResourceHandleSoup.cpp:
1360         * platform/network/soup/ResourceRequestSoup.cpp:
1361
1362 2010-03-09  Shinichiro Hamaji  <hamaji@chromium.org>
1363
1364         Reviewed by Eric Seidel.
1365
1366         [Chromium] Should remove paddings of Win/Linux chromium's buttons
1367         https://bugs.webkit.org/show_bug.cgi?id=35629
1368
1369         No new tests, but we may need to rebaseline bunch of expectation
1370         images in chromium's tree.
1371
1372         * rendering/RenderThemeChromiumSkia.cpp:
1373         * rendering/RenderThemeChromiumSkia.h:
1374
1375 2010-03-08  Kent Tamura  <tkent@chromium.org>
1376
1377         Reviewed by Adam Barth.
1378
1379         Implement HTML5 <hgroup> element.
1380         https://bugs.webkit.org/show_bug.cgi?id=33369
1381
1382         <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
1383         <hgroup> has no specific parsing rules.
1384
1385         Test: fast/html/hgroup-element.html
1386
1387         * css/html.css: Add hgroup as a block element.
1388         * editing/htmlediting.cpp:
1389         (WebCore::validBlockTag): Add hgroupTag.
1390         * html/HTMLElement.cpp:
1391         (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
1392         (WebCore::blockTagList): Add hgroupTag.
1393         * html/HTMLParser.cpp:
1394         (WebCore::HTMLParser::getNode): Add hgroupTag.
1395         * html/HTMLTagNames.in: Add hgroup.
1396
1397 2010-03-08  Tony Chang  <tony@chromium.org>
1398
1399         Reviewed by Adam Barth.
1400
1401         https://bugs.webkit.org/show_bug.cgi?id=32131
1402         Crash when inserting an ordered list.
1403
1404         Test: editing/execCommand/insert-ordered-list.html
1405
1406         * editing/CompositeEditCommand.cpp:
1407         (WebCore::CompositeEditCommand::moveParagraphs):
1408         * editing/TextIterator.cpp:
1409         (WebCore::TextIterator::rangeFromLocationAndLength):
1410
1411 2010-03-08  Darin Adler  <darin@apple.com>
1412
1413         Reviewed by Dan Bernstein.
1414
1415         Added a test for crash when you quit inside an unload handler.
1416         rdar://problem/6958347
1417
1418         * manual-tests/quit-inside-unload.html: Added.
1419
1420 2010-03-08  Darin Adler  <darin@apple.com>
1421
1422         Reviewed by Jon Honeycutt.
1423
1424         Don't auto-play <audio> and <video> elements loaded in background tabs
1425         https://bugs.webkit.org/show_bug.cgi?id=35886
1426         rdar://problem/7117745
1427
1428         * manual-tests/video-in-non-frontmost-tab.html: Added.
1429         * manual-tests/resources/video-tab.html: Added.
1430
1431         * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
1432         added the mediaCanStart function as well as a boolean,
1433         m_isWaitingUntilMediaCanStart.
1434
1435         * html/HTMLMediaElement.cpp:
1436         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
1437         m_isWaitingUntilMediaCanStart.
1438         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
1439         removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true. 
1440         (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
1441         and call addMediaCanStartListener if canStartMedia is false.
1442         (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
1443         and call loadInternal.
1444
1445 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
1446
1447         [GTK] Unreviewed buildfix after r55688.
1448
1449         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1450         (webKitWebSrcStart):
1451
1452 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
1453
1454         [GTK] Unreviewed buildfix after r55688.
1455
1456         * platform/network/soup/ResourceHandleSoup.cpp:
1457         (WebCore::):
1458
1459 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
1460
1461         [Qt] Unreviewed buildfix after r55688.
1462
1463         * platform/network/qt/ResourceHandleQt.cpp:
1464         (WebCore::ResourceHandle::loadResourceSynchronously):
1465
1466 2010-03-08  Alexey Proskuryakov  <ap@apple.com>
1467
1468         Reviewed by Darin Adler.
1469
1470         https://bugs.webkit.org/show_bug.cgi?id=35879
1471         Eliminate m_mightDownloadFromHandle
1472
1473         It was only used on Mac, and unnecessarily complicated the code.
1474
1475         No change in behavior, thus no test.
1476
1477         * loader/MainResourceLoader.cpp:
1478         (WebCore::MainResourceLoader::loadNow):
1479         * loader/ResourceLoader.cpp:
1480         (WebCore::ResourceLoader::load):
1481         * loader/appcache/ApplicationCacheGroup.cpp:
1482         (WebCore::ApplicationCacheGroup::createResourceHandle):
1483         * platform/network/ResourceHandle.cpp:
1484         (WebCore::ResourceHandle::ResourceHandle):
1485         (WebCore::ResourceHandle::create):
1486         * platform/network/ResourceHandle.h:
1487         * platform/network/ResourceHandleInternal.h:
1488         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1489         * platform/network/mac/ResourceHandleMac.mm:
1490         (WebCore::ResourceHandle::start):
1491
1492 2010-03-02  Peter Kasting  <pkasting@google.com>
1493
1494         Reviewed by Adam Barth.
1495
1496         Clean up usage of m_failed in open-source image decoders, part 1.
1497         https://bugs.webkit.org/show_bug.cgi?id=35411
1498         
1499         Makes setFailed() virtual so subclasses can override it (none do yet) to
1500         do automatic cleanup on failure; makes it return a bool for easy
1501         tailcalling; makes failed() the only way to access m_failed so
1502         subclasses are assured setFailed() won't be bypassed.  Plus one or two
1503         other tiny cleanup bits.
1504
1505         Overriding setFailed() is coming in a subsequent patch because it can be
1506         hairy and needs close review.
1507
1508         No functional change, so no tests.
1509
1510         * platform/graphics/qt/ImageDecoderQt.cpp:
1511         (WebCore::ImageDecoderQt::setData):
1512         (WebCore::ImageDecoderQt::frameBufferAtIndex):
1513         (WebCore::ImageDecoderQt::internalDecodeSize):
1514         (WebCore::ImageDecoderQt::internalReadImage):
1515         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1516         (WebCore::ImageDecoderQt::forceLoadEverything):
1517         (WebCore::ImageDecoderQt::clearPointers):
1518         * platform/graphics/qt/ImageDecoderQt.h:
1519         * platform/image-decoders/ImageDecoder.h:
1520         (WebCore::ImageDecoder::ImageDecoder):
1521         (WebCore::ImageDecoder::setData):
1522         (WebCore::ImageDecoder::setSize):
1523         (WebCore::ImageDecoder::setFailed):
1524         (WebCore::ImageDecoder::failed):
1525         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1526         (WebCore::BMPImageDecoder::isSizeAvailable):
1527         (WebCore::BMPImageDecoder::frameBufferAtIndex):
1528         (WebCore::BMPImageDecoder::processFileHeader):
1529         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1530         (WebCore::GIFImageDecoder::setData):
1531         (WebCore::GIFImageDecoder::isSizeAvailable):
1532         (WebCore::GIFImageDecoder::frameBufferAtIndex):
1533         (WebCore::GIFImageDecoder::decode):
1534         (WebCore::GIFImageDecoder::initFrameBuffer):
1535         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1536         (WebCore::ICOImageDecoder::decodeAtIndex):
1537         (WebCore::ICOImageDecoder::processDirectory):
1538         (WebCore::ICOImageDecoder::processDirectoryEntries):
1539         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1540         (WebCore::JPEGImageReader::decode):
1541         (WebCore::JPEGImageDecoder::setData):
1542         (WebCore::JPEGImageDecoder::isSizeAvailable):
1543         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
1544         (WebCore::JPEGImageDecoder::outputScanlines):
1545         (WebCore::JPEGImageDecoder::decode):
1546         * platform/image-decoders/png/PNGImageDecoder.cpp:
1547         (WebCore::decodingFailed):
1548         (WebCore::PNGImageReader::decode):
1549         (WebCore::PNGImageDecoder::setData):
1550         (WebCore::PNGImageDecoder::isSizeAvailable):
1551         (WebCore::PNGImageDecoder::frameBufferAtIndex):
1552         (WebCore::PNGImageDecoder::headerAvailable):
1553         (WebCore::PNGImageDecoder::rowAvailable):
1554         (WebCore::PNGImageDecoder::decode):
1555         * platform/image-decoders/png/PNGImageDecoder.h:
1556
1557 2010-03-08  Chris Marrin  <cmarrin@apple.com>
1558
1559         Reviewed by Darin Adler.
1560
1561         Disallow WebGL when HW comp is not turned on at runtime
1562         https://bugs.webkit.org/show_bug.cgi?id=35759
1563
1564         When HW comp is turned off with the runtime flag, WebGL would still
1565         create a context, but silently fail to render. This prevents that.
1566         Now if HW comp is turned off getContext('webgl') will return null.
1567
1568         * html/HTMLCanvasElement.cpp:
1569         (WebCore::HTMLCanvasElement::getContext):
1570
1571 2010-03-08  Darin Adler  <darin@apple.com>
1572
1573         Reviewed by Jon Honeycutt.
1574
1575         https://bugs.webkit.org/show_bug.cgi?id=35876
1576
1577         Fix minor style issues in HTMLMediaElement and classes derived from it.
1578         Made many public members private and protected.
1579
1580         * html/HTMLMediaElement.cpp:
1581         (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
1582         retstructured the function to use early return and get rid of a local.
1583
1584         * html/HTMLMediaElement.h: Made lots of members private and some
1585         protected. Also use private inheritance instead of public. Removed
1586         some unneeded includes.
1587
1588         * html/HTMLVideoElement.cpp:
1589         (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
1590         of m_player; HTMLMediaElement data members are now private, not protected.
1591         (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
1592         (WebCore::HTMLVideoElement::videoWidth): Ditto.
1593         (WebCore::HTMLVideoElement::videoHeight): Ditto.
1594         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
1595         (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
1596         instead of m_isFullscreen; same reason.
1597         (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
1598         (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
1599
1600         * html/HTMLVideoElement.h: Removed an unneeded include. Made many
1601         public functions private. Got rid of unused paint function, which was
1602         replaced with paintCurrentFrameInContext a while back.
1603
1604 2010-03-08  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1605
1606         Reviewed by Xan Lopez.
1607
1608         https://bugs.webkit.org/show_bug.cgi?id=30895
1609         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
1610
1611         Gives platforms the ability to exclude parts of an AccessibilityTable
1612         from the accessible hierarchy.
1613
1614         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1615         (AccessibilityObject::accessibilityPlatformIncludesObject):
1616         * accessibility/AccessibilityRenderObject.cpp:
1617         (AccessibilityRenderObject::determineAccessibilityRole):
1618         * accessibility/AccessibilityTable.cpp:
1619         (AccessibilityTable::addChildren):
1620         * accessibility/AccessibilityTableColumn.h:
1621         (accessibilityIsIgnored):
1622         * accessibility/AccessibilityTableHeaderContainer.h:
1623         (accessibilityIsIgnored):
1624         * accessibility/AccessibilityTableRow.cpp:
1625         (accessibilityIsIgnored):
1626
1627 2010-03-08  Jian Li  <jianli@chromium.org>
1628
1629         No review. Fix build break on Tiger intel release.
1630
1631         * html/Blob.cpp:
1632         * html/Blob.h:
1633
1634 2010-03-02  Adam Treat  <atreat@rim.com>
1635
1636         Reviewed by Dave Hyatt.
1637
1638         Refactor the HostWindow methods for repaint, scroll, invalidate and blit
1639         of backingstore and window by eliminating the three bools that currently
1640         exist as params of the repaint method.
1641         https://bugs.webkit.org/show_bug.cgi?id=34214
1642
1643         I've added extra methods to provide the hosts with more semantic
1644         information of what is being requested thus eliminating the need for
1645         these bools.
1646
1647         No tests as this change should not introduce any behavior changes in any
1648         of the ports.
1649
1650         https://bugs.webkit.org/show_bug.cgi?id=34214
1651
1652         * loader/EmptyClients.h:
1653         (WebCore::EmptyChromeClient::invalidateContents):
1654         (WebCore::EmptyChromeClient::invalidateWindow):
1655         (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
1656         (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
1657         * page/Chrome.cpp:
1658         (WebCore::Chrome::invalidateContents):
1659         (WebCore::Chrome::invalidateWindow):
1660         (WebCore::Chrome::invalidateContentsAndWindow):
1661         (WebCore::Chrome::invalidateContentsForSlowScroll):
1662         * page/Chrome.h:
1663         * page/ChromeClient.h:
1664         * page/FrameView.cpp:
1665         (WebCore::FrameView::invalidateRect):
1666         * platform/HostWindow.h:
1667         * platform/ScrollView.cpp:
1668         (WebCore::ScrollView::scrollContents):
1669         (WebCore::ScrollView::wheelEvent):
1670
1671 2010-03-08  Adam Barth  <abarth@webkit.org>
1672
1673         Reviewed by Nate Chapin.
1674
1675         [V8] Block popups from inline script
1676         https://bugs.webkit.org/show_bug.cgi?id=35474
1677
1678         Apparently, we're supposed to look at the sourceURL to figure out
1679         whether we're running a script tag or a hyperlink.  This logic is
1680         copied from the JSC version.
1681
1682         Test: http/tests/security/popup-blocked-from-window-open.html
1683
1684         * bindings/v8/ScriptController.cpp:
1685         (WebCore::ScriptController::processingUserGesture):
1686         (WebCore::ScriptController::evaluate):
1687
1688 2010-03-08  Stuart Morgan  <stuartmorgan@chromium.org>
1689
1690         Reviewed by Darin Adler.
1691
1692         Move the details of secure text mode into WebCore/platform.
1693         Move the higher-level logic for secure text mode from Frame
1694         to SelectionController.
1695
1696         https://bugs.webkit.org/show_bug.cgi?id=31265
1697
1698         No new tests: no functional changes.
1699
1700         * WebCore.gypi:
1701         * WebCore.xcodeproj/project.pbxproj:
1702         * dom/Document.cpp:
1703         (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
1704         * editing/SelectionController.cpp:
1705         (WebCore::SelectionController::focusedOrActiveStateChanged):
1706         (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
1707         (WebCore::SelectionController::setUseSecureKeyboardEntry):
1708         * editing/SelectionController.h:
1709         * page/Frame.cpp:
1710         (WebCore::Frame::setDocument):
1711         * page/Frame.h:
1712         * platform/SecureTextInput.cpp: Added.
1713         (WebCore::enableSecureTextInput):
1714         (WebCore::disableSecureTextInput):
1715         * platform/SecureTextInput.h: Added.
1716         (WebCore::enableSecureTextInput):
1717         (WebCore::disableSecureTextInput):
1718
1719 2010-03-08  Brady Eidson  <beidson@apple.com>
1720
1721         Reviewed by Anders Carlsson.
1722
1723         Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
1724         <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
1725
1726         Test: http/tests/cookies/third-party-cookie-relaxing.html
1727
1728         If the 3rd-party domain in question already has a cookie set, allow changes
1729         by setting the first party url of the request to be the url of the request itself:        
1730         * platform/network/cf/ResourceHandleCFNet.cpp:
1731         (WebCore::makeFinalRequest):
1732
1733         Ditto:
1734         * platform/network/mac/ResourceHandleMac.mm:
1735         (WebCore::ResourceHandle::start):
1736         (WebCore::ResourceHandle::loadResourceSynchronously):
1737
1738         I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
1739
1740 2010-03-08  Jian Li  <jianli@chromium.org>
1741
1742         Reviewed by Dmitry Titov.
1743
1744         Blob.slice support.
1745         https://bugs.webkit.org/show_bug.cgi?id=32993
1746         
1747         The following semantic is adopted per the discussions on public-webapps:
1748         1) File.slice() does a synchronous IO to capture the current size and
1749            modification time and cache them in the resulting Blob.
1750         2) Subsequent Blob operations, like Blob.slice and Blob.size simply
1751            use the cached values.
1752         3) When the underlying file data are accessed, like in XHR.send(), the
1753            UA will check the cached modification time against the current
1754            modification time to determine if the file has been changed or not.
1755            An error or exception will be thrown if needed.
1756
1757         Also add ENABLE_BLOB_SLICE feature define.
1758
1759         Test: http/tests/local/send-sliced-dragged-file.html
1760
1761         * Configurations/FeatureDefines.xcconfig:
1762         * GNUmakefile.am:
1763         * WebCore.pri:
1764         * html/Blob.cpp:
1765         (WebCore::Blob::Blob):
1766         (WebCore::Blob::size):
1767         (WebCore::Blob::slice):
1768         * html/Blob.h:
1769         (WebCore::Blob::start):
1770         (WebCore::Blob::length):
1771         (WebCore::Blob::modificationTime):
1772         * html/Blob.idl:
1773         * platform/network/FormData.cpp:
1774         (WebCore::FormData::deepCopy):
1775         (WebCore::FormData::appendFile):
1776         (WebCore::FormData::appendFileRange):
1777         * platform/network/FormData.h:
1778         (WebCore::FormDataElement::FormDataElement):
1779         (WebCore::operator==):
1780         * platform/network/mac/FormDataStreamMac.mm:
1781         (WebCore::advanceCurrentStream):
1782         (WebCore::openNextStream):
1783         (WebCore::formCreate):
1784         (WebCore::formOpen):
1785         (WebCore::formRead):
1786         (WebCore::setHTTPBody):
1787         * xml/XMLHttpRequest.cpp:
1788         (WebCore::XMLHttpRequest::send):
1789
1790 2010-03-08  Daniel Bates  <dbates@rim.com>
1791
1792         Reviewed by Simon Fraser.
1793
1794         https://bugs.webkit.org/show_bug.cgi?id=34819
1795
1796         Fixes an issue where we repaint the caret rectangle even if the associated
1797         selection is not in a content editable element. This is extraneous since the
1798         caret is only visible when the selection is in a content editable element.
1799         Hence, we should only repaint the caret rectangle when the associated selection
1800         is in a content editable element.
1801
1802         Note, we always paint the caret when caret browsing is enabled.
1803
1804         Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
1805
1806         * editing/SelectionController.cpp:
1807         (WebCore::SelectionController::recomputeCaretRect): Modified to call method
1808         SelectionController::shouldRepaintCaret.
1809         (WebCore::SelectionController::shouldRepaintCaret): Added.
1810         (WebCore::SelectionController::invalidateCaretRect): Modified to call method
1811         SelectionController::shouldRepaintCaret.
1812         * editing/SelectionController.h:
1813
1814 2010-03-08  Eric Carlson  <eric.carlson@apple.com>
1815
1816         Reviewed by Darin Adler.
1817
1818         YouTube HTML5 video never starts playing on Windows
1819         https://bugs.webkit.org/show_bug.cgi?id=33954
1820
1821         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1822         (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
1823         string for an absolute time value.
1824         (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
1825         (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
1826             be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
1827             download the movie.
1828         (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
1829         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1830
1831 2010-03-08  Eric Uhrhane  <ericu@chromium.org>
1832
1833         Reviewed by David Levin.
1834
1835         Remove the now-redundant Settings fields for the Database
1836         https://bugs.webkit.org/show_bug.cgi?id=35763
1837
1838         No new tests; this code isn't called.
1839
1840         * WebCore.base.exp:
1841         * page/Settings.cpp:
1842         (WebCore::Settings::Settings):
1843         * page/Settings.h:
1844
1845 2010-03-07  David Levin  <levin@chromium.org>
1846
1847         Chromium Linux build fix.
1848
1849         * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
1850         only method returns a String.
1851
1852 2010-03-07  Mark Rowe  <mrowe@apple.com>
1853
1854         Chromium build fix.
1855
1856         * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
1857
1858 2010-03-07  Mark Rowe  <mrowe@apple.com>
1859
1860         Gtk build fix.
1861
1862         * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
1863
1864 2010-03-07  Mark Rowe  <mrowe@apple.com>
1865
1866         Gtk build fix.
1867
1868         * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
1869
1870 2010-03-07  Mark Rowe  <mrowe@apple.com>
1871
1872         Fix builds where USE_CG_SHADING is set.
1873
1874         * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
1875
1876 2010-03-07  Mark Rowe  <mrowe@apple.com>
1877
1878         Windows build fix.  Add some required includes.
1879
1880         * platform/graphics/win/ImageCGWin.cpp:
1881         * platform/network/cf/ResourceHandleCFNet.cpp:
1882         * platform/win/ClipboardWin.cpp:
1883
1884 2010-03-07  Mark Rowe  <mrowe@apple.com>
1885
1886         Gtk build fix.
1887
1888         * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
1889
1890 2010-03-07  Mark Rowe  <mrowe@apple.com>
1891
1892         Qt build fix.
1893
1894         * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
1895
1896 2010-03-07  Mark Rowe  <mrowe@apple.com>
1897
1898         Gtk build fix.
1899
1900         * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
1901
1902 2010-03-07  Mark Rowe  <mrowe@apple.com>
1903
1904         Rubber-stamped by Cameron Zwarich.
1905
1906         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
1907
1908         * loader/CachedCSSStyleSheet.cpp:
1909         * loader/CachedFont.cpp:
1910         * loader/CachedImage.cpp:
1911         * loader/CachedResource.cpp:
1912         * loader/CachedResource.h:
1913         * loader/CachedScript.cpp:
1914         * loader/CachedXSLStyleSheet.cpp:
1915         * loader/icon/IconFetcher.cpp:
1916         * loader/loader.cpp:
1917         * page/Page.cpp:
1918         * platform/graphics/Image.cpp:
1919         * platform/graphics/Image.h:
1920         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1921         * platform/graphics/cg/PDFDocumentImage.cpp:
1922         * platform/graphics/cg/PathCG.cpp:
1923         * platform/graphics/mac/ImageMac.mm:
1924
1925 2010-03-07  Mark Rowe  <mrowe@apple.com>
1926
1927         Chromium build fix.
1928
1929         * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
1930         class means that the pointed-to type of the RefPtr member must be available.
1931
1932 2010-03-07  Mark Rowe  <mrowe@apple.com>
1933
1934         Qt build fix.
1935
1936         * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
1937
1938 2010-03-07  Kent Tamura  <tkent@chromium.org>
1939
1940         Reviewed by Eric Seidel.
1941
1942         Fix a bug that validity.valueMissing for a radio button with required
1943         in a form element always returns true.
1944         https://bugs.webkit.org/show_bug.cgi?id=35472
1945
1946         Test: fast/forms/ValidityState-valueMissing-radio.html
1947
1948         * html/HTMLInputElement.cpp:
1949         (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
1950         (WebCore::HTMLInputElement::valueMissing):
1951           Use checkedRadioButtons() instead of document()->checkedRadioButtons().
1952
1953 2010-03-07  Mark Rowe  <mrowe@apple.com>
1954
1955         Rubber-stamped by Cameron Zwarich.
1956
1957         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
1958
1959         * bindings/objc/DOM.mm:
1960         * loader/CachedImage.h:
1961         * loader/EmptyClients.h:
1962         * platform/graphics/GlyphPageTreeNode.cpp:
1963         * platform/text/CString.h:
1964         * platform/text/String.cpp:
1965         * platform/text/mac/TextCodecMac.cpp:
1966         * svg/graphics/SVGResourceFilter.h:
1967         * svg/graphics/filters/SVGFEImage.h:
1968
1969 2010-03-07  Mark Rowe  <mrowe@apple.com>
1970
1971         Completely remove two files that were deleted in r55635 from the Xcode project.
1972
1973         * WebCore.xcodeproj/project.pbxproj:
1974
1975 2010-03-07  Sam Weinig  <sam@webkit.org>
1976
1977         Reviewed by Dan Bernstein.
1978
1979         Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
1980         https://bugs.webkit.org/show_bug.cgi?id=35848
1981
1982         - Take the opportunity to fully autogenerate window.atob() and window.btoa().
1983
1984         * bindings/js/JSDOMWindowCustom.cpp:
1985         * page/DOMWindow.cpp:
1986         (WebCore::DOMWindow::btoa):
1987         (WebCore::DOMWindow::atob):
1988         * page/DOMWindow.idl:
1989
1990 2010-03-07  Dan Bernstein  <mitz@apple.com>
1991
1992         Reviewed by Simon Fraser.
1993
1994         <rdar://problem/7722008> Column breaking ignores floats
1995         https://bugs.webkit.org/show_bug.cgi?id=35837
1996
1997         Test: fast/multicol/float-truncation.html
1998
1999         Introduce an earlier column-break if otherwise a float that could fit
2000         inside a single column will be split between columns.
2001
2002         It is still possible for floats to be needlessly broken if initially
2003         they fit in the column, but normal flow truncation then shortens the
2004         column.
2005
2006         * rendering/RenderBlock.cpp:
2007         (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
2008         Returns the visible top of the highest descendant float that visibly
2009         extends below the given y offset, ignoring floats that are taller than
2010         the given maximum height.
2011         (WebCore::RenderBlock::layoutColumns): If the initial column height
2012         would cause a float to be split, truncate above the float.
2013         * rendering/RenderBlock.h:
2014
2015 2010-03-07  Dmitry Titov  <dimich@chromium.org>
2016
2017         Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
2018
2019         REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
2020         https://bugs.webkit.org/show_bug.cgi?id=35819
2021
2022         * Android.jscbindings.mk:
2023         * Android.v8bindings.mk:
2024         * GNUmakefile.am:
2025         * WebCore.gypi:
2026         * WebCore.pro:
2027         * WebCore.vcproj/WebCore.vcproj:
2028         * WebCore.xcodeproj/project.pbxproj:
2029         * bindings/js/JSDOMWindowCustom.cpp:
2030         * bindings/js/JSDatabaseCallback.cpp: Removed.
2031         * bindings/js/JSDatabaseCallback.h: Removed.
2032         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2033         * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
2034         * bindings/v8/custom/V8DatabaseCallback.h: Removed.
2035         * dom/Document.cpp:
2036         (WebCore::Document::postTask):
2037         * page/DOMWindow.cpp:
2038         (WebCore::DOMWindow::openDatabase):
2039         * page/DOMWindow.h:
2040         * page/DOMWindow.idl:
2041         * storage/Database.cpp:
2042         (WebCore::Database::openDatabase):
2043         (WebCore::Database::Database):
2044         (WebCore::Database::performOpenAndVerify):
2045         * storage/Database.h:
2046         * storage/DatabaseCallback.h: Removed.
2047         * workers/WorkerContext.cpp:
2048         (WebCore::WorkerContext::openDatabase):
2049         * workers/WorkerContext.h:
2050
2051 2010-03-06  Mark Rowe  <mrowe@apple.com>
2052
2053         Rubber-stamped by Sam Weinig.
2054
2055         Remove unnecessary includes of wtf/Platform.h.  This is already pulled in by config.h.
2056
2057         * accessibility/AccessibilityObject.h:
2058         * dom/XMLTokenizer.cpp:
2059         * dom/XMLTokenizerLibxml2.cpp:
2060         * dom/XMLTokenizerQt.cpp:
2061         * editing/TextAffinity.h:
2062         * loader/FrameLoaderClient.h:
2063         * page/FocusController.cpp:
2064         * page/FrameTree.cpp:
2065         * page/Geolocation.h:
2066         * page/PositionCallback.h:
2067         * page/PositionErrorCallback.h:
2068         * platform/Cursor.h:
2069         * platform/FileSystem.h:
2070         * platform/FloatConversion.h:
2071         * platform/KeyboardCodes.h:
2072         * platform/PlatformKeyboardEvent.h:
2073         * platform/PlatformTouchPoint.h:
2074         * platform/SuddenTermination.h:
2075         * platform/Widget.h:
2076         * platform/graphics/Color.h:
2077         * platform/graphics/FloatPoint.h:
2078         * platform/graphics/FloatSize.h:
2079         * platform/graphics/GraphicsContext.h:
2080         * platform/graphics/IntPoint.h:
2081         * platform/graphics/IntRect.h:
2082         * platform/graphics/IntSize.h:
2083         * platform/graphics/openvg/PainterOpenVG.h:
2084         * platform/graphics/openvg/SurfaceOpenVG.h:
2085         * platform/network/ResourceHandleClient.h:
2086         * platform/text/Base64.cpp:
2087         * rendering/style/SVGRenderStyle.h:
2088         * xml/XSLTProcessor.cpp:
2089         * xml/XSLTProcessorLibxslt.cpp:
2090         * xml/XSLTProcessorQt.cpp:
2091
2092 2010-03-06  Sam Weinig  <sam@webkit.org>
2093
2094         Reviewed by Dan Bernstein.
2095
2096         Move debug only JS wrapper-set tracking code into its own file.
2097         https://bugs.webkit.org/show_bug.cgi?id=35839
2098
2099         * GNUmakefile.am: Added new files.
2100         * WebCore.gypi: Ditto.
2101         * WebCore.pro: Ditto.
2102         * WebCore.vcproj/WebCore.vcproj: Ditto.
2103         * WebCore.xcodeproj/project.pbxproj: Ditto.
2104
2105         * bindings/js/JSDOMBinding.cpp:
2106         (WebCore::cacheDOMObjectWrapper):
2107         (WebCore::forgetDOMObject):
2108         (WebCore::forgetDOMNode):
2109         (WebCore::cacheDOMNodeWrapper):
2110         (WebCore::takeWrappers):
2111         (WebCore::updateDOMNodeDocument):
2112         Updated for new signature for willCacheWrapper and didUncacheWrapper.
2113
2114         * bindings/js/JSDOMWrapper.cpp: Added.
2115         (WebCore::DOMObject::~DOMObject):
2116         (WebCore::DOMObject::defineOwnProperty):
2117         Moved from JSDOMBinding.cpp.
2118
2119         * bindings/js/JSDebugWrapperSet.cpp: Added.
2120         (WebCore::JSDebugWrapperSet::shared):
2121         (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
2122         * bindings/js/JSDebugWrapperSet.h: Added.
2123         (WebCore::JSDebugWrapperSet::add):
2124         (WebCore::JSDebugWrapperSet::remove):
2125         (WebCore::JSDebugWrapperSet::contains):
2126         (WebCore::JSDebugWrapperSet::willCacheWrapper):
2127         (WebCore::JSDebugWrapperSet::didUncacheWrapper):
2128         Moved from JSDOMBinding.cpp.
2129
2130 2010-03-06  Sam Weinig  <sam@webkit.org>
2131
2132         Rubber-stamped by Dan Bernstein.
2133
2134         Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
2135         their own files.
2136
2137         * GNUmakefile.am:
2138         * WebCore.gypi:
2139         * WebCore.pro:
2140         * WebCore.vcproj/WebCore.vcproj:
2141         * WebCore.xcodeproj/project.pbxproj:
2142         * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
2143         * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
2144         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
2145         (WebCore::DOMObjectHashTableMap::get):
2146         * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
2147         (WebCore::forgetWorldOfDOMNodesForDocument):
2148         * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
2149         (WebCore::DOMWrapperWorld::create):
2150         (WebCore::DOMWrapperWorld::rememberDocument):
2151         (WebCore::DOMWrapperWorld::forgetDocument):
2152         (WebCore::DOMWrapperWorld::isNormal):
2153         (WebCore::debuggerWorld):
2154         (WebCore::pluginWorld):
2155         (WebCore::currentWorld):
2156         (WebCore::Document::getWrapperCache):
2157         * bindings/js/JSDOMBinding.cpp:
2158         * bindings/js/JSDOMBinding.h:
2159         * bindings/js/JSDOMWindowBase.cpp:
2160         * bindings/js/ScriptController.cpp:
2161         * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
2162         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2163         (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
2164         (WebCore::WebCoreJSClientData::normalWorld):
2165         (WebCore::WebCoreJSClientData::getAllWorlds):
2166         (WebCore::WebCoreJSClientData::rememberWorld):
2167         (WebCore::WebCoreJSClientData::forgetWorld):
2168         * bindings/js/WorkerScriptController.cpp:
2169
2170 2010-03-06  Dan Bernstein  <mitz@apple.com>
2171
2172         Rubber-stamped by Sam Weinig.
2173
2174         Remove an unused method.
2175
2176         * rendering/RenderBlock.cpp:
2177         (WebCore::RenderBlock::layoutBlock): Changed comment.
2178         (WebCore::RenderBlock::floatRect): Removed.
2179         * rendering/RenderBlock.h: Removed floatRect().
2180
2181 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
2182
2183         Reviewed by Timothy Hatcher.
2184
2185         Web Inspector: make timeline overview bars transparent to mouse events.
2186
2187         https://bugs.webkit.org/show_bug.cgi?id=35832
2188
2189         * inspector/front-end/inspector.css:
2190
2191 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
2192
2193         Reviewed by Jeremy Orlow.
2194
2195         Web Inspector: switching to/from Timeline Panel moves scroller.
2196         (Also added couple of record details items as I was fixing it).
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=35829
2199
2200         * English.lproj/localizedStrings.js:
2201         * inspector/front-end/TimelinePanel.js:
2202         (WebInspector.TimelinePanel):
2203         (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
2204         (WebInspector.TimelinePanel.prototype.show):
2205         (WebInspector.TimelinePanel.prototype._refreshRecords):
2206         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2207
2208 2010-03-06  Patrick Gansterer  <paroga@paroga.com>
2209
2210         Reviewed by Eric Seidel.
2211
2212         Removed unnecessary WinCE file.
2213         The same functionality is provided by platform/win/SystemTimeWin.cpp.
2214         https://bugs.webkit.org/show_bug.cgi?id=35799
2215
2216         * platform/wince/SystemTimeWince.cpp: Removed.
2217
2218 2010-03-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2219
2220         Reviewed by Eric Seidel.
2221
2222         https://bugs.webkit.org/show_bug.cgi?id=30895
2223         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
2224
2225         This completes the fixing of the Atk table hierarchy which was started
2226         in bug #35418.
2227
2228         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2229         (AccessibilityObject::accessibilityPlatformIncludesObject):
2230         * accessibility/AccessibilityRenderObject.cpp:
2231         (AccessibilityRenderObject::determineAccessibilityRole):
2232
2233 2010-03-06  MORITA Hajime  <morrita@google.com>
2234
2235         Reviewed by Darin Adler.
2236
2237         Moved implementations of window.btoa() and window.atob() from
2238         JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
2239         functions instead of having a separate implementation. As a side effect, the
2240         error message has changed from "Cannot decode base64" to one that
2241         indicates DOM Exception, which is compatible to Firefox.
2242         
2243         Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
2244         https://bugs.webkit.org/show_bug.cgi?id=35723
2245
2246         No new test. No new functionality.
2247
2248         * bindings/js/JSDOMWindowCustom.cpp:
2249         (WebCore::JSDOMWindow::atob):
2250         (WebCore::JSDOMWindow::btoa):
2251         Moved conversion code to DOMWindow and invoke it. Argument
2252         checking remains here.
2253         
2254         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2255         (WebCore::V8DOMWindow::atobCallback):
2256         (WebCore::V8DOMWindow::btoaCallback):
2257         Remove conversion code and call DOMWindow APIs. Although argument
2258         checking remains here.
2259         
2260         * page/DOMWindow.cpp:
2261         (WebCore::hasMultibyteCharacters):
2262         (WebCore::DOMWindow::btoa):
2263         (WebCore::DOMWindow::atob):
2264         * page/DOMWindow.h:
2265         Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
2266
2267 2010-03-06  Yuta Kitamura  <yutak@chromium.org>
2268
2269         Reviewed by Eric Seidel.
2270
2271         Fix decoration position in search input field.
2272
2273         This patch fixes rendering of input field of "search" type, whose decoration
2274         (loupe icon and close button) was wrongly positioned when the input field was
2275         contained in a block with -webkit-transform property.
2276
2277         Chromium bug: http://crbug.com/20439
2278
2279         [Chromium] Decoration of "search" input field is wrongly rendered
2280         https://bugs.webkit.org/show_bug.cgi?id=30245
2281
2282         No new tests, since this patch fixes an existing test
2283         (fast/forms/search-transformed.html) in Chromium layout tests.
2284
2285         * rendering/RenderThemeChromiumSkia.cpp:
2286         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
2287         does almost the same thing as RenderThemeMac::convertToPaintingRect.
2288         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
2289         of the icon should not depend on its absolute position.
2290         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
2291         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
2292         * rendering/RenderThemeChromiumSkia.h: Added new method.
2293
2294 2010-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
2295
2296         Reviewed by Pavel Feldman.
2297
2298         Web Inspector: in Timeline panel, click followed with mouse move resets popover.
2299
2300         https://bugs.webkit.org/show_bug.cgi?id=35827
2301
2302         * inspector/front-end/Popover.js:
2303         (WebInspector.PopoverHelper.prototype._mouseDown):
2304         (WebInspector.PopoverHelper.prototype._mouseMove):
2305         (WebInspector.PopoverHelper.prototype._handleMouseAction):
2306
2307 2010-03-05  Tony Chang  <tony@chromium.org>
2308
2309         Reviewed by Eric Seidel.
2310
2311         https://bugs.webkit.org/show_bug.cgi?id=33247
2312         Backwards cursor movement incorrect when previous block ends with <br>.
2313
2314         If the cursor is trying to move into a node that has a height of 0,
2315         skip over it.
2316
2317         Test: editing/execCommand/move-selection-back-line.html
2318
2319         * editing/visible_units.cpp:
2320         (WebCore::previousLinePosition):
2321
2322 2010-03-05  Andrey Kosyakov  <caseq@chromium.org>
2323
2324         Reviewed by Eric Seidel.
2325
2326         Enable resource loading callback while loading worker scripts
2327         https://bugs.webkit.org/show_bug.cgi?id=35744
2328
2329         * workers/WorkerScriptLoader.cpp:
2330         (WebCore::WorkerScriptLoader::loadSynchronously):
2331         (WebCore::WorkerScriptLoader::loadAsynchronously):
2332
2333 2010-03-05  Chris Fleizach  <cfleizach@apple.com>
2334
2335         Reviewed by Eric Seidel.
2336
2337         WAI-ARIA live region doesn't appear when <div> only has a <div> child
2338         https://bugs.webkit.org/show_bug.cgi?id=35751
2339
2340         Elements should not be ignored if they carry ARIA attributes in them.
2341
2342         Test: platform/mac/accessibility/div-containing-div-with-aria.html
2343
2344         * accessibility/AccessibilityObject.cpp:
2345         (WebCore::AccessibilityObject::supportsARIAAttributes):
2346         * accessibility/AccessibilityObject.h:
2347         (WebCore::AccessibilityObject::supportsARIADropping):
2348         (WebCore::AccessibilityObject::supportsARIADragging):
2349         * accessibility/AccessibilityRenderObject.cpp:
2350         (WebCore::AccessibilityRenderObject::supportsARIADropping):
2351         (WebCore::AccessibilityRenderObject::supportsARIADragging):
2352         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2353         * accessibility/AccessibilityRenderObject.h:
2354
2355 2010-03-05  Dmitry Titov  <dimich@chromium.org>
2356
2357         Reviewed by Oliver Hunt.
2358
2359         Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
2360         https://bugs.webkit.org/show_bug.cgi?id=32353
2361
2362         * manual-tests/clearTimeout-crash-bug29832.html: Added.
2363
2364 2010-03-05  Dmitry Titov  <dimich@chromium.org>
2365
2366         Reviewed by David Levin.
2367
2368         [v8] Remove wrong assert in GC callback
2369         https://bugs.webkit.org/show_bug.cgi?id=35757
2370
2371         Test: fast/workers/wrapper-map-gc.html
2372
2373         * bindings/v8/DOMData.h:
2374         (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
2375
2376 2010-03-05  Alex Milowski  <alex@milowski.com>
2377
2378         Reviewed by Kenneth Rohde Christiansen.
2379
2380         Added support for row layout with stretchy operators and
2381         adjusted the over spacing for over and underover accordingly.
2382
2383         Tests: mathml/presentation/mo.xhtml
2384                mathml/presentation/row.xhtml
2385
2386         * WebCore.xcodeproj/project.pbxproj:
2387         * mathml/MathMLInlineContainerElement.cpp:
2388         * mathml/MathMLTextElement.cpp:
2389         * mathml/RenderMathMLMath.cpp: Added.
2390         * mathml/RenderMathMLMath.h: Added.
2391         * mathml/RenderMathMLOperator.cpp: Added.
2392         * mathml/RenderMathMLOperator.h: Added.
2393         * mathml/RenderMathMLRow.cpp: Added.
2394         * mathml/RenderMathMLRow.h: Added.
2395         * mathml/RenderMathMLUnderOver.cpp:
2396         * mathml/mathtags.in:
2397
2398 2010-03-05  Dean Jackson  <dino@apple.com>
2399
2400         Reviewed by Simon Fraser.
2401
2402         https://bugs.webkit.org/show_bug.cgi?id=35772
2403         Animation fill modes should be supported in the shorthand property
2404
2405         Add CSSPropertyWebkitAnimationFillMode to the list of properties
2406         evaluated in the -webkit-animation shorthand.
2407
2408         Test: animations/animation-shorthand.html
2409
2410         * css/CSSParser.cpp:
2411         (WebCore::CSSParser::parseAnimationShorthand):
2412
2413 2010-03-05  Dean Jackson  <dino@apple.com>
2414
2415         Reviewed by Simon Fraser
2416
2417         https://bugs.webkit.org/show_bug.cgi?id=35815
2418         Animation Fill Modes fail on Windows
2419
2420         * css/CSSComputedStyleDeclaration.cpp:
2421         * css/CSSStyleSelector.cpp:
2422         * platform/graphics/mac/GraphicsLayerCA.mm:
2423             - use new enum value
2424         * platform/animation/Animation.h:
2425             - change bitfield type
2426         * rendering/style/RenderStyleConstants.h:
2427             - add new enum for fill mode
2428
2429 2010-03-05  Csaba Osztrogonác  <ossy@webkit.org>
2430
2431         Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
2432
2433         * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
2434
2435 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
2436
2437         Reviewed by Darin Adler.
2438
2439         ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
2440         https://bugs.webkit.org/show_bug.cgi?id=34065
2441         <rdar://problem/7573509>
2442         
2443         Fix one instance of this assertion (not necessarily the one seen on hulu.com).
2444         
2445         If the layer that clippingRoot() is being called on is itself compositing,
2446         then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
2447         and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
2448         caused the caching of an incorrect clip rects root.
2449
2450         Test: compositing/geometry/object-clip-rects-assertion.html
2451
2452         * rendering/RenderLayer.cpp:
2453         (WebCore::RenderLayer::clippingRoot):
2454
2455 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
2456
2457         Reviewed by Dan Bernstein.
2458
2459         Child clipping compositing layers don't show the blue debug color
2460         https://bugs.webkit.org/show_bug.cgi?id=35807
2461
2462         Set a layer owner on the GraphicsLayers created for clipping children,
2463         so that they can get to the debug settings that give them the blue color.
2464
2465         * rendering/RenderLayerBacking.cpp:
2466         (WebCore::RenderLayerBacking::updateClippingLayers):
2467
2468 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
2469
2470         Reviewed by Dan Bernstein.
2471
2472         MobileMe movie page is missing playback controls
2473         https://bugs.webkit.org/show_bug.cgi?id=35805
2474         <rdar://problem/7653169>
2475         
2476         On pages with video or plug-ins, we run overlap tests to determine which layers
2477         need to be composited. There was an ordering dependency bug in
2478         RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
2479         to detect that a layer needed to be composited, resulting in page content
2480         not being visible.
2481         
2482         Specifically, layer->setHasCompositingDescendant() can change the answer
2483         to needsToBeComposited(), when a layer has to clip compositing descendants.
2484         So if we change setHasCompositingDescendant(), then we need to re-test
2485         clipsCompositingDescendants() and add the layer to the overlap map if so.
2486
2487         Test: compositing/overflow/overflow-compositing-descendant.html
2488
2489         * rendering/RenderLayerCompositor.cpp:
2490         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2491
2492 2010-03-04  Dumitru Daniliuc  <dumi@chromium.org>
2493
2494         Reviewed by Adam Barth.
2495
2496         Adding support for the optional creation callback that could be
2497         passed to openDatabase().
2498
2499         Test: storage/open-database-creation-callback.html
2500
2501         https://bugs.webkit.org/show_bug.cgi?id=34726
2502
2503         * Android.jscbindings.mk
2504         * Android.v8bindings.mk
2505         * GNUmakefile.am:
2506         * WebCore.gypi:
2507         * WebCore.pro:
2508         * WebCore.vcproj/WebCore.vcproj:
2509         * WebCore.xcodeproj/project.pbxproj:
2510         * bindings/js/JSDOMWindowCustom.cpp:
2511         (WebCore::JSDOMWindow::openDatabase):
2512         * bindings/js/JSDatabaseCallback.cpp: Added.
2513         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
2514         (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
2515         (WebCore::JSDatabaseCallback::handleEvent):
2516         * bindings/js/JSDatabaseCallback.h: Added.
2517         (WebCore::JSDatabaseCallback::create):
2518         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2519         (WebCore::V8DOMWindow::openDatabaseCallback):
2520         * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
2521         (WebCore::V8DatabaseCallback::V8DatabaseCallback):
2522         (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
2523         (WebCore::V8DatabaseCallback::handleEvent):
2524         * bindings/v8/custom/V8DatabaseCallback.h: Added.
2525         (WebCore::V8DatabaseCallback::create):
2526         * page/DOMWindow.cpp:
2527         (WebCore::DOMWindow::openDatabase):
2528         * page/DOMWindow.h:
2529         * page/DOMWindow.idl:
2530         * storage/Database.cpp:
2531         (WebCore::DatabaseCreationCallbackTask::create):
2532         (WebCore::DatabaseCreationCallbackTask::performTask):
2533         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
2534         (WebCore::Database::openDatabase):
2535         (WebCore::Database::Database):
2536         (WebCore::Database::performOpenAndVerify):
2537         (WebCore::Database::performCreationCallback):
2538         * storage/Database.h:
2539         (WebCore::Database::isNew):
2540         * storage/DatabaseCallback.h: Added.
2541         (WebCore::DatabaseCallback::~DatabaseCallback):
2542         * workers/WorkerContext.cpp:
2543         (WebCore::WorkerContext::openDatabase):
2544         * workers/WorkerContext.h:
2545
2546 2010-03-05  Chris Marrin  <cmarrin@apple.com>
2547
2548         Reviewed by Simon Fraser.
2549
2550         Fixed infinite recursion of composited video on Windows
2551         https://bugs.webkit.org/show_bug.cgi?id=35798
2552         
2553         Due to a change in the way we get the platformLayer (WKCACFLayer)
2554         for video, the mediaplayer was in an infinite loop with WKCACFLayer
2555         bouncing notifySyncRequired calls back and forth. After discussion
2556         we decided it would be better to avoid notifySyncRequired entirely,
2557         which would walk up through WebCore calls and back down through
2558         WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
2559         
2560         I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
2561         the WKCACFLayerRenderer. When something changes, we get the rootLayer()
2562         by walking up the layers and make a virtual call which WKCACFRootLayer
2563         implements to tell WKCACFLayerRenderer to render.
2564         
2565         I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
2566         now makes a WebLayer subclass which implements the drawInContext()
2567         virtual method.
2568         
2569         I also had to add protection to the platformLayer() call in 
2570         MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
2571         when the layer is still null.
2572
2573         * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
2574         (WebCore::WebLayer::create):
2575         (WebCore::WebLayer::drawInContext):
2576         (WebCore::WebLayer::WebLayer):
2577         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
2578         (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
2579         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
2580         (WebCore::GraphicsLayerCACF::updateContentsImage):
2581         * platform/graphics/win/GraphicsLayerCACF.h:
2582         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
2583         (WebCore::MediaPlayerPrivate::platformLayer):
2584         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
2585         (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
2586         * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
2587         (WebCore::displayCallback):
2588         (WebCore::WKCACFLayer::create):
2589         (WebCore::WKCACFLayer::WKCACFLayer):
2590         (WebCore::WKCACFLayer::setNeedsCommit):
2591         (WebCore::WKCACFLayer::setNeedsDisplay):
2592         * platform/graphics/win/WKCACFLayer.h:
2593         (WebCore::WKCACFLayer::setNeedsRender):
2594         (WebCore::WKCACFLayer::drawInContext):
2595         * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
2596         (WebCore::WKCACFRootLayer::WKCACFRootLayer):
2597         (WebCore::WKCACFRootLayer::create):
2598         (WebCore::WKCACFRootLayer::setNeedsRender):
2599         (WebCore::WKCACFRootLayer::setNeedsDisplay):
2600         (WebCore::WKCACFLayerRenderer::rootLayer):
2601         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
2602         (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
2603         (WebCore::WKCACFLayerRenderer::createRenderer):
2604         * platform/graphics/win/WKCACFLayerRenderer.h:
2605
2606 2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
2607
2608         Reviewed by David Levin.
2609
2610         [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
2611         https://bugs.webkit.org/show_bug.cgi?id=35797
2612
2613         No new tests, this is a latent compile break.
2614
2615         * WebCore.gypi:
2616
2617 2010-03-04  Eric Carlson  <eric.carlson@apple.com>
2618
2619         Reviewed by Adele Peterson.
2620
2621         <rdar://problem/7718442> Implement 'preload=none'
2622         https://bugs.webkit.org/show_bug.cgi?id=35789
2623
2624         Don't load any media data when preload is 'none'.
2625
2626         Test: media/video-preload.html
2627
2628         * html/HTMLMediaElement.cpp:
2629         (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
2630             when autoplay is set.
2631
2632         * platform/graphics/MediaPlayer.cpp:
2633         (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
2634             the media engine is created.
2635
2636         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2637         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2638         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
2639         (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
2640         (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
2641         (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
2642         (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
2643             has called play().
2644         (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
2645
2646 2010-03-04  Nate Chapin  <japhet@chromium.org>
2647
2648         Reviewed by Dimitri Glazkov.
2649
2650         [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
2651
2652         https://bugs.webkit.org/show_bug.cgi?id=35697
2653
2654         * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
2655         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2656         (WebCore::V8DOMWindow::addEventListenerCallback):
2657         (WebCore::V8DOMWindow::removeEventListenerCallback):
2658
2659 2010-03-05  Pavel Feldman  <pfeldman@chromium.org>
2660
2661         Not reviewed. Roll back r55522 since it regreses performance
2662         according to chromium's page cycler.
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=35568
2665
2666 2010-03-05  Dean Jackson  <dino@apple.com>
2667
2668         Reviewed by Simon Fraser and Chris Marrin.
2669
2670         Bug 26869: Add fill modes for CSS Animations
2671         https://bugs.webkit.org/show_bug.cgi?id=26869
2672
2673         Tests: animations/fill-mode-removed.html
2674                animations/fill-mode-transform.html
2675                animations/fill-mode.html
2676
2677         * css/CSSComputedStyleDeclaration.cpp:
2678         * css/CSSParser.cpp:
2679         * css/CSSParser.h:
2680         * css/CSSPropertyNames.in:
2681         * css/CSSStyleSelector.cpp:
2682         * css/CSSStyleSelector.h:
2683         * css/CSSValueKeywords.in:
2684             - parse, assign and retrieve the value of the new
2685               -webkit-animation-fill-mode property
2686         * page/animation/AnimationBase.cpp:
2687         * page/animation/AnimationBase.h:
2688             - new state in animation engine for a finished animation
2689               that is "filling" forwards in time. This allows the
2690               engine to keep the animation around and not revert to the
2691               old style.
2692             - update the timer code to indicate it doesn't need to
2693               keep animating if it is filling
2694             - now that animations can extend beyond their elapsed time,
2695               make sure progress works correctly with iteration counts
2696         * page/animation/KeyframeAnimation.cpp:
2697         (WebCore::KeyframeAnimation::animate):
2698             - ensure correct style value is returned at the right
2699               time by checking for fill mode
2700         (WebCore::KeyframeAnimation::onAnimationEnd):
2701             - continue to send the end event, but only remove the
2702               animation if it isn't filling forwards
2703         * platform/animation/Animation.cpp:
2704         * platform/animation/Animation.h:
2705             - new fill mode member property
2706         * platform/animation/AnimationList.cpp:
2707             - ensure the fill mode is propagated to a list of style valus
2708         * platform/graphics/mac/GraphicsLayerCA.mm:
2709             - make hardware layers use Core Animation's fill mode
2710
2711 2010-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
2712
2713         Reviewed by Pavel Feldman.
2714
2715         Web Inspector: Do not show link helper in popovers and/or for external resources.
2716
2717         https://bugs.webkit.org/show_bug.cgi?id=35785
2718
2719         * English.lproj/localizedStrings.js:
2720         * inspector/front-end/ResourcesPanel.js:
2721         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
2722         * inspector/front-end/ScriptsPanel.js:
2723         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
2724         * inspector/front-end/TimelinePanel.js:
2725         (WebInspector.TimelinePanel.prototype.hide):
2726         * inspector/front-end/inspector.js:
2727         (WebInspector.documentMouseOver):
2728         (WebInspector.documentClick.followLink):
2729         (WebInspector.documentClick):
2730         (WebInspector.addMainEventListeners):
2731
2732 2010-03-05  Fumitoshi Ukai  <ukai@chromium.org>
2733
2734         Reviewed by Alexey Proskuryakov.
2735
2736         WebSocket onmessageerror event handler
2737         https://bugs.webkit.org/show_bug.cgi?id=35570
2738
2739         Test: websocket/tests/error-detect.html
2740
2741         * websockets/WebSocket.cpp:
2742         (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
2743         (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
2744         (WebCore::WebSocket::didReceiveMessageError):
2745         (WebCore::WebSocket::didClose): assert scriptExecutionContext.
2746         * websockets/WebSocket.h:
2747         * websockets/WebSocket.idl: Add onerror event listener
2748         * websockets/WebSocketChannel.cpp:
2749         (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
2750         * websockets/WebSocketChannelClient.h:
2751         (WebCore::WebSocketChannelClient::didReceiveMessageError):
2752
2753 2010-03-04  Garret Kelly  <gdk@chromium.org>
2754
2755         Reviewed by Darin Fisher.
2756
2757         Changing private members from PlatformTouchEvent and PlatformTouchPoint
2758         to be protected, so that Chromium's PlatformTouchEventBuilder and
2759         PlatformTouchPointBuilder can access them. Exercised by the
2760         fast/events/touch tests.
2761         https://bugs.webkit.org/show_bug.cgi?id=35760
2762
2763         * platform/PlatformTouchEvent.h:
2764         (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
2765         * platform/PlatformTouchPoint.h:
2766         (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
2767
2768 2010-03-04  Fumitoshi Ukai  <ukai@chromium.org>
2769
2770         Reviewed by Alexey Proskuryakov.
2771
2772         WebSocket crash bug when reloading the page while the WebSocket is busy
2773         https://bugs.webkit.org/show_bug.cgi?id=35732
2774
2775         * websockets/WebSocketChannel.cpp:
2776         (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
2777         (WebCore::WebSocketChannel::didOpen): check m_context
2778         (WebCore::WebSocketChannel::didClose): clear m_context
2779         (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
2780         * websockets/WebSocketHandshake.cpp:
2781         (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
2782         * websockets/WebSocketHandshake.h:
2783
2784 2010-03-04  MORITA Hajime <morrita@google.com>
2785
2786         Reviewed by Alexey Proskuryakov.
2787
2788         Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
2789         https://bugs.webkit.org/show_bug.cgi?id=35630
2790
2791         Test: http/tests/xmlhttprequest/open-async-overload.html
2792
2793         * bindings/js/JSXMLHttpRequestCustom.cpp:
2794         (WebCore::JSXMLHttpRequest::open):
2795         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2796         (WebCore::V8XMLHttpRequest::openCallback):
2797         * xml/XMLHttpRequest.cpp:
2798         (WebCore::XMLHttpRequest::open):
2799         * xml/XMLHttpRequest.h:
2800
2801 2010-03-04  James Robinson  <jamesr@google.com>
2802
2803         Reviewed by Eric Seidel.
2804
2805         Styles do not have to be synchronously rematched after every event dispatch
2806
2807         https://bugs.webkit.org/show_bug.cgi?id=32580
2808
2809         * bindings/js/JSEventListener.cpp:
2810         (WebCore::JSEventListener::handleEvent):
2811         * bindings/v8/V8AbstractEventListener.cpp:
2812         (WebCore::V8AbstractEventListener::handleEvent):
2813
2814 2010-03-04  Luiz Agostini  <luiz.agostini@openbossa.org>
2815
2816         Reviewed by Kenneth Rohde Christiansen.
2817
2818         maemo spelled as mameo in WebCore.pro
2819         https://bugs.webkit.org/show_bug.cgi?id=35765
2820
2821         Spelling corrected.
2822
2823         * WebCore.pro:
2824
2825 2010-03-04  Tony Chang  <tony@chromium.org>
2826
2827         Reviewed by Eric Seidel.
2828
2829         https://bugs.webkit.org/show_bug.cgi?id=18819
2830         Pressing option+page{down,up} should move the cursor and scroll in
2831         content editable areas.  On other platforms, pressing page{down,up}
2832         should move the cursor and scroll in content editable areas.
2833
2834         Test: editing/input/option-page-up-down.html
2835
2836         * editing/EditorCommand.cpp:
2837         (WebCore::verticalScrollDistance):
2838
2839 2010-03-03  Oliver Hunt  <oliver@apple.com>
2840
2841         Reviewed by Gavin Barraclough.
2842
2843         Allow static property getters to interact with JSCs caching
2844         https://bugs.webkit.org/show_bug.cgi?id=35716
2845
2846         Update the obviously safe getters to allow caching
2847
2848         Test: fast/js/pic/cached-named-property-getter.html
2849
2850         * bridge/runtime_array.cpp:
2851         (JSC::RuntimeArray::getOwnPropertySlot):
2852         * bridge/runtime_method.cpp:
2853         (JSC::RuntimeMethod::getOwnPropertySlot):
2854
2855 2010-03-04  Mark Rowe  <mrowe@apple.com>
2856
2857         Reviewed by Sam Weinig.
2858
2859         <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
2860
2861         * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
2862         in to the framework wrapper.
2863
2864 2010-03-04  James Robinson  <jamesr@chromium.org>
2865
2866         Reviewed by Dimitri Glazkov.
2867
2868         Handles setting HTMLSelectElement.length with mutation handlers present
2869         https://bugs.webkit.org/show_bug.cgi?id=33983
2870
2871         When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
2872         as appropriate.  This is a little tricky with mutation events since they might add, remove, or reorder elements
2873         while option elements are being added or deleted.
2874
2875         Tests: fast/forms/select-set-length-optgroup.html
2876                fast/forms/select-set-length-with-mutation-remove.html
2877                fast/forms/select-set-length-with-mutation-reorder.html
2878                fast/forms/select-set-length-with-mutation-reparent.html
2879                fast/forms/select-set-length-with-mutation.html
2880                fast/forms/select-set-length.html
2881
2882         * html/HTMLSelectElement.cpp:
2883         (WebCore::HTMLSelectElement::setLength):
2884
2885 2010-03-04  Csaba Osztrogonác  <ossy@webkit.org>
2886
2887         [Qt] Unreviewed buildfix after r55542 on Windows.
2888
2889         * WebCore.pro:
2890          - plugins/win/PluginDatabaseWin.cpp removed.
2891          - platform/win/WebCoreInstanceHandle.cpp added.
2892
2893         * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
2894
2895 2010-03-04  Nate Chapin  <japhet@chromium.org>
2896
2897         Reviewed by Kenneth Rohde Christiansen.
2898
2899         Fix the case where we do a same document navigation, scroll,
2900         then repeat the same document navigation.  Currently, the second
2901         navigation does nothing.
2902
2903         https://bugs.webkit.org/show_bug.cgi?id=35547
2904
2905         Test: fast/loader/repeat-same-document-navigation.html
2906
2907         * loader/FrameLoader.cpp:
2908         (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
2909
2910 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
2911
2912         Build fix.
2913         
2914         const long long cMaxDistance = numeric_limits<long long>::max() created global
2915         initializers at the call sites, so replace with an inline function.
2916
2917         * page/FocusController.cpp:
2918         (WebCore::updateFocusCandidateIfCloser):
2919         * page/SpatialNavigation.cpp:
2920         (WebCore::distanceInDirection):
2921         * page/SpatialNavigation.h:
2922         (WebCore::maxDistance):
2923         (WebCore::FocusCandidate::FocusCandidate):
2924
2925 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
2926
2927         Unreviewed attempt to fix Windows build.
2928
2929         * page/SpatialNavigation.cpp:
2930         (WebCore::spatialDistance):
2931
2932 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
2933
2934         Build fix.
2935
2936         Delcare updateFocusCandidateIfCloser static to avoid warning.
2937
2938         * page/FocusController.cpp:
2939         (WebCore::updateFocusCandidateIfCloser):
2940
2941 2010-03-04  Darin Fisher  <darin@chromium.org>
2942
2943         Reviewed by Dmitry Titov.
2944
2945         [chromium] make history.{push,replace}State enabled at runtime
2946         https://bugs.webkit.org/show_bug.cgi?id=35753
2947
2948         * bindings/generic/RuntimeEnabledFeatures.cpp:
2949         * bindings/generic/RuntimeEnabledFeatures.h:
2950         (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
2951         (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
2952         (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
2953         * page/History.idl:
2954
2955 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
2956
2957         Unreviewed attempt to (again) fix Mac build.
2958
2959         * page/SpatialNavigation.cpp:
2960         (WebCore::spatialDistance):
2961
2962 2010-03-04  Dan Bernstein  <mitz@apple.com>
2963
2964         Based on a patch from Nick Jong.
2965
2966         Reviewed by Simon Fraser.
2967
2968         Improve selection in multi-column blocks when hitting points above or
2969         below a column rect.
2970
2971         Test: fast/multicol/hit-test-above-or-below.html
2972
2973         * rendering/RenderBlock.cpp:
2974         (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
2975         within the horizontal range for a column, constrain it to the column (if
2976         it is above) or the next column (if it is below).
2977
2978 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
2979
2980         Reviewed by Simon Fraser.
2981
2982         Attempt to fix Mac build.
2983
2984         * page/SpatialNavigation.cpp:
2985
2986 2010-03-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2987
2988         Add SpatialNavigation header and cpp to Mac XCode project file.
2989
2990         Reviewed by Kenneth Christiansen.
2991
2992         * WebCore.xcodeproj/project.pbxproj:
2993
2994 2010-03-02  Antonio Gomes  <tonikitoo@webkit.org>
2995
2996         Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
2997         Patch by Antonio Gomes <tonikitoo@webkit.org>
2998         Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
2999
3000         Extend keyboard navigation to allow directional navigation
3001         https://bugs.webkit.org/show_bug.cgi?id=18662
3002
3003         This patch implements the core logic of the 'Spatial Navigation' feature [1].
3004         It improves the accessibility support of WebCore by extending the basic keyboard
3005         navigation currently available (based on Tab forward and backward) with the
3006         addition of a two-dimensional directional navigation by using Left, Right, Up and
3007         Down arrow keys to move to the "nearest" element in the corresponding direction.
3008
3009         Highlights:
3010         * Feature is turned off by default in Settings. Port specific APIs need to be added
3011           for toggling it on/off.
3012         * Only elements viewed in the current viewport can have focus move to it. If the
3013           "nearest" is not in viewport dimensions, then a scroll-in-direction action is
3014           performed.
3015
3016         Known issues (to be covered in follow-up bugs):
3017         * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
3018         * Support for spatial navigation through form elements (<input>, <select>, etc)
3019           is be added.
3020         * Make navigation keys customizable. It currently works with arrows keys only
3021           (up, down, right and left).
3022         * Make it support modifiers (Alt, Ctrl and Shift).
3023         * Improve support on scrollable content.
3024
3025         [1] http://en.wikipedia.org/wiki/Spatial_navigation
3026
3027         * Android.mk:
3028         * GNUmakefile.am:
3029         * WebCore.gypi:
3030         * WebCore.pro:
3031         * WebCore.vcproj/WebCore.vcproj:
3032         * page/EventHandler.cpp:
3033         (WebCore::EventHandler::defaultKeyboardEventHandler):
3034         (WebCore::EventHandler::focusDirectionForKey):
3035         (WebCore::EventHandler::defaultArrowEventHandler):
3036         * page/EventHandler.h:
3037         * page/FocusController.cpp:
3038         (WebCore::FocusController::advanceFocus):
3039         (WebCore::FocusController::advanceFocusInDocumentOrder):
3040         (WebCore::FocusController::advanceFocusDirectionally):
3041         (WebCore::updateFocusCandidateIfCloser):
3042         (WebCore::FocusController::findFocusableNodeInDirection):
3043         (WebCore::FocusController::deepFindFocusableNodeInDirection):
3044         * page/FocusController.h:
3045         * page/FocusDirection.h:
3046         (WebCore::):
3047         * page/Settings.cpp:
3048         (WebCore::Settings::Settings):
3049         (WebCore::Settings::setSpatialNavigationEnabled):
3050         * page/Settings.h:
3051         (WebCore::Settings::isSpatialNavigationEnabled):
3052         * page/SpatialNavigation.cpp: Added.
3053         (WebCore::distanceInDirection):
3054         (WebCore::renderRectRelativeToRootDocument):
3055         (WebCore::alignmentForRects):
3056         (WebCore::isHorizontalMove):
3057         (WebCore::areRectsFullyAligned):
3058         (WebCore::areRectsPartiallyAligned):
3059         (WebCore::spatialDistance):
3060         (WebCore::isRectInDirection):
3061         (WebCore::hasOffscreenRect):
3062         (WebCore::scrollInDirection):
3063         (WebCore::isInRootDocument):
3064         (WebCore::deflateIfOverlapped):
3065         * page/SpatialNavigation.h: Added.
3066         (WebCore::):
3067         (WebCore::FocusCandidate::FocusCandidate):
3068
3069 2010-03-04  Beth Dakin  <bdakin@apple.com>
3070
3071         Reviewed by Anders Carlsson.
3072
3073         This fixes the layering violation I committed yesterday by moving 
3074         Page::instanceHandle into its own file just in the WebCore 
3075         namespace.
3076
3077         Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
3078         * WebCore.vcproj/WebCore.vcproj:
3079         * page/win/PageWin.cpp: Removed.
3080
3081         Remove all instance handle code from Page.
3082         * page/Page.h:
3083
3084         New files.
3085         * platform/win/WebCoreInstanceHandle.cpp: Added.
3086         * platform/win/WebCoreInstanceHandle.h: Added.
3087         (WebCore::setInstanceHandle):
3088         (WebCore::instanceHandle):
3089
3090         Switch to WebCore::instanceHandle() instead of 
3091         Page::instanceHandle() and include the new header.
3092         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3093         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
3094         * platform/win/PasteboardWin.cpp:
3095         (WebCore::Pasteboard::Pasteboard):
3096         * platform/win/PopupMenuWin.cpp:
3097         (WebCore::PopupMenu::show):
3098         (WebCore::PopupMenu::registerClass):
3099         * platform/win/SharedTimerWin.cpp:
3100         (WebCore::initializeOffScreenTimerWindow):
3101         * plugins/win/PluginViewWin.cpp:
3102         (WebCore::registerPluginView):
3103         (WebCore::PluginView::platformStart):
3104
3105 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
3106
3107         Unreviewed build fix.
3108         Patch by Antonio Gomes <tonikitoo@webkit.org>
3109
3110         'glib_file_name' renamed to 'gligFileName'.
3111
3112         * platform/graphics/gtk/ImageGtk.cpp:
3113         (WebCore::Image::loadPlatformResource):
3114
3115 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
3116
3117         Reviewed by Timothy Hatcher.
3118
3119         Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
3120
3121         https://bugs.webkit.org/show_bug.cgi?id=35720
3122
3123         * inspector/InspectorBackend.cpp:
3124         (WebCore::InspectorBackend::enableSearchingForNode):
3125         (WebCore::InspectorBackend::disableSearchingForNode):
3126         (WebCore::InspectorBackend::setPauseOnExceptionsState):
3127         * inspector/InspectorBackend.h:
3128         * inspector/InspectorBackend.idl:
3129         * inspector/InspectorController.cpp:
3130         (WebCore::InspectorController::setWindowVisible):
3131         (WebCore::InspectorContorller::setSearchingForNode):
3132         (WebCore::InspectorController::populateScriptObjects):
3133         * inspector/InspectorController.h:
3134         * inspector/InspectorFrontend.cpp:
3135         (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
3136         (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
3137         (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
3138         * inspector/InspectorFrontend.h:
3139         * inspector/front-end/ElementsPanel.js:
3140         (WebInspector.ElementsPanel):
3141         (WebInspector.ElementsPanel.prototype.get statusBarItems):
3142         (WebInspector.ElementsPanel.prototype.hide):
3143         (WebInspector.ElementsPanel.prototype.reset):
3144         (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
3145         (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
3146         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
3147         * inspector/front-end/InspectorBackendStub.js:
3148         (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
3149         (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
3150         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
3151         * inspector/front-end/ScriptsPanel.js:
3152         (WebInspector.ScriptsPanel):
3153         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3154         (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
3155         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3156         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
3157         * inspector/front-end/inspector.js:
3158         (WebInspector.searchingForNodeWasEnabled):
3159         (WebInspector.searchingForNodeWasDisabled):
3160         (WebInspector.updatePauseOnExceptionsState):
3161
3162 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
3163
3164         Reviewed by Timothy Hatcher.
3165
3166         Web Inspector: Clicking on an error should take me to the error
3167
3168         https://bugs.webkit.org/show_bug.cgi?id=34860
3169
3170         * inspector/front-end/ResourceView.js:
3171         (WebInspector.ResourceView):
3172         (WebInspector.ResourceView.prototype._selectTab):
3173         (WebInspector.ResourceView.prototype.selectContentTab):
3174         * inspector/front-end/ResourcesPanel.js:
3175         (WebInspector.ResourcesPanel.prototype.showResource):
3176
3177 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
3178
3179         Reviewed by Timothy Hatcher.
3180
3181         Web Inspector: Remove sync access to resourceTrackingEnabled.
3182
3183         https://bugs.webkit.org/show_bug.cgi?id=35693
3184
3185         * inspector/InspectorBackend.cpp:
3186         * inspector/InspectorBackend.h:
3187         * inspector/InspectorBackend.idl:
3188         * inspector/InspectorController.cpp:
3189         (WebCore::InspectorController::populateScriptObjects):
3190         * inspector/front-end/AuditsPanel.js:
3191         (WebInspector.AuditsPanel.prototype._reloadResources):
3192         (WebInspector.AuditsPanel.prototype.show):
3193         * inspector/front-end/InspectorBackendStub.js:
3194         (.WebInspector.InspectorBackendStub):
3195         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
3196         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
3197         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
3198         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
3199         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
3200         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
3201         * inspector/front-end/ResourcesPanel.js:
3202         (WebInspector.ResourcesPanel):
3203         (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
3204         (WebInspector.ResourcesPanel.prototype.get visibleView):
3205         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
3206         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
3207         (WebInspector.ResourcesPanel.prototype.reset):
3208         (WebInspector.ResourcesPanel.prototype.showResource):
3209         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
3210         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
3211
3212 2010-03-04  Antoine Quint  <ml@graougraou.com>
3213
3214         Reviewed by Darin Adler.
3215
3216         DOM insertion mutation events should dispatch after a node is attached to the render tree
3217         https://bugs.webkit.org/show_bug.cgi?id=35590
3218
3219         Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
3220
3221         Split off the internal-to-WebCore node insertion notification code from the DOM mutation
3222         event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
3223         called notifyChildInserted(). This allows us to dispatch the mutation events at a later
3224         time upon insertion of a child into to the tree, specifically _after_ attachment to the render
3225         tree.
3226
3227         * dom/ContainerNode.cpp:
3228         (WebCore::ContainerNode::insertBefore):
3229         (WebCore::ContainerNode::replaceChild):
3230         (WebCore::ContainerNode::appendChild):
3231         (WebCore::notifyChildInserted):
3232         (WebCore::dispatchChildInsertionEvents):
3233
3234 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
3235
3236         Reviewed by Holger Freyther.
3237
3238         Make paths relocatable on runtime on Windows
3239         https://bugs.webkit.org/show_bug.cgi?id=32711
3240
3241         * platform/graphics/gtk/ImageGtk.cpp:
3242         (get_webkit_datadir):
3243         (WebCore::Image::loadPlatformResource):
3244
3245 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
3246
3247         Reviewed by Timothy Hatcher.
3248
3249         Web Inspector: Popup for Timeline panel will work in a tooltip mode
3250
3251         https://bugs.webkit.org/show_bug.cgi?id=35680
3252
3253         * inspector/front-end/Popover.js:
3254         (WebInspector.Popover):
3255         (WebInspector.Popover.prototype.show):
3256         (WebInspector.Popover.prototype.hide):
3257         (WebInspector.Popover.prototype._positionElement):
3258         (WebInspector.PopoverHelper):
3259         (WebInspector.PopoverHelper.prototype._mouseDown):
3260         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
3261         (WebInspector.PopoverHelper.prototype._mouseMove):
3262         (WebInspector.PopoverHelper.prototype._resetHoverTimer):
3263         (WebInspector.PopoverHelper.prototype.hidePopup):
3264         (WebInspector.PopoverHelper.prototype._mouseHover):
3265         (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
3266         * inspector/front-end/TimelineOverviewPane.js:
3267         (WebInspector.TimelineOverviewPane.prototype.reset):
3268         * inspector/front-end/TimelinePanel.js:
3269         (WebInspector.TimelinePanel):
3270         (WebInspector.TimelinePanel.prototype.get _recordStyles):
3271         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3272         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3273         (WebInspector.TimelinePanel.prototype._refreshRecords):
3274         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
3275         (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
3276         (WebInspector.TimelinePanel.prototype._showPopover):
3277         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
3278         (WebInspector.TimelineRecordListRow):
3279         (WebInspector.TimelineRecordListRow.prototype.update):
3280         (WebInspector.TimelineRecordGraphRow):
3281         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
3282         (WebInspector.TimelinePanel.FormattedRecord):
3283         (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
3284         (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
3285         (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
3286         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3287         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3288         * inspector/front-end/inspector.css:
3289
3290 2010-03-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3291
3292         Unreviewed build fix.
3293
3294         Build fix after r55464.
3295
3296         No new tests, no new functionality.
3297
3298         * inspector/InspectorController.cpp:
3299         (WebCore::InspectorController::populateScriptObjects):
3300
3301 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
3302
3303         Reviewed by Kenneth Rohde Christiansen.
3304
3305         Add EFL port files to platform/graphics/efl.
3306         http://webkit.org/b/35539
3307
3308         * platform/graphics/efl/FloatRectEfl.cpp: Added.
3309         * platform/graphics/efl/FontEfl.cpp: Added.
3310         * platform/graphics/efl/IconEfl.cpp: Added.
3311         * platform/graphics/efl/ImageEfl.cpp: Added.
3312         * platform/graphics/efl/IntPointEfl.cpp: Added.
3313         * platform/graphics/efl/IntRectEfl.cpp: Added.
3314
3315 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
3316
3317         Reviewed by Kenneth Rohde Christiansen.
3318
3319         Add EFL port files to platform/text/efl.
3320         http://webkit.org/b/35740
3321
3322         * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
3323
3324 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
3325
3326         Reviewed by Holger Freyther.
3327
3328         https://bugs.webkit.org/show_bug.cgi?id=35726
3329         Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
3330
3331         Removing orphaned #if USE.
3332
3333         * platform/ThreadGlobalData.h:
3334
3335 2010-03-03  Jeremy Orlow  <jorlow@chromium.org>
3336
3337         Reviewed by Darin Fisher.
3338
3339         Throttle sync requests sent to the LocalStorage background thread
3340         https://bugs.webkit.org/show_bug.cgi?id=34943
3341
3342         Currently, once a second LocalStorage takes all keys/values which have
3343         been changed and sends them to a background thread to sync.  The problem
3344         is that this background thread can get overwhelmed and stop being
3345         responsive.  This means that if any other page tries to start using
3346         LocalStorage (and thus initiates the initial import) that'll block on
3347         all the previous syncs completing.
3348
3349         To mitigate this, I'm adding code so that we never schedule another
3350         sync task when another is still running.  In order to keep the sync
3351         tasks from growing exponentially when they do take longer than the
3352         storage sync interval, I've also added a basic rate limiter.  No effort
3353         is made to ensure fairness/ordering of what gets synced nor is there
3354         any way for this rate to be changed because most normal uses of
3355         LocalStorage really shouldn't be hitting these types of limits anyway.
3356
3357         The only behavioral change that's observible in JavaScript is time based
3358         and thus it's not practical to make new tests that aren't racy.  The
3359         existing layout tests cover LocalStorage pretty well, though.
3360
3361         * storage/StorageAreaSync.cpp:
3362         (WebCore::StorageAreaSync::StorageAreaSync):
3363         (WebCore::StorageAreaSync::scheduleFinalSync):
3364         (WebCore::StorageAreaSync::syncTimerFired):
3365         (WebCore::StorageAreaSync::performSync):
3366         * storage/StorageAreaSync.h:
3367
3368 2010-03-04  Andrey Kosyakov  <caseq@chromium.org>
3369
3370         Reviewed by Pavel Feldman.
3371
3372         Added support for worker instrumentation in inspector
3373         (display list of active workers, allow debugging of workers
3374         by injecting fake JS implementation)
3375
3376         https://bugs.webkit.org/show_bug.cgi?id=35568
3377
3378         * English.lproj/localizedStrings.js:
3379         * WebCore.gypi:
3380         * WebCore.vcproj/WebCore.vcproj:
3381         * bindings/js/JSInjectedScriptHostCustom.cpp:
3382         (WebCore::InjectedScriptHost::createInjectedScript):
3383         (WebCore::InjectedScriptHost::injectedScriptFor):
3384         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3385         (WebCore::InjectedScriptHost::createInjectedScript):
3386         (WebCore::InjectedScriptHost::injectedScriptFor):
3387         * dom/Document.cpp:
3388         (WebCore::Document::inspectorController):
3389         * dom/Document.h:
3390         * dom/ScriptExecutionContext.h:
3391         (WebCore::ScriptExecutionContext::inspectorController):
3392         * inspector/InjectedScriptHost.cpp:
3393         (WebCore::InjectedScriptHost::InjectedScriptHost):
3394         (WebCore::InjectedScriptHost::injectScript):
3395         (WebCore::InjectedScriptHost::nextWorkerId):
3396         (WebCore::InjectedScriptHost::didCreateWorker):
3397         (WebCore::InjectedScriptHost::willDestroyWorker):
3398         * inspector/InjectedScriptHost.h:
3399         * inspector/InjectedScriptHost.idl:
3400         * inspector/InspectorController.cpp:
3401         (WebCore::InspectorController::populateScriptObjects):
3402         (WebCore::InspectorController::resetScriptObjects):
3403         (WebCore::InspectorController::didCommitLoad):
3404         (WebCore::InspectorController::didCreateWorker):
3405         (WebCore::InspectorController::willDestroyWorker):
3406         * inspector/InspectorController.h:
3407         * inspector/InspectorFrontend.cpp:
3408         (WebCore::InspectorFrontend::didCreateWorker):
3409         (WebCore::InspectorFrontend::willDestroyWorker):
3410         * inspector/InspectorFrontend.h:
3411         * inspector/InspectorWorkerResource.h: Added.
3412         (WebCore::InspectorWorkerResource::create):
3413         (WebCore::InspectorWorkerResource::id):
3414         (WebCore::InspectorWorkerResource::url):
3415         (WebCore::InspectorWorkerResource::isSharedWorker):
3416         (WebCore::InspectorWorkerResource::InspectorWorkerResource):
3417         * inspector/front-end/Checkbox.js: Added.
3418         (WebInspector.Checkbox.callbackWrapper):
3419         (WebInspector.Checkbox):
3420         (WebInspector.Checkbox.prototype.checked):
3421         * inspector/front-end/InjectedFakeWorker.js:
3422         (InjectedFakeWorker.FakeWorker):
3423         (InjectedFakeWorker.FakeWorker.prototype.terminate):
3424         (InjectedFakeWorker.FakeWorker.prototype._handleException):
3425         (InjectedFakeWorker.FakeWorker.prototype._importScripts):
3426         (InjectedFakeWorker.FakeWorker.prototype._loadScript):
3427         (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
3428         * inspector/front-end/ScriptsPanel.js:
3429         (WebInspector.ScriptsPanel):
3430         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
3431         (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
3432         (WebInspector.ScriptsPanel.prototype.reset):
3433         * inspector/front-end/WebKit.qrc:
3434         * inspector/front-end/WorkersSidebarPane.js: Added.
3435         (WebInspector.WorkersSidebarPane):
3436         (WebInspector.WorkersSidebarPane.prototype.addWorker):
3437         (WebInspector.WorkersSidebarPane.prototype.removeWorker):
3438         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
3439         (WebInspector.WorkersSidebarPane.prototype.reset):
3440         (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
3441         (WebInspector.Worker):
3442         (WebInspector.didCreateWorker):
3443         (WebInspector.willDestroyWorker):
3444         * inspector/front-end/inspector.css:
3445         * inspector/front-end/inspector.html:
3446         * workers/AbstractWorker.cpp:
3447         (WebCore::AbstractWorker::AbstractWorker):
3448         (WebCore::AbstractWorker::~AbstractWorker):
3449         (WebCore::AbstractWorker::onDestroyWorker):
3450         (WebCore::AbstractWorker::contextDestroyed):
3451         * workers/AbstractWorker.h:
3452         (WebCore::AbstractWorker::id):
3453         * workers/SharedWorker.cpp:
3454         (WebCore::SharedWorker::SharedWorker):
3455         * workers/Worker.cpp:
3456         (WebCore::Worker::Worker):
3457
3458 2010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3459
3460         Reviewed by Tor Arne Vestbø.
3461
3462         [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
3463
3464         This also allows shadow builds relying only on qmake to work properly.
3465
3466         * WebCore.pro:
3467
3468 2010-03-02  Holger Hans Peter Freyther  <zecke@selfish.org>
3469
3470         Reviewed by Simon Hausmann.
3471
3472         [Qt] Avoid calling QFont::detach too often from FontQt
3473         https://bugs.webkit.org/show_bug.cgi?id=35569
3474
3475         The letter- and wordspacing is inside the WebCore::Font class,
3476         our QFont is located in the WebCore::FontPlatformData. Everytime
3477         we need to use a QFont inside WebCore::Font we are calling the
3478         font method which gets the QFont from the WebCore::FontPlatformData
3479         and is applying the letter- and wordspacing. Internally this
3480         will attempt to detach the QFont...
3481
3482         Avoid calling setLetterSpacing and setWordSpacing on QFont if
3483         the WebCore::Font has the default applied.
3484
3485         * platform/graphics/qt/FontQt.cpp:
3486         (WebCore::Font::font):
3487
3488 2010-03-04  Alexander Pavlov  <apavlov@chromium.org>
3489
3490         Reviewed by Pavel Feldman.
3491
3492         Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
3493         https://bugs.webkit.org/show_bug.cgi?id=35574
3494
3495         * English.lproj/localizedStrings.js:
3496         * inspector/front-end/ResourcesPanel.js:
3497         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
3498         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
3499         * inspector/front-end/inspector.js:
3500         (WebInspector.documentMouseOver):
3501         (WebInspector.documentMouseOut):
3502         (WebInspector.hideBadLinkPopupIfNecessary):
3503         (WebInspector.documentClick.followLink):
3504         (WebInspector.documentClick):
3505         (WebInspector.showBadLinkPopup.popupOverOut):
3506         (WebInspector.showBadLinkPopup):
3507         (WebInspector.addMainEventListeners):
3508
3509 2010-03-04  Vangelis Kokkevis  <vangelis@chromium.org>
3510
3511         Reviewed by Oliver Hunt.
3512
3513         getUniformLocation() now returns null if uniform requested 
3514         is not found.
3515         https://bugs.webkit.org/show_bug.cgi?id=34669
3516         
3517         Test:LayoutTests/fast/canvas/webgl/uniform-location.html
3518         (added missing test)
3519
3520         * html/canvas/WebGLRenderingContext.cpp:
3521         (WebCore::WebGLRenderingContext::getUniformLocation):
3522
3523 2010-03-04  John Abd-El-Malek  <jam@chromium.org>
3524
3525         Reviewed by Adam Barth.
3526
3527         Fix incorrect setup of DateExtension.
3528         https://bugs.webkit.org/show_bug.cgi?id=35710
3529
3530         * bindings/v8/DateExtension.cpp:
3531         (WebCore::DateExtension::setAllowSleep):
3532
3533 2010-03-04  Oliver Hunt  <oliver@apple.com>
3534
3535         Reviewed by Maciej Stachowiak.
3536
3537         https://bugs.webkit.org/show_bug.cgi?id=35603
3538         SVG incorrectly allows nested <use> elements in a <use> shadow tree
3539
3540         Simplify the handling of invalid or missing use-targets by cloning them
3541         to empty <g> elements rather than just allowing the <use> element to
3542         be copied into the shadow tree, as this violates a number of assumptions
3543         in the shadow tree handling code.
3544
3545         Tests: svg/custom/use-nested-disallowed-target.svg
3546                svg/custom/use-nested-missing-target-added.svg
3547                svg/custom/use-nested-missing-target-removed.svg
3548                svg/custom/use-nested-missing-target.svg
3549                svg/custom/use-nested-notarget.svg
3550
3551         * svg/SVGUseElement.cpp:
3552         (WebCore::SVGUseElement::buildPendingResource):
3553         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
3554         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3555
3556 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
3557
3558         Reviewed by Gustavo Noronha Silva.
3559
3560         Move Cairo-related font code from platform/graphics/gtk to
3561         platform/graphics/cairo, so other ports may use them.
3562         http://webkit.org/b/35539
3563
3564         * GNUmakefile.am:
3565         * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
3566         * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
3567         * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
3568         * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
3569         * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
3570         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
3571         * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
3572         * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
3573         * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
3574         * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
3575         * platform/graphics/gtk/FontPlatformData.h: Removed.
3576         * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
3577         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
3578         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
3579
3580 2010-03-04  Evan Stade  <estade@chromium.org>
3581
3582         Reviewed by David Levin.
3583
3584         https://bugs.webkit.org/show_bug.cgi?id=35261
3585         [skia] crash when attempting to render certain SVGs
3586
3587         This fixes the crash, but the SVG still doesn't render properly.
3588
3589         Test: svg/custom/tiling-regular-hexagonal-crash.svg
3590
3591         * platform/graphics/skia/ImageSkia.cpp:
3592         (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
3593         the copy fails; instead return a blank bitmap. The caller doesn't
3594         check for 0 before dereferencing.
3595
3596 2010-03-04  Tony Chang  <tony@chromium.org>
3597
3598         Reviewed by Darin Fisher.
3599
3600         Initialize m_isMultipartPayload in other ResourceResponse ctor.
3601         In r55451 (bug 35628) I added an extra bool, but only initialized
3602         it in one constructor.
3603         https://bugs.webkit.org/show_bug.cgi?id=35719
3604
3605         * platform/network/chromium/ResourceResponse.h:
3606         (WebCore::ResourceResponse::ResourceResponse):
3607
3608 2010-03-03  Yuta Kitamura  <yutak@chromium.org>
3609
3610         Reviewed by Alexey Proskuryakov.
3611
3612         Add a new class that stores information about Web Socket handshake request.
3613
3614         Instances of this class contain the necessary information to send a Web Socket
3615         handshake request. In the future, this class will provide request information
3616         to the Web Inspector.
3617
3618         WebSocketHandshake needs to provide request information
3619         https://bugs.webkit.org/show_bug.cgi?id=34784
3620
3621         No new tests, since the current tests will suffice (LayoutTests/websocket/*).
3622
3623         * GNUmakefile.am: