[wx] Build fix after addition of LayoutTestController method.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-09  Alexey Proskuryakov  <ap@apple.com>
2
3         Reviewed by Maciej Stachowiak.
4
5         https://bugs.webkit.org/show_bug.cgi?id=24572
6         XMLHttpRequest.statusText returns always "OK" on Mac
7
8         Covered by existing tests, which now pass.
9
10         * WebCore.base.exp:
11         * platform/mac/WebCoreSystemInterface.h:
12         * platform/mac/WebCoreSystemInterface.mm:
13         Added a WebKitSystemInterface method to fetch status line.
14
15         * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine):
16         * platform/network/HTTPParsers.h:
17         * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
18         Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now.
19
20         * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
21         Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when
22         there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than
23         introduce a new broken one.
24
25 2010-04-09  David Hyatt  <hyatt@apple.com>
26
27         Reviewed by Oliver Hunt.
28
29         https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
30
31         * css/CSSComputedStyleDeclaration.cpp:
32         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
33         * rendering/style/FillLayer.h:
34         (WebCore::FillLayer::sizeType):
35         * rendering/style/RenderStyle.h:
36         (WebCore::InheritedFlags::backgroundImage):
37         (WebCore::InheritedFlags::backgroundRepeatX):
38         (WebCore::InheritedFlags::backgroundRepeatY):
39         (WebCore::InheritedFlags::backgroundComposite):
40         (WebCore::InheritedFlags::backgroundAttachment):
41         (WebCore::InheritedFlags::backgroundClip):
42         (WebCore::InheritedFlags::backgroundOrigin):
43         (WebCore::InheritedFlags::backgroundXPosition):
44         (WebCore::InheritedFlags::backgroundYPosition):
45         (WebCore::InheritedFlags::backgroundSizeType):
46         (WebCore::InheritedFlags::backgroundSizeLength):
47         (WebCore::InheritedFlags::maskImage):
48         (WebCore::InheritedFlags::maskRepeatX):
49         (WebCore::InheritedFlags::maskRepeatY):
50         (WebCore::InheritedFlags::maskComposite):
51         (WebCore::InheritedFlags::maskAttachment):
52         (WebCore::InheritedFlags::maskClip):
53         (WebCore::InheritedFlags::maskOrigin):
54         (WebCore::InheritedFlags::maskXPosition):
55         (WebCore::InheritedFlags::maskYPosition):
56         (WebCore::InheritedFlags::maskSizeType):
57         (WebCore::InheritedFlags::maskSizeLength):
58
59 2010-04-09  Sam Weinig  <sam@webkit.org>
60
61         Add another missing export to fix the build.
62
63         * WebCore.base.exp:
64
65 2010-04-09  David Hyatt  <hyatt@apple.com>
66
67         Reviewed by Adam Roben.
68
69         https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
70
71         * css/CSSComputedStyleDeclaration.cpp:
72         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
73         * page/EventHandler.cpp:
74         (WebCore::EventHandler::selectCursor):
75         * rendering/style/CursorData.h:
76         (WebCore::CursorData::CursorData):
77         (WebCore::CursorData::operator==):
78         (WebCore::CursorData::image):
79         (WebCore::CursorData::hotSpot):
80         * rendering/style/RenderStyle.cpp:
81         (WebCore::RenderStyle::addCursor):
82
83 2010-04-09  David Hyatt  <hyatt@apple.com>
84
85         Reviewed by Adam Roben.
86         
87         https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup.  Working from the outside in to
88         bring some style consistency to RenderStyle and its associated classes.  This patch cleans up the
89         border and outline classes.
90
91         * rendering/RenderTable.cpp:
92         (WebCore::RenderTable::calcBorderLeft):
93         (WebCore::RenderTable::calcBorderRight):
94         (WebCore::RenderTable::outerBorderTop):
95         (WebCore::RenderTable::outerBorderBottom):
96         (WebCore::RenderTable::outerBorderLeft):
97         (WebCore::RenderTable::outerBorderRight):
98         * rendering/RenderTableCell.cpp:
99         (WebCore::compareBorders):
100         * rendering/RenderTableSection.cpp:
101         (WebCore::RenderTableSection::calcOuterBorderTop):
102         (WebCore::RenderTableSection::calcOuterBorderBottom):
103         (WebCore::RenderTableSection::calcOuterBorderLeft):
104         (WebCore::RenderTableSection::calcOuterBorderRight):
105         * rendering/style/BorderData.h:
106         (WebCore::BorderData::hasBorder):
107         (WebCore::BorderData::hasBorderRadius):
108         (WebCore::BorderData::borderLeftWidth):
109         (WebCore::BorderData::borderRightWidth):
110         (WebCore::BorderData::borderTopWidth):
111         (WebCore::BorderData::borderBottomWidth):
112         (WebCore::BorderData::operator==):
113         (WebCore::BorderData::left):
114         (WebCore::BorderData::right):
115         (WebCore::BorderData::top):
116         (WebCore::BorderData::bottom):
117         (WebCore::BorderData::image):
118         (WebCore::BorderData::topLeft):
119         (WebCore::BorderData::topRight):
120         (WebCore::BorderData::bottomLeft):
121         (WebCore::BorderData::bottomRight):
122         * rendering/style/BorderValue.h:
123         (WebCore::BorderValue::BorderValue):
124         (WebCore::BorderValue::nonZero):
125         (WebCore::BorderValue::isTransparent):
126         (WebCore::BorderValue::operator==):
127         (WebCore::BorderValue::color):
128         (WebCore::BorderValue::width):
129         (WebCore::BorderValue::style):
130         * rendering/style/CollapsedBorderValue.h:
131         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
132         (WebCore::CollapsedBorderValue::width):
133         (WebCore::CollapsedBorderValue::style):
134         (WebCore::CollapsedBorderValue::exists):
135         (WebCore::CollapsedBorderValue::color):
136         (WebCore::CollapsedBorderValue::isTransparent):
137         (WebCore::CollapsedBorderValue::precedence):
138         (WebCore::CollapsedBorderValue::operator==):
139         * rendering/style/OutlineValue.h:
140         (WebCore::OutlineValue::OutlineValue):
141         (WebCore::OutlineValue::operator==):
142         (WebCore::OutlineValue::offset):
143         (WebCore::OutlineValue::isAuto):
144         * rendering/style/RenderStyle.cpp:
145         (WebCore::RenderStyle::getBorderRadiiForRect):
146         * rendering/style/RenderStyle.h:
147         (WebCore::InheritedFlags::borderLeft):
148         (WebCore::InheritedFlags::borderRight):
149         (WebCore::InheritedFlags::borderTop):
150         (WebCore::InheritedFlags::borderBottom):
151         (WebCore::InheritedFlags::borderImage):
152         (WebCore::InheritedFlags::borderTopLeftRadius):
153         (WebCore::InheritedFlags::borderTopRightRadius):
154         (WebCore::InheritedFlags::borderBottomLeftRadius):
155         (WebCore::InheritedFlags::borderBottomRightRadius):
156         (WebCore::InheritedFlags::borderLeftStyle):
157         (WebCore::InheritedFlags::borderLeftColor):
158         (WebCore::InheritedFlags::borderLeftIsTransparent):
159         (WebCore::InheritedFlags::borderRightStyle):
160         (WebCore::InheritedFlags::borderRightColor):
161         (WebCore::InheritedFlags::borderRightIsTransparent):
162         (WebCore::InheritedFlags::borderTopStyle):
163         (WebCore::InheritedFlags::borderTopColor):
164         (WebCore::InheritedFlags::borderTopIsTransparent):
165         (WebCore::InheritedFlags::borderBottomStyle):
166         (WebCore::InheritedFlags::borderBottomColor):
167         (WebCore::InheritedFlags::borderBottomIsTransparent):
168         (WebCore::InheritedFlags::outlineWidth):
169         (WebCore::InheritedFlags::outlineStyleIsAuto):
170         (WebCore::InheritedFlags::outlineColor):
171         (WebCore::InheritedFlags::outlineOffset):
172         (WebCore::InheritedFlags::columnRuleColor):
173         (WebCore::InheritedFlags::resetBorderTop):
174         (WebCore::InheritedFlags::resetBorderRight):
175         (WebCore::InheritedFlags::resetBorderBottom):
176         (WebCore::InheritedFlags::resetBorderLeft):
177         (WebCore::InheritedFlags::resetBorderImage):
178         (WebCore::InheritedFlags::resetBorderTopLeftRadius):
179         (WebCore::InheritedFlags::resetBorderTopRightRadius):
180         (WebCore::InheritedFlags::resetBorderBottomLeftRadius):
181         (WebCore::InheritedFlags::resetBorderBottomRightRadius):
182         (WebCore::InheritedFlags::setBorderImage):
183         (WebCore::InheritedFlags::setBorderTopLeftRadius):
184         (WebCore::InheritedFlags::setBorderTopRightRadius):
185         (WebCore::InheritedFlags::setBorderBottomLeftRadius):
186         (WebCore::InheritedFlags::setBorderBottomRightRadius):
187         (WebCore::InheritedFlags::setBorderLeftWidth):
188         (WebCore::InheritedFlags::setBorderLeftStyle):
189         (WebCore::InheritedFlags::setBorderLeftColor):
190         (WebCore::InheritedFlags::setBorderRightWidth):
191         (WebCore::InheritedFlags::setBorderRightStyle):
192         (WebCore::InheritedFlags::setBorderRightColor):
193         (WebCore::InheritedFlags::setBorderTopWidth):
194         (WebCore::InheritedFlags::setBorderTopStyle):
195         (WebCore::InheritedFlags::setBorderTopColor):
196         (WebCore::InheritedFlags::setBorderBottomWidth):
197         (WebCore::InheritedFlags::setBorderBottomStyle):
198         (WebCore::InheritedFlags::setBorderBottomColor):
199         (WebCore::InheritedFlags::setOutlineWidth):
200         (WebCore::InheritedFlags::setOutlineStyle):
201         (WebCore::InheritedFlags::setOutlineColor):
202         (WebCore::InheritedFlags::setOutlineOffset):
203         (WebCore::InheritedFlags::setColumnRuleColor):
204         (WebCore::InheritedFlags::setColumnRuleWidth):
205         * rendering/style/StyleMultiColData.h:
206         (WebCore::StyleMultiColData::ruleWidth):
207
208 2010-04-09  Andrey Kosyakov  <caseq@chromium.org>
209
210         Reviewed by Darin Adler.
211
212         Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
213         to return meaningful values.
214         https://bugs.webkit.org/show_bug.cgi?id=37274
215
216         * platform/network/mac/ResourceErrorMac.mm:
217         (WebCore::ResourceError::platformLazyInit):
218         * platform/network/mac/ResourceResponseMac.mm:
219         (WebCore::ResourceResponse::platformLazyInit):
220
221 2010-04-09  Jeremy Orlow  <jorlow@chromium.org>
222
223         Reviewed by Darin Adler.
224
225         Move the IDB::open ExceptionCode paramter to be last
226         https://bugs.webkit.org/show_bug.cgi?id=37277
227
228         Move the ExceptionCode paramter to the last position in
229         IndexedDatabaseRequest::open and friends.  It should definitely
230         go after the callbacks to keep the parameters that come directly
231         from javascript together.  And having output parameters appear
232         last is done often in the code base, so it makes sense to push
233         it past the Frame* param as well.
234
235         No functional change.
236
237         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
238         (WebCore::V8IndexedDatabaseRequest::openCallback):
239         * storage/IndexedDatabase.h:
240         * storage/IndexedDatabaseImpl.cpp:
241         (WebCore::IndexedDatabaseImpl::open):
242         * storage/IndexedDatabaseImpl.h:
243         * storage/IndexedDatabaseRequest.cpp:
244         (WebCore::IndexedDatabaseRequest::open):
245         * storage/IndexedDatabaseRequest.h:
246
247 2010-04-09  Dmitry Titov  <dimich@chromium.org>
248
249         Reviewed by Darin Adler.
250
251         WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
252         https://bugs.webkit.org/show_bug.cgi?id=37053
253
254         Test: fast/workers/worker-close-more.html
255
256         * bindings/js/WorkerScriptController.cpp:
257         (WebCore::WorkerScriptController::forbidExecution):
258         (WebCore::WorkerScriptController::):
259         * bindings/v8/WorkerScriptController.cpp:
260         (WebCore::WorkerScriptController::forbidExecution):
261         * bindings/v8/WorkerScriptController.h:
262         (WebCore::WorkerScriptController::):
263         Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running
264         script should be immediately terminated or left executed until the end.
265
266         * bindings/js/WorkerScriptController.h:
267         (WebCore::WorkerScriptController::workerContextWrapper):
268         This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires
269         fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination.
270         V8 version does similar thing already in WorkerScriptController::proxy().
271
272         * workers/DedicatedWorkerContext.cpp:
273         (WebCore::DedicatedWorkerContext::postMessage):
274         Removed check that immediately disables postMessage from WorkerContext after close().
275
276         * workers/WorkerContext.cpp:
277         (WebCore::CloseWorkerContextTask::create):
278         (WebCore::CloseWorkerContextTask::performTask):
279         (WebCore::CloseWorkerContextTask::isCleanupTask):
280         (WebCore::WorkerContext::close):
281         Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits.
282         Post a task to actually terminate the worker once the currently executing JS fragment exits.
283
284         * workers/WorkerThread.cpp:
285         (WebCore::WorkerThread::workerThread):
286         (WebCore::WorkerThread::stop):
287         Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
288
289 2010-04-09  Kent Tamura  <tkent@chromium.org>
290
291         Reviewed by Darin Adler.
292
293         Implement interactive validation for forms.
294         https://bugs.webkit.org/show_bug.cgi?id=34930
295
296         - HTMLFormControlElement::checkValidity() supports unhandled invalid control list
297         - HTMLFormElement::validateInteractively() called from prepareSubmit()
298           prevents the submission if neither noValidate nor formNoValidate is
299           specified, and focuses on the first invalid control of which "invalid"
300           event is not canceled.
301
302         Tests: fast/forms/checkValidity-cancel.html
303                fast/forms/interactive-validation-cancel.html
304                fast/forms/interactive-validation-formnovalidate.html
305                fast/forms/interactive-validation-novalidate.html
306                fast/forms/interactive-validation-prevented.html
307                fast/forms/interactive-validation-remove-node-in-handler.html
308
309         * html/HTMLFormControlElement.cpp:
310         (WebCore::HTMLFormControlElement::checkValidity):
311           If the control is invalid and the "invalid" is not canceled,
312           push the control to the specified vector.
313         * html/HTMLFormControlElement.h:
314         * html/HTMLFormElement.cpp:
315         (WebCore::HTMLFormElement::validateInteractively):
316          The main part of the interactive validation.
317         (WebCore::HTMLFormElement::prepareSubmit):
318          Calls validateInteractively().
319         (WebCore::HTMLFormElement::checkValidity):
320          Uses collectUnhandledInvalidControls().
321         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
322         * html/HTMLFormElement.h:
323
324 2010-04-09  Sam Weinig  <sam@webkit.org>
325
326         Fix the mac WebKit2 build.
327
328         * WebCore.base.exp:
329
330 2010-04-08  Alexey Proskuryakov  <ap@apple.com>
331
332         Reviewed by Darin Adler.
333
334         https://bugs.webkit.org/show_bug.cgi?id=37181
335         <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data
336
337         Test: fast/events/gc-freeze-with-attribute-listeners.html
338
339         The problem was that we were creating JS wrappers for nodes with attribute event listeners,
340         and GC is very slow if there are nodes with wrappers in a detached tree whose root does not
341         have a wrapper.
342
343         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
344         wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
345         will create one.
346
347         * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
348         we are stepping around now.
349
350 2010-04-09  Xan Lopez  <xlopez@igalia.com>
351
352         Reviewed by Gustavo Noronha.
353
354         WebGtk GLib-CRITICAL Segmentation fault
355         https://bugs.webkit.org/show_bug.cgi?id=34937
356
357         Do not crash if a plugin does not return anything in
358         NP_GetMIMEDescription. This can happen, and other ports gracefully
359         handle the situation.
360
361         * plugins/gtk/PluginPackageGtk.cpp:
362         (WebCore::PluginPackage::fetchInfo):
363
364 2010-04-09  Pavel Feldman  <pfeldman@chromium.org>
365
366         Reviewed by Yury Semikhatsky.
367
368         Web Inspector: Cannot select elements within iframes with the magnifying glass.
369
370         https://bugs.webkit.org/show_bug.cgi?id=31732
371
372         * inspector/InspectorController.cpp:
373         (WebCore::InspectorController::inspect):
374         (WebCore::InspectorController::handleMousePress):
375         * inspector/InspectorController.h:
376         * page/EventHandler.cpp:
377         (WebCore::EventHandler::handleMousePressEvent):
378
379 2010-04-09  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
380
381         Reviewed by Simon Hausmann.
382
383         [Qt]Fix compile error with QT_NO_PROPERTIES
384         https://bugs.webkit.org/show_bug.cgi?id=36526
385
386         Disable dynamic properties when QT_NO_PROPERTIES is defined.
387
388         * bridge/qt/qt_class.cpp:
389         (JSC::Bindings::QtClass::fieldNamed):
390         * bridge/qt/qt_instance.cpp:
391         (JSC::Bindings::QtInstance::getPropertyNames):
392         (JSC::Bindings::QtField::name):
393         (JSC::Bindings::QtField::valueFromInstance):
394         (JSC::Bindings::QtField::setValueToInstance):
395         * bridge/qt/qt_runtime.h:
396         (JSC::Bindings::QtField::):
397
398 2010-04-09  David Leong  <david.leong@nokia.com>
399
400         Reviewed by Simon Hausmann.
401
402         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
403
404         https://bugs.webkit.org/show_bug.cgi?id=37303
405
406         Added check for NULL to avoid the crash.
407
408         * plugins/symbian/PluginViewSymbian.cpp:
409         (WebCore::PluginView::platformDestroy):
410
411 2010-04-09  Mark Rowe  <mrowe@apple.com>
412
413         Reviewed by Oliver Hunt.
414
415         <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
416
417         * WebCore.xcodeproj/project.pbxproj: Wire up the script.  Remove the three inappropriate
418         files from the Copy Bundle Resources build phase.
419
420 2010-04-09  Zhenyao Mo  <zmo@google.com>
421
422         Reviewed by Darin Fisher.
423
424         Passing null WebGLObjects should synthesize INVALID_VALUE error
425         https://bugs.webkit.org/show_bug.cgi?id=37047
426
427         * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0.
428         (WebCore::WebGLRenderingContext::bindAttribLocation):
429         (WebCore::WebGLRenderingContext::compileShader):
430         (WebCore::WebGLRenderingContext::detachShader):
431         (WebCore::WebGLRenderingContext::validateWebGLObject):
432         (WebCore::WebGLRenderingContext::getActiveAttrib):
433         (WebCore::WebGLRenderingContext::getActiveUniform):
434         (WebCore::WebGLRenderingContext::getProgramParameter):
435         (WebCore::WebGLRenderingContext::getProgramInfoLog):
436         (WebCore::WebGLRenderingContext::getShaderParameter):
437         (WebCore::WebGLRenderingContext::getShaderInfoLog):
438         (WebCore::WebGLRenderingContext::getShaderSource):
439         (WebCore::WebGLRenderingContext::getUniform):
440         (WebCore::WebGLRenderingContext::getUniformLocation):
441         (WebCore::WebGLRenderingContext::linkProgram):
442         (WebCore::WebGLRenderingContext::shaderSource):
443         * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters.
444
445 2010-04-09  Zhenyao Mo  <zmo@google.com>
446
447         Reviewed by Dimitri Glazkov.
448
449         Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
450         https://bugs.webkit.org/show_bug.cgi?id=37174
451
452         Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
453
454         * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
455         (WebCore::GraphicsContext3D::copyTexImage2D):
456         (WebCore::GraphicsContext3D::copyTexSubImage2D):
457
458 2010-04-09  Evan Stade  <estade@chromium.org>
459
460         Reviewed by Dimitri Glazkov.
461
462         [chromium] <select> dropdowns don't die when an item is selected
463         https://bugs.webkit.org/show_bug.cgi?id=37243
464
465         * platform/chromium/PopupMenuChromium.cpp:
466         (WebCore::PopupContainer::hidePopup):
467         (WebCore::PopupContainer::notifyPopupHidden):
468         (WebCore::PopupListBox::hidePopup): inform container that popup is closing
469         * platform/chromium/PopupMenuChromium.h:
470
471 2010-04-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
472
473         Reviewed by Simon Hausmann.
474
475         [Qt] Fix crashes with package builds in release
476
477         * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
478
479 2010-04-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
480
481         Reviewed by Simon Fraser.
482
483         Remove "all" value from the view-mode media feature (as agreed on
484         1-Apr-2010) in the Widgets voice conf.
485
486         * css/CSSValueKeywords.in:
487         * css/MediaQueryEvaluator.cpp:
488         (WebCore::view_modeMediaFeatureEval):
489
490 2010-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
491
492         Unreviewed, rolling out r57286.
493         http://trac.webkit.org/changeset/57286
494         https://bugs.webkit.org/show_bug.cgi?id=37312
495
496         "Caused intermittent test failures on all Mac bots."
497         (Requested by eseidel on #webkit).
498
499         * storage/DatabaseTracker.cpp:
500         (WebCore::DatabaseTracker::originQuotaManagerNoLock):
501         (WebCore::DatabaseTracker::originQuotaManager):
502         (WebCore::DatabaseTracker::DatabaseTracker):
503         (WebCore::DatabaseTracker::canEstablishDatabase):
504         (WebCore::DatabaseTracker::hasEntryForOrigin):
505         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
506         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
507         (WebCore::DatabaseTracker::fullPathForDatabase):
508         (WebCore::DatabaseTracker::populateOrigins):
509         (WebCore::DatabaseTracker::origins):
510         (WebCore::DatabaseTracker::databaseNamesForOrigin):
511         (WebCore::DatabaseTracker::addOpenDatabase):
512         (WebCore::DatabaseTracker::removeOpenDatabase):
513         (WebCore::DatabaseTracker::usageForOriginNoLock):
514         (WebCore::DatabaseTracker::usageForOrigin):
515         (WebCore::DatabaseTracker::quotaForOrigin):
516         (WebCore::DatabaseTracker::setQuota):
517         (WebCore::DatabaseTracker::deleteOrigin):
518         (WebCore::DatabaseTracker::deleteDatabase):
519         (WebCore::DatabaseTracker::deleteDatabaseFile):
520         * storage/DatabaseTracker.h:
521         * storage/SQLTransactionClient.cpp:
522         (WebCore::SQLTransactionClient::didExecuteStatement):
523
524 2010-04-09  Andras Becsi  <abecsi@webkit.org>
525
526         Reviewed by Simon Hausmann.
527
528         [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
529         https://bugs.webkit.org/show_bug.cgi?id=37296
530
531         Do not use moc to preprocess user agent style sheets because it removes at-symbols
532         and hexadecimal colours from declarations.
533         Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
534         processes default css files using regular expressions therefore preprocessing is redundant.
535
536         * WebCore.pri: remove --preprocessor usage
537         * css/make-css-file-arrays.pl: remove gcc dependency
538
539 2010-04-08  Chris Evans  <cevans@chromium.org>
540
541         Reviewed by Sam Weinig.
542
543         Use the new UserGestureIndictor for _blank POST requests.
544
545         https://bugs.webkit.org/show_bug.cgi?id=34541
546
547         Test: fast/events/popup-blocked-to-post-blank.html
548
549         * bindings/v8/ScriptController.cpp:
550         (WebCore::ScriptController::processingUserGesture):
551           Use UserGestureIndicator in more cases.
552         * page/EventHandler.cpp:
553         (WebCore::EventHandler):
554           Impact from UserGestureIndicator API change.
555         (WebCore::FrameLoader::submitForm):
556           Block the load immediately if popups are not allowed and it would
557           open a new window.
558         * loader/RedirectScheduler.cpp:
559         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
560           Note the UserGestureIndicator status at the time of submission.
561         (WebCore::ScheduledFormSubmission::fire):
562           Use the stored UserGestureIndicator status in the asynchronous
563           callback.
564         * dom/UserGestureIndicator.h:
565         * dom/UserGestureIndicator.cpp:
566         (WebCore::UserGestureIndicator::UserGestureIndicator):
567           Add ability to store a negative indication.
568
569 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
570
571         Reviewed by Simon Fraser.
572
573         Spatial Navigation: proper handle negative x or y coordinates
574         https://bugs.webkit.org/show_bug.cgi?id=36773
575
576         In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
577         sometimes negative x() or y() values are got, and the current algorithm bails out in
578         any of such cases.
579
580         However, when a node is in a scrollable content (content overflow <div>) and
581         this scrollable container scrolled up, element gets offscreen, and gets negative values
582         for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
583         logic.
584
585         Test: fast/events/spatial-navigation/snav-offscreen-content.html
586
587         * page/SpatialNavigation.cpp:
588         (WebCore::distanceDataForNode):
589         (WebCore::checkNegativeCoordsForNode):
590
591 2010-04-08  Dumitru Daniliuc  <dumi@chromium.org>
592
593         Reviewed by Geoffrey Garen.
594
595         Create the creation callback is the current world.
596         https://bugs.webkit.org/show_bug.cgi?id=37290
597
598         * bindings/js/JSDatabaseCallback.cpp:
599         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
600
601 2010-04-08  David Hyatt  <hyatt@apple.com>
602
603         Reviewed by Oliver Hunt.
604
605         Followup optimization to bug 24300, don't leak history info via CSS :visited.  If a Web
606         site uses document colors that are the same for link and vlink in HTML and also doesn't
607         specify any :link or :visited rules, then don't waste time resolving visited styles.
608
609         There is a further optimization that could be done to detect when :link and :visited are
610         used together in the same rule to specify a color, and this is how most sites turn off
611         visited link colors, but this fix doesn't address that.  It just restores the optimization
612         that existed prior to the patch in 24300 landing.
613
614         * css/CSSGrammar.y:
615         * css/CSSStyleSelector.cpp:
616         (WebCore::CSSStyleSelector::styleForElement):
617         * dom/Document.cpp:
618         (WebCore::Document::Document):
619         * dom/Document.h:
620         (WebCore::Document::usesLinkRules):
621         (WebCore::Document::setUsesLinkRules):
622
623 2010-04-08  David Hyatt  <hyatt@apple.com>
624
625         Reviewed by Oliver Hunt.
626
627         Caught by pixel tests.  I missed patching the borderRightColor() call for fieldset border painting so the
628         border stopped showing up.
629         
630         * rendering/RenderFieldset.cpp:
631         (WebCore::RenderFieldset::paintBorderMinusLegend):
632
633 2010-04-07  David Hyatt  <hyatt@apple.com>
634
635         Reviewed by Oliver Hunt.
636
637         https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
638
639         This patch implements the policy described by David Baron here:
640         
641         http://dbaron.org/mozilla/visited-privacy
642         
643         Added new tests in fast/history.
644
645         * WebCore.base.exp:
646         Expose functions needed for the WebKit SPI used by layout tests.
647
648         * WebCore.xcodeproj/project.pbxproj:
649         * accessibility/AccessibilityRenderObject.cpp:
650         (WebCore::AccessibilityRenderObject::isVisited):
651         Make sure accessibility objects still return visited information.
652         
653         * css/CSSComputedStyleDeclaration.cpp:
654         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
655         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
656         * css/CSSComputedStyleDeclaration.h:
657         (WebCore::computedStyle):
658         Add a boolean to computed style declarations that - if set - causes the computed style
659         to still return :visited information.  For normal Web pages, this will be false.  It is set
660         to true for the Web Inspector and by the WebKit SPI used by the layout tests.
661
662         * css/CSSStyleSelector.cpp:
663         (WebCore::CSSStyleSelector::initElement):
664         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
665         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
666         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
667         (WebCore::CSSStyleSelector::canShareStyleWithElement):
668         (WebCore::CSSStyleSelector::styleForElement):
669         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
670         (WebCore::CSSStyleSelector::pseudoStyleForElement):
671         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
672         (WebCore::CSSStyleSelector::checkSelector):
673         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
674         (WebCore::CSSStyleSelector::applyPropertyToStyle):
675         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
676         * css/CSSStyleSelector.h:
677         Rework the style selector to resolve two styles instead of one.  The first forces the link to
678         be unvisited, and the second forces the link to be visited.  The real state of the link is 
679         cached on the principal (unvisited) style.  The visited style hangs off the principal style
680         as a pseudo style (VISITED_LINK).
681
682         * dom/Element.cpp:
683         (WebCore::Element::pseudoStyleCacheIsInvalid):
684         Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
685
686         * inspector/InspectorDOMAgent.cpp:
687         (WebCore::InspectorDOMAgent::getStyles):
688         Let the Web Inspector see :visited computed styles by default.
689         
690         * platform/LinkHash.cpp:
691         (WebCore::visitedURL):
692         Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
693         correctly reported as :visited.
694
695         * rendering/InlineFlowBox.cpp:
696         (WebCore::InlineFlowBox::paintBoxDecorations):
697         (WebCore::InlineFlowBox::paintTextDecorations):
698         * rendering/InlineTextBox.cpp:
699         (WebCore::InlineTextBox::paint):
700         (WebCore::InlineTextBox::paintSelection):
701         * rendering/RenderBlock.cpp:
702         (WebCore::RenderBlock::paintColumnRules):
703         (WebCore::RenderBlock::paintObject):
704         * rendering/RenderBoxModelObject.cpp:
705         (WebCore::RenderBoxModelObject::paintBorder):
706         * rendering/RenderFieldset.cpp:
707         (WebCore::RenderFieldset::paintBorderMinusLegend):
708         * rendering/RenderImage.cpp:
709         (WebCore::RenderImage::paintFocusRings):
710         * rendering/RenderInline.cpp:
711         (WebCore::RenderInline::paintOutline):
712         (WebCore::RenderInline::paintOutlineForLine):
713         * rendering/RenderObject.cpp:
714         (WebCore::RenderObject::drawLineForBoxSide):
715         (WebCore::RenderObject::drawArcForBoxSide):
716         (WebCore::RenderObject::paintOutline):
717         (WebCore::decorationColor):
718         (WebCore::RenderObject::getTextDecorationColors):
719         * rendering/RenderObject.h:
720         * rendering/RenderPath.cpp:
721         (WebCore::RenderPath::paint):
722         * rendering/RenderReplaced.cpp:
723         (WebCore::RenderReplaced::paint):
724         * rendering/RenderSVGContainer.cpp:
725         (WebCore::RenderSVGContainer::paint):
726         * rendering/RenderSVGImage.cpp:
727         (WebCore::RenderSVGImage::paint):
728         * rendering/RenderSVGRoot.cpp:
729         (WebCore::RenderSVGRoot::paint):
730         * rendering/RenderTableCell.cpp:
731         (WebCore::RenderTableCell::collapsedLeftBorder):
732         (WebCore::RenderTableCell::collapsedRightBorder):
733         (WebCore::RenderTableCell::collapsedTopBorder):
734         (WebCore::RenderTableCell::collapsedBottomBorder):
735         (WebCore::RenderTableCell::paintCollapsedBorder):
736         * rendering/style/CollapsedBorderValue.h:
737         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
738         (WebCore::CollapsedBorderValue::color):
739         (WebCore::CollapsedBorderValue::operator==):
740         Patch painting code to fetch visitedDependentColors from the RenderStyle.  Properties that
741         are honored include background-color, color, border colors, outline color, column rules,
742         and fill and stroke (both SVG and our custom versions).
743     
744         * rendering/style/RenderStyle.cpp:
745         (WebCore::RenderStyle::RenderStyle):
746         (WebCore::RenderStyle::diff):
747         (WebCore::borderStyleForColorProperty):
748         (WebCore::colorIncludingFallback):
749         (WebCore::RenderStyle::visitedDependentColor):
750         * rendering/style/RenderStyle.h:
751         (WebCore::):
752         (WebCore::InheritedFlags::NonInheritedFlags::operator==):
753         (WebCore::InheritedFlags::setBitDefaults):
754         (WebCore::InheritedFlags::insideLink):
755         (WebCore::InheritedFlags::isLink):
756         (WebCore::InheritedFlags::setInsideLink):
757         (WebCore::InheritedFlags::setIsLink):
758         * rendering/style/RenderStyleConstants.h:
759         Change how link information is stored.  The noninherited flags now have a bit set for if you're a link
760         or not.  The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
761         all).
762
763         (WebCore::):
764         * svg/graphics/SVGPaintServer.cpp:
765         (WebCore::SVGPaintServer::fillPaintServer):
766         (WebCore::SVGPaintServer::strokePaintServer):
767         Patch SVG fill/stroke painting to honor :visited.
768
769 2010-04-08  Benjamin Otte  <otte@gnome.org>
770
771         Reviewed by Gustavo Noronha.
772
773         Fix build with MathML enabled.
774
775         * GNUmakefile.am:
776
777 2010-04-08  Daniel Bates  <dbates@rim.com>
778
779         No review, rolling out 56655.
780         http://trac.webkit.org/changeset/56655
781         https://bugs.webkit.org/show_bug.cgi?id=9268
782
783         Rolling out the change committed in change set 56655
784         because it caused a regression in some of the mozilla
785         and mozilla expected failure test cases, such as:
786         tables/mozilla/marvin/backgr_simple-table-row.html, and
787         tables/mozilla/marvin/backgr_simple-table-row-group.html.
788
789         We need to look into this issue some more.
790
791         * rendering/RenderBoxModelObject.cpp:
792         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
793         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
794         * rendering/RenderBoxModelObject.h:
795         * rendering/RenderObject.h:
796         * rendering/RenderTableCell.cpp:
797         * rendering/RenderTableCell.h:
798
799 2010-03-30  Dumitru Daniliuc  <dumi@chromium.org>
800
801         Reviewed by Dimitri Glazkov.
802
803         Refactor DatabaseTracker, part 1: Remove the dependency on
804         OriginQuotaManager from DatabaseTracker.h.
805
806         https://bugs.webkit.org/show_bug.cgi?id=31482
807
808         * storage/DatabaseTracker.cpp:
809         (originQuotaManager):
810         (WebCore::DatabaseTracker::DatabaseTracker):
811         (WebCore::DatabaseTracker::canEstablishDatabase):
812         (WebCore::DatabaseTracker::hasEntryForOrigin):
813         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
814         (WebCore::DatabaseTracker::databaseChanged):
815         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
816         (WebCore::DatabaseTracker::fullPathForDatabase):
817         (WebCore::DatabaseTracker::populateOrigins):
818         (WebCore::DatabaseTracker::origins):
819         (WebCore::DatabaseTracker::databaseNamesForOrigin):
820         (WebCore::DatabaseTracker::removeOpenDatabase):
821         (WebCore::DatabaseTracker::usageForOriginNoLock):
822         (WebCore::DatabaseTracker::usageForOrigin):
823         (WebCore::DatabaseTracker::quotaForOrigin):
824         (WebCore::DatabaseTracker::setQuota):
825         (WebCore::DatabaseTracker::deleteOrigin):
826         (WebCore::DatabaseTracker::deleteDatabase):
827         (WebCore::DatabaseTracker::deleteDatabaseFile):
828         * storage/DatabaseTracker.h:
829         * storage/SQLTransactionClient.cpp:
830         (WebCore::SQLTransactionClient::didExecuteStatement):
831
832 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
833
834         Reviewed by Simon Hausmann.
835
836         [WINCE] Replace max with std::max
837         https://bugs.webkit.org/show_bug.cgi?id=37201
838
839         std::max is preferred.
840
841         * platform/wince/FileSystemWince.cpp:
842         (WebCore::makeAllDirectories):
843         (WebCore::pathGetFileName):
844
845 2010-04-08  Antonio Gomes  <tonikitoo@webkit.org>
846
847         Reviewed by Laszlo Gombos.
848
849         [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
850         https://bugs.webkit.org/show_bug.cgi?id=36405
851
852         * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
853         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
854
855 2010-04-08  Pavel Feldman  <pfeldman@chromium.org>
856
857         Reviewed by Yury Semikhatsky.
858
859         Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
860
861         https://bugs.webkit.org/show_bug.cgi?id=37267
862
863         * English.lproj/localizedStrings.js:
864         * inspector/InspectorController.cpp:
865         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
866         (WebCore::InspectorController::mainResourceFiredLoadEvent):
867         * inspector/InspectorController.h:
868         * inspector/InspectorTimelineAgent.cpp:
869         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
870         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
871         * inspector/InspectorTimelineAgent.h:
872         (WebCore::):
873         * inspector/front-end/ResourcesPanel.js:
874         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
875         * inspector/front-end/TimelineAgent.js:
876         * inspector/front-end/TimelineGrid.js:
877         (WebInspector.TimelineGrid.prototype.removeEventDividers):
878         * inspector/front-end/TimelinePanel.js:
879         (WebInspector.TimelinePanel):
880         (WebInspector.TimelinePanel.prototype.get _recordStyles):
881         (WebInspector.TimelinePanel.prototype._updateMarks):
882         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
883         (WebInspector.TimelinePanel.prototype._clearPanel):
884         (WebInspector.TimelinePanel.prototype._refresh):
885         (WebInspector.TimelinePanel.prototype._refreshRecords):
886         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
887         (WebInspector.TimelineRecordGraphRow.prototype.update):
888         * inspector/front-end/inspector.css:
889         (.resources-event-divider):
890         (.resources-red-divider):
891         (.resources-blue-divider):
892         (.resources-orange-divider):
893
894 2010-04-01  Antonio Gomes  <tonikitoo@webkit.org>
895
896         Reviewed by David Hyatt.
897
898         [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
899         https://bugs.webkit.org/show_bug.cgi?id=29431
900
901         Test: fast/overflow/scrollbar-restored-and-then-locked.html
902
903         Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
904         on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
905         horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
906         as such, unless unset.
907
908         For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
909         setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
910         are all optional, any previous code calling them do not need modification.
911
912         Two optional parameters were also added to Frame's createView method, for horizontal and vertical
913         lock state persistence cross page loads.
914
915         * page/Frame.cpp:
916         (WebCore::Frame::createView):
917         * platform/ScrollView.cpp:
918         (WebCore::ScrollView::ScrollView):
919         (WebCore::ScrollView::setScrollbarModes):
920         (WebCore::ScrollView::setHorizontalScrollbarMode):
921         (WebCore::ScrollView::setVerticalScrollbarMode):
922         * platform/ScrollView.h:
923         (WebCore::ScrollView::setHorizontalScrollbarLock):
924         (WebCore::ScrollView::isHorizontalScrollbarLocked):
925         (WebCore::ScrollView::setVerticalScrollbarLock):
926         (WebCore::ScrollView::isVerticalScrollbarLocked):
927         (WebCore::ScrollView::setScrollingModesLocked):
928
929 2010-04-08  Yury Semikhatsky  <yurys@chromium.org>
930
931         Reviewed by Pavel Feldman.
932
933         Correctly save number of properties when object being serialized
934         have properties in its prorotype.
935
936         https://bugs.webkit.org/show_bug.cgi?id=37263
937
938         * bindings/v8/SerializedScriptValue.cpp:
939         (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
940         (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
941
942 2010-04-08  Jeremy Orlow  <jorlow@chromium.org>
943
944         Reviewed by Yury Semikhatsky.
945
946         IDB callbacks should fire asynchronously
947         https://bugs.webkit.org/show_bug.cgi?id=37265
948
949         Fix the firing behavior of the callbacks to not be synchronous.
950
951         There's still a major bug that I'm trying to track down that is keeping
952         us from testing this stuff.  Promise lots of tests ASAP.
953
954         * bindings/v8/custom/V8CustomIDBCallbacks.h:
955         (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
956         (WebCore::V8CustomIDBCallbacks::onErrorAsync):
957         * storage/IDBCallbacks.h:
958         (WebCore::IDBCallbacks::IDBCallbacks):
959         (WebCore::IDBCallbacks::onSuccess):
960         (WebCore::IDBCallbacks::onError):
961         (WebCore::IDBCallbacks::timerFired):
962         * storage/IndexedDatabaseRequest.cpp:
963
964 2010-04-08  Kent Tamura  <tkent@chromium.org>
965
966         Reviewed by Darin Adler.
967
968         willValidate doesn't need to check existence of a form element and a name attribute.
969         https://bugs.webkit.org/show_bug.cgi?id=34733
970
971         Remove checks against m_form and m_hasName in
972         HTMLFormControlElement::willValidate(), and remove the code to
973         track their updates.
974
975         Test: fast/forms/willvalidate.html
976
977         * html/HTMLFormControlElement.cpp:
978         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
979         (WebCore::HTMLFormControlElement::parseMappedAttribute):
980         (WebCore::HTMLFormControlElement::insertedIntoTree):
981         (WebCore::HTMLFormControlElement::removedFromTree):
982         (WebCore::HTMLFormControlElement::recalcWillValidate):
983         (WebCore::HTMLFormControlElement::willValidate):
984         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
985         * html/HTMLFormControlElement.h:
986         (WebCore::HTMLFormControlElement::formDestroyed):
987         * html/HTMLInputElement.cpp:
988         (WebCore::HTMLInputElement::setInputType):
989           setNeedsWillValidateCheck() should be called before
990           setAttribute(valueAttr, ...) is called.
991
992 2010-04-08  Young Han Lee  <joybro@company100.net>
993
994         Reviewed by Simon Hausmann.
995
996         [WINCE] Add missing headers
997         https://bugs.webkit.org/show_bug.cgi?id=37199
998
999         Include missing headers.
1000
1001         * platform/graphics/wince/FontCustomPlatformData.cpp:
1002         * platform/graphics/wince/FontPlatformData.cpp:
1003         * platform/graphics/wince/GraphicsContextWince.cpp:
1004         * platform/graphics/wince/ImageBufferWince.cpp:
1005         * platform/graphics/wince/PlatformPathWince.h:
1006         * platform/wince/FileSystemWince.cpp:
1007
1008 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
1009
1010         Reviewed by Simon Hausmann.
1011
1012         [WINCE] Use WebCore::instanceHandle()
1013         https://bugs.webkit.org/show_bug.cgi?id=37202
1014
1015         Page::instanceHandle() is moved to WebCore::instanceHandle().
1016
1017         * platform/wince/PasteboardWince.cpp:
1018         (WebCore::Pasteboard::Pasteboard):
1019         * platform/wince/SharedTimerWince.cpp:
1020         (WebCore::initializeOffScreenTimerWindow):
1021
1022 2010-04-08  Vitaly Repeshko  <vitalyr@chromium.org>
1023
1024         Reviewed by Dimitri Glazkov.
1025
1026         [V8] Fix crash in NodeFilterCondition in detached iframe
1027         https://bugs.webkit.org/show_bug.cgi?id=37234
1028
1029         Test: fast/dom/node-filter-detached-iframe-crash.html
1030
1031         * bindings/v8/V8NodeFilterCondition.cpp:
1032         (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
1033         callFunctionWithoutFrame.
1034         * bindings/v8/V8Proxy.cpp:
1035         (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
1036         call V8 with no current frame.
1037         * bindings/v8/V8Proxy.h:
1038
1039 2010-04-08  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
1040
1041         Reviewed by Simon Hausmann.
1042
1043          [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
1044          https://bugs.webkit.org/show_bug.cgi?id=37226
1045
1046         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1047         (WebCore::GraphicsContext3D::shaderSource):
1048
1049 2010-04-08  Chris Evans  <cevans@chromium.org>
1050
1051         Reviewed by Adam Barth.
1052
1053         Sanity: apply a max node depth to XML parsing.
1054
1055         https://bugs.webkit.org/show_bug.cgi?id=37247
1056
1057         Test: fast/images/svg-nested.html
1058
1059         * dom/XMLTokenizer.cpp:
1060         (WebCore::XMLTokenizer::pushCurrentNode):
1061           Error out the parse upon a really large node depth.
1062
1063 2010-04-07  Dumitru Daniliuc  <dumi@chromium.org>
1064
1065         Reviewed by Jeremy Orlow.
1066
1067         Fix Chromium's HTML5 DB support in --single-process mode.
1068         https://bugs.webkit.org/show_bug.cgi?id=37186.
1069
1070         Always register and use Chromium's SQLite VFS for
1071         WebSQLDatabases. Keep using the default VFS in all other
1072         cases. This change should allow Chromium to support
1073         WebSQLDatabases in --single-process mode.
1074
1075         Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
1076         of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
1077         on the DB thread, so we don't need multi-threaded support.
1078
1079         * platform/sql/SQLiteDatabase.cpp:
1080         (WebCore::SQLiteDatabase::open):
1081         * platform/sql/SQLiteDatabase.h:
1082         * platform/sql/SQLiteFileSystem.cpp:
1083         (WebCore::SQLiteFileSystem::openDatabase):
1084         * platform/sql/SQLiteFileSystem.h:
1085         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1086         (WebCore::SQLiteFileSystem::openDatabase):
1087         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1088         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
1089         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
1090         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
1091         * storage/Database.cpp:
1092         (WebCore::Database::performOpenAndVerify):
1093
1094 2010-04-07  Chris Marrin  <cmarrin@apple.com>
1095
1096         Reviewed by Steve Falkenburg.
1097
1098         Remove QuartzCoreInterface from the build
1099         
1100         No longer needed since QuartzCore.dll is now included in  the latest Safari release (4.0.5).
1101         This gets rid of all the function shims from the clients of QuartzCore.dll.
1102
1103         * platform/graphics/win/GraphicsLayerCACF.cpp:
1104         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
1105         * platform/graphics/win/WKCACFLayer.cpp:
1106         (WebCore::toCACFLayerType):
1107         (WebCore::toCACFContentsGravityType):
1108         (WebCore::fromCACFContentsGravityType):
1109         (WebCore::toCACFFilterType):
1110         (WebCore::fromCACFFilterType):
1111         (WebCore::WKCACFLayer::isTransformLayer):
1112         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1113         (WebCore::WKCACFLayerRenderer::createRenderer):
1114
1115 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1116
1117         Unreviewed, rolling out r57178.
1118         http://trac.webkit.org/changeset/57178
1119         https://bugs.webkit.org/show_bug.cgi?id=37240
1120
1121         Caused chromium browser_test and ui_test regressions
1122         (Requested by ojan on #webkit).
1123
1124         * bindings/v8/ScriptController.cpp:
1125         (WebCore::ScriptController::processingUserGesture):
1126
1127 2010-04-07  Jian Li  <jianli@chromium.org>
1128
1129         Reviewed by Adam Barth and Dmitry Titov.
1130
1131         Add the comment and assert that we're generating version 4 random number
1132         based UUIDs.
1133         https://bugs.webkit.org/show_bug.cgi?id=36472
1134
1135         * platform/UUID.cpp:
1136         (WebCore::createCanonicalUUIDString):
1137         * platform/UUID.h:
1138
1139 2010-04-07  Erik Arvidsson  <arv@chromium.org>
1140
1141         Reviewed by Adam Barth.
1142
1143         Allow white listing access from origin to local origin.
1144         https://bugs.webkit.org/show_bug.cgi?id=37228
1145
1146         This makes it possible to load a local resource from a non local
1147         origin if the access has previously been white listed by calling
1148         SecurityOrigin::whiteListAccessFromOrigin.
1149
1150         Test: http/tests/security/local-image-from-remote-whitelisted.html
1151
1152         * page/OriginAccessEntry.cpp:
1153         (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
1154         * page/SecurityOrigin.cpp:
1155         (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
1156         (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
1157         (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
1158         * page/SecurityOrigin.h: Add private function isAccessWhiteListed
1159
1160 2010-04-07  Luiz Agostini  <luiz.agostini@openbossa.org>
1161
1162         Reviewed by Darin Adler.
1163
1164         Adding static method zero() to classes IntPoint and FloatPoint.
1165         https://bugs.webkit.org/show_bug.cgi?id=37220
1166
1167         Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
1168
1169         * platform/graphics/FloatPoint.h:
1170         (WebCore::FloatPoint::zero):
1171         * platform/graphics/IntPoint.h:
1172         (WebCore::IntPoint::zero):
1173         (WebCore::IntPoint::clampNegativeToZero):
1174
1175 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
1176
1177         * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
1178
1179 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
1180
1181         Reviewed by Darin Adler.
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=37230
1184         <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
1185         authenticating to Windows IIS Server
1186
1187         * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
1188         a constant for ProtectionSpaceAuthenticationSchemeUnknown.
1189
1190         * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
1191         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
1192         Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
1193
1194         * platform/network/mac/AuthenticationMac.mm:
1195         (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
1196         NSURLConnection, even though there was no public constant.
1197         (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
1198
1199 2010-04-07  Jaime Yap  <jaimeyap@google.com>
1200
1201         Reviewed by Pavel Feldman.
1202
1203         Adds the ability to get the function symbol name when looking up the call location
1204         for records sent by the InspectorTimelineAgent.
1205         https://bugs.webkit.org/show_bug.cgi?id=36839
1206
1207         No new tests.
1208
1209         * bindings/js/ScriptCallStack.cpp:
1210         (WebCore::ScriptCallStack::callLocation):
1211         * bindings/js/ScriptCallStack.h:
1212         * bindings/v8/ScriptCallStack.cpp:
1213         (WebCore::ScriptCallStack::create):
1214         (WebCore::ScriptCallStack::callLocation):
1215         (WebCore::ScriptCallStack::ScriptCallStack):
1216         * bindings/v8/ScriptCallStack.h:
1217         * bindings/v8/ScriptDebugServer.cpp:
1218         (WebCore::ScriptDebugServer::createUtilityContext):
1219         (WebCore::ScriptDebugServer::topStackFrame):
1220         * bindings/v8/ScriptDebugServer.h:
1221         (WebCore::ScriptDebugServer::utilityContext):
1222         * bindings/v8/V8Proxy.cpp:
1223         * bindings/v8/V8Proxy.h:
1224         * inspector/TimelineRecordFactory.cpp:
1225         (WebCore::TimelineRecordFactory::createGenericRecord):
1226
1227 2010-04-07  Jay Civelli  <jcivelli@chromium.org>
1228
1229         Reviewed by Jian Li.
1230
1231         [chromium] Fixing a NULL pointer being dereferenced in some cases.
1232         https://bugs.webkit.org/show_bug.cgi?id=37141
1233
1234         Test: platform/chromium/fast/forms/search-popup-crasher.html
1235
1236         * platform/chromium/PopupMenuChromium.cpp:
1237         (WebCore::PopupMenu::~PopupMenu):
1238
1239 2010-04-07  Kinuko Yasuda  <kinuko@chromium.org>
1240
1241         Reviewed by Jian Li.
1242
1243         Add skeleton FileStream module for providing sync file operations for FileAPI
1244         https://bugs.webkit.org/show_bug.cgi?id=37217
1245
1246         For now the module just defines an interface and is almost empty.
1247         Implementation will be added.
1248
1249         No new tests; will be added when we have complete implementation.
1250
1251         * GNUmakefile.am:
1252         * WebCore.gypi:
1253         * WebCore.pro:
1254         * WebCore.vcproj/WebCore.vcproj:
1255         * WebCore.xcodeproj/project.pbxproj:
1256         * html/FileStream.cpp: Added.
1257         * html/FileStream.h: Added.
1258         * html/FileStreamClient.h: Added.
1259         * html/FileThread.cpp:
1260         (WebCore::SameFilePredicate::SameFilePredicate):
1261         (WebCore::SameFilePredicate::operator()):
1262         (WebCore::FileThread::unscheduleTasks):
1263         * html/FileThread.h:
1264         (WebCore::FileThread::Task::stream):
1265         (WebCore::FileThread::Task::Task):
1266
1267 2010-04-07  Oliver Hunt  <oliver@apple.com>
1268
1269         Reviewed by Darin Adler.
1270
1271         Remove some unnecessary uses of commonJSGlobalData
1272         https://bugs.webkit.org/show_bug.cgi?id=37229
1273
1274         Pass the ExecState down to identifierFromNPIdentifier and update call sites
1275
1276         * bridge/NP_jsobject.cpp:
1277         (_NPN_Invoke):
1278         (_NPN_GetProperty):
1279         (_NPN_SetProperty):
1280         (_NPN_RemoveProperty):
1281         (_NPN_HasProperty):
1282         (_NPN_HasMethod):
1283         * bridge/c/c_instance.cpp:
1284         (JSC::Bindings::CInstance::getPropertyNames):
1285         * bridge/c/c_utility.cpp:
1286         (JSC::Bindings::identifierFromNPIdentifier):
1287         * bridge/c/c_utility.h:
1288
1289 2010-04-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1290
1291         Reviewed by Darin Adler.
1292
1293         Poor rendering on lala.com with frame flattening
1294         https://bugs.webkit.org/show_bug.cgi?id=37164
1295
1296         Do not flatten offscreen iframes.
1297
1298         Test: fast/frames/flattening/iframe-flattening-offscreen.html
1299
1300         * rendering/RenderPartObject.cpp:
1301         (WebCore::RenderPartObject::flattenFrame):
1302         * rendering/RenderPartObject.h:
1303
1304 2010-04-07  Abhishek Arya  <inferno@chromium.org>
1305
1306         Reviewed by Adam Barth.
1307
1308         [V8] Add a missing check for constructor call in WebKitPointConstructor.
1309         https://bugs.webkit.org/show_bug.cgi?id=37210
1310
1311         Test: fast/constructors/constructor-as-function-crash.html
1312
1313         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1314         (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
1315
1316 2010-04-07  Enrica Casucci  <enrica@apple.com>
1317
1318         Reviewed by Darin Adler.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=37219
1321         
1322         This change disables text caret for the iPhone platflorm.
1323         Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
1324
1325         * editing/SelectionController.cpp:
1326         (WebCore::SelectionController::recomputeCaretRect):
1327         (WebCore::SelectionController::paintCaret):
1328         * page/Frame.cpp:
1329         (WebCore::Frame::paintDragCaret):
1330
1331 2010-04-07  Enrica Casucci  <enrica@apple.com>
1332
1333         Reviewed by Dave Hyatt.
1334
1335         Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
1336         <rdar://problem/6649734>
1337         <https://bugs.webkit.org/show_bug.cgi?id=6274>
1338         
1339         In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
1340         the bounding box for the glyph instead of the simply caching the glyph width.
1341         Retrieving the bounding box for the glyph is expensive, therefore we do it only
1342         when we are rendering text using the complex text path to minimize the performance impact.
1343         To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
1344         return false for the range of characters with stacked diacritics.
1345         The glyph cache has been also updated to allow storing the glyph bounding box together with the
1346         horizontal width. The bounding box is populated only for complex text.
1347         
1348         The original version of this patch has been written by Dan Bernstein.
1349
1350         Test: fast/repaint/stacked-diacritics.html
1351
1352         * Android.mk: File name change.
1353         * GNUmakefile.am: File name change.
1354         * WebCore.base.exp: Added parameter in exported function.
1355         * WebCore.gypi: File name change.
1356         * WebCore.vcproj/WebCore.vcproj: File name change.
1357         * WebCore.xcodeproj/project.pbxproj: File name change.
1358         * platform/graphics/Font.cpp:
1359         (WebCore::Font::floatWidth): Added glyphOverflow parameter.
1360         * platform/graphics/Font.h:
1361         (WebCore::GlyphOverflow::GlyphOverflow): Added.
1362         (WebCore::Font::width): Added glyphOverflow parameter.
1363         * platform/graphics/FontFastPath.cpp:
1364         (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
1365         * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
1366         (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
1367         * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
1368         (WebCore::GlyphMetricsMap::GlyphMetricsMap):
1369         (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
1370         (WebCore::GlyphMetricsMap::metricsForGlyph):
1371         (WebCore::GlyphMetricsMap::widthForGlyph):
1372         (WebCore::GlyphMetricsMap::setMetricsForGlyph):
1373         (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
1374         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
1375         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
1376         (WebCore::GlyphMetricsMap::locatePage):
1377         * platform/graphics/GlyphWidthMap.cpp: Removed.
1378         * platform/graphics/GlyphWidthMap.h: Removed.
1379         * platform/graphics/SimpleFontData.cpp:
1380         (WebCore::SimpleFontData::platformGlyphInit):
1381         * platform/graphics/SimpleFontData.h:
1382         (WebCore::):
1383         (WebCore::SimpleFontData::widthForGlyph):
1384         (WebCore::SimpleFontData::metricsForGlyph):
1385         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1386         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1387         * platform/graphics/chromium/FontChromiumWin.cpp:
1388         (WebCore::Font::floatWidthForComplexText): Added parameter.
1389         * platform/graphics/chromium/FontLinux.cpp:
1390         (WebCore::Font::floatWidthForComplexText): Added parameter.
1391         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1392         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1393         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1394         (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
1395         * platform/graphics/efl/FontEfl.cpp:
1396         (WebCore::Font::floatWidthForComplexText): Name and signature change.
1397         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1398         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1399         * platform/graphics/haiku/FontHaiku.cpp:
1400         (WebCore::Font::floatWidthForComplexText): Added parameter.
1401         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
1402         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1403         * platform/graphics/mac/ComplexTextController.cpp:
1404         (WebCore::ComplexTextController::ComplexTextController):
1405         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1406         * platform/graphics/mac/ComplexTextController.h:
1407         (WebCore::ComplexTextController::minGlyphBoundingBoxX):
1408         (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
1409         (WebCore::ComplexTextController::minGlyphBoundingBoxY):
1410         (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
1411         * platform/graphics/mac/FontComplexTextMac.cpp:
1412         (WebCore::Font::floatWidthForComplexText): Added paramter.
1413         * platform/graphics/mac/SimpleFontDataMac.mm:
1414         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1415         * platform/graphics/qt/FontQt.cpp:
1416         (WebCore::Font::floatWidthForComplexText): Added paramter.
1417         * platform/graphics/win/FontWin.cpp:
1418         (WebCore::Font::floatWidthForComplexText): Added parameter.
1419         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1420         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1421         * platform/graphics/win/SimpleFontDataWin.cpp:
1422         (WebCore::SimpleFontData::metricsForGDIGlyph):
1423         * platform/graphics/win/UniscribeController.cpp:
1424         (WebCore::UniscribeController::UniscribeController):
1425         (WebCore::UniscribeController::shapeAndPlaceItem):
1426         * platform/graphics/win/UniscribeController.h:
1427         (WebCore::UniscribeController::minGlyphBoundingBoxX):
1428         (WebCore::UniscribeController::maxGlyphBoundingBoxX):
1429         (WebCore::UniscribeController::minGlyphBoundingBoxY):
1430         (WebCore::UniscribeController::maxGlyphBoundingBoxY):
1431         * platform/graphics/wince/FontWince.cpp:
1432         (WebCore::Font::floatWidthForComplexText): Added parameter.
1433         * platform/graphics/wx/FontWx.cpp:
1434         (WebCore::Font::floatWidthForComplexText): Added parameter.
1435         * platform/graphics/wx/SimpleFontDataWx.cpp:
1436         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
1437         * rendering/InlineFlowBox.cpp:
1438         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1439         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1440         (WebCore::InlineFlowBox::computeVerticalOverflow):
1441         * rendering/InlineTextBox.cpp:
1442         (WebCore::InlineTextBox::setFallbackFonts):
1443         (WebCore::InlineTextBox::fallbackFonts):
1444         (WebCore::InlineTextBox::setGlyphOverflow):
1445         (WebCore::InlineTextBox::glyphOverflow):
1446         * rendering/InlineTextBox.h:
1447         (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
1448         * rendering/RenderBlockLineLayout.cpp:
1449         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1450         (WebCore::RenderBlock::layoutInlineChildren):
1451         * rendering/RenderText.cpp:
1452         (WebCore::RenderText::RenderText):
1453         (WebCore::RenderText::styleDidChange):
1454         (WebCore::RenderText::widthFromCache):
1455         (WebCore::RenderText::trimmedPrefWidths):
1456         (WebCore::RenderText::calcPrefWidths):
1457         (WebCore::RenderText::setText):
1458         (WebCore::RenderText::width):
1459         * rendering/RenderText.h:
1460
1461 2010-04-07  Joseph Pecoraro  <joepeck@webkit.org>
1462
1463         Reviewed by Darin Adler.
1464
1465         Fix incorrect white-space in WebGLRenderingContext.idl
1466         https://bugs.webkit.org/show_bug.cgi?id=31339
1467
1468         * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
1469
1470 2010-04-07  Rodrigo Belem  <rodrigo.belem@openbossa.org>
1471
1472         Reviewed by Simon Hausmann.
1473
1474         [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
1475         https://bugs.webkit.org/show_bug.cgi?id=37173
1476
1477         This patch sets the correct path to the classheaders.pri and then
1478         fixes the installation of the generated headers.
1479
1480         * WebCore.pro:
1481
1482 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
1483
1484         Reviewed by Kenneth Christiansen.
1485
1486         Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
1487         https://bugs.webkit.org/show_bug.cgi?id=37135
1488
1489         It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
1490         current focus candidate's. It means that current candidate is not in direction, or not
1491         a valid target node.
1492
1493         * page/FocusController.cpp:
1494         (WebCore::FocusController::findFocusableNodeInDirection):
1495
1496 2010-04-07  Andrey Kosyakov  <caseq@chromium.org>
1497
1498         Reviewed by Yury Semikhatsky.
1499
1500         Removed inspector methods from ScriptExecutionContext and derived classes.
1501         Removed MessageDestination parameter from console-related calls (we now always
1502         log to the same destination(s)).
1503         Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
1504         https://bugs.webkit.org/show_bug.cgi?id=36949
1505
1506         * dom/Document.cpp:
1507         (WebCore::Document::reportException):
1508         (WebCore::Document::addMessage):
1509         * dom/Document.h:
1510         * dom/ScriptExecutionContext.h:
1511         * loader/EmptyClients.h:
1512         (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1513         * loader/FrameLoaderClient.h:
1514         * loader/ResourceLoadNotifier.cpp:
1515         * loader/ResourceLoadNotifier.h:
1516         * websockets/WebSocket.cpp:
1517         (WebCore::WebSocket::connect):
1518         * websockets/WebSocketChannel.cpp:
1519         (WebCore::WebSocketChannel::didOpen):
1520         (WebCore::WebSocketChannel::appendToBuffer):
1521         * websockets/WebSocketHandshake.cpp:
1522         (WebCore::WebSocketHandshake::readServerHandshake):
1523         (WebCore::WebSocketHandshake::readHTTPHeaders):
1524         (WebCore::WebSocketHandshake::checkResponseHeaders):
1525         * workers/DefaultSharedWorkerRepository.cpp:
1526         (WebCore::postConsoleMessageTask):
1527         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1528         * workers/WorkerContext.cpp:
1529         (WebCore::WorkerContext::importScripts):
1530         (WebCore::WorkerContext::addMessage):
1531         * workers/WorkerContext.h:
1532         * workers/WorkerMessagingProxy.cpp:
1533         (WebCore::postConsoleMessageTask):
1534         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1535         * workers/WorkerMessagingProxy.h:
1536         * workers/WorkerReportingProxy.h:
1537         * xml/XMLHttpRequest.cpp:
1538         (WebCore::reportUnsafeUsage):
1539         (WebCore::XMLHttpRequest::didFinishLoading):
1540
1541 2010-04-07  Dawit Alemayehu  <adawit@kde.org>
1542
1543         Reviewed by Simon Hausmann.
1544
1545         https://bugs.webkit.org/show_bug.cgi?id=36827
1546
1547         Replaced the 'shouldTreatAsAttachment' function with a more generic 
1548         function that returns the content disposition type.
1549
1550         See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
1551
1552         * platform/network/HTTPParsers.cpp:
1553         (WebCore::contentDispositionType):
1554         * platform/network/HTTPParsers.h:
1555         (WebCore::):
1556
1557 2010-04-07  Vitaly Repeshko  <vitalyr@chromium.org>
1558
1559         Reviewed by Yury Semikhatsky.
1560
1561         [V8] Throw exception in SerializedScriptValue on input errors
1562         https://bugs.webkit.org/show_bug.cgi?id=37160
1563
1564         When cycles are detected SerializedScriptValue should throw
1565         NOT_SUPPORTED_ERR. See
1566         http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
1567
1568         * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
1569         function arguments of type SerializedScriptValue.
1570
1571         * bindings/v8/SerializedScriptValue.cpp:
1572         (WebCore::SerializedScriptValue::SerializedScriptValue):
1573         * bindings/v8/SerializedScriptValue.h:
1574         (WebCore::SerializedScriptValue::create): Added a constructor
1575         function with an extra paratemer to check whether an exception was
1576         thrown.
1577
1578         SerializedScriptValue::create callers updated to check for
1579         exceptions:
1580         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1581         (WebCore::V8DOMWindow::postMessageCallback):
1582         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1583         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1584         * bindings/v8/custom/V8HistoryCustom.cpp:
1585         (WebCore::V8History::pushStateCallback):
1586         (WebCore::V8History::replaceStateCallback):
1587         * bindings/v8/custom/V8MessagePortCustom.cpp:
1588         (WebCore::V8MessagePort::postMessageCallback):
1589         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1590         (WebCore::V8PopStateEvent::initPopStateEventCallback):
1591         * bindings/v8/custom/V8WorkerCustom.cpp:
1592         (WebCore::V8Worker::postMessageCallback):
1593
1594 2010-04-07  Alexander Pavlov  <apavlov@chromium.org>
1595
1596         Reviewed by Pavel Feldman.
1597
1598         Web Inspector: Provide a placeholder for resources with no content available
1599         https://bugs.webkit.org/show_bug.cgi?id=37142
1600
1601         * English.lproj/localizedStrings.js:
1602         * inspector/front-end/ImageView.js:
1603         (WebInspector.ImageView):
1604         (WebInspector.ImageView.prototype.contentTabSelected):
1605         * inspector/front-end/ResourceView.js:
1606         (WebInspector.ResourceView.prototype._innerSelectContentTab):
1607         (WebInspector.ResourceView.prototype.contentTabSelected):
1608         * inspector/front-end/inspector.css:
1609         (.resource-content-unavailable):
1610
1611 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1612
1613         Reviewed by Laszlo Gombos.
1614
1615         https://bugs.webkit.org/show_bug.cgi?id=36750
1616
1617         [Qt] Package build without touch support is broken
1618
1619         Use the conditional attribute instead of #ifdefs in the idl file for the
1620         touch specific properties, to make the generated files compile with and
1621         without the touch events enabled.
1622
1623         * dom/Document.idl: Use conditional instead of #ifdef.
1624         * dom/Element.idl: Ditto.
1625         * page/DOMWindow.idl: Ditto.
1626
1627 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1628
1629         Reviewed by Holger Freyther.
1630
1631         Add the touch event related IDL files to the idl generation, so that
1632         they can be safely included from generated JS bindings files. The
1633         generated files have #ifdef feature guards.
1634
1635         * DerivedSources.cpp:
1636         * DerivedSources.make:
1637         * GNUmakefile.am:
1638
1639 2010-04-06  Jeremy Orlow  <jorlow@chromium.org>
1640
1641         Reviewed by Adam Barth.
1642
1643         V8CustomIDBCallbacks<> should not hold a reference to the frame
1644         https://bugs.webkit.org/show_bug.cgi?id=37154
1645
1646         Don't hold on to a Frame reference.
1647         Instead, be an ActiveDOMObject and use scriptExecutionContext()
1648         to get the v8 context.
1649         Factor the guts of onSuccess and onError out.
1650
1651         Doesn't work enough to test yet.
1652
1653         * bindings/v8/custom/V8CustomIDBCallbacks.h:
1654         (WebCore::V8CustomIDBCallbacks::create):
1655         (WebCore::V8CustomIDBCallbacks::onSuccess):
1656         (WebCore::V8CustomIDBCallbacks::onError):
1657         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
1658         (WebCore::V8CustomIDBCallbacks::onEvent):
1659         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
1660         (WebCore::V8IndexedDatabaseRequest::openCallback):
1661         * storage/IDBCallbacks.h:
1662         (WebCore::IDBCallbacks::IDBCallbacks):
1663
1664 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1665
1666         Unreviewed, rolling out r57196.
1667         http://trac.webkit.org/changeset/57196
1668         https://bugs.webkit.org/show_bug.cgi?id=37196
1669
1670         Multiple layout test failures on Chromium (Requested by yurys
1671         on #webkit).
1672
1673         * bindings/js/ScriptCallStack.cpp:
1674         (WebCore::ScriptCallStack::callLocation):
1675         * bindings/js/ScriptCallStack.h:
1676         * bindings/v8/ScriptCallStack.cpp:
1677         (WebCore::ScriptCallStack::create):
1678         (WebCore::ScriptCallStack::callLocation):
1679         (WebCore::ScriptCallStack::ScriptCallStack):
1680         * bindings/v8/ScriptCallStack.h:
1681         * bindings/v8/ScriptDebugServer.cpp:
1682         * bindings/v8/ScriptDebugServer.h:
1683         * bindings/v8/V8Proxy.cpp:
1684         (WebCore::V8Proxy::createUtilityContext):
1685         (WebCore::V8Proxy::sourceLineNumber):
1686         (WebCore::V8Proxy::sourceName):
1687         * bindings/v8/V8Proxy.h:
1688         (WebCore::V8Proxy::utilityContext):
1689         * inspector/TimelineRecordFactory.cpp:
1690         (WebCore::TimelineRecordFactory::createGenericRecord):
1691
1692 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1693
1694         Unreviewed, rolling out r57199.
1695         http://trac.webkit.org/changeset/57199
1696         https://bugs.webkit.org/show_bug.cgi?id=36750
1697
1698         Breaks non-touch enabled build
1699
1700         * dom/Document.idl:
1701         * dom/Element.idl:
1702         * page/DOMWindow.idl:
1703
1704 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1705
1706         Reviewed by Laszlo Gombos.
1707
1708         https://bugs.webkit.org/show_bug.cgi?id=36750
1709
1710         [Qt] Package build without touch support is broken
1711
1712         Use the conditional attribute instead of #ifdefs in the idl file for the
1713         touch specific properties, to make the generated files compile with and
1714         without the touch events enabled.
1715
1716         * dom/Document.idl: Use conditional instead of #ifdef.
1717         * dom/Element.idl: Ditto.
1718         * page/DOMWindow.idl: Ditto.
1719
1720 2010-04-07  Jaime Yap  <jaimeyap@google.com>
1721
1722         Reviewed by Yury Semikhatsky.
1723
1724         Adds the ability to get the function symbol name when looking up the call location
1725         for records sent by the InspectorTimelineAgent.
1726         https://bugs.webkit.org/show_bug.cgi?id=36839
1727
1728         No new tests.
1729
1730         * bindings/js/ScriptCallStack.cpp:
1731         (WebCore::ScriptCallStack::callLocation):
1732         * bindings/js/ScriptCallStack.h:
1733         * bindings/v8/ScriptCallStack.cpp:
1734         (WebCore::ScriptCallStack::create):
1735         (WebCore::ScriptCallStack::callLocation):
1736         (WebCore::ScriptCallStack::ScriptCallStack):
1737         * bindings/v8/ScriptCallStack.h:
1738         * bindings/v8/ScriptDebugServer.cpp:
1739         (WebCore::ScriptDebugServer::createUtilityContext):
1740         (WebCore::ScriptDebugServer::lastCallFrame):
1741         * bindings/v8/ScriptDebugServer.h:
1742         (WebCore::ScriptDebugServer::utilityContext):
1743         * bindings/v8/V8Proxy.cpp:
1744         * bindings/v8/V8Proxy.h:
1745         * inspector/TimelineRecordFactory.cpp:
1746         (WebCore::TimelineRecordFactory::createGenericRecord):
1747
1748 2010-04-06  Greg Bolsinga  <bolsinga@apple.com>
1749
1750         Reviewed by Darin Adler.
1751
1752         https://bugs.webkit.org/show_bug.cgi?id=37188
1753         WebCore::page::Geolocation::m_shouldClearCache is not used.
1754
1755         * page/Geolocation.cpp:
1756         (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
1757         * page/Geolocation.h:
1758         (WebCore::Geolocation::): Ditto.
1759
1760 2010-04-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1761
1762         Reviewed by Eric Seidel.
1763
1764         Remove obsolete MOBILE flag
1765         https://bugs.webkit.org/show_bug.cgi?id=37125
1766
1767         The MOBILE flag is no longer used by any of the ports.
1768         The flag use to control some tokenizer defaults that 
1769         can be changed runtime.
1770
1771         No new tests as there is no new functionality.
1772
1773         * config.h:
1774         * html/HTMLTokenizer.cpp:
1775
1776 2010-04-06  Adam Barth  <abarth@webkit.org>
1777
1778         Reviewed by Eric Seidel.
1779
1780         REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
1781         https://bugs.webkit.org/show_bug.cgi?id=36646
1782
1783         Cause the worker code to swallow termination exceptions because these
1784         need not be reported to the user because they are an implementation
1785         detail of how we terminate worker execution.
1786
1787         Test: fast/workers/worker-terminate-forever.html
1788
1789         * bindings/js/JSDOMBinding.cpp:
1790         (WebCore::reportException):
1791             - Refuse to report termination exceptions to the user because they
1792               are an implementation detail.
1793         * bindings/js/WorkerScriptController.cpp:
1794         (WebCore::WorkerScriptController::forbidExecution):
1795             - Instead of using timeouts to stop run away workers, use our fancy
1796               new Terminator object.
1797
1798 2010-04-06  Kinuko Yasuda  <kinuko@chromium.org>
1799
1800         Reviewed by Jian Li.
1801
1802         Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
1803         https://bugs.webkit.org/show_bug.cgi?id=36938
1804
1805         No new tests; will be added when we implement upper layers.
1806
1807         * platform/FileSystem.h:
1808         (WebCore::):
1809         * platform/posix/FileSystemPOSIX.cpp:
1810         (WebCore::openFile):
1811         (WebCore::closeFile):
1812         (WebCore::seekFile):
1813         (WebCore::truncateFile):
1814         (WebCore::writeToFile):
1815         (WebCore::readFromFile):
1816
1817 2010-04-06  Nicolas Weber  <thakis@chromium.org>
1818
1819         Reviewed by Dimitri Glazkov.
1820
1821         Implement DragImage functionality for chromium/mac.
1822         https://bugs.webkit.org/show_bug.cgi?id=37069
1823
1824         * page/chromium/DragControllerChromium.cpp:
1825         (WebCore::DragController::maxDragImageSize):
1826         Use a max size of 400x400 on OS X.
1827         * platform/chromium/DragImageChromiumMac.cpp:
1828         (WebCore::dragImageSize): Implement.
1829         (WebCore::deleteDragImage): Implement.
1830         (WebCore::scaleDragImage): Implement.
1831         (WebCore::dissolveDragImageToFraction): Implement.
1832         (WebCore::createDragImageFromImage): Implement.
1833         * platform/chromium/DragImageRef.h:
1834         Use CGImageRefs as DragImageRef on OS X.
1835
1836 2010-04-06  Chris Evans  <cevans@chromium.org>
1837
1838         Reviewed by Adam Barth.
1839
1840         Use the new UserGestureIndictor to process javascript:window.open()
1841
1842         https://bugs.webkit.org/show_bug.cgi?id=37138
1843
1844         * bindings/v8/ScriptController.cpp
1845         (WebCore::ScriptController::processingUserGesture):
1846           Use the new UserGestureIndicator when processing a
1847           javascript:window.open()
1848
1849 2010-04-06  Vangelis Kokkevis  <vangelis@chromium.org>
1850
1851         Reviewed by Dimitri Glazkov.
1852
1853         Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
1854         data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
1855         in a subsequent CL.
1856         https://bugs.webkit.org/show_bug.cgi?id=37116
1857
1858         No new functionality so no new tests.
1859
1860         * platform/graphics/GraphicsLayer.h:
1861         * platform/graphics/skia/GraphicsLayerSkia.cpp:
1862         (WebCore::setLayerBorderColor):
1863         (WebCore::clearBorderColor):
1864         (WebCore::setLayerBackgroundColor):
1865         (WebCore::clearLayerBackgroundColor):
1866         (WebCore::GraphicsLayer::create):
1867         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1868         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1869         (WebCore::GraphicsLayerChromium::setName):
1870         (WebCore::GraphicsLayerChromium::nativeLayer):
1871         (WebCore::GraphicsLayerChromium::setChildren):
1872         (WebCore::GraphicsLayerChromium::addChild):
1873         (WebCore::GraphicsLayerChromium::addChildAtIndex):
1874         (WebCore::GraphicsLayerChromium::addChildBelow):
1875         (WebCore::GraphicsLayerChromium::addChildAbove):
1876         (WebCore::GraphicsLayerChromium::replaceChild):
1877         (WebCore::GraphicsLayerChromium::removeFromParent):
1878         (WebCore::GraphicsLayerChromium::setPosition):
1879         (WebCore::GraphicsLayerChromium::setAnchorPoint):
1880         (WebCore::GraphicsLayerChromium::setSize):
1881         (WebCore::GraphicsLayerChromium::setTransform):
1882         (WebCore::GraphicsLayerChromium::setChildrenTransform):
1883         (WebCore::GraphicsLayerChromium::setPreserves3D):
1884         (WebCore::GraphicsLayerChromium::setMasksToBounds):
1885         (WebCore::GraphicsLayerChromium::setDrawsContent):
1886         (WebCore::GraphicsLayerChromium::setBackgroundColor):
1887         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1888         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1889         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1890         (WebCore::GraphicsLayerChromium::setOpacity):
1891         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1892         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1893         (WebCore::GraphicsLayerChromium::setContentsRect):
1894         (WebCore::GraphicsLayerChromium::setContentsToImage):
1895         (WebCore::GraphicsLayerChromium::setContentsToVideo):
1896         (WebCore::GraphicsLayerChromium::setGeometryOrientation):
1897         (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
1898         (WebCore::GraphicsLayerChromium::layerForSuperlayer):
1899         (WebCore::GraphicsLayerChromium::platformLayer):
1900         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1901         (WebCore::GraphicsLayerChromium::setDebugBorder):
1902         (WebCore::GraphicsLayerChromium::updateSublayerList):
1903         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1904         (WebCore::GraphicsLayerChromium::updateLayerSize):
1905         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1906         (WebCore::GraphicsLayerChromium::updateTransform):
1907         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1908         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1909         (WebCore::GraphicsLayerChromium::updateContentsOpaque):
1910         (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
1911         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1912         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
1913         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1914         (WebCore::GraphicsLayerChromium::updateContentsImage):
1915         (WebCore::GraphicsLayerChromium::updateContentsVideo):
1916         (WebCore::GraphicsLayerChromium::updateContentsRect):
1917         (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
1918         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1919         (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
1920         * platform/graphics/skia/GraphicsLayerSkia.h:
1921         (WebCore::GraphicsLayerChromium::primaryLayer):
1922         (WebCore::GraphicsLayerChromium::contentsLayer):
1923         * platform/graphics/skia/LayerRendererSkia.cpp:
1924         (WebCore::LayerRendererChromium::create):
1925         (WebCore::LayerRendererChromium::LayerRendererChromium):
1926         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1927         (WebCore::LayerRendererChromium::updateLayerContents):
1928         (WebCore::LayerRendererChromium::drawLayersInCanvas):
1929         (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
1930         (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
1931         * platform/graphics/skia/LayerRendererSkia.h:
1932         (WebCore::LayerRendererChromium::setRootLayer):
1933         (WebCore::LayerRendererChromium::rootLayer):
1934         * platform/graphics/skia/LayerSkia.cpp:
1935         (WebCore::LayerChromium::create):
1936         (WebCore::LayerChromium::LayerChromium):
1937         (WebCore::LayerChromium::~LayerChromium):
1938         (WebCore::LayerChromium::updateGraphicsContext):
1939         (WebCore::LayerChromium::updateContents):
1940         (WebCore::LayerChromium::drawDebugBorder):
1941         (WebCore::LayerChromium::setNeedsCommit):
1942         (WebCore::LayerChromium::addSublayer):
1943         (WebCore::LayerChromium::insertSublayer):
1944         (WebCore::LayerChromium::removeFromSuperlayer):
1945         (WebCore::LayerChromium::removeSublayer):
1946         (WebCore::LayerChromium::indexOfSublayer):
1947         (WebCore::LayerChromium::setBackingStoreRect):
1948         (WebCore::LayerChromium::setBounds):
1949         (WebCore::LayerChromium::setFrame):
1950         (WebCore::LayerChromium::rootLayer):
1951         (WebCore::LayerChromium::removeAllSublayers):
1952         (WebCore::LayerChromium::setSublayers):
1953         (WebCore::LayerChromium::setSuperlayer):
1954         (WebCore::LayerChromium::superlayer):
1955         (WebCore::LayerChromium::setNeedsDisplay):
1956         * platform/graphics/skia/LayerSkia.h:
1957         (WebCore::LayerChromium::setAnchorPoint):
1958         (WebCore::LayerChromium::anchorPoint):
1959         (WebCore::LayerChromium::borderWidth):
1960         (WebCore::LayerChromium::bounds):
1961         (WebCore::LayerChromium::frame):
1962         (WebCore::LayerChromium::setPosition):
1963         (WebCore::LayerChromium::position):
1964         (WebCore::LayerChromium::zPosition):
1965         (WebCore::LayerChromium::getSublayers):
1966         (WebCore::LayerChromium::setSublayerTransform):
1967         (WebCore::LayerChromium::sublayerTransform):
1968         (WebCore::LayerChromium::setTransform):
1969         (WebCore::LayerChromium::transform):
1970
1971 2010-04-06  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1972
1973         Reviewed by Laszlo Gombos.
1974
1975         [Qt] WebKit does not build on Windows with --3d-canvas
1976         https://bugs.webkit.org/show_bug.cgi?id=37026
1977
1978         * platform/graphics/GraphicsContext3D.h:
1979         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1980         (WebCore::GraphicsContext3D::getActiveAttrib):
1981         (WebCore::GraphicsContext3D::getActiveUniform):
1982
1983 2010-04-06  Abhinav Mithal <abhinav.mithal@nokia.com>
1984
1985         Reviewed by Laszlo Gombos.
1986
1987         [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
1988         https://bugs.webkit.org/show_bug.cgi?id=34614
1989
1990         Do not define XP_WIN if WebKit is compiled for Symbian.
1991
1992         No new tests as there is no new functionality.
1993
1994         * bridge/npapi.h:
1995
1996 2010-04-06  Chris Fleizach  <cfleizach@apple.com>
1997
1998         Reviewed by Beth Dakin.
1999
2000         aria-label doesn't work on image map area
2001         https://bugs.webkit.org/show_bug.cgi?id=36977
2002
2003         Test: platform/mac/accessibility/area-with-aria-label.html
2004
2005         * accessibility/AccessibilityImageMapLink.cpp:
2006         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2007
2008 2010-04-06  James Robinson  <jamesr@chromium.org>
2009
2010         Reviewed by Simon Fraser.
2011
2012         Reverts the incorrect fixed position fastpath scrolling logic
2013         https://bugs.webkit.org/show_bug.cgi?id=33150
2014
2015         This code does not properly handle overflow or transforms on fixed
2016         position elements, causing repaint bugs on scroll.
2017
2018         No new tests.
2019
2020         * page/FrameView.cpp:
2021         (WebCore::FrameView::addFixedObject):
2022         (WebCore::FrameView::removeFixedObject):
2023         * page/FrameView.h:
2024         * platform/ScrollView.cpp:
2025         (WebCore::ScrollView::scrollContents):
2026         * platform/ScrollView.h:
2027         * rendering/RenderObject.cpp:
2028         (WebCore::RenderObject::styleWillChange):
2029
2030 2010-04-06  Kevin Ollivier  <kevino@theolliviers.com>
2031
2032         [wx] Build fix for wxMac / Cocoa on wx trunk.
2033         
2034         * platform/wx/wxcode/mac/carbon/fontprops.mm:
2035         (wxFontContainsCharacters):
2036
2037 2010-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
2038
2039         Reviewed by Darin Adler.
2040
2041         JS code generator does not support feature conditional attributes that are writable
2042         https://bugs.webkit.org/show_bug.cgi?id=37149
2043
2044         Write out the feature #ifdef not only for the getter, but also for the setter
2045         function.
2046
2047         * bindings/scripts/CodeGeneratorJS.pm:
2048
2049 2010-04-06  Evan Stade  <estade@chromium.org>
2050
2051         Reviewed by Dimitri Glazkov.
2052
2053         [chromium] need DragImage implementation
2054         https://bugs.webkit.org/show_bug.cgi?id=35811
2055
2056         Use the DragImageRef that the DragController passes to us.
2057
2058         This was previously committed but rolled back for breaking layout
2059         tests. The fix is on the WebKit/chromium side.
2060
2061         * WebCore.gyp/WebCore.gyp:
2062         * WebCore.gypi:
2063         * platform/chromium/DragImageChromium.cpp: Removed.
2064         * platform/chromium/DragImageChromiumMac.cpp: Added.
2065         (WebCore::dragImageSize):
2066         (WebCore::deleteDragImage):
2067         (WebCore::scaleDragImage):
2068         (WebCore::dissolveDragImageToFraction):
2069         (WebCore::createDragImageFromImage):
2070         (WebCore::createDragImageIconForCachedImage):
2071         * platform/chromium/DragImageChromiumSkia.cpp: Added.
2072         (WebCore::dragImageSize):
2073         (WebCore::deleteDragImage):
2074         (WebCore::scaleDragImage):
2075         (WebCore::dissolveDragImageToFraction):
2076         (WebCore::createDragImageFromImage):
2077         (WebCore::createDragImageIconForCachedImage):
2078         * platform/chromium/DragImageRef.h:
2079
2080 2010-04-01  Yuzo Fujishima  <yuzo@google.com>
2081
2082         Reviewed by Darin Adler.
2083
2084         Fix bug: CSS3 :not selector with ID simple selector sequence test fails
2085         As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
2086         WebKit was accepting a simple selector *sequence*.
2087         This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
2088         The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
2089         https://bugs.webkit.org/show_bug.cgi?id=36276
2090
2091         Test: fast/css/invalid-not-with-simple-selector-sequence.html
2092
2093         * css/CSSGrammar.y:
2094         * css/CSSSelector.cpp:
2095         (WebCore::CSSSelector::isSimple):
2096         * css/CSSSelector.h:
2097
2098 2010-04-06  Andy Estes  <aestes@apple.com>
2099
2100         Rubber-stamped by Dan Bernstein.
2101
2102         Remove non-ASCII characters from license headers to fix build errors on
2103         Japanese Windows.
2104
2105         https://bugs.webkit.org/show_bug.cgi?id=37008
2106
2107         * dom/UserGestureIndicator.cpp:
2108         * dom/UserGestureIndicator.h:
2109
2110 2010-04-06  Andrei Popescu  <andreip@google.com>
2111
2112         Reviewed by Dimitri Glazkov.
2113
2114         [V8][Android] PageCache crashes when JavaScript is disabled
2115         https://bugs.webkit.org/show_bug.cgi?id=37150
2116
2117         This patch ensures that saving and restoration of the script
2118         state only happens when JS is enabled and each frame has a
2119         non-null context.
2120
2121         No new tests: existing tests show the feature is working
2122         when JS is enabled. When JS is disabled, manual testing
2123         is required.
2124
2125         * bindings/v8/ScriptCachedFrameData.cpp:
2126         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2127         (WebCore::ScriptCachedFrameData::restore):
2128
2129 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
2130
2131         Unreviewed build fix.
2132
2133         Web Inspector: missed files were added.
2134
2135
2136         * GNUmakefile.am:
2137         * bindings/js/ScriptGCEvent.h: Added.
2138         (WebCore::ScriptGCEvent::addEventListener):
2139         (WebCore::ScriptGCEvent::removeEventListener):
2140         (WebCore::ScriptGCEvent::getHeapSize):
2141         * bindings/v8/ScriptGCEvent.cpp: Added.
2142         (WebCore::ScriptGCEvent::addEventListener):
2143         (WebCore::ScriptGCEvent::removeEventListener):
2144         (WebCore::ScriptGCEvent::getHeapSize):
2145         (WebCore::ScriptGCEvent::getUsedHeapSize):
2146         (WebCore::ScriptGCEvent::gcPrologueCallback):
2147         (WebCore::ScriptGCEvent::gcEpilogueCallback):
2148         * bindings/v8/ScriptGCEvent.h: Added.
2149         * inspector/ScriptGCEventListener.h: Added.
2150         (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
2151
2152 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
2153
2154         Reviewed by Pavel Feldman.
2155
2156         Web Inspector: The JS code can be not optimal from memory usage point of view.
2157         As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
2158         GC event will show us these moments. Also each event can show us how much memory is in use.
2159         https://bugs.webkit.org/show_bug.cgi?id=37025
2160
2161         * WebCore.gypi:
2162         * WebCore.pro:
2163         * inspector/InspectorTimelineAgent.cpp:
2164         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2165         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2166         (WebCore::InspectorTimelineAgent::didGC):
2167         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
2168         (WebCore::InspectorTimelineAgent::didInstallTimer):
2169         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2170         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2171         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2172         (WebCore::InspectorTimelineAgent::didMarkTimeline):
2173         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2174         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2175         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2176         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2177         * inspector/InspectorTimelineAgent.h:
2178         (WebCore::):
2179         (WebCore::InspectorTimelineAgent::instanceCount):
2180         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2181         (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
2182         * inspector/TimelineRecordFactory.cpp:
2183         (WebCore::TimelineRecordFactory::createGCEventData):
2184         * inspector/TimelineRecordFactory.h:
2185         * inspector/front-end/Popover.js:
2186         (WebInspector.PopoverHelper.prototype._mouseHover):
2187         * inspector/front-end/TimelineAgent.js:
2188         * inspector/front-end/TimelinePanel.js:
2189         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2190         (WebInspector.TimelinePanel.FormattedRecord):
2191         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2192         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2193
2194 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
2195
2196         Reviewed by Laszlo Gombos.
2197
2198         Remove unused DIRECTIONAL_PAD_NAVIGATION
2199         https://bugs.webkit.org/show_bug.cgi?id=37134
2200
2201         Android browser was planning to have a "directional pad navigation" available on
2202         trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
2203         https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
2204
2205         However bug 23163 landed some code relying on the build flag supposedly to be added,
2206         and is now dead code in trunk.
2207
2208         * dom/Element.cpp:
2209         (WebCore::Element::updateFocusAppearance):
2210
2211 2010-04-06  Mattias Nissler  <mnissler@chromium.org>
2212
2213         Reviewed by Pavel Feldman.
2214
2215         Rework inspector docking to issue a request call from the frontend
2216         whenever the user triggers to (un)dock the inspector window. Doing so
2217         enables InspectorFrontendHost implementations to asynchronously decide
2218         whether the window is docked or not. The old canAttachWindow() is not
2219         required anymore, remove it.
2220         https://bugs.webkit.org/show_bug.cgi?id=36944
2221
2222         * inspector/InspectorFrontendClient.h:
2223         * inspector/InspectorFrontendClientLocal.cpp:
2224         (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
2225         * inspector/InspectorFrontendClientLocal.h:
2226         * inspector/InspectorFrontendHost.cpp:
2227         (WebCore::InspectorFrontendHost::requestAttachWindow):
2228         * inspector/InspectorFrontendHost.h:
2229         * inspector/InspectorFrontendHost.idl:
2230         * inspector/front-end/inspector.js:
2231         (WebInspector.toggleAttach):
2232
2233 2010-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
2234
2235         Reviewed by Yury Semikhatsky.
2236
2237         [V8] Extend the set of types supported by SerializedScriptValue
2238         https://bugs.webkit.org/show_bug.cgi?id=37052
2239
2240         New types include sparse arrays, Uint32, Date, and ImageData.
2241
2242         Serialization process became more flexible. A state can either
2243         directly write primitive values (instead of returning them like
2244         iterator) or construct a new state for serializing complex values
2245         that will return to the current state when done.
2246
2247         Deserialization process now avoids exposing the tags using a set
2248         of factory functions for complex objects instead.
2249
2250         Internal buffer type changed to uint8_t to be independent of
2251         whether char is signed or not.
2252
2253         * bindings/v8/SerializedScriptValue.cpp:
2254         (WebCore::):
2255         (WebCore::Writer::Writer):
2256         (WebCore::Writer::writeString):
2257         (WebCore::Writer::writeUint32):
2258         (WebCore::Writer::writeDate):
2259         (WebCore::Writer::writeNumber):
2260         (WebCore::Writer::writeImageData):
2261         (WebCore::Writer::writeArray):
2262         (WebCore::Writer::writeObject):
2263         (WebCore::Writer::writeSparseArray):
2264         (WebCore::Writer::doWriteUint32):
2265         (WebCore::Writer::doWriteNumber):
2266         (WebCore::Writer::append):
2267         (WebCore::Writer::fillHole):
2268         (WebCore::Writer::byteAt):
2269         (WebCore::Serializer::Serializer):
2270         (WebCore::Serializer::serialize):
2271         (WebCore::Serializer::writeArray):
2272         (WebCore::Serializer::writeObject):
2273         (WebCore::Serializer::writeSparseArray):
2274         (WebCore::Serializer::StateBase::StateBase):
2275         (WebCore::Serializer::ErrorState::ErrorState):
2276         (WebCore::Serializer::ErrorState::advance):
2277         (WebCore::Serializer::State::composite):
2278         (WebCore::Serializer::State::State):
2279         (WebCore::Serializer::ArrayState::ArrayState):
2280         (WebCore::Serializer::ArrayState::advance):
2281         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2282         (WebCore::Serializer::AbstractObjectState::advance):
2283         (WebCore::Serializer::ObjectState::ObjectState):
2284         (WebCore::Serializer::ObjectState::objectDone):
2285         (WebCore::Serializer::SparseArrayState::SparseArrayState):
2286         (WebCore::Serializer::SparseArrayState::objectDone):
2287         (WebCore::Serializer::push):
2288         (WebCore::Serializer::pop):
2289         (WebCore::Serializer::handleError):
2290         (WebCore::Serializer::checkComposite):
2291         (WebCore::Serializer::writeString):
2292         (WebCore::Serializer::writeImageData):
2293         (WebCore::Serializer::newArrayState):
2294         (WebCore::Serializer::newObjectState):
2295         (WebCore::Serializer::doSerialize):
2296         (WebCore::Reader::Reader):
2297         (WebCore::Reader::read):
2298         (WebCore::Reader::readString):
2299         (WebCore::Reader::readUint32):
2300         (WebCore::Reader::readDate):
2301         (WebCore::Reader::readNumber):
2302         (WebCore::Reader::readImageData):
2303         (WebCore::Reader::doReadUint32):
2304         (WebCore::Reader::doReadNumber):
2305         (WebCore::Deserializer::Deserializer):
2306         (WebCore::Deserializer::createArray):
2307         (WebCore::Deserializer::createObject):
2308         (WebCore::Deserializer::createSparseArray):
2309         (WebCore::Deserializer::initializeObject):
2310         (WebCore::Deserializer::doDeserialize):
2311         (WebCore::Deserializer::stackDepth):
2312         (WebCore::SerializedScriptValue::deserialize):
2313
2314 2010-04-06  Csaba Osztrogon√°c  <ossy@webkit.org>
2315
2316         Unreviewed buildfix for --minimal build.
2317         Buildfix after r57134. Add ENABLE(WORKERS) guard.
2318
2319         original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
2320
2321         * bindings/js/JSWorkerContextErrorHandler.cpp:
2322
2323 2010-04-06  Dirk Schulze  <krit@webkit.org>
2324
2325         Reviewed by Oliver Hunt.
2326
2327         SVG/SMIL parse failure on attribute keySplines
2328         https://bugs.webkit.org/show_bug.cgi?id=37071
2329
2330         Test: svg/animations/animate-keySplines.html
2331
2332         The String in 'keySplines' can have multiple spaces between numbers
2333         and delimiters. The parsing code is inspired by SVGParserUtilities
2334         and respects this.
2335
2336         * svg/SVGAnimationElement.cpp:
2337         (WebCore::parseKeySplines):
2338
2339 2010-04-06  Yury Semikhatsky  <yurys@chromium.org>
2340
2341         Reviewed by Pavel Feldman.
2342
2343         Refactored error reporting mechanizm on Worker Global Objects.
2344         Unlike other event listeners which accept single argument(Event)
2345         onerror handler on worker global object should be a function
2346         accepting three arguments. This error reporting was implementedas
2347         EventListener::reportError method which had custom implementations
2348         for v8 and JSC. This patch removes EventListener::reportError and
2349         moves its functionality into custom bindings(V8WorkerContextErrorHandler
2350         and JSWorkerContextErrorHandler) that implement EventListener inerface
2351         for the onerror handler.
2352
2353         This patch also makes uncaught exceptions that happen in the onerror
2354         listener be reported to the Worker's onerror handler.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=36375
2357
2358         * Android.jscbindings.mk:
2359         * GNUmakefile.am:
2360         * WebCore.gypi:
2361         * WebCore.pro:
2362         * WebCore.vcproj/WebCore.vcproj:
2363         * WebCore.xcodeproj/project.pbxproj:
2364         * bindings/js/JSBindingsAllInOne.cpp:
2365         * bindings/js/JSEventListener.cpp:
2366         * bindings/js/JSEventListener.h:
2367         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
2368         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
2369         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
2370         (WebCore::JSWorkerContextErrorHandler::handleEvent):
2371         * bindings/js/JSWorkerContextErrorHandler.h: Added.
2372         (WebCore::JSWorkerContextErrorHandler::create):
2373         (WebCore::createJSWorkerContextErrorHandler):
2374         * bindings/scripts/CodeGeneratorJS.pm:
2375         * bindings/scripts/CodeGeneratorV8.pm:
2376         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
2377         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
2378         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2379         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
2380         (WebCore::V8WorkerContextErrorHandler::create):
2381         * bindings/v8/V8WorkerContextEventListener.cpp:
2382         * bindings/v8/V8WorkerContextEventListener.h:
2383         * dom/EventListener.h:
2384         * workers/WorkerContext.cpp:
2385         (WebCore::WorkerContext::WorkerContext):
2386         (WebCore::WorkerContext::reportException):
2387         * workers/WorkerContext.h:
2388
2389 2010-04-06  Pavel Feldman  <pfeldman@chromium.org>
2390
2391         Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
2392
2393 2010-04-05  MORITA Hajime  <morrita@google.com>
2394
2395         Reviewed by Darin Adler.
2396
2397         RenderProgress.cpp is missing CurrentTime.h
2398         https://bugs.webkit.org/show_bug.cgi?id=37080
2399
2400         No new tests. just fixed compilation error.
2401
2402         * rendering/RenderProgress.cpp:
2403
2404
2405 2010-04-05  Eric Uhrhane  <ericu@chromium.org>
2406
2407         Reviewed by Brady Eidson.
2408
2409         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
2410         https://bugs.webkit.org/show_bug.cgi?id=36671
2411
2412         The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
2413
2414         No new tests.
2415
2416         * storage/DatabaseTracker.cpp:
2417         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
2418
2419 2010-04-05  Anthony Ricaud  <rik@webkit.org>
2420
2421         Reviewed by Timothy Hatcher.
2422
2423         Web Inspector: Audits launcher view is unusable with a small height window
2424         https://bugs.webkit.org/show_bug.cgi?id=37109
2425
2426         Use flex box instead of absolute positioning to avoid overlapping elements.
2427
2428         * inspector/front-end/AuditLauncherView.js:
2429         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
2430         * inspector/front-end/audits.css:
2431         (.audit-launcher-view .audit-launcher-view-content):
2432         (.audit-launcher-view div.button-container):
2433         (.audit-launcher-view .flexible-space):
2434
2435 2010-04-05  Luiz Agostini  <luiz.agostini@openbossa.org>
2436
2437         Reviewed by Kenneth Rohde Christiansen.
2438
2439         [Qt] Maemo5 theme - wrong spelling
2440         https://bugs.webkit.org/show_bug.cgi?id=37110
2441
2442         Correcting wrong spelling in RenderThemeQt.cpp.
2443
2444         * platform/qt/RenderThemeQt.cpp:
2445
2446 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
2447
2448         Reviewed by Kenneth Rohde Christiansen.
2449
2450         Add EFL-specific code to platform/Platform*Event.h.
2451         http://webkit.org/b/36309
2452
2453         * platform/PlatformWheelEvent.h:
2454         * platform/PlatformMouseEvent.h:
2455         * platform/PlatformKeyboardEvent.h:
2456
2457 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
2458
2459         Reviewed by Kenneth Rohde Christiansen.
2460
2461         Add EFL-specific code to platform/graphics/*.h.
2462         http://webkit.org/b/36308
2463
2464         * platform/graphics/Icon.h:
2465         * platform/graphics/IntRect.h:
2466         * platform/graphics/FloatRect.h:
2467         * platform/graphics/IntPoint.h:
2468
2469 2010-04-05  Robert Hogan  <robert@webkit.org>
2470
2471         Reviewed by Kenneth Rohde Christiansen.
2472
2473         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
2474
2475         Put a maximum on consecutive redirections so we don't have to
2476         worry about whether it's the same url or not.
2477
2478         Tolerate up to 10 consecutive redirections, anything beyond
2479         that is considered a potentially infinite recursion in the
2480         redirection requests. This is the same behaviour as Firefox.
2481
2482         https://bugs.webkit.org/show_bug.cgi?id=37097
2483
2484         * platform/network/qt/QNetworkReplyHandler.cpp:
2485         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2486         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2487         * platform/network/qt/QNetworkReplyHandler.h:
2488
2489 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
2490
2491         Reviewed by Darin Adler and Dimitri Glazkov.
2492
2493         Style update done due to mutation event dispatching in textarea can be
2494         used to corrupt the render tree.
2495         https://bugs.webkit.org/show_bug.cgi?id=36864
2496
2497         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
2498                fast/forms/select-change-popup-to-listbox-roundtrip.html
2499                fast/forms/textarea-and-mutation-events.html
2500
2501         * dom/Document.cpp:
2502         (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
2503             call to ensure that object loads start before firing window load.
2504         * dom/Node.cpp:
2505         (WebCore::Node::dispatchGenericEvent): Removed invocation of
2506             Document::updateStyleForAllDocuments
2507         * html/HTMLSelectElement.cpp:
2508         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
2509             recalc to ensure accuracy of representation, especially for
2510             menuList/listBox switches.
2511
2512 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
2513
2514         Reviewed by Laszlo Gombos.
2515
2516         Cleaned up spatial-navigation-test-cases.html by removing the wrongly
2517         used <frameset> tag.
2518
2519         Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
2520
2521         * manual-tests/spatial-navigation/frameset.html: Added.
2522         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
2523
2524 2010-04-05  Mark Rowe  <mrowe@apple.com>
2525
2526         Reviewed by Adele Peterson.
2527
2528         Roll out r56989 as it introduced crashes in Mail.
2529         <http://webkit.org/b/37115> / <rdar://problem/7829331>
2530
2531         * dom/Position.cpp:
2532         (WebCore::Position::isCandidate):
2533         * dom/PositionIterator.cpp:
2534         (WebCore::PositionIterator::isCandidate):
2535
2536 2010-04-05  Darin Adler  <darin@apple.com>
2537
2538         Reviewed by Sam Weinig.
2539
2540         Images must re-load when an image-holding element moves into a new document
2541         https://bugs.webkit.org/show_bug.cgi?id=37127
2542
2543         Test: fast/images/move-image-to-new-document.html
2544
2545         * html/HTMLImageElement.cpp:
2546         (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
2547         elementWillMoveToNewOwnerDocument function.
2548         * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
2549         * html/HTMLInputElement.cpp:
2550         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
2551         * html/HTMLPlugInImageElement.cpp:
2552         (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
2553         * html/HTMLPlugInImageElement.h: Ditto.
2554         * html/HTMLVideoElement.cpp:
2555         (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
2556         * html/HTMLVideoElement.h: Ditto.
2557         * svg/SVGImageElement.cpp:
2558         (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
2559         * svg/SVGImageElement.h: Ditto.
2560
2561         * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
2562         so it can be called by HTMLVideoElement.cpp.
2563
2564         * loader/ImageLoader.cpp:
2565         (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
2566         Resets the loader by clearing out the cached image.
2567         * loader/ImageLoader.h: Added it.
2568
2569 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2570
2571         Reviewed by Kenneth Rohde Christiansen.
2572
2573         [Symbian] Consolidate Symbian WINSCW environment configuration
2574         https://bugs.webkit.org/show_bug.cgi?id=37100
2575
2576         Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
2577         to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
2578
2579         No new tests as there is no new functionality.
2580
2581         * config.h:
2582
2583 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
2584
2585         Reviewed by Kenneth Rohde Christiansen.
2586
2587         Add missing ClipboardEfl.h to platform/efl.
2588         http://webkit.org/b/36242
2589
2590         * platform/efl/ClipboardEfl.h: Added.
2591
2592 2010-04-05  Yuta Kitamura  <yutak@chromium.org>
2593
2594         Reviewed by Darin Adler.
2595
2596         Escape control characters in CSS string value when it is serialilzed.
2597
2598         When WebKit serializes a CSS string value that contains binary characters
2599         ('\0\1\2' for example), it did not escape these characters. As a result,
2600         users got (invisible) control characters through scripts. This change fixes
2601         this issue.
2602
2603         As a side effect, two separate codes for escaping CSS strings are merged, and
2604         become a public function (quoteCSSString).
2605
2606         CSS string value is not correctly serialized when it contains binary characters
2607         https://bugs.webkit.org/show_bug.cgi?id=28938
2608
2609         Test: fast/css/string-quote-binary.html
2610
2611         * css/CSSParser.cpp:
2612         (WebCore::isCSSTokenizerIdentifier):
2613         (WebCore::isCSSTokenizerURL):
2614         (WebCore::quoteCSSString):
2615         (WebCore::quoteCSSStringIfNeeded):
2616         (WebCore::quoteCSSURLIfNeeded):
2617         * css/CSSParser.h:
2618         * css/CSSPrimitiveValue.cpp:
2619         (WebCore::CSSPrimitiveValue::cssText):
2620         * css/FontFamilyValue.cpp:
2621         (WebCore::FontFamilyValue::cssText):
2622
2623 2010-04-05  John Gregg  <johnnyg@google.com>
2624
2625         Reviewed by Darin Adler.
2626
2627         Notifications should not resolve an empty icon parameter as a relative URL
2628         https://bugs.webkit.org/show_bug.cgi?id=36862
2629
2630         * notifications/Notification.cpp:
2631         (WebCore::Notification::Notification):
2632
2633 2010-04-05  Darin Adler  <darin@apple.com>
2634
2635         Reviewed by Mark Rowe.
2636
2637         Removed some unneeded type casts.
2638
2639         * css/CSSPrimitiveValue.cpp:
2640         (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
2641         * page/Location.cpp:
2642         (WebCore::Location::host): Removed unneeded parentheses and cast.
2643         (WebCore::Location::port): Ditto.
2644         * platform/KURLGoogle.cpp:
2645         (WebCore::KURL::setPort): Ditto.
2646         * workers/WorkerLocation.cpp:
2647         (WebCore::WorkerLocation::host): Ditto.
2648         (WebCore::WorkerLocation::port): Ditto.
2649
2650 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2651
2652         Unreviewed, rolling out r57081.
2653         http://trac.webkit.org/changeset/57081
2654         https://bugs.webkit.org/show_bug.cgi?id=37121
2655
2656         We think it triggered two tests to fail on Tiger because of
2657         race conditions (Requested by abarth on #webkit).
2658
2659         * dom/Node.cpp:
2660         (WebCore::Node::dispatchGenericEvent):
2661         * html/HTMLSelectElement.cpp:
2662         (WebCore::HTMLSelectElement::parseMappedAttribute):
2663
2664 2010-04-05  Brady Eidson  <beidson@apple.com>
2665
2666         Reviewed by Oliver Hunt.
2667
2668         ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
2669         <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
2670
2671         No new tests. (No behavior change)
2672
2673         * storage/StorageNamespaceImpl.cpp:
2674         (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
2675
2676 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2677
2678         Unreviewed, rolling out r57030.
2679         http://trac.webkit.org/changeset/57030
2680         https://bugs.webkit.org/show_bug.cgi?id=37114
2681
2682         Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
2683         chromium port (Requested by jamesr on #webkit).
2684
2685         * rendering/RenderBlock.h:
2686         * rendering/RenderBlockLineLayout.cpp:
2687         (WebCore::RenderBlock::layoutInlineChildren):
2688
2689 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
2690
2691         Reviewed by Darin Adler.
2692
2693         https://bugs.webkit.org/show_bug.cgi?id=37111
2694         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
2695
2696         * page/mac/WebCoreViewFactory.h:
2697         * platform/LocalizedStrings.h:
2698         * platform/mac/LocalizedStringsMac.mm:
2699         * platform/gtk/LocalizedStringsGtk.cpp:
2700         * platform/qt/Localizations.cpp:
2701         * platform/wx/LocalizedStringsWx.cpp:
2702         Added a localizable string for plug-in failure (only used on Mac at the moment).
2703
2704         * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
2705         since it's now used from WebKit.
2706
2707         * rendering/RenderEmbeddedObject.cpp:
2708         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
2709         initializer.
2710         (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
2711         m_showsMissingPluginIndicator.
2712         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
2713         (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
2714         (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
2715         m_showsMissingPluginIndicator.
2716         (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
2717         insted of just "Missing Plug-in". Renamed constants and variables accordingly.
2718
2719         * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
2720         actual replacement text.
2721
2722         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
2723         setShowsMissingPluginIndicator(), which no longer takes an argument.
2724
2725         * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
2726
2727 2010-04-05  Chris Fleizach  <cfleizach@apple.com>
2728
2729         Reviewed by Darin Adler.
2730
2731         Bug 37040 - AX: need to send selected children change notification when aria-selected changed
2732         https://bugs.webkit.org/show_bug.cgi?id=37040
2733
2734         When aria-selected is changed in the DOM, it will trigger a selected children change notification. 
2735
2736         Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
2737
2738         * accessibility/AXObjectCache.cpp:
2739         (WebCore::AXObjectCache::selectedChildrenChanged):
2740         * accessibility/AXObjectCache.h:
2741         * accessibility/AccessibilityMediaControls.cpp:
2742         (WebCore::AccessibilityMediaControl::controlType):
2743             Remove extra whitespace before comment (webkit-style).
2744         * accessibility/AccessibilityRenderObject.cpp:
2745         (WebCore::AccessibilityRenderObject::observableObject):
2746             Allowed a listBox to be an observable object.
2747         (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
2748         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2749             Updated and streamlined existing code.
2750         * dom/Element.cpp:
2751         (WebCore::Element::updateAfterAttributeChanged):
2752
2753 2010-04-05  Adam Treat  <atreat@rim.com>
2754
2755         Reviewed by Darin Adler.
2756
2757         Fix regression in pixel test for animated svg background images.
2758
2759         https://bugs.webkit.org/show_bug.cgi?id=37027
2760
2761         * svg/graphics/SVGImage.cpp:
2762         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
2763
2764 2010-04-05  Robert Hogan  <robert@webkit.org>
2765
2766         Reviewed by Kenneth Rohde-Christiansen.
2767
2768         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
2769
2770         Qt enters an infinite loop if a redirect response redirects to itself.
2771
2772         Fixes http/tests/xmlhttprequest/connection-error-sync.html
2773
2774         https://bugs.webkit.org/show_bug.cgi?id=37097
2775
2776         * platform/network/qt/QNetworkReplyHandler.cpp:
2777         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2778
2779 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
2780
2781         Unreviewed, revert r57078.
2782
2783         * Android.jscbindings.mk:
2784         * GNUmakefile.am:
2785         * WebCore.gypi:
2786         * WebCore.pro:
2787         * WebCore.vcproj/WebCore.vcproj:
2788         * WebCore.xcodeproj/project.pbxproj:
2789         * bindings/js/JSEventListener.cpp:
2790         (WebCore::JSEventListener::reportError):
2791         * bindings/js/JSEventListener.h:
2792         * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
2793         * bindings/js/JSWorkerContextErrorHandler.h: Removed.
2794         * bindings/scripts/CodeGeneratorJS.pm:
2795         * bindings/scripts/CodeGeneratorV8.pm:
2796         * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
2797         * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
2798         * bindings/v8/V8WorkerContextEventListener.cpp:
2799         (WebCore::V8WorkerContextEventListener::reportError):
2800         * bindings/v8/V8WorkerContextEventListener.h:
2801         * dom/EventListener.h:
2802         (WebCore::EventListener::reportError):
2803         * workers/WorkerContext.cpp:
2804         (WebCore::WorkerContext::WorkerContext):
2805         (WebCore::WorkerContext::reportException):
2806         * workers/WorkerContext.h:
2807
2808 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
2809
2810         Reviewed by Darin Adler.
2811
2812         Style update done due to mutation event dispatching in textarea can be
2813         used to corrupt the render tree.
2814         https://bugs.webkit.org/show_bug.cgi?id=36864
2815
2816         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
2817                fast/forms/select-change-popup-to-listbox-roundtrip.html
2818                fast/forms/textarea-and-mutation-events.html
2819
2820         * dom/Node.cpp:
2821         (WebCore::Node::dispatchGenericEvent): Removed invocation of
2822             Document::updateStyleForAllDocuments
2823         * html/HTMLSelectElement.cpp:
2824         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
2825             recalc to ensure accuracy of representation, especially for
2826             menuList/listBox switches.
2827
2828 2010-04-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2829
2830         Reviewed by Dave Hyatt.
2831
2832         iframe flattening doesn't flatten
2833         https://bugs.webkit.org/show_bug.cgi?id=36798
2834
2835         Fixed to the iframe flattening code so that the iframes on
2836         http://www.samisite.com/test-csb2nf/id43.htm are actually
2837         flattened.
2838
2839         Covered by current tests.
2840
2841         * page/FrameView.cpp: Propagate contents changes of iframes
2842         and subframes in framesets to the parent so that it is relayouted
2843         (WebCore::FrameView::setContentsSize):
2844         (WebCore::FrameView::adjustViewSize):
2845         (WebCore::FrameView::scheduleRelayout):
2846         * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
2847         HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
2848         the use of inset border values. Avoid a sometimes unnecessary
2849         relayout.
2850         (WebCore::RenderPart::layoutWithFlattening):
2851         * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
2852         return the right values, considering scrolling and fixed width/height
2853         (WebCore::RenderPartObject::flattenFrame):
2854         (WebCore::RenderPartObject::calcHeight):
2855         (WebCore::RenderPartObject::calcWidth):
2856         (WebCore::RenderPartObject::layout):
2857
2858 2010-04-05  Vitaly Repeshko  <vitalyr@chromium.org>
2859
2860         Reviewed by Yury Semikhatsky.
2861
2862         [V8] Extend the set of types supported by SerializedScriptValue
2863         https://bugs.webkit.org/show_bug.cgi?id=37052
2864
2865         New types include sparse arrays, Uint32, Date, and ImageData.
2866
2867         Serialization process became more flexible. A state can either
2868         directly write primitive values (instead of returning them like
2869         iterator) or construct a new state for serializing complex values
2870         that will return to the current state when done.
2871
2872         Deserialization process now avoids exposing the tags using a set
2873         of factory functions for complex objects instead.
2874
2875         Internal buffer type changed to uint8_t to be independent of
2876         whether char is signed or not.
2877
2878         * bindings/v8/SerializedScriptValue.cpp:
2879         (WebCore::):
2880         (WebCore::Writer::Writer):
2881         (WebCore::Writer::writeString):
2882         (WebCore::Writer::writeUint32):
2883         (WebCore::Writer::writeDate):
2884         (WebCore::Writer::writeNumber):
2885         (WebCore::Writer::writeImageData):
2886         (WebCore::Writer::writeArray):
2887         (WebCore::Writer::writeObject):
2888         (WebCore::Writer::writeSparseArray):
2889         (WebCore::Writer::doWriteUint32):
2890         (WebCore::Writer::doWriteNumber):
2891         (WebCore::Writer::append):
2892         (WebCore::Writer::fillHole):
2893         (WebCore::Writer::byteAt):
2894         (WebCore::Serializer::Serializer):
2895         (WebCore::Serializer::serialize):
2896         (WebCore::Serializer::writeArray):
2897         (WebCore::Serializer::writeObject):
2898         (WebCore::Serializer::writeSparseArray):
2899         (WebCore::Serializer::StateBase::StateBase):
2900         (WebCore::Serializer::ErrorState::ErrorState):
2901         (WebCore::Serializer::ErrorState::advance):
2902         (WebCore::Serializer::State::composite):
2903         (WebCore::Serializer::State::State):
2904         (WebCore::Serializer::ArrayState::ArrayState):
2905         (WebCore::Serializer::ArrayState::advance):
2906         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2907         (WebCore::Serializer::AbstractObjectState::advance):
2908         (WebCore::Serializer::ObjectState::ObjectState):
2909         (WebCore::Serializer::ObjectState::objectDone):
2910         (WebCore::Serializer::SparseArrayState::SparseArrayState):
2911         (WebCore::Serializer::SparseArrayState::objectDone):
2912         (WebCore::Serializer::push):
2913         (WebCore::Serializer::pop):
2914         (WebCore::Serializer::handleError):
2915         (WebCore::Serializer::checkComposite):
2916         (WebCore::Serializer::writeString):
2917         (WebCore::Serializer::writeImageData):
2918         (WebCore::Serializer::newArrayState):
2919         (WebCore::Serializer::newObjectState):
2920         (WebCore::Serializer::doSerialize):
2921         (WebCore::Reader::Reader):
2922         (WebCore::Reader::read):
2923         (WebCore::Reader::readString):
2924         (WebCore::Reader::readUint32):
2925         (WebCore::Reader::readDate):
2926         (WebCore::Reader::readNumber):
2927         (WebCore::Reader::readImageData):
2928         (WebCore::Reader::doReadUint32):
2929         (WebCore::Reader::doReadNumber):
2930         (WebCore::Deserializer::Deserializer):
2931         (WebCore::Deserializer::createArray):
2932         (WebCore::Deserializer::createObject):
2933         (WebCore::Deserializer::createSparseArray):
2934         (WebCore::Deserializer::initializeObject):
2935         (WebCore::Deserializer::doDeserialize):
2936         (WebCore::Deserializer::stackDepth):
2937         (WebCore::SerializedScriptValue::deserialize):
2938
2939 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
2940
2941         Reviewed by Pavel Feldman.
2942
2943         Refactored error reporting mechanizm on Worker Global Objects.
2944         Unlike other event listeners which accept single argument(Event)
2945         onerror handler on worker global object should be a function
2946         accepting three arguments. This error reporting was implementedas
2947         EventListener::reportError method which had custom implementations
2948         for v8 and JSC. This patch removes EventListener::reportError and
2949         moves its functionality into custom bindings(V8WorkerContextErrorHandler
2950         and JSWorkerContextErrorHandler) that implement EventListener inerface
2951         for the onerror handler.
2952
2953         This patch also makes uncaught exceptions that happen in the onerror
2954         listener be reported to the Worker's onerror handler.
2955
2956         https://bugs.webkit.org/show_bug.cgi?id=36375
2957
2958         * WebCore.gypi:
2959         * WebCore.pro:
2960         * WebCore.xcodeproj/project.pbxproj:
2961         * bindings/js/JSEventListener.cpp:
2962         * bindings/js/JSEventListener.h:
2963         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
2964         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
2965         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
2966         (WebCore::JSWorkerContextErrorHandler::handleEvent):
2967         * bindings/js/JSWorkerContextErrorHandler.h: Added.
2968         (WebCore::JSWorkerContextErrorHandler::create):
2969         (WebCore::createJSWorkerContextErrorHandler):
2970         * bindings/scripts/CodeGeneratorJS.pm:
2971         * bindings/scripts/CodeGeneratorV8.pm:
2972         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
2973         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
2974         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2975         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
2976         (WebCore::V8WorkerContextErrorHandler::create):
2977         * bindings/v8/V8WorkerContextEventListener.cpp:
2978         * bindings/v8/V8WorkerContextEventListener.h:
2979         * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
2980         * workers/WorkerContext.cpp:
2981         (WebCore::WorkerContext::WorkerContext):
2982         (WebCore::WorkerContext::reportException):
2983         * workers/WorkerContext.h:
2984
2985 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
2986
2987         Reviewed by Darin Adler.
2988
2989         Fix some  "explicit braces to avoid ambiguous 'else'" warnings
2990         https://bugs.webkit.org/show_bug.cgi?id=37088
2991
2992         * dom/Node.cpp:
2993         (WebCore::Node::dispatchGenericEvent):
2994         * page/DOMWindow.cpp:
2995         (WebCore::DOMWindow::dispatchEvent):
2996
2997 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2998
2999         Reviewed by Kenneth Rohde Christiansen.
3000
3001         Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
3002
3003         Instead of defining and undefining it later, let's not
3004         define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
3005
3006         No new tests as there is no new functionality.
3007
3008         * config.h:
3009
3010 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3011
3012         Reviewed by Kenneth Rohde Christiansen.
3013
3014         [Qt] [Symbian] Remove obsolete build flags for Symbian
3015         https://bugs.webkit.org/show_bug.cgi?id=37083
3016
3017         Symbian port of QtWebKit port does not use icu, so it does 
3018         not need U_HAVE_* defines.
3019
3020         Symbian now has inttypes.h as part of OpenC.
3021
3022         stdio.h, limits.h and MathExtras.h are already included in
3023         more appropriate locations.
3024
3025         No new tests as there is no new functionality.
3026
3027         * config.h:
3028
3029 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
3030
3031         Not reviewed: chromium build fix.
3032
3033         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3034         (WebCore::V8InspectorFrontendHost::platformCallback):
3035         (WebCore::V8InspectorFrontendHost::portCallback):
3036
3037 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
3038
3039         Reviewed by Yury Semikhatsky.
3040
3041         Web Inspector: [REGRESSION] platform detection in Chromium
3042         has regressed to unknown.
3043
3044         https://bugs.webkit.org/show_bug.cgi?id=37081
3045
3046         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3047         (WebCore::JSInspectorFrontendHost::platform):
3048         (WebCore::JSInspectorFrontendHost::port):
3049         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3050         (WebCore::V8InspectorFrontendHost::platform):
3051         (WebCore::V8InspectorFrontendHost::port):
3052         * inspector/InspectorFrontendHost.cpp:
3053         * inspector/InspectorFrontendHost.h:
3054         * inspector/InspectorFrontendHost.idl:
3055
3056 2010-04-05  Andrey Kosyakov  <caseq@chromium.org>
3057
3058         Reviewed by Yury Semikhatsky.
3059
3060         Remove logging of successful XHR and worker's importScript()
3061         to inspector console
3062         https://bugs.webkit.org/show_bug.cgi?id=37078
3063
3064         * bindings/js/JSWorkerContextCustom.cpp:
3065         (WebCore::JSWorkerContext::importScripts):
3066         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3067         (WebCore::V8WorkerContext::importScriptsCallback):
3068         * workers/DedicatedWorkerContext.cpp:
3069         (WebCore::DedicatedWorkerContext::importScripts):
3070         * workers/DedicatedWorkerContext.h:
3071         * workers/WorkerContext.cpp:
3072         (WebCore::WorkerContext::importScripts):
3073         * workers/WorkerContext.h:
3074         * xml/XMLHttpRequest.cpp:
3075         (WebCore::XMLHttpRequest::didFinishLoading):
3076
3077 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
3078
3079         Not reviewed. Rolling out chromium changes r57028 and r57032
3080         for breaking chromium layout tests.
3081
3082         * WebCore.gyp/WebCore.gyp:
3083         * WebCore.gypi:
3084         * platform/chromium/DragImageChromium.cpp: Added.
3085         (WebCore::dragImageSize):
3086         (WebCore::deleteDragImage):
3087         (WebCore::scaleDragImage):
3088         (WebCore::dissolveDragImageToFraction):
3089         (WebCore::createDragImageFromImage):
3090         (WebCore::createDragImageIconForCachedImage):
3091         * platform/chromium/DragImageChromiumMac.cpp: Removed.
3092         * platform/chromium/DragImageChromiumSkia.cpp: Removed.
3093         * platform/chromium/DragImageRef.h:
3094
3095 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
3096
3097         Reviewed by Simon Fraser.
3098         Patch by Antonio Gomes <tonikitoo@webkit.org>
3099
3100         Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
3101
3102         WebCore::distanceInDirection method was handling much of the logic not
3103         strictly only related to the distance between nodes acquisition. This
3104         method was simplified and renamed to 'WebCore::distanceDataForNode'.
3105         The latter is now responsible for only getting the distance and alignment
3106         data, while all assignement logic previously in distanceInDirection method
3107         was moved place to updateFocusCandidateIfCloser.
3108
3109         Parent document distance and alignment acquisitions, in turn, have also
3110         changed location: they are both got from deepFindFocusableNodeInDirection,
3111         and passed in a recursive call to findFocusableNodeInDirection via the
3112         candidateParent variable (optional parameter). In addition, the need for
3113         the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
3114         was removed, making the code much cleaner.
3115
3116         No behaviour change at this point. Mostly moving code around to the place
3117         where it should live in.
3118
3119         * page/FocusController.cpp:
3120         (WebCore::FocusController::advanceFocusDirectionally):
3121         (WebCore::updateFocusCandidateIfCloser):
3122         (WebCore::FocusController::findFocusableNodeInDirection):
3123         (WebCore::FocusController::deepFindFocusableNodeInDirection):
3124         * page/FocusController.h:
3125         * page/SpatialNavigation.cpp:
3126         (WebCore::distanceDataForNode):
3127         (WebCore::renderRectRelativeToRootDocument):
3128         * page/SpatialNavigation.h:
3129
3130 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
3131
3132         Reviewed by Timothy Hatcher.
3133
3134         Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
3135
3136         https://bugs.webkit.org/show_bug.cgi?id=37072
3137
3138         * inspector/front-end/StylesSidebarPane.js:
3139         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
3140
3141 2010-04-03  yael aharon  <yael.aharon@nokia.com>
3142
3143         Reviewed by Darin Adler.
3144
3145         Enable HTMLProgressElement for Safari on OSX
3146         https://bugs.webkit.org/show_bug.cgi?id=36961
3147
3148         * Configurations/FeatureDefines.xcconfig:
3149         * WebCore.xcodeproj/project.pbxproj:
3150         * rendering/RenderThemeMac.h:
3151         * rendering/RenderThemeMac.mm:
3152         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
3153         (WebCore::RenderThemeMac::animationDurationForProgressBar):
3154         (WebCore::RenderThemeMac::adjustProgressBarStyle):
3155         (WebCore::RenderThemeMac::paintProgressBar):
3156
3157 2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
3158
3159         Unreviewed.
3160
3161         Fix debug build with GCC >= 4.3.
3162
3163         * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
3164
3165 2010-04-03  Kenneth Russell  <kbr@google.com>
3166
3167         Reviewed by Darin Fisher.
3168
3169         Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
3170         https://bugs.webkit.org/show_bug.cgi?id=36574
3171
3172         Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
3173         points causing them to throw exceptions rather than synthesize GL
3174         errors. Fixed the implementations to synthesize INVALID_VALUE
3175         rather than INVALID_OPERATION to comply to the WebGL spec. Updated
3176         uniform-location-expected.txt to incorporate the correct error.
3177         Tested in Safari and Chromium.
3178
3179         Test: fast/canvas/webgl/null-uniform-location.html
3180
3181         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3182         (WebCore::V8WebGLRenderingContext::getUniformCallback):
3183         (WebCore::vertexAttribAndUniformHelperf):
3184         (WebCore::uniformHelperi):
3185         (WebCore::uniformMatrixHelper):
3186         * html/canvas/WebGLRenderingContext.cpp:
3187         (WebCore::WebGLRenderingContext::uniform1f):
3188         (WebCore::WebGLRenderingContext::uniform1fv):
3189         (WebCore::WebGLRenderingContext::uniform1i):
3190         (WebCore::WebGLRenderingContext::uniform1iv):
3191         (WebCore::WebGLRenderingContext::uniform2f):
3192         (WebCore::WebGLRenderingContext::uniform2fv):
3193         (WebCore::WebGLRenderingContext::uniform2i):
3194         (WebCore::WebGLRenderingContext::uniform2iv):
3195         (WebCore::WebGLRenderingContext::uniform3f):
3196         (WebCore::WebGLRenderingContext::uniform3fv):
3197         (WebCore::WebGLRenderingContext::uniform3i):
3198         (WebCore::WebGLRenderingContext::uniform3iv):
3199         (WebCore::WebGLRenderingContext::uniform4f):
3200         (WebCore::WebGLRenderingContext::uniform4fv):
3201         (WebCore::WebGLRenderingContext::uniform4i):
3202         (WebCore::WebGLRenderingContext::uniform4iv):
3203         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
3204         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
3205         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
3206
3207 2010-04-02  Andy Estes  <aestes@apple.com>
3208
3209         Reviewed by Adam Barth.
3210
3211         The previous mechanism for testing whether an event was due to a user
3212         gesture only checked the event type, not the source of the event.  This
3213         allowed scripts to defeat popup blocking by programatically emitting
3214         certain types of events.
3215
3216         Change the user gesture detection to check for a flag that is only set
3217         when the event in question was generated through the platform and not
3218         through the DOM.
3219
3220         https://bugs.webkit.org/show_bug.cgi?id=37008
3221
3222         Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
3223                fast/events/popup-blocked-from-fake-button-click.html
3224                fast/events/popup-blocked-from-fake-focus.html
3225
3226         * Android.mk: Add UserGestureIndicator.{cpp, h}.
3227         * GNUmakefile.am: Same.
3228         * WebCore.gypi: Same.
3229         * WebCore.pro: Same.
3230         * WebCore.vcproj/WebCore.vcproj: Same.
3231         * WebCore.xcodeproj/project.pbxproj: Same.
3232         * bindings/v8/ScriptController.cpp:
3233         (WebCore::ScriptController::processingUserGesture): Check the value of
3234         UserGesureIndicator::processingUserGesture().
3235         * dom/Document.cpp:
3236         (WebCore::Document::createEvent): Remove call to
3237         Event::setCreatedByDOM().
3238         * dom/Event.cpp:
3239         (WebCore::Event::Event): Remove initializers for m_createdByDOM.
3240         (WebCore::Event::fromUserGesture): Check the value of
3241         UserGestureIndicator::processingUserGesture().
3242         * dom/Event.h: Remove m_createdByDOM.
3243         * dom/UserGestureIndicator.cpp: Added.
3244         (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
3245         value of s_processingUserGesture before setting it to true.
3246         (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
3247         s_processingUserGesture to its previous value.
3248         * dom/UserGestureIndicator.h: Added.
3249         (WebCore::UserGestureIndicator::processingUserGesture): Return the value
3250         of s_processingUserGesture.
3251         * page/EventHandler.cpp:
3252         (WebCore::EventHandler::handleMousePressEvent): Instantiate a
3253         UserGestureIndicator object on the stack to indicate a user gesture is
3254         being processed.
3255         (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
3256         (WebCore::EventHandler::handleMouseReleaseEvent): Same.
3257         (WebCore::EventHandler::keyEvent): Same.
3258         (WebCore::EventHandler::handleTouchEvent): Same.
3259
3260 2010-04-02  Justin Schuh  <jschuh@chromium.org>
3261
3262         Reviewed by Alexey Proskuryakov.
3263
3264         XHR allows arbitrary XSRF across domains 
3265         https://bugs.webkit.org/show_bug.cgi?id=36843
3266
3267         Added a one-line change to prevent bypassing the XDC check on
3268         synchronous preflighted requests. Added layout tests to cover
3269         variations of this problem.
3270
3271         Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
3272                http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
3273                http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
3274                http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
3275
3276         * loader/DocumentThreadableLoader.cpp:
3277         (WebCore::DocumentThreadableLoader::preflightFailure):
3278
3279 2010-04-02  Nayan Kumar K  <nayankk@gmail.com>
3280
3281         Reviewed by Eric Seidel.
3282
3283         Fix for WML enabled build failure.
3284
3285         https://bugs.webkit.org/show_bug.cgi?id=36648
3286
3287         * wml/WMLOptionElement.cpp:
3288         (WebCore::WMLOptionElement::disabled):
3289         * wml/WMLOptionElement.h:
3290         * wml/WMLSelectElement.cpp:
3291         (WebCore::WMLSelectElement::listBoxSelectItem):
3292         * wml/WMLSelectElement.h:
3293
3294 2010-04-02  MORITA Hajime  <morrita@google.com>
3295
3296         Reviewed by Alexey Proskuryakov.
3297
3298         https://bugs.webkit.org/show_bug.cgi?id=37011
3299         Position::primaryDirection() should not use its own accessor.
3300
3301         No new tests. This is small clenaup with no behaviour change.
3302
3303         * dom/Position.cpp:
3304         (WebCore::Position::primaryDirection):
3305
3306 2010-04-02  Eric Uhrhane  <ericu@chromium.org>
3307
3308         Reviewed by Brady Eidson.
3309
3310         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5.  This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
3311         https://bugs.webkit.org/show_bug.cgi?id=36671
3312
3313         No new tests.  Requires testing on Safari on Windows.
3314
3315         * storage/DatabaseTracker.cpp:
3316         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
3317
3318 2010-04-02  Michael Nordman  <michaeln@google.com>
3319
3320         Reviewed by Nate Chapin.
3321
3322         Set the close policy used by the DatabaseCloseTask in a constructor argument
3323         instead of hard coding it.
3324         https://bugs.webkit.org/show_bug.cgi?id=37037
3325
3326         No new tests, new new functionality.
3327
3328         * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
3329         (WebCore::Database::markAsDeletedAndClose):
3330         * storage/DatabaseTask.cpp:
3331         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
3332         (WebCore::DatabaseCloseTask::doPerformTask):
3333         * storage/DatabaseTask.h:
3334         (WebCore::DatabaseCloseTask::create):
3335
3336 2010-04-02  James Robinson  <jamesr@chromium.org>
3337
3338         Reviewed by Simon Fraser.
3339
3340         Remove an ASSERT that sometimes flakes due to time dependent animations
3341         https://bugs.webkit.org/show_bug.cgi?id=37048
3342
3343         The outline repaint rectangle for a layer might change between two calls
3344         if there are animations involved, even if nothing in the DOM has actually
3345         changed between the calls.
3346
3347         No change in behavior, no new tests.
3348
3349         * rendering/RenderLayer.cpp:
3350         (WebCore::RenderLayer::updateLayerPositions):
3351
3352 2010-04-02  Evan Stade  <estade@chromium.org>
3353
3354         Reviewed by Adam Barth.
3355
3356         [chromium] need DragImage implementation
3357         https://bugs.webkit.org/show_bug.cgi?id=35811
3358
3359         Add two files that failed to get added in my previous patch.
3360
3361         * platform/chromium/DragImageChromiumMac.cpp: Added.
3362         (WebCore::dragImageSize):
3363         (WebCore::deleteDragImage):
3364         (WebCore::scaleDragImage):
3365         (WebCore::dissolveDragImageToFraction):
3366         (WebCore::createDragImageFromImage):
3367         (WebCore::createDragImageIconForCachedImage):
3368         * platform/chromium/DragImageChromiumSkia.cpp: Added.
3369         (WebCore::dragImageSize):
3370         (WebCore::deleteDragImage):
3371         (WebCore::scaleDragImage):
3372         (WebCore::dissolveDragImageToFraction):
3373         (WebCore::createDragImageFromImage):
3374         (WebCore::createDragImageIconForCachedImage):
3375
3376 2010-04-02  Jer Noble  <jer.noble@apple.com>
3377
3378         Reviewed by Eric Carlson.
3379
3380         Configure multi-language movies: when QuickTime has sufficiently loaded
3381         the movie, call into wkQTMovieSelectPreferredAlternates to select the
3382         movie's alternate tracks according to the user's language preferences.
3383
3384         https://bugs.webkit.org/show_bug.cgi?id=36624
3385
3386         * WebCore.base.exp:
3387         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
3388         (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
3389         call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
3390         * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
3391         * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
3392
3393 2010-04-02  James Robinson  <jamesr@chromium.org>
3394
3395         Reviewed by Darin Adler.
3396
3397         Splits RenderBlock::layoutInline into smaller functions
3398         https://bugs.webkit.org/show_bug.cgi?id=36921
3399
3400         RenderBlock::layoutInlineChildren is 351 lines long and very difficult
3401         to comprehend or edit safely. This patch splits it up into a few
3402         slightly smaller functions.  Most of the code is now in the 241 line
3403         layoutRunsAndFloats() which is a slight improvement.
3404
3405         Perf neutral on the page cyclers.  This doesn't introduce any function
3406         calls into the hottest layout paths inside layoutRunsAndFloats and
3407         findNextLineBreak.
3408
3409         No change in behavior, no new tests.
3410
3411         * rendering/RenderBlock.h:
3412         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
3413         * rendering/RenderBlockLineLayout.cpp:
3414         (WebCore::RenderBlock::layoutReplacedElements):
3415         (WebCore::RenderBlock::createLineBoxesForResolver):
3416         (WebCore::RenderBlock::layoutRunsAndFloats):
3417         (WebCore::RenderBlock::layoutInlineChildren):
3418
3419 2010-04-02  Evan Stade  <estade@chromium.org>
3420
3421         Reviewed by Eric Seidel.
3422
3423         [chromium] need DragImage implementation
3424         https://bugs.webkit.org/show_bug.cgi?id=35811
3425
3426         Basic implementation using SkBitmap. Transformations are not supported
3427         yet. No implementation for mac.
3428
3429         * WebCore.gyp/WebCore.gyp:
3430         * WebCore.gypi:
3431         * platform/chromium/DragImageChromium.cpp:
3432         * platform/chromium/DragImageRef.h:
3433
3434 2010-04-02  Evan Martin  <evan@chromium.org>
3435
3436         Reviewed by Eric Seidel.
3437
3438         [chromium] font fallback for generic fonts picks wrong font
3439         https://bugs.webkit.org/show_bug.cgi?id=37033
3440
3441         When a page specifies the generic "monospace" font and the user's
3442         browser-configured monospace font doesn't exist, we previously relied
3443         on getLastResortFallbackFont to eventually pick a monospace font for us.
3444
3445         But that doesn't quite work: WebKit first falls back to the user's
3446         "preferred standard font" before hitting the last resort code path.
3447         So if the above conditions hold but this font exists, we'll end up
3448         never hitting the last resort codepath.
3449
3450         The fix is to allow OS-level font fallback when first attempting to
3451         resolve monospace.  The existing code tried to do this, but the logic
3452         was wrong.  We would eventually fall back to the correct font anyway
3453         so we didn't notice the logic was wrong.
3454
3455         This code is all handling cases where particular fonts aren't installed,
3456         so I can't think of a way to test it; existing tests should still pass.
3457
3458         * platform/graphics/chromium/FontCacheLinux.cpp:
3459         (WebCore::FontCache::createFontPlatformData):
3460
3461 2010-04-02  Andrew Scherkus  <scherkus@chromium.org>
3462
3463         Reviewed by Eric Carlson and Eric Seidel.
3464
3465         Don't stop the playback event timer when media resource loading has suspended.
3466         https://bugs.webkit.org/show_bug.cgi?id=37003
3467
3468         When a user agent decides to suspend media resource loading and enters the
3469         NETWORK_IDLE state we are supposed to only stop the progress event timer but
3470         keep the playback timer running.
3471
3472         Test: http/tests/media/video-play-suspend.html
3473
3474         * html/HTMLMediaElement.cpp:
3475         (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
3476
3477 2010-04-02  Darin Adler  <darin@apple.com>
3478
3479         Fix mispelling that broke the build.
3480
3481         * html/canvas/CanvasRenderingContext2D.cpp:
3482         * html/canvas/CanvasRenderingContext2D.h:
3483         Dashbard -> Dashboard.
3484
3485 2010-04-02  David Levin  <levin@chromium.org>
3486
3487         Reviewed by Darin Adler.
3488
3489         (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
3490         https://bugs.webkit.org/show_bug.cgi?id=36906
3491
3492         * dom/CanvasSurface.cpp: Added methods for items that depended on
3493         CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
3494         can be dealt with in one place.
3495         (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
3496         only run in the document context.
3497         (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
3498         (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
3499         the worker context.
3500         (WebCore::CanvasSurface::styleSelector): Ditto.
3501         * dom/CanvasSurface.h:
3502         * html/HTMLCanvasElement.cpp:
3503         (WebCore::HTMLCanvasElement::getContext): Passing in information into
3504         the CanvasRenderingContext2D constructor to eliminate some uses of document
3505         inside of the CanvasRenderingContext2D class.
3506         * html/HTMLCanvasElement.h:
3507         (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
3508         two parent class versions of the method.
3509         (WebCore::HTMLCanvasElement::computedStyle): Ditto.
3510         * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
3511         removing document usage either by using a bool that is set in the constructor or
3512         by calling one of the new methods added to CanvasSurface.
3513         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3514         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
3515         (WebCore::CanvasRenderingContext2D::checkOrigin):
3516         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
3517         (WebCore::CanvasRenderingContext2D::createPattern):
3518         (WebCore::CanvasRenderingContext2D::setFont):
3519         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3520         * html/canvas/CanvasRenderingContext2D.h:
3521         * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
3522         (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
3523          as it may become slightly more expensive in the future.
3524         (WebCore::WebGLRenderingContext::reshape): Ditto.
3525
3526 2010-04-02  Zhenyao Mo  <zmo@google.com>
3527
3528         Reviewed by Eric Seidel.
3529
3530         Implement and test new framebuffer object attachment behavior.
3531         https://bugs.webkit.org/show_bug.cgi?id=35611
3532
3533         Test: fast/canvas/webgl/framebuffer-object-attachment.html
3534
3535         * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
3536         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
3537         (WebCore::WebGLFramebuffer::setIsAttached):
3538         * html/canvas/WebGLFramebuffer.h: Ditto.
3539         (WebCore::WebGLFramebuffer::isDepthAttached):
3540         (WebCore::WebGLFramebuffer::isStencilAttached):
3541         (WebCore::WebGLFramebuffer::isDepthStencilAttached):
3542         * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
3543         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
3544         * html/canvas/WebGLRenderbuffer.h: Ditto.
3545         (WebCore::WebGLRenderbuffer::setInternalformat):
3546         (WebCore::WebGLRenderbuffer::getInternalformat):
3547         * html/canvas/WebGLRenderingContext.cpp:
3548         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
3549         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
3550         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
3551         (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
3552         * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
3553         * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
3554         (WebCore::GraphicsContext3D::):
3555         * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
3556         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3557         (WebCore::GraphicsContext3D::renderbufferStorage):
3558         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3559
3560 2010-04-02  Kent Tamura  <tkent@chromium.org>
3561
3562         Reviewed by Darin Adler.
3563
3564         Form control state shouldn't be restored for hidden inputs.
3565         https://bugs.webkit.org/show_bug.cgi?id=26241
3566
3567         To fix this issue, we don't save values if it is not changed from
3568         the default value.
3569
3570         Updating the value IDL attribute of some controls such as
3571         type=hidden also updates the value content attribute, and it's
3572         impossible to distinguish the initial value and the current
3573         value. The values of such controls are not saved. It won't be a
3574         problem because we want to save and restore user-edited values.
3575
3576         Test: fast/forms/state-restore-to-non-edited-controls.html
3577
3578         * html/HTMLInputElement.cpp:
3579         (WebCore::HTMLInputElement::saveFormControlState):
3580           Do not save the value if it is same as the default value.
3581         * html/HTMLTextAreaElement.cpp:
3582         (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
3583
3584 2010-04-02  Kent Tamura  <tkent@chromium.org>
3585
3586         Reviewed by Darin Adler.
3587
3588         Forms with autocomplete=off should not consume saved state
3589         https://bugs.webkit.org/show_bug.cgi?id=36762
3590         
3591         Introduce Element::shouldSaveAndRestoreFormControlState() to check
3592         if we should save and restore control state.
3593
3594         Test: fast/forms/state-restore-to-non-autocomplete-form.html
3595
3596         * dom/Document.cpp: