2010-07-14 Martin Robinson <mrobinson@igalia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-14  Martin Robinson  <mrobinson@igalia.com>
2
3         Reviewed by Xan Lopez.
4
5         [GTK] Get rid of libWebCoreJS
6         https://bugs.webkit.org/show_bug.cgi?id=42083
7
8         Remove the need to build libWebCoreJS.
9
10         * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
11         instead of relying on make to build libWebCoreJS. This is a more autotools-
12         -friendly approach.
13
14 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
15
16         One more unreviewed build fix for r63319.
17
18         * html/TimeRanges.cpp:
19         (TimeRanges::nearest):
20
21 2010-07-14  Alexander Pavlov  <apavlov@chromium.org>
22
23         Reviewed by Pavel Feldman.
24
25         Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
26         https://bugs.webkit.org/show_bug.cgi?id=42169
27
28         * inspector/front-end/ElementsPanel.js:
29         (WebInspector.ElementsPanel):
30         (WebInspector.ElementsPanel.prototype.handleShortcut):
31         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
32         * inspector/front-end/inspector.js:
33         (WebInspector.toggleSearchingForNode):
34
35 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
36
37         Unreviewed, build fix for r63319.
38
39         * html/TimeRanges.cpp:
40         (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.
41
42 2010-07-14  Eric Carlson  <eric.carlson@apple.com>
43
44         Reviewed by Darin Adler.
45
46         Update media element's seeking logic
47         https://bugs.webkit.org/show_bug.cgi?id=42178
48         <rdar://problem/8185817>
49
50         * html/HTMLMediaElement.cpp:
51         (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the 
52         nearest time instead of generating an exception. Re-order the logic to match spec text.
53
54         * html/TimeRanges.cpp:
55         (TimeRanges::nearest): New, return the value closest to the specified time.
56         * html/TimeRanges.h:
57
58 2010-07-14  Hans Wennborg  <hans@chromium.org>
59
60         Reviewed by Steve Block.
61
62         Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
63         https://bugs.webkit.org/show_bug.cgi?id=42257
64
65         According to convention, we should avoid "on" in favor of "did" in function names.
66
67         * dom/DeviceOrientationController.cpp:
68         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
69         * dom/DeviceOrientationController.h:
70
71 2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
72
73         Reviewed by Kent Tamura.
74
75         Notify browser about popup being deleted. In EFL and BREW ports, the
76         WebCore::Popup object was being deleted leaving the popup in browser
77         alive. Popups can be deleted in two ways: either from browser to webcore or
78         from webcore to browser. The first path was ok. The problem was when the
79         user changed the page with a popup still opened. This would trigger the
80         second path and would cause WebCore::Popup to be deleted without
81         notifying browser.
82         https://bugs.webkit.org/show_bug.cgi?id=41877
83
84         No new functionality so no new tests.
85
86         * platform/brew/PopupMenuBrew.cpp:
87         (WebCore::PopupMenu::~PopupMenu): call hide() when object is
88         destroyed.
89         * platform/efl/PopupMenuEfl.cpp:
90         (WebCore::PopupMenu::~PopupMenu): ditto.
91
92 2010-07-14  Satish Sampath  <satish@chromium.org>
93
94         Reviewed by Kent Tamura.
95
96         Invoke speech recognition when user clicks on the speech button of input elements.
97         http://bugs.webkit.org/show_bug.cgi?id=42047
98
99         No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
100
101         * rendering/TextControlInnerElements.cpp:
102         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
103         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
104         (WebCore::InputFieldSpeechButtonElement::speechInput):
105         (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
106         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
107         (WebCore::InputFieldSpeechButtonElement::detach):
108         * rendering/TextControlInnerElements.h:
109
110 2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
111
112         Unreviewed, rolling out r63305.
113         http://trac.webkit.org/changeset/63305
114         https://bugs.webkit.org/show_bug.cgi?id=42256
115
116         "debugger-breakpoints-not-activated-on-reload.html fails on
117         GTK" (Requested by yurys on #webkit).
118
119         * inspector/front-end/ScriptView.js:
120         (WebInspector.ScriptView.prototype._addBreakpoint):
121         * inspector/front-end/ScriptsPanel.js:
122         (WebInspector.ScriptsPanel):
123         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
124         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
125         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
126         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
127         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
128         * inspector/front-end/SourceView.js:
129         (WebInspector.SourceView.prototype._addBreakpoint):
130
131 2010-07-14  Steve Block  <steveblock@google.com>
132
133         Reviewed by Jeremy Orlow.
134
135         Provide implementation of DeviceOrientationController and hook into DOMWindow
136         https://bugs.webkit.org/show_bug.cgi?id=39588
137
138         Added DeviceOrientationController::addListener() and removeListener()
139         to start and stop the client and added calls from DomWindow. Implemented
140         DeviceOrientationController::onDeviceOrientationChange() to fire a
141         DeviceOrientationEvent on the window object.
142
143         No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.
144
145         * dom/DeviceOrientationClient.h:
146         * dom/DeviceOrientationController.cpp:
147         (WebCore::DeviceOrientation::addListener):
148         (WebCore::DeviceOrientation::removeListener):
149         (WebCore::DeviceOrientation::removeAllListeners):
150         (WebCore::DeviceOrientationController::onDeviceOrientationChange):
151         * dom/DeviceOrientationController.h:
152         * page/DOMWindow.cpp:
153         (WebCore::DOMWindow::addEventListener):
154         (WebCore::DOMWindow::removeEventListener):
155         (WebCore::DOMWindow::removeAllEventListeners):
156
157 2010-07-14  Yury Semikhatsky  <yurys@chromium.org>
158
159         Reviewed by Pavel Feldman.
160
161         Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
162         https://bugs.webkit.org/show_bug.cgi?id=42164
163
164         * bindings/v8/ScriptDebugServer.cpp:
165         (WebCore::retrieveFrame):
166         (WebCore::ScriptDebugServer::addListener):
167         (WebCore::ScriptDebugServer::setBreakpoint):
168         (WebCore::ScriptDebugServer::removeBreakpoint):
169         (WebCore::ScriptDebugServer::clearBreakpoints):
170         (WebCore::ScriptDebugServer::setBreakpointsActivated):
171         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
172         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
173         (WebCore::ScriptDebugServer::continueProgram):
174         (WebCore::ScriptDebugServer::stepIntoStatement):
175         (WebCore::ScriptDebugServer::stepOverStatement):
176         (WebCore::ScriptDebugServer::stepOutOfFunction):
177         (WebCore::ScriptDebugServer::editScriptSource):
178         (WebCore::ScriptDebugServer::handleV8DebugEvent):
179         * bindings/v8/ScriptDebugServer.h:
180
181 2010-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
182
183         Reviewed by Yury Semikhatsky.
184
185         WebInspector: Clean-up InspectorBackend code. In the next changes
186         InspectorBackend content will be generated by scripts. As far as
187         generator is very simple thing all nontrivial function should be
188         moved to InspectorController and DOMAgent.
189         https://bugs.webkit.org/show_bug.cgi?id=42171
190
191         * bindings/js/ScriptDebugServer.cpp:
192         (WebCore::ScriptDebugServer::pause):
193         * bindings/js/ScriptDebugServer.h:
194         (WebCore::ScriptDebugServer::activateBreakpoints):
195         (WebCore::ScriptDebugServer::deactivateBreakpoints):
196         * bindings/v8/ScriptDebugServer.h:
197         (WebCore::ScriptDebugServer::activateBreakpoints):
198         (WebCore::ScriptDebugServer::deactivateBreakpoints):
199         (WebCore::ScriptDebugServer::pause):
200         * inspector/Inspector.idl:
201         * inspector/InspectorBackend.cpp:
202         (WebCore::InspectorBackend::saveApplicationSettings):
203         (WebCore::InspectorBackend::saveSessionSettings):
204         (WebCore::InspectorBackend::enableSearchingForNode):
205         (WebCore::InspectorBackend::disableSearchingForNode):
206         (WebCore::InspectorBackend::enableMonitoringXHR):
207         (WebCore::InspectorBackend::disableMonitoringXHR):
208         (WebCore::InspectorBackend::getResourceContent):
209         (WebCore::InspectorBackend::reloadPage):
210         (WebCore::InspectorBackend::activateBreakpoints):
211         (WebCore::InspectorBackend::deactivateBreakpoints):
212         (WebCore::InspectorBackend::pause):
213         (WebCore::InspectorBackend::resume):
214         (WebCore::InspectorBackend::stepOverStatement):
215         (WebCore::InspectorBackend::stepIntoStatement):
216         (WebCore::InspectorBackend::stepOutOfFunction):
217         (WebCore::InspectorBackend::setPauseOnExceptionsState):
218         (WebCore::InspectorBackend::copyNode):
219         (WebCore::InspectorBackend::pushNodeByPathToFrontend):
220         (WebCore::InspectorBackend::highlightDOMNode):
221         (WebCore::InspectorBackend::hideDOMNodeHighlight):
222         * inspector/InspectorBackend.h:
223         * inspector/InspectorBackend.idl:
224         * inspector/InspectorController.cpp:
225         (WebCore::InspectorController::saveApplicationSettings):
226         (WebCore::InspectorController::saveSessionSettings):
227         (WebCore::InspectorController::highlightDOMNode):
228         (WebCore::InspectorController::resume):
229         (WebCore::InspectorController::setPauseOnExceptionsState):
230         (WebCore::InspectorController::getResourceContent):
231         (WebCore::InspectorController::reloadPage):
232         * inspector/InspectorController.h:
233         (WebCore::InspectorController::hideDOMNodeHighlight):
234         (WebCore::InspectorController::startProfiling):
235         (WebCore::InspectorController::stopProfiling):
236         (WebCore::InspectorController::enableSearchingForNode):
237         (WebCore::InspectorController::disableSearchingForNode):
238         (WebCore::InspectorController::enableMonitoringXHR):
239         (WebCore::InspectorController::disableMonitoringXHR):
240         * inspector/InspectorDOMAgent.cpp:
241         (WebCore::InspectorDOMAgent::copyNode):
242         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
243         * inspector/InspectorDOMAgent.h:
244         * inspector/front-end/InspectorBackendStub.js:
245         (.WebInspector.InspectorBackendStub.prototype.pause):
246         (.WebInspector.InspectorBackendStub.prototype.resume):
247         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
248         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
249         (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
250         * inspector/front-end/ScriptsPanel.js:
251         (WebInspector.ScriptsPanel.prototype._togglePause):
252         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
253         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
254         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
255         * loader/FrameLoader.cpp:
256         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
257
258 2010-07-14  Joone Hur  <joone@kldp.org>
259
260         Reviewed by Jian Li.
261
262         [GTK] Enabling File Reader/Writer APIs
263         https://bugs.webkit.org/show_bug.cgi?id=40209
264
265         The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.
266
267         * platform/gtk/FileSystemGtk.cpp:
268         (WebCore::openFile): Added.
269         (WebCore::readFromFile): Added.
270
271 2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
272
273         Reviewed by Dirk Schulze.
274
275         Inconsistent LayoutRepainter usage in the SVG renderers
276         https://bugs.webkit.org/show_bug.cgi?id=42245
277
278         Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
279         LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
280         instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
281         performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)
282
283         * rendering/RenderForeignObject.cpp:
284         (WebCore::RenderForeignObject::layout):
285         * rendering/RenderPath.cpp:
286         (WebCore::RenderPath::layout):
287         * rendering/RenderSVGContainer.cpp:
288         (WebCore::RenderSVGContainer::layout):
289         * rendering/RenderSVGImage.cpp:
290         (WebCore::RenderSVGImage::layout):
291         * rendering/RenderSVGRoot.cpp:
292         (WebCore::RenderSVGRoot::layout):
293         * rendering/RenderSVGText.cpp:
294         (WebCore::RenderSVGText::layout):
295
296 2010-07-14  Kent Tamura  <tkent@chromium.org>
297
298         Unreviewed, build fix for r63300.
299
300         * rendering/RenderSVGResourceContainer.h:
301         (WebCore::RenderSVGResourceContainer::containsCyclicReference):
302
303 2010-07-14  Pavel Podivilov  <podivilov@chromium.org>
304
305         Reviewed by Yury Semikhatsky.
306
307         Web Inspector: do not activate all breakpoints on page reload
308         https://bugs.webkit.org/show_bug.cgi?id=41461
309
310         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
311
312         * inspector/front-end/ScriptView.js:
313         (WebInspector.ScriptView.prototype._addBreakpoint):
314         * inspector/front-end/ScriptsPanel.js:
315         (WebInspector.ScriptsPanel):
316         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
317         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
318         * inspector/front-end/SourceView.js:
319         (WebInspector.SourceView.prototype._addBreakpoint):
320
321 2010-07-14  Yury Semikhatsky  <yurys@chromium.org>
322
323         Reviewed by Pavel Feldman.
324
325         Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
326         https://bugs.webkit.org/show_bug.cgi?id=42243
327
328         * inspector/InspectorController.cpp:
329         (WebCore::InspectorController::~InspectorController):
330         (WebCore::InspectorController::addConsoleMessage):
331         (WebCore::InspectorController::clearConsoleMessages):
332         * inspector/InspectorController.h:
333         (WebCore::InspectorController::consoleMessages):
334
335 2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
336
337         Reviewed by Eric Seidel.
338
339         SVG patterns and masks should not be able to reference themselves
340         https://bugs.webkit.org/show_bug.cgi?id=32171
341
342         Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
343         Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).
344
345         Tests: svg/custom/recursive-filter.svg
346                svg/custom/recursive-gradient.svg
347                svg/custom/recursive-mask.svg
348                svg/custom/recursive-pattern.svg
349
350         * rendering/RenderSVGResourceContainer.h:
351         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
352         (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
353         (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
354         (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
355         * rendering/RenderSVGResourceMasker.cpp:
356         (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
357         (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
358         * rendering/RenderSVGResourceMasker.h:
359         * rendering/RenderSVGResourcePattern.cpp:
360         (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
361         (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
362         * rendering/RenderSVGResourcePattern.h:
363         * svg/SVGPaint.cpp:
364         (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
365         * svg/SVGPaint.h:
366
367 2010-07-14  Eric Seidel  <eric@webkit.org>
368
369         Reviewed by Nikolas Zimmermann.
370
371         Selection dumping code should not dump body's offset in the document
372         https://bugs.webkit.org/show_bug.cgi?id=42238
373
374         This requires updating the results of many layout tests,
375         but has no functional change.
376
377         * rendering/RenderTreeAsText.cpp:
378         (WebCore::nodePosition):
379
380 2010-07-14  Kent Tamura  <tkent@chromium.org>
381
382         Reviewed by Darin Fisher.
383
384         <input type=number> UI: inner spin button layout
385         https://bugs.webkit.org/show_bug.cgi?id=41924
386
387         Add layout/event/style code for the inner spin button, which is
388         going to be used for Windows implementation.
389         No new tests because no ports implement the inner spin button yet.
390
391         * rendering/RenderTextControlSingleLine.cpp:
392           Introduce m_innerSpinButton.
393         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
394           Detach m_innerSpinButton.
395         (WebCore::RenderTextControlSingleLine::layout):
396           Set position and size of m_innerSpinButton.
397         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
398           Handle m_innerSpinButton.
399         (WebCore::RenderTextControlSingleLine::forwardEvent):
400           Handle m_innerSpinButton.
401         (WebCore::RenderTextControlSingleLine::textBlockWidth):
402           Shorten the text block width by m_innerSpinButton width.
403         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
404           Add m_innerSpinButton width.
405         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
406           Handle m_innerSpinButton.
407         (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
408           Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
409         * rendering/RenderTextControlSingleLine.h:
410
411 2010-07-14  Kent Tamura  <tkent@chromium.org>
412
413         Reviewed by Darin Fisher.
414
415         <input type=number> UI: Support disabled/readonly states
416         https://bugs.webkit.org/show_bug.cgi?id=38568
417
418         Implement isEnabledFormControl() and isReadOnlyFormControl() of
419         SpinButtonElement. They returns the states of the parent <input> element.
420         The existing isEnabledFormControl() had a bug. It didn't have 'const'
421         modifier.
422
423         Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html
424
425         * rendering/TextControlInnerElements.cpp:
426         (WebCore::SpinButtonElement::defaultEventHandler):
427          - If the input element is disabled or read-only, don't process events.
428          - Protect 'input' object from destruction during focus().
429          - Fix a hit-test issue. We don't need to add renderBox()->y() because
430            'local' is relative to the RenderBox.
431          - Some code cleanup
432         * rendering/TextControlInnerElements.h:
433         (WebCore::SpinButtonElement::isEnabledFormControl):
434         (WebCore::SpinButtonElement::isReadOnlyFormControl):
435
436 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
437
438         Reviewed by Dan Bernstein.
439
440         Page flashes to mostly white towards the end of loading
441         https://bugs.webkit.org/show_bug.cgi?id=42230
442         
443         We constrain the size of huge composited layers. When doing so, we
444         need to use the constained size to set the position as well
445         as the dimensions, to ensure the layer appears in the correct place.
446
447         Test: compositing/tiling/constrained-layer-size.html
448
449         * platform/graphics/mac/GraphicsLayerCA.mm:
450         (WebCore::GraphicsLayerCA::updateLayerPosition):
451
452 2010-07-13  Kent Tamura  <tkent@chromium.org>
453
454         Reviewed by Darin Fisher.
455
456         [Chromium] Linux implementation of <input type=number> UI
457         https://bugs.webkit.org/show_bug.cgi?id=41925
458
459         - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
460           to PlatformThemeChromiumGtk.
461         - Move the code for scrollbar colors from RenderThemeChromiumLinux
462           to PlatformThemeChromiumGtk.
463
464         * WebCore.gypi:
465         * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
466         (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
467         (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
468         (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
469         (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
470         (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
471         * platform/chromium/PlatformThemeChromiumGtk.h: Added.
472         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
473         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
474         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
475          Move the main part of the code to PlatformThemeChromiumGtk.
476         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
477         * rendering/RenderThemeChromiumLinux.cpp:
478         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
479         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
480         * rendering/RenderThemeChromiumLinux.h:
481
482 2010-07-13  Dumitru Daniliuc  <dumi@chromium.org>
483
484         Reviewed by Darin Fisher
485
486         Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
487         https://bugs.webkit.org/show_bug.cgi?id=40607
488
489         Tests: fast/workers/storage/change-version-handle-reuse-sync.html
490                fast/workers/storage/change-version-sync.html
491                fast/workers/storage/empty-statement-sync.html
492                fast/workers/storage/execute-sql-args-sync.html
493                fast/workers/storage/executesql-accepts-only-one-statement-sync.html
494                fast/workers/storage/multiple-transactions-on-different-handles-sync.html
495                fast/workers/storage/open-database-creation-callback-sync.html
496                fast/workers/storage/open-database-empty-version-sync.html
497                fast/workers/storage/open-database-inputs-sync.html
498                fast/workers/storage/open-database-set-empty-version-sync.html
499                fast/workers/storage/open-database-while-transaction-in-progress-sync.html
500                fast/workers/storage/sql-data-types-sync.html
501                fast/workers/storage/sql-exception-codes-sync.html
502                fast/workers/storage/test-authorizer-sync.html
503                fast/workers/storage/transaction-in-transaction-sync.html
504
505         * CMakeLists.txt:
506         * GNUmakefile.am:
507         * WebCore.gypi:
508         * WebCore.pro:
509         * WebCore.vcproj/WebCore.vcproj:
510         * WebCore.xcodeproj/project.pbxproj:
511         * storage/AbstractDatabase.cpp:
512         (WebCore::AbstractDatabase::maximumSize):
513         (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
514         * storage/AbstractDatabase.h:
515         (WebCore::AbstractDatabase::sqliteDatabase):
516         * storage/ChangeVersionWrapper.cpp:
517         (WebCore::ChangeVersionWrapper::performPreflight):
518         (WebCore::ChangeVersionWrapper::performPostflight):
519         * storage/Database.cpp:
520         (WebCore::Database::performGetTableNames):
521         * storage/Database.h:
522         * storage/DatabaseAuthorizer.cpp:
523         (WebCore::DatabaseAuthorizer::createVTable):
524         (WebCore::DatabaseAuthorizer::dropVTable):
525         * storage/DatabaseCallback.h:
526         * storage/DatabaseSync.cpp:
527         (WebCore::ChangeVersionPreflightStep::create):
528         (WebCore::ChangeVersionPreflightStep::performStep):
529         (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
530         (WebCore::ChangeVersionPostflightStep::create):
531         (WebCore::ChangeVersionPostflightStep::performStep):
532         (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
533         (WebCore::DatabaseSync::changeVersion):
534         (WebCore::DatabaseSync::transaction):
535         (WebCore::DatabaseSync::runTransaction):
536         * storage/DatabaseSync.h:
537         * storage/DatabaseTracker.cpp:
538         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
539         * storage/SQLError.h:
540         * storage/SQLResultSet.cpp:
541         * storage/SQLResultSet.h:
542         * storage/SQLStatementCallback.h:
543         * storage/SQLStatementErrorCallback.h:
544         * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
545         (WebCore::SQLStatementSync::SQLStatementSync):
546         (WebCore::SQLStatementSync::execute):
547         * storage/SQLStatementSync.h: Added.
548         * storage/SQLTransaction.cpp:
549         (WebCore::SQLTransaction::runCurrentStatement):
550         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
551         (WebCore::SQLTransaction::postflightAndCommit):
552         * storage/SQLTransaction.h:
553         * storage/SQLTransactionCallback.h:
554         * storage/SQLTransactionClient.cpp:
555         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
556         (WebCore::SQLTransactionClient::didExecuteStatement):
557         (WebCore::SQLTransactionClient::didExceedQuota):
558         * storage/SQLTransactionClient.h:
559         * storage/SQLTransactionErrorCallback.h:
560         * storage/SQLTransactionSync.cpp:
561         (WebCore::transactionClient):
562         (WebCore::SQLTransactionSync::create):
563         (WebCore::SQLTransactionSync::SQLTransactionSync):
564         (WebCore::SQLTransactionSync::~SQLTransactionSync):
565         (WebCore::SQLTransactionSync::executeSQL):
566         (WebCore::SQLTransactionSync::begin):
567         (WebCore::SQLTransactionSync::execute):
568         (WebCore::SQLTransactionSync::commit):
569         (WebCore::SQLTransactionSync::rollback):
570         * storage/SQLTransactionSync.h:
571         (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
572         * storage/SQLTransactionSyncCallback.h:
573         * storage/chromium/SQLTransactionClientChromium.cpp:
574         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
575         (WebCore::SQLTransactionClient::didExecuteStatement):
576         (WebCore::SQLTransactionClient::didExceedQuota):
577
578 2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
579
580         Unreviewed, rolling out r63162.
581         http://trac.webkit.org/changeset/63162
582         https://bugs.webkit.org/show_bug.cgi?id=42224
583
584         This is no longer needed (Requested by olliej_ on #webkit).
585
586         * bindings/v8/ScriptSourceCode.h:
587         (WebCore::ScriptSourceCode::ScriptSourceCode):
588
589 2010-07-13  Eric Seidel  <eric@webkit.org>
590
591         Reviewed by Adam Barth.
592
593         Fix my misreading of "clear to the last marker" in the HTML5 spec
594         https://bugs.webkit.org/show_bug.cgi?id=42199
595
596         * html/HTMLFormattingElementList.cpp:
597         (WebCore::HTMLFormattingElementList::clearToLastMarker):
598         * html/HTMLFormattingElementList.h:
599         * html/HTMLTreeBuilder.cpp:
600         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
601         (WebCore::HTMLTreeBuilder::processEndOfFile):
602
603 2010-07-13  Oliver Hunt  <oliver@apple.com>
604
605         Reviewed by Gavin Barraclough.
606
607         ES5 requires BOMs to be treated as whitespace
608         https://bugs.webkit.org/show_bug.cgi?id=42218
609
610         Remove BOM handling logic from WebCore Script objects.
611
612         * bindings/js/StringSourceProvider.h:
613         (WebCore::StringSourceProvider::StringSourceProvider):
614         * loader/CachedScript.cpp:
615         (WebCore::CachedScript::CachedScript):
616         (WebCore::CachedScript::script):
617         * loader/CachedScript.h:
618
619 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
620
621         Reviewed by Darin Adler.
622
623         Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
624         https://bugs.webkit.org/show_bug.cgi?id=42211
625
626         * html/canvas/CanvasRenderingContext2D.cpp:
627         (WebCore::CanvasRenderingContext2D::rect):
628
629 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
630
631         Reviewed by Dan Bernstein.
632
633         Show IDs and classnames in layer tree dumps
634         https://bugs.webkit.org/show_bug.cgi?id=42213
635
636         When dumping the layer tree via showLayerTree(), include id and class attributes for
637         ease of debugging.
638         
639         No tests, since this is debug-only code.
640
641         * rendering/RenderLayer.cpp:
642         (showLayerTree):
643         * rendering/RenderTreeAsText.cpp:
644         (WebCore::RenderTreeAsText::writeRenderObject):
645         * rendering/RenderTreeAsText.h:
646         (WebCore::):
647
648 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
649
650         Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
651
652         * WebCore.exp.in:
653
654 2010-07-13  Alexey Proskuryakov  <ap@apple.com>
655
656         Reviewed by Darin Adler.
657
658         https://bugs.webkit.org/show_bug.cgi?id=42216
659         ResourceRequest::doUpdateResourceRequest() crashes if client denied request
660
661         This is covered by many regression tests with patch for bug 42201 applied (because it makes
662         us also use this code path for sync requests, and those currently have more strict limitations).
663
664         * platform/network/cf/ResourceRequestCFNet.cpp:
665         (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.
666
667 2010-07-13  Eric Seidel  <eric@webkit.org>
668
669         Reviewed by Adam Barth.
670
671         Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
672         https://bugs.webkit.org/show_bug.cgi?id=42187
673
674         I do not expect these work-arounds to be permanent.  Hixie has promised to
675         addresses the feedback to the parser sections of HTML5 soon.
676         I added these hacks to make our hacks more-closely match Minefield's hacks
677         and thus have us "pass" a few more html5lib runner tests.
678
679         We now pass all of the html5lib foreign content tests
680         (thus we'll likely need to write more).
681
682         Tested by html5lib/runner.html
683
684         * html/HTMLElementStack.cpp:
685         (WebCore::HTMLElementStack::contains):
686         * html/HTMLElementStack.h:
687         * html/HTMLTreeBuilder.cpp:
688         (WebCore::HTMLTreeBuilder::processEndTag):
689
690 2010-07-12  Tony Gentilcore  <tonyg@chromium.org>
691
692         Reviewed by Darin Fisher.
693
694         Wire network times from ResourceLoadTiming to performance.timing
695         https://bugs.webkit.org/show_bug.cgi?id=41824
696
697         * page/Timing.cpp:
698         (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
699         (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
700         (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
701         (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
702         (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
703         (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
704         (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
705         (WebCore::Timing::resourceLoadTiming):
706         * page/Timing.h:
707         * page/Timing.idl:
708
709 2010-07-13  Anders Carlsson  <andersca@apple.com>
710
711         Reviewed by Sam Weinig.
712
713         Add support for URL frame loading using NPN_GetURLNotify
714         https://bugs.webkit.org/show_bug.cgi?id=42192
715
716         * WebCore.exp.in:
717         Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.
718
719 2010-07-04  Zhenyao Mo  <zmo@google.com>
720
721         Reviewed by Darin Fisher.
722
723         Need to track texture completeness
724         https://bugs.webkit.org/show_bug.cgi?id=41381
725
726         Test: fast/canvas/webgl/texture-complete.html
727
728         * html/canvas/WebGLRenderingContext.cpp:
729         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
730         (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
731         (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
732         (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
733         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
734         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
735         * html/canvas/WebGLRenderingContext.h: Add max texture level.
736         * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
737         (WebCore::WebGLTexture::WebGLTexture):
738         (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
739         (WebCore::WebGLTexture::setParameteri): Ditto.
740         (WebCore::WebGLTexture::setParameterf): Ditto.
741         (WebCore::WebGLTexture::setLevelInfo): Set texture info.
742         (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
743         (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
744         (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
745         (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
746         (WebCore::WebGLTexture::_deleteObject):
747         (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
748         (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
749         (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
750         (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
751         * html/canvas/WebGLTexture.h: Ditto.
752         (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
753         (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.
754
755 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
756
757         Reviewed by Darin Adler.
758
759         Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
760         https://bugs.webkit.org/show_bug.cgi?id=42160
761
762         Test: canvas/philip/tests/2d.drawImage.wrongtype.html
763
764         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
765         (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
766         TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.
767
768 2010-07-13  Aaron Boodman  <aa@chromium.org>
769
770         Reviewed by Timothy Hatcher.
771
772         Don't reset per-document user style caches when user styles are updated in
773         Chromium.
774
775         https://bugs.webkit.org/show_bug.cgi?id=42003
776
777         * page/PageGroup.cpp:
778         (WebCore::PageGroup::addUserStyleSheetToWorld):
779         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
780         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
781         (WebCore::PageGroup::removeAllUserContent):
782         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
783         * page/PageGroup.h:
784
785 2010-07-13  Eric Carlson  <eric.carlson@apple.com>
786
787         Reviewed by Dan Bernstein.
788
789         On Leopard, media element can't handle audio/mp4 MIME type in source tag
790         https://bugs.webkit.org/show_bug.cgi?id=29326
791
792         Test: media/media-can-play-mpeg-audio.html
793
794         * platform/MIMETypeRegistry.cpp:
795         (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.
796
797 2010-07-13  Tony Gentilcore  <tonyg@chromium.org>
798
799         Reviewed by Darin Fisher.
800
801         Implement performance.timing.fetchStart
802         https://bugs.webkit.org/show_bug.cgi?id=41816
803
804         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start
805
806         * loader/MainResourceLoader.cpp:
807         (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
808         * loader/FrameLoaderTypes.h:
809         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
810         * page/Timing.cpp:
811         (WebCore::Timing::fetchStart):
812         * page/Timing.h:
813         * page/Timing.idl:
814
815 2010-07-13  Satish Sampath  <satish@chromium.org>
816
817         Reviewed by Steve Block.
818
819         Speech input plumbing in webcore
820         https://bugs.webkit.org/show_bug.cgi?id=41518
821
822         Adds the following:
823         - a SpeechInput class to be used by the speech enabled HTML elements
824         - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
825         - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
826           This is available as a member of WebCore::Page, set by the platforms which support speech input.
827         - a SpeechInputClientListener interface for WebCore to receive events from WebKit
828
829         No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
830
831         * Android.mk:
832         * GNUmakefile.am:
833         * WebCore.gypi:
834         * WebCore.pro:
835         * WebCore.vcproj/WebCore.vcproj:
836         * WebCore.xcodeproj/project.pbxproj:
837         * page/Page.cpp:
838         (WebCore::Page::Page):
839         * page/Page.h: Added SpeechInputClient member variable and associated methods.
840         (WebCore::Page::setSpeechInputClient):
841         (WebCore::Page::speechInputClient):
842         * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
843         (WebCore::SpeechInput::SpeechInput):
844         (WebCore::SpeechInput::recordingComplete):
845         (WebCore::SpeechInput::setRecognitionResult):
846         (WebCore::SpeechInput::startRecognition):
847         * page/SpeechInput.h: Added.
848         (WebCore::SpeechInput::~SpeechInput):
849         (WebCore::SpeechInput::client):
850         * page/SpeechInputListener.h: Added.
851         (WebCore::SpeechInputListener::~SpeechInputListener):
852         * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
853         (WebCore::SpeechInputClient::~SpeechInputClient):
854         * page/SpeechInputClientListener.h: Added.
855         (WebCore::SpeechInputClientListener::~SpeechInputClientListener):
856
857 2010-07-13  Richard Moore <rich@kde.org>, Robert Hogan  <robert@webkit.org>
858
859         Reviewed by Simon Hausmann.
860
861         [Qt] MIME handling in qtwebkit network layer case-sensitivity
862
863         https://bugs.webkit.org/show_bug.cgi?id=28654
864
865         Like other platforms, Qt needs to convert MIME types to lower case
866         so they will be handled by WebCore.
867
868         * platform/network/qt/QNetworkReplyHandler.cpp:
869         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
870
871 2010-07-13  James Robinson  <jamesr@chromium.org>
872
873         Reviewed by Simon Fraser.
874
875         REGRESSION(55056) debug builds ASSERT falsely on pages with animations
876         https://bugs.webkit.org/show_bug.cgi?id=42175
877
878         Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
879         to ensure the precomputed values were valid.  However, if animations are enabled and
880         not hardware accelerated, the repaint box dimensions become time-dependent and the
881         ASSERT()s can trigger.  This can make it impossible to interactively debug pages
882         like google maps.
883
884         https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
885         failing due to time dependent animation values.
886
887         * rendering/RenderObject.cpp:
888         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
889
890 2010-07-13  Zhenyao Mo  <zmo@google.com>
891
892         Reviewed by Darin Fisher.
893
894         Implement bufferData and bufferSubData with ArrayBuffer as input
895         https://bugs.webkit.org/show_bug.cgi?id=41884
896
897         Test: fast/canvas/webgl/buffer-data-array-buffer.html
898
899         * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
900         (WebCore::WebGLBuffer::associateBufferData):
901         (WebCore::WebGLBuffer::associateBufferSubData):
902         * html/canvas/WebGLBuffer.h: Ditto.
903         * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
904         (WebCore::WebGLRenderingContext::bufferData):
905         (WebCore::WebGLRenderingContext::bufferSubData):
906         * html/canvas/WebGLRenderingContext.h: Ditto.
907         * html/canvas/WebGLRenderingContext.idl: Ditto.
908         * platform/graphics/GraphicsContext3D.h: Ditto.
909         * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
910         (WebCore::GraphicsContext3D::bufferData):
911         (WebCore::GraphicsContext3D::bufferSubData):
912
913 2010-07-13  Tony Gentilcore  <tonyg@chromium.org>
914
915         Reviewed by Darin Fisher.
916
917         Implement performance.timing.responseEnd
918         https://bugs.webkit.org/show_bug.cgi?id=42006
919
920         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end
921
922         * loader/FrameLoader.cpp:
923         (WebCore::FrameLoader::finishedLoading):
924         * loader/FrameLoaderTypes.h:
925         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
926         * page/Timing.cpp:
927         (WebCore::Timing::responseEnd):
928         * page/Timing.h:
929         * page/Timing.idl:
930
931 2010-07-13  W. James MacLean <wjmaclean@chromium.org>
932
933         Reviewed by Darin Fisher
934
935         Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
936         https://bugs.webkit.org/show_bug.cgi?id=41962
937
938         Test: fast/canvas/canvas-skia-excessive-size.html
939
940         * WebCore/html/HTMLCanvasElement.cpp
941         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
942
943 2010-07-10  Zhenyao Mo  <zmo@google.com>
944
945         Reviewed by Darin Fisher.
946
947         Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
948         https://bugs.webkit.org/show_bug.cgi?id=42032
949
950         * platform/graphics/mac/GraphicsContext3DMac.mm:
951         (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.
952
953 2010-07-13  Philippe Normand  <pnormand@igalia.com>
954
955         Reviewed by Eric Carlson.
956
957         [GTK] video playback position query flood when mouse over the video element
958         https://bugs.webkit.org/show_bug.cgi?id=35333
959
960         Don't trigger a position query only to know which play/pause
961         button to display. Instead use the media-control button display
962         type to select the image to paint.
963
964         * platform/gtk/RenderThemeGtk.cpp:
965         (WebCore::RenderThemeGtk::paintMediaPlayButton):
966
967 2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
968
969         Unreviewed, rolling out r63192.
970         http://trac.webkit.org/changeset/63192
971         https://bugs.webkit.org/show_bug.cgi?id=42173
972
973         Broke fast/backgrounds/size/contain-and-cover.html (Requested
974         by kling on #webkit).
975
976         * manual-tests/css3-background-layer-count.html: Removed.
977         * rendering/style/FillLayer.cpp:
978         (WebCore::FillLayer::cullEmptyLayers):
979
980 2010-07-13  Marcus Bulach  <bulach@chromium.org>
981
982         Reviewed by Jeremy Orlow.
983
984         Removes cycles caused by "m_this" members in a few IndexedDB classes.
985         https://bugs.webkit.org/show_bug.cgi?id=42161
986
987         Adds IDBAny::create for the various types.
988         No functionality change, just cleaning up.
989
990         * storage/IDBAny.cpp:
991         (WebCore::createIDBAny):
992         (WebCore::IDBAny::create):
993         * storage/IDBAny.h:
994         * storage/IDBDatabaseRequest.cpp:
995         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
996         (WebCore::IDBDatabaseRequest::createObjectStore):
997         (WebCore::IDBDatabaseRequest::removeObjectStore):
998         * storage/IDBDatabaseRequest.h:
999         * storage/IDBKeyRange.cpp:
1000         (WebCore::IDBKeyRange::IDBKeyRange):
1001         * storage/IDBKeyRange.h:
1002         (WebCore::IDBKeyRange::left):
1003         (WebCore::IDBKeyRange::right):
1004         * storage/IDBObjectStoreRequest.cpp:
1005         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
1006         (WebCore::IDBObjectStoreRequest::get):
1007         (WebCore::IDBObjectStoreRequest::add):
1008         (WebCore::IDBObjectStoreRequest::put):
1009         (WebCore::IDBObjectStoreRequest::remove):
1010         (WebCore::IDBObjectStoreRequest::createIndex):
1011         (WebCore::IDBObjectStoreRequest::removeIndex):
1012         * storage/IDBObjectStoreRequest.h:
1013         * storage/IndexedDatabaseRequest.cpp:
1014         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
1015         (WebCore::IndexedDatabaseRequest::open):
1016         * storage/IndexedDatabaseRequest.h:
1017
1018 2010-07-13  Antti Koivisto  <koivisto@iki.fi>
1019
1020         Reviewed by Kenneth Rohde Christiansen.
1021
1022         [Qt] Land the initial build system for WebKit2
1023         https://bugs.webkit.org/show_bug.cgi?id=41604
1024
1025         The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit
1026
1027         * WebCore.pri:
1028         * WebCore.pro:
1029
1030 2010-07-13  Leon Clarke  <leonclarke@google.com>
1031
1032         Reviewed by Pavel Feldman.
1033
1034         Don't access objects after deleting them, following
1035         the addition of link prefetching. Also remove a forward declaration
1036         of the now-nonexistent CachedLinkPrefetch class.
1037         https://bugs.webkit.org/show_bug.cgi?id=3652
1038
1039         No new tests. Correcting aspects of the prefetch change that shouldn't
1040         have affected functionality.
1041
1042         * html/HTMLLinkElement.h:
1043         * loader/loader.cpp:
1044         (WebCore::Loader::Host::cancelPendingRequests):
1045
1046 2010-07-13  Andras Becsi  <abecsi@webkit.org>
1047
1048         Reviewed by Simon Hausmann.
1049
1050         [Qt] Fix the case of a linker option to lowercase to be able to
1051         cross compile QtWebKit for Windows on Linux.
1052
1053         No new tests needed.
1054
1055         * WebCore.pro:
1056
1057 2010-07-12  Ilya Tikhonovsky  <loislo@chromium.org>
1058
1059         Reviewed by Yury Semikhatsky.
1060
1061         WebInspector: Next iteration of Inspector code generator.
1062         The InspectorFrontend2 was replaced by slightly modified version of
1063         InspectorBackend file (Inspector.idl). At the end all the interface
1064         between WebInspector and inspected page will be specified by this file
1065         and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
1066         InspectorBackend.cpp and InspectorBackend.js).
1067         https://bugs.webkit.org/show_bug.cgi?id=42104
1068
1069         * DerivedSources.make:
1070         * GNUmakefile.am:
1071         * WebCore.gyp/WebCore.gyp:
1072         * WebCore.gyp/scripts/rule_binding.py:
1073         * WebCore.gypi:
1074         * WebCore.pri:
1075         * WebCore.xcodeproj/project.pbxproj:
1076         * bindings/scripts/IDLParser.pm:
1077         * bindings/scripts/IDLStructure.pm:
1078         * bindings/scripts/generate-bindings.pl:
1079         * inspector/CodeGeneratorInspector.pm:
1080         * inspector/Inspector.idl: Added.
1081         * inspector/InspectorCSSStore.cpp:
1082         (WebCore::InspectorCSSStore::inspectorStyleSheet):
1083         * inspector/InspectorController.cpp:
1084         (WebCore::InspectorController::connectFrontend):
1085         (WebCore::InspectorController::startTimelineProfiler):
1086         * inspector/InspectorController.h:
1087         (WebCore::InspectorController::remoteInspectorFrontend):
1088         * inspector/InspectorDOMAgent.cpp:
1089         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1090         * inspector/InspectorDOMAgent.h:
1091         (WebCore::InspectorDOMAgent::create):
1092         * inspector/InspectorFrontend2.idl: Removed.
1093         * inspector/InspectorTimelineAgent.cpp:
1094         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1095         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
1096         * inspector/InspectorTimelineAgent.h:
1097
1098 2010-07-12  Steve Block  <steveblock@google.com>
1099
1100         Reviewed by Jeremy Orlow.
1101
1102         DeviceOrientationEvent should use optional properties
1103         https://bugs.webkit.org/show_bug.cgi?id=41607
1104
1105         This change adds a new DeviceOrientation class which takes care of which of the
1106         optional properties are present. DeviceOrientationEvent owns an instance of
1107         DeviceOrientation, rather than owning the properties directly.
1108         DeviceOrientationEvent now requires custom bindings.
1109
1110         Test: fast/dom/DeviceOrientation/optional-event-properties.html
1111
1112         * Android.mk:
1113         * Android.jscbindings.mk:
1114         * Android.v8bindings.mk:
1115         * CMakeLists.txt:
1116         * GNUmakefile.am:
1117         * WebCore.gypi:
1118         * WebCore.pro:
1119         * WebCore.vcproj/WebCore.vcproj:
1120         * WebCore.xcodeproj/project.pbxproj:
1121         * bindings/js/JSBindingsAllInOne.cpp:
1122         * bindings/js/JSDeviceOrientationEventCustom.cpp: Added.
1123         (WebCore::JSDeviceOrientationEvent::alpha):
1124         (WebCore::JSDeviceOrientationEvent::beta):
1125         (WebCore::JSDeviceOrientationEvent::gamma):
1126         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1127         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
1128         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
1129         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
1130         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
1131         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
1132         * dom/DeviceOrientation.cpp: Added.
1133         * dom/DeviceOrientation.h: Added.
1134         (WebCore::DeviceOrientation::create):
1135         (WebCore::DeviceOrientation::canProvideAlpha):
1136         (WebCore::DeviceOrientation::alpha):
1137         (WebCore::DeviceOrientation::canProvideBeta):
1138         (WebCore::DeviceOrientation::beta):
1139         (WebCore::DeviceOrientation::canProvideGamma):
1140         (WebCore::DeviceOrientation::gamma):
1141         (WebCore::DeviceOrientation::DeviceOrientation):
1142         * dom/DeviceOrientationEvent.cpp:
1143         (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
1144         (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
1145         * dom/DeviceOrientationEvent.h:
1146         (WebCore::DeviceOrientationEvent::create):
1147         (WebCore::DeviceOrientationEvent::orientation):
1148         * dom/DeviceOrientationEvent.idl:
1149
1150 2010-07-13  Andreas Kling  <andreas.kling@nokia.com>
1151
1152         Reviewed by Antti Koivisto.
1153
1154         CSS3 background: Number of layers should be determined by background-image element count
1155         https://bugs.webkit.org/show_bug.cgi?id=41201
1156
1157         Change FillLayer culling logic to discard all layers
1158         after the first one without an image set.
1159
1160         Manual test: css3-background-layer-count.html
1161
1162         * manual-tests/css3-background-layer-count.html: Added.
1163         * rendering/style/FillLayer.cpp:
1164         (WebCore::FillLayer::cullEmptyLayers):
1165
1166 2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1167
1168         Reviewed by Darin Adler.
1169
1170         Prevent assertion/duplicate loads for non-deferred subtitute-data loads
1171
1172         https://bugs.webkit.org/show_bug.cgi?id=30879
1173
1174         MainResourceLoader uses the member m_initialRequest to store requests for future
1175         deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
1176         have to clear this request so that subsequent entries into the loader will not
1177         start yet another load.
1178
1179         This can happen as a result of a PageGroupLoadDeferrer going out of scope when
1180         returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
1181         but only in the case of using both substitute-data and non-deferred main resource
1182         load together. That's why two new DRT functions were added:
1183
1184          * queueLoadHTMLString()
1185          * setDeferMainResourceLoad()
1186
1187         The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
1188         and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
1189         added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
1190
1191         Test: fast/loader/non-deferred-substitute-load.html
1192
1193         * loader/MainResourceLoader.cpp:
1194         (WebCore::MainResourceLoader::handleDataLoadNow):
1195
1196 2010-07-13  Yoshiki Hayashi  <yhayashi@google.com>
1197
1198         Reviewed by Kent Tamura.
1199
1200         Make sure correct Nodes are passed to childrenChanged so that
1201         :last-child gets properly applied when fragment is inserted.
1202         https://bugs.webkit.org/show_bug.cgi?id=37944
1203
1204         Test: fast/css/last-child-innerhtml.html
1205
1206         * dom/ContainerNode.cpp:
1207         (WebCore::ContainerNode::replaceChild):
1208         (WebCore::ContainerNode::appendChild):
1209
1210 2010-07-13  Ryosuke Niwa  <rniwa@webkit.org>
1211
1212         Reviewed by Kent Tamura.
1213
1214         InsertListCommand's modifyRange and doApply should be merged
1215         https://bugs.webkit.org/show_bug.cgi?id=41403
1216
1217         Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
1218         Merged the code in modifyRange into doApply and cleaned up.
1219
1220         No test is added since this is a clean up.
1221
1222         * editing/InsertListCommand.cpp:
1223         (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
1224         (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
1225         (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
1226         * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList
1227
1228 2010-07-12  Eric Seidel  <eric@webkit.org>
1229
1230         Reviewed by Adam Barth.
1231
1232         Fix typo in "close the cell" which caused assertion
1233         https://bugs.webkit.org/show_bug.cgi?id=42138
1234
1235         * html/HTMLTreeBuilder.cpp:
1236         (WebCore::HTMLTreeBuilder::closeTheCell):
1237
1238 2010-07-12  Eric Seidel  <eric@webkit.org>
1239
1240         Reviewed by Adam Barth.
1241
1242         Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
1243         https://bugs.webkit.org/show_bug.cgi?id=42143
1244
1245         Covered by a zillion layout tests.
1246
1247         * html/HTMLTreeBuilder.cpp:
1248         (WebCore::HTMLTreeBuilder::processEndTag):
1249         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1250
1251 2010-07-12  Jay Civelli  <jcivelli@chromium.org>
1252
1253         Reviewed by Kent Tamura.
1254
1255         Adding right aligned text called labels to PopupMenus.
1256         https://bugs.webkit.org/show_bug.cgi?id=41964
1257
1258         * platform/PopupMenuClient.h:
1259         * platform/chromium/PopupMenuChromium.cpp:
1260         (WebCore::PopupListBox::paintRow):
1261         * rendering/RenderMenuList.cpp:
1262         (WebCore::RenderMenuList::itemLabel):
1263         * rendering/RenderMenuList.h:
1264         * rendering/RenderTextControlSingleLine.cpp:
1265         (WebCore::RenderTextControlSingleLine::itemLabel):
1266         * rendering/RenderTextControlSingleLine.h:
1267
1268 2010-07-12  Mihnea Ovidenea  <mihnea@adobe.com>
1269
1270         Reviewed by Dirk Schulze.
1271
1272         [Cairo] Incorrect Test for Text Fill
1273         https://bugs.webkit.org/show_bug.cgi?id=42123
1274
1275         Correct test used for text shadow.  It currently checks for
1276         equality with cTextFill.  However, this test fails if the
1277         text drawing mode is set to 'cTextFill | cTextStroke'.  Fix
1278         is to modify the test to be like other Cairo uses of the
1279         text drawing mode, and check for the cTextFill bit being
1280         set, not for equality with the bit.
1281
1282         * platform/graphics/cairo/FontCairo.cpp:
1283         (WebCore::Font::drawGlyphs):
1284
1285 2010-07-12  Eric Seidel  <eric@webkit.org>
1286
1287         Reviewed by Sam Weinig.
1288
1289         Fix a typo in the adoption agency causing test failures
1290         https://bugs.webkit.org/show_bug.cgi?id=42133
1291
1292         The new behavior actually differs from old webkit.
1293         <p><b><p>TEST
1294         was not bold in the old parser, but is bold now.
1295         This matches Minefield and the HTML5 spec.
1296
1297         Covered by two tests in html5lib/runner.html.
1298
1299         * html/HTMLTreeBuilder.cpp:
1300         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1301
1302 2010-07-12  Pavel Feldman  <pfeldman@chromium.org>
1303
1304         Reviewed by Joseph Pecoraro.
1305
1306         Web Inspector: provide starts and ends for network phases instead of duration.
1307
1308         https://bugs.webkit.org/show_bug.cgi?id=42091
1309
1310         * inspector/InspectorResource.cpp:
1311         (WebCore::InspectorResource::updateResponse):
1312         (WebCore::InspectorResource::updateScriptObject):
1313         (WebCore::InspectorResource::buildObjectForTiming):
1314         * platform/network/ResourceLoadTiming.h:
1315         (WebCore::ResourceLoadTiming::deepCopy):
1316         (WebCore::ResourceLoadTiming::operator==):
1317         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
1318         * platform/network/ResourceResponseBase.cpp:
1319         (WebCore::ResourceResponseBase::ResourceResponseBase):
1320         (WebCore::ResourceResponseBase::wasCached):
1321         (WebCore::ResourceResponseBase::setWasCached):
1322         * platform/network/ResourceResponseBase.h:
1323
1324 2010-07-12  Adam Barth  <abarth@webkit.org>
1325
1326         Reviewed by Eric Seidel.
1327
1328         HTML5 Parser: document.write after onload blows away document
1329         https://bugs.webkit.org/show_bug.cgi?id=40745
1330
1331         Rather than blowing away the document when we get a document.write call
1332         after the document is closed, we new ignore the write.  This
1333         technically violates the spec (which requires us to blow away the
1334         document), but blowing away the document breaks too many web sites.
1335
1336         Rather than this patch, we could go back to our old behavior (which was
1337         to append the bytes just before EOF), but implementing this approach
1338         (suggested by Henri) will let us gather data about whether his approach
1339         is workable.
1340
1341         See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
1342
1343         * dom/Document.cpp:
1344         (WebCore::Document::write):
1345         * html/HTMLDocumentParser.cpp:
1346         (WebCore::HTMLDocumentParser::insert):
1347
1348 2010-07-12  Tony Gentilcore  <tonyg@chromium.org>
1349
1350         Reviewed by Oliver Hunt.
1351
1352         Strip BOMs from source before passing to V8
1353         https://bugs.webkit.org/show_bug.cgi?id=42102
1354
1355         This extra copy may carry a performance penalty. We should investigate
1356         whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().
1357
1358         No new tests because no new functionality.
1359
1360         * bindings/v8/ScriptSourceCode.h:
1361         (WebCore::ScriptSourceCode::ScriptSourceCode):
1362
1363 2010-07-12  Gustavo Noronha Silva  <gns@gnome.org>
1364
1365         Unreviewed. make distcheck fix.
1366
1367         * GNUmakefile.am:
1368
1369 2010-07-12  Yuta Kitamura  <yutak@chromium.org>
1370
1371         Reviewed by Alexey Proskuryakov.
1372
1373         Fix crash caused by unintentional deletion of worker bridge and channel.
1374
1375         WebSocket: Crash caused by calling close() within onmessage handler
1376         https://bugs.webkit.org/show_bug.cgi?id=41507
1377
1378         Test: websocket/tests/workers/close-in-onmessage-crash.html
1379
1380         * websockets/WebSocket.cpp:
1381         (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
1382         which causes m_channel to get freed.
1383         * websockets/WorkerThreadableWebSocketChannel.cpp:
1384         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
1385         the bridge because waitForMethodCompletion() may dereference the bridge.
1386         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
1387         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
1388         The root cause is a call to WorkerRunLoop::runInMode in this function.
1389         It may call WebSocket::didClose() even inside WebSocket::close(), which frees
1390         everything including the worker bridge and the channel.
1391
1392 2010-07-12  Adam Barth  <abarth@webkit.org>
1393
1394         Reviewed by Eric Seidel.
1395
1396         REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
1397         https://bugs.webkit.org/show_bug.cgi?id=41797
1398
1399         Once we resume parsing after script execution, we want to clear the
1400         preload scanner so we don't scan any bytes it might have accumulated.
1401
1402         Test: http/tests/loading/preload-slow-loading.php
1403
1404         * html/HTMLDocumentParser.cpp:
1405         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1406
1407 2010-07-12  Albert J. Wong  <ajwong@chromium.org>
1408
1409         Reviewed by Jian Li.
1410
1411         Adding directional property enums back into
1412         CSSComputedStyleDeclaration::getPropertyCSSValue().
1413
1414         https://bugs.webkit.org/show_bug.cgi?id=42122
1415
1416         The four directional -webkit- properties --  CSSPropertyWebkitMarginEnd,
1417         CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
1418         CSSPropertyWebkitPaddingStart -- are resolved into other css
1419         properties before the swtich statement via a call to
1420         CSSProperty::resolveDirectionAwareProperty().  Thus, they are never
1421         seen by the switch statement.  However, if you leave out a potential
1422         enum value from the switch, gcc will generate a warning if -Wall is
1423         specified.  This warning breaks the Chromium build.  To avoid this,
1424         we add in the enum values and ASSERT_NOT_REACHED() if they are hit.
1425
1426
1427         * css/CSSComputedStyleDeclaration.cpp:
1428         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1429
1430 2010-07-12  Chris Fleizach  <cfleizach@apple.com>
1431
1432         Reviewed by Darin Adler.
1433
1434         AX converts AtomicStrings to .string() more than needed
1435         https://bugs.webkit.org/show_bug.cgi?id=42056
1436
1437         No behavior change. No new tests.
1438
1439         * accessibility/AccessibilityRenderObject.cpp:
1440         (WebCore::AccessibilityRenderObject::isPressed):
1441         (WebCore::siblingWithAriaRole):
1442         (WebCore::AccessibilityRenderObject::intValue):
1443         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1444         (WebCore::AccessibilityRenderObject::hasTextAlternative):
1445         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
1446         (WebCore::AccessibilityRenderObject::supportsARIADropping):
1447         (WebCore::AccessibilityRenderObject::supportsARIADragging):
1448         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
1449         (WebCore::AccessibilityRenderObject::isExpanded):
1450         (WebCore::AccessibilityRenderObject::isRequired):
1451         (WebCore::AccessibilityRenderObject::isSelected):
1452         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
1453         (WebCore::AccessibilityRenderObject::isEnabled):
1454         (WebCore::AccessibilityRenderObject::activeDescendant):
1455         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1456         (WebCore::AccessibilityRenderObject::orientation):
1457         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
1458         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
1459
1460 2010-07-12  Tony Chang  <tony@chromium.org>
1461
1462         Reviewed by David Hyatt.
1463
1464         crash in FrameView::detachCustomScrollbars
1465         https://bugs.webkit.org/show_bug.cgi?id=41196
1466
1467         Test: scrollbars/hidden-iframe-scrollbar-crash.html
1468
1469         * page/FrameView.cpp:
1470         (WebCore::FrameView::detachCustomScrollbars):
1471
1472 2010-07-12  Eric Seidel  <eric@webkit.org>
1473
1474         Reviewed by Adam Barth.
1475
1476         HTML tags should break out of foreign content
1477         https://bugs.webkit.org/show_bug.cgi?id=42106
1478
1479         Implement another paragraph of the spec to pass another
1480         bunch of foreign content tests.
1481
1482         This fixes a bunch of tests in html5lib/runner.html.
1483         After this change we only have 4 remaining foreign content failures.
1484
1485         * html/HTMLTreeBuilder.cpp:
1486         (WebCore::HTMLTreeBuilder::processStartTag):
1487
1488 2010-07-12  Zhenyao Mo  <zmo@google.com>
1489
1490         Reviewed by Darin Fisher.
1491
1492         Bring bufferData and clear to GLES2 compliant
1493         https://bugs.webkit.org/show_bug.cgi?id=41574
1494
1495         * html/canvas/WebGLRenderingContext.cpp:
1496         (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
1497         (WebCore::WebGLRenderingContext::clear): Check mask.
1498         (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
1499         * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.
1500
1501 2010-07-12  Eric Seidel  <eric@webkit.org>
1502
1503         Unreviewed.  Attempt to fix Chromium Windows build.
1504
1505         Always generate SVGNames and MathMLNames for all ports (to support HTML5)
1506         https://bugs.webkit.org/show_bug.cgi?id=42050
1507
1508         Another way to fix this might be to mark all the .in files with
1509         svn:eol=native.  But fixing the perl to be more robust against
1510         stray whitespace seems to be a better long-term fix.
1511
1512         No functional change, thus no tests.
1513
1514         * bindings/scripts/InFilesParser.pm:
1515
1516 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
1517
1518         Reviewed by Kenneth Rohde Christiansen.
1519
1520         Remove dependency on PlatformString.h in Color.h
1521         https://bugs.webkit.org/show_bug.cgi?id=42109
1522
1523         * platform/graphics/Color.cpp:
1524         * platform/graphics/Color.h:
1525
1526 2010-07-12  Eric Seidel  <eric@webkit.org>
1527
1528         Unreviewed, build fix.
1529
1530         Update HTMLTreeBuilder now that MathMLNames is always generated
1531         https://bugs.webkit.org/show_bug.cgi?id=42059
1532
1533         Fix the Windows project file to build MathMLNames.*.
1534         Also added MathMLElementFactory.* which is a NOOP now, but will
1535         prevent folks from breaking the build when they turn MathML on.
1536
1537         * WebCore.vcproj/WebCore.vcproj:
1538
1539 2010-07-12  Eric Carlson  <eric.carlson@apple.com>
1540
1541         Reviewed by Darin Adler.
1542
1543         Update media element's handling of empty 'src' attribute
1544         https://bugs.webkit.org/show_bug.cgi?id=42001
1545
1546         * html/HTMLMediaElement.cpp:
1547         (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
1548         (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
1549         (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert 
1550         'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. 
1551
1552         * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.
1553
1554         * html/HTMLSourceElement.cpp:
1555         (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
1556         (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
1557         * html/HTMLSourceElement.h:
1558
1559         * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.
1560
1561         * html/HTMLVideoElement.cpp:
1562         (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert 
1563         'poster' to URL instead of document()->completeURL().
1564
1565         * html/HTMLVideoElement.idl:  Add 'NonEmpty' option to 'poster' attribute.
1566
1567 2010-07-12  Martin Robinson  <mrobinson@igalia.com>
1568
1569         Reviewed by Xan Lopez.
1570
1571         [GTK] make dist is broken because of missing headers and other miscellaneous reasons
1572         https://bugs.webkit.org/show_bug.cgi?id=42107
1573
1574         * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
1575         that it is not built into libWebCoreJS. Add missing header to the source list.
1576         Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.
1577
1578 2010-07-12  Eric Seidel  <eric@webkit.org>
1579
1580         Reviewed by Adam Barth.
1581
1582         HTMLTreeBuilder needs to support mixing SVG and MathML content
1583         https://bugs.webkit.org/show_bug.cgi?id=42096
1584
1585         This is just a direct transcription of another paragraph of the
1586         HTML5 spec.
1587
1588         This improved a couple results in html5lib/runner.html, but more
1589         work to do yet to pass all the foreign content tests.
1590
1591         * html/HTMLTreeBuilder.cpp:
1592         (WebCore::HTMLTreeBuilder::processStartTag):
1593         (WebCore::HTMLTreeBuilder::processEndTag):
1594         (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
1595         * html/HTMLTreeBuilder.h:
1596         * mathml/mathtags.in:
1597
1598 2010-07-12  Eric Seidel  <eric@webkit.org>
1599
1600         Reviewed by Adam Barth.
1601
1602         Update HTMLTreeBuilder now that MathMLNames is always generated
1603         https://bugs.webkit.org/show_bug.cgi?id=42059
1604
1605         Fix the HTMLTreeBuilder MathML code path to compile and remove
1606         the MathML and SVG guards now that SVGNames and MathMLNames are
1607         always compiled into ever port after:
1608         https://bugs.webkit.org/show_bug.cgi?id=42050
1609
1610         This fixed a whole bunch of libhtml5 tests now that we have the
1611         mathml code paths enabled.
1612
1613         * html/HTMLTreeBuilder.cpp:
1614         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1615         (WebCore::HTMLTreeBuilder::processStartTag):
1616         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1617         (WebCore::HTMLTreeBuilder::processEndTag):
1618         * page/Frame.cpp:
1619         (WebCore::Frame::Frame):
1620          - Always init SVGNames and MathML names.
1621
1622 2010-07-12  Simon Fraser  <simon.fraser@apple.com>
1623
1624         Reviewed by Dan Bernstein.
1625
1626         Don't go into compositing mode for 0x0 plugins
1627         https://bugs.webkit.org/show_bug.cgi?id=34009
1628         
1629         Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
1630         height or width is zero.
1631         
1632         Previously we made all compositing decisions inside styleChanged(). However,
1633         now that plugin and iframe compositing behavior depends on renderer size, we have
1634         to wait until layout before deciding whether to composite these. This behavior
1635         change is controlled by the m_compositingDependsOnGeometry flag. When set,
1636         updateCompositingLayers() always does a hierarchy update.
1637
1638         Tests: compositing/iframes/iframe-size-from-zero.html
1639                compositing/iframes/iframe-size-to-zero.html
1640                compositing/plugins/1x1-composited-plugin.html
1641                compositing/plugins/large-to-small-composited-plugin.html
1642                compositing/plugins/small-to-large-composited-plugin.html
1643
1644         * page/FrameView.cpp:
1645         (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
1646         have to always enter updateCompositingLayers().
1647         (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
1648         (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.
1649
1650         * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
1651         * rendering/RenderLayerCompositor.cpp:
1652         (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
1653         (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
1654         we always need to run through the layer hierarchy looking for things which need to be composited, even if
1655         we're not (yet) in compositing mode.
1656         
1657         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
1658         on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
1659         when processing the root layer, for the case where the compositing mode changes.
1660         
1661         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
1662         flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
1663         if height * width > 1.
1664         
1665         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
1666         flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
1667         if height or width is greater than zero.
1668
1669 2010-07-12  Simon Fraser  <simon.fraser@apple.com>
1670
1671         Reviewed by Dan Bernstein.
1672
1673         Need to do a layout when RenderLayers come and go because of compositing
1674         https://bugs.webkit.org/show_bug.cgi?id=42108
1675         
1676         If we create or destroy RenderLayers for reasons other than style changes
1677         (e.g. because of composited iframes or plugins), then we need to ensure
1678         that we do a layout.
1679
1680         Test: compositing/iframes/layout-on-compositing-change.html
1681
1682         * rendering/RenderObject.cpp:
1683         (WebCore::RenderObject::adjustStyleDifference):
1684
1685 2010-07-11  Eric Seidel  <eric@webkit.org>
1686
1687         Reviewed by Darin Adler.
1688
1689         Always generate SVGNames and MathMLNames for all ports (to support HTML5)
1690         https://bugs.webkit.org/show_bug.cgi?id=42050
1691
1692         Historically, FOONames has only been generate when ENABLE(FOO) is defined.
1693         However, for HTML5 parser support, we need to have access to the SVG
1694         and MathML tag names regardless of whether we the engine is configured
1695         to render SVG or MathML content.
1696
1697         This change enables generation of SVGNames and MathMLNames on all ports and
1698         makes it so that ports can include FOOElementFactory.* regardless of whether
1699         ENABLE(FOO) is defined (and have it do the right thing).
1700
1701         No functional change (yet) so no tests.
1702
1703         * DerivedSources.make:
1704         * GNUmakefile.am:
1705         * WebCore.gyp/WebCore.gyp:
1706         * WebCore.pri:
1707         * dom/make_names.pl:
1708
1709 2010-07-10  Eric Seidel  <eric@webkit.org>
1710
1711         Reviewed by Adam Barth.
1712
1713         make_names.pl should always generate all names in Names.* files
1714         https://bugs.webkit.org/show_bug.cgi?id=42023
1715
1716         Only the *ElementFactory files need to have conditional contents
1717         based on enabled features.  WebCore should always have all known
1718         names for SVG, MathML, XML, XLink, HTML, etc. generated in the
1719         various *Names files, even if features are disabled.
1720
1721         make_names.pl is kinda a big hack at this point.  I tried to clean
1722         up a little as I went.  The way I made *Names include all names was to
1723         read the .in files twice, once using the preprocessor and once without.
1724
1725         * dom/make_names.pl:
1726
1727 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
1728
1729         Reviewed by Oliver Hunt.
1730
1731         Canvas: Move fillRect() save/restore into GraphicsContext implementations
1732         https://bugs.webkit.org/show_bug.cgi?id=42088
1733
1734         Saving the platform painter state is an expensive operation,
1735         so don't do it in fillRect() for platforms that don't need it. (CG, Qt)
1736
1737         * html/canvas/CanvasRenderingContext2D.cpp:
1738         (WebCore::CanvasRenderingContext2D::fillRect):
1739         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1740         (WebCore::GraphicsContext::fillRect):
1741         * platform/graphics/skia/GraphicsContextSkia.cpp:
1742         (WebCore::GraphicsContext::fillRect):
1743         * platform/graphics/wince/GraphicsContextWince.cpp:
1744         (WebCore::GraphicsContext::fillRect):
1745         * platform/graphics/wx/GraphicsContextWx.cpp:
1746         (WebCore::GraphicsContext::fillRect):
1747
1748 2010-07-12  Nate Chapin  <japhet@chromium.org>
1749
1750         Reviewed by Darin Fisher.
1751
1752         Ensure that a cache policy that forces validation is cleared once
1753         the load event is fired, rather than only doing so at the next
1754         navigation. This leads to a lot of unnecessary load on AJAX-y
1755         websites.
1756
1757         https://bugs.webkit.org/show_bug.cgi?id=41813
1758
1759         Test: http/tests/xmlhttprequest/cache-headers-after-reload.html
1760
1761         * loader/FrameLoader.cpp:
1762         (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
1763         (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
1764             DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
1765         (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
1766         * loader/SubresourceLoader.cpp:
1767         (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
1768
1769 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
1770
1771         Reviewed by Oliver Hunt.
1772
1773         CSS color parsing optimizations
1774         https://bugs.webkit.org/show_bug.cgi?id=42073
1775
1776         - Avoid instantiating a CSSParser in parseColor() unless necessary.
1777         - Fixed hex color fast-path to support strings starting with '#'.
1778         - Avoid allocating a new string for the value part of a '#' color.
1779
1780         * css/CSSParser.cpp:
1781         (WebCore::CSSParser::parseColor):
1782         * platform/graphics/Color.cpp:
1783         (WebCore::Color::parseHexColor):
1784         (WebCore::Color::Color):
1785         * platform/graphics/Color.h:
1786
1787 2010-07-09  Alexey Proskuryakov  <ap@apple.com>
1788
1789         Reviewed by Darin Adler.
1790
1791         https://bugs.webkit.org/show_bug.cgi?id=13075
1792         XMLHttpRequest with failed authentication should set status to 401
1793
1794         https://bugs.webkit.org/show_bug.cgi?id=6871
1795         <rdar://problem/3363403> 401 error page is never shown
1796
1797         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
1798         Added a comment explaining why we handle empty credentials differently here.
1799
1800         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
1801         Bring this code in sync with Mac.
1802
1803 2010-07-12  Anders Carlsson  <andersca@apple.com>
1804
1805         Reviewed by Adam Roben.
1806
1807         Add a PluginController class, use it for invalidation and getting the user agent
1808         https://bugs.webkit.org/show_bug.cgi?id=42084
1809
1810         * WebCore.exp.in:
1811         Export Widget::convertToContainingWindow.
1812
1813 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
1814
1815         Reviewed by Simon Hausmann.
1816
1817         [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
1818         https://bugs.webkit.org/show_bug.cgi?id=41457
1819
1820         Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
1821         Fixes corruption when retrieving data that was set with anything other than text/plain
1822
1823         Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.
1824
1825         * platform/qt/ClipboardQt.cpp:
1826         (WebCore::isHtmlMimeType):
1827         (WebCore::ClipboardQt::getData):
1828         (WebCore::ClipboardQt::setData):
1829
1830 2010-07-12  Steve Block  <steveblock@google.com>
1831
1832         Reviewed by Jeremy Orlow.
1833
1834         add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
1835         https://bugs.webkit.org/show_bug.cgi?id=32273
1836
1837         Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.
1838
1839         * loader/CachedFont.cpp:
1840
1841 2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1842
1843         Unreviewed.
1844
1845         [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
1846         CMakeListsEfl.txt.
1847
1848         * CMakeLists.txt:
1849         * CMakeListsEfl.txt:
1850
1851 2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1852
1853         Unreviewed build fix after r60050.
1854
1855         * CMakeLists.txt: Add WebCore/bindings to the include path.
1856
1857 2010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1858
1859         Reviewed by Xan Lopez.
1860
1861         [GTK] Crashes when going back with page cache in unknown circunstances
1862         https://bugs.webkit.org/show_bug.cgi?id=41710
1863
1864         Could not yet find a way to reproduce this in a layout test. The
1865         issue is document being NULL, so this NULL-check should be enough
1866         to get rid of the crash. We are working on trying to find a better
1867         solution for these null cases, like attaching the document earlier
1868         when openning a cached page.
1869
1870         * page/EventHandler.cpp:
1871         (WebCore::EventHandler::sendScrollEvent):
1872
1873 2010-07-12  Alexander Pavlov  <apavlov@chromium.org>
1874
1875         Reviewed by Yury Semikhatsky.
1876
1877         [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
1878         https://bugs.webkit.org/show_bug.cgi?id=41958
1879
1880         * page/PageGroupLoadDeferrer.cpp:
1881         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1882         * page/PageGroupLoadDeferrer.h:
1883
1884 2010-07-12  François Sausset  <sausset@gmail.com>
1885
1886         Reviewed by Kenneth Rohde Christiansen.
1887
1888         Make the mathsize MathML attribute handle values in em, px, pt,...
1889         https://bugs.webkit.org/show_bug.cgi?id=42067
1890
1891         Test: mathml/presentation/attributes.xhtml
1892
1893         * css/mathml.css:
1894         (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
1895         (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
1896         (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
1897         * mathml/MathMLElement.cpp:
1898         (WebCore::MathMLElement::parseMappedAttribute):
1899
1900 2010-07-12  Xan Lopez  <xlopez@igalia.com>
1901
1902         Reviewed by Gustavo Noronha.
1903
1904         Fix compilation with sealed GTK+.
1905
1906         * platform/gtk/GtkVersioning.h:
1907         * platform/gtk/PasteboardHelper.cpp:
1908         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
1909
1910 2010-07-12  François Sausset  <sausset@gmail.com>
1911
1912         Reviewed by Kenneth Rohde Christiansen.
1913
1914         Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
1915         In mfrac, the fraction bar is now using the color defined by the element style instead of black.
1916         In msqrt, the radical was always drawn in black due to a colorSpace problem.
1917         https://bugs.webkit.org/show_bug.cgi?id=41889
1918
1919         Test: mathml/presentation/roots.xhtml
1920         Test: mathml/presentation/fractions.xhtml
1921
1922         * mathml/RenderMathMLFraction.cpp:
1923         (WebCore::RenderMathMLFraction::paint):
1924         * mathml/RenderMathMLSquareRoot.cpp:
1925         (WebCore::RenderMathMLSquareRoot::paint):
1926
1927 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
1928
1929         Reviewed by Antti Koivisto.
1930
1931         Canvas: arc() with startAngle == endAngle shouldn't add to the path
1932         https://bugs.webkit.org/show_bug.cgi?id=41420
1933
1934         Spec link:
1935         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke
1936
1937         * html/canvas/CanvasRenderingContext2D.cpp:
1938         (WebCore::CanvasRenderingContext2D::arc):
1939
1940 2010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>
1941
1942         Reviewed by Ojan Vafai.
1943
1944         Update padding on Windows?
1945         https://bugs.webkit.org/show_bug.cgi?id=38016
1946
1947         Remove internal padding and add 1px vertical padding for Windows.
1948
1949         * css/themeWin.css:
1950         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
1951         * rendering/RenderButton.cpp:
1952         (WebCore::RenderButton::setupInnerStyle):
1953         * rendering/RenderTheme.h:
1954         * rendering/RenderThemeWin.cpp:
1955         * rendering/RenderThemeWin.h:
1956         * rendering/RenderThemeWince.cpp:
1957         * rendering/RenderThemeWince.h:
1958
1959 2010-07-12  Pavel Feldman  <pfeldman@chromium.org>
1960
1961         Not reviewed. Chromium tests fix.
1962
1963         [Chromium, V8] r63057 regressed url tests.
1964
1965         https://bugs.webkit.org/show_bug.cgi?id=42063
1966
1967         * bindings/scripts/CodeGeneratorV8.pm:
1968
1969 2010-07-12  Steve Block  <steveblock@google.com>
1970
1971         Reviewed by Alexey Proskuryakov.
1972
1973         XPath substring function does not correctly handle non-positive values for the position argument
1974         https://bugs.webkit.org/show_bug.cgi?id=41913
1975
1976         This patch changes the behavior of the XPath evaluate function when a non-positive
1977         position argument is supplied and no length argument is supplied. In this case,
1978         we reset the position to 1. This follows the spec and matches the current behaviour
1979         when a length argument is supplied.
1980
1981         Test: fast/xpath/substring-non-positive-postion.html
1982
1983         * xml/XPathFunctions.cpp:
1984         (WebCore::XPath::FunSubstring::evaluate):
1985
1986 2010-06-27  Jeremy Orlow  <jorlow@chromium.org>
1987
1988         Reviewed by Dumitru Daniliuc.
1989
1990         Implement IDBObjectStore.get/set/remove
1991         https://bugs.webkit.org/show_bug.cgi?id=41250
1992
1993         Implement these functions in IDBObjectStore,
1994         add plumbing, teach IDBAny/Callbacks how to deal
1995         with IDBKey, and a few small bits of cleanup.
1996
1997         Test: Modified existing test to provide basic coverage.
1998               Will add much more extensive layout test coverage
1999               in future patches.
2000
2001         * Android.derived.jscbindings.mk:
2002         * Android.derived.v8bindings.mk:
2003         * Android.jscbindings.mk:
2004         * Android.mk:
2005         * Android.v8bindings.mk:
2006         * CMakeLists.txt:
2007         * WebCore.gypi:
2008         * WebCore.pri:
2009         * WebCore.pro:
2010         * WebCore.vcproj/WebCore.vcproj:
2011         * WebCore.xcodeproj/project.pbxproj:
2012         * bindings/js/JSIDBAnyCustom.cpp:
2013         (WebCore::toJS):
2014         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2015         (WebCore::toV8):
2016         * storage/IDBAny.cpp:
2017         (WebCore::IDBAny::idbKey):
2018         (WebCore::IDBAny::set):
2019         * storage/IDBAny.h:
2020         (WebCore::IDBAny::):
2021         * storage/IDBAny.idl:
2022         * storage/IDBCallbacks.h:
2023         * storage/IDBDatabaseRequest.h:
2024         * storage/IDBDatabaseRequest.idl:
2025         * storage/IDBKeyRange.h:
2026         * storage/IDBObjectStore.h:
2027         (WebCore::IDBObjectStore::):
2028         * storage/IDBObjectStoreImpl.cpp:
2029         (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
2030         (WebCore::IDBObjectStoreImpl::get):
2031         (WebCore::IDBObjectStoreImpl::set):
2032         (WebCore::IDBObjectStoreImpl::remove):
2033         * storage/IDBObjectStoreImpl.h:
2034         * storage/IDBObjectStoreRequest.cpp:
2035         (WebCore::IDBObjectStoreRequest::get):
2036         (WebCore::IDBObjectStoreRequest::add):
2037         (WebCore::IDBObjectStoreRequest::modify):
2038         (WebCore::IDBObjectStoreRequest::addOrModify):
2039         (WebCore::IDBObjectStoreRequest::remove):
2040         * storage/IDBObjectStoreRequest.h:
2041         * storage/IDBObjectStoreRequest.idl:
2042         * storage/IDBRequest.cpp:
2043         (WebCore::IDBRequest::onSuccess):
2044         * storage/IDBRequest.h:
2045
2046 2010-07-11  Maciej Stachowiak  <mjs@apple.com>
2047
2048         Reviewed by Dan Bernstein.
2049
2050         Implement animation-related methods for WebKitTestRunner
2051         https://bugs.webkit.org/show_bug.cgi?id=42053
2052
2053         * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.
2054
2055 2010-07-11  Adam Barth  <abarth@webkit.org>
2056
2057         Rubber-stamped by Eric Seidel
2058
2059         Add a complete list of the HTML5 entities in JSON format.
2060
2061         * html/HTMLEntityNames.json: Added.
2062
2063 2010-07-11  Martin Robinson  <mrobinson@igalia.com>
2064
2065         Reviewed by Xan Lopez.
2066
2067         [GTK] WebKitWebView should support drops
2068         https://bugs.webkit.org/show_bug.cgi?id=39843
2069
2070         Add support for dropping content onto GTK+ WebViews.
2071
2072         No new tests, as the DRT does not support simulating drops yet.
2073
2074         * platform/gtk/ClipboardUtilitiesGtk.cpp:
2075         (WebCore::dragOperationToGdkDragAction): Added.
2076         (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
2077         * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
2078         * platform/gtk/PasteboardHelper.cpp:
2079         Add new target atom and rename the markup target type to match the others.
2080         Add a method which fills a data object from drop data.
2081         (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
2082         (WebCore::selectionDataToUTF8String): Added this helper.
2083         (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
2084         (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
2085         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
2086         (WebCore::PasteboardHelper::dropAtoms): Added.
2087         * platform/gtk/PasteboardHelper.h: Add declarations of new methods.
2088
2089 2010-07-10  Darin Adler  <darin@apple.com>
2090
2091         Reviewed by Anders Carlsson.
2092
2093         Enhance content attribute reflection for URL attributes, including adding a non-empty option
2094         https://bugs.webkit.org/show_bug.cgi?id=42040
2095
2096         Test: fast/dom/URL-attribute-reflection.html
2097
2098         Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
2099         a new option, NonEmpty, which implements the non-empty URL concept from the
2100         HTML5 specification.
2101
2102         * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
2103         extended attributes to come in separately. The URL one simply means "the string
2104         of this attribute is a URL", since we don't have a distinct type for URL. Also
2105         added a new NonEmpty extended attribute.
2106
2107         * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
2108         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2109
2110         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
2111         and the fix I made to the reflectedCustomURLAttr test.
2112         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
2113         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
2114         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
2115         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2116         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
2117         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
2118         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
2119         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
2120         bindig writes out the keywords into the generated file as comments, so the keyword
2121         change had a direct efffect on the output file.
2122
2123         * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
2124         the new syntax. Added test cases for NonEmpty. Fixed the name of
2125         reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
2126         instead; never noticed because we never compile the test output.
2127
2128         * dom/Element.cpp:
2129         (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
2130         by any code that wants to implement the non-empty URL content attribute semantic.
2131         * dom/Element.h: Ditto.
2132
2133         * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
2134         * html/HTMLAreaElement.idl: Ditto.
2135         * html/HTMLFrameElement.idl: Ditto.
2136         * html/HTMLImageElement.idl: Ditto.
2137         * html/HTMLInputElement.idl: Ditto.
2138         * html/HTMLLinkElement.idl: Ditto.
2139         * html/HTMLMediaElement.idl: Ditto.
2140         * html/HTMLObjectElement.idl: Ditto.
2141         * html/HTMLScriptElement.idl: Ditto.
2142         * html/HTMLVideoElement.idl: Ditto.
2143
2144 2010-07-10  Tony Gentilcore  <tonyg@chromium.org>
2145
2146         Reviewed by Darin Adler.
2147
2148         Add missing derrived sources to xcode project
2149         https://bugs.webkit.org/show_bug.cgi?id=42034
2150
2151         This allows --web-timing to work with build-webkit on OSX with JSC.
2152         This should have been done in bug 41442.
2153
2154         No new tests because no new functionality.
2155
2156         * WebCore.xcodeproj/project.pbxproj:
2157
2158 2010-07-10  Anders Carlsson  <andersca@apple.com>
2159
2160         Reviewed by Sam Weinig.
2161
2162         Don't initialize plug-ins until allowed by the page
2163         https://bugs.webkit.org/show_bug.cgi?id=42033
2164
2165         * WebCore.exp.in:
2166         Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.
2167
2168 2010-07-10  Sam Weinig  <sam@webkit.org>
2169
2170         Reviewed by Anders Carlsson.
2171
2172         Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
2173         isEqualNode should work for DocumentType nodes
2174
2175         Test: fast/dom/Node/isEqualNode.html
2176
2177         * dom/Node.cpp:
2178         (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.
2179
2180 2010-07-10  Daniel Bates  <dbates@rim.com>
2181
2182         Reviewed by Adam Barth.
2183
2184         Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
2185         https://bugs.webkit.org/show_bug.cgi?id=39339
2186
2187         Moved the enum ReasonForCallingCanExecuteScripts, which was
2188         defined in both the JSC and V8 ScriptController.h file, into
2189         a shared file called ScriptControllerBase.h.
2190
2191         No functionality was changed, so no new tests.
2192
2193         * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
2194         * WebCore.gypi: Ditto.
2195         * WebCore.pro: Ditto.
2196         * WebCore.vcproj/WebCore.vcproj: Ditto.
2197         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
2198         * WebCore.xcodeproj/project.pbxproj: Ditto.
2199         * bindings/ScriptControllerBase.h: Added.
2200         (WebCore::):
2201         * bindings/js/ScriptController.h: #include ScriptControllerBase.h
2202         * bindings/v8/ScriptController.h: Ditto.
2203
2204 2010-07-10  Dan Bernstein  <mitz@apple.com>
2205
2206         Reviewed by Anders Carlsson.
2207
2208         <rdar://problem/8153214> Continuation outlines in layers do not paint correctly
2209
2210         Test: fast/inline/continuation-outlines-with-layers-2.html
2211
2212         Continuation outlines are normally painted by the containing block. However, when the
2213         block and the inline are not enclosed by the same self-painting layer, the inline has to
2214         paint its own outlines. This was handled correctly only for the case where the inline had
2215         its own self-painting layer, but now when an ancestor inline had the self-painting layer.
2216
2217         * rendering/InlineFlowBox.cpp:
2218         (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
2219         whether any intermediate box between the inline and the containing block has a self-painting
2220         layer.
2221         * rendering/RenderBlock.cpp:
2222         (WebCore::RenderBlock::paintObject): Ditto.
2223         * rendering/RenderObject.cpp:
2224         (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
2225         * rendering/RenderObject.h:
2226
2227 2010-07-10  François Sausset  <sausset@gmail.com>
2228
2229         Reviewed by Kenneth Rohde Christiansen.
2230
2231         Build fix: syntax and typo issues
2232         https://bugs.webkit.org/show_bug.cgi?id=41859
2233
2234         * html/HTMLTreeBuilder.cpp:
2235         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2236         (WebCore::HTMLTreeBuilder::processStartTag):
2237
2238 2010-07-10  Eric Seidel  <eric@webkit.org>
2239
2240         Reviewed by Adam Barth.
2241
2242         HTMLTreeBuilder needs adjustForeignAttributes support
2243         https://bugs.webkit.org/show_bug.cgi?id=42022
2244
2245         To add adjust foreign attributes support I had to add an
2246         AtomicString (prefixed name) to QualifiedName hash.  Once I had
2247         done that, I decided it would be best for the other "adjust" functions
2248         to share the same hash logic, so I moved them to using the same
2249         AtomicString -> QualifiedName hash as well.
2250
2251         Tested by html5lib/runner.html
2252
2253         * dom/Attribute.h:
2254         (WebCore::Attribute::parserSetName):
2255         * html/HTMLTreeBuilder.cpp:
2256
2257 2010-07-10  Rob Buis  <rwlbuis@gmail.com>
2258
2259         Reviewed by Darin Adler.
2260
2261         https://bugs.webkit.org/show_bug.cgi?id=41978
2262         Remove namespace prefixes from idl files
2263
2264         No new tests, idl syntax fixes.
2265
2266         * css/CSSImportRule.idl:
2267         * css/CSSMediaRule.idl:
2268         * css/CSSStyleSheet.idl:
2269         * css/CSSVariablesRule.idl:
2270         * svg/SVGAnimatedString.idl:
2271         * svg/SVGColor.idl:
2272         * svg/SVGDocument.idl:
2273         * svg/SVGLangSpace.idl:
2274         * svg/SVGSVGElement.idl:
2275         * svg/SVGStringList.idl:
2276         * svg/SVGStylable.idl:
2277         * svg/SVGStyleElement.idl:
2278         * svg/SVGTests.idl:
2279         * svg/SVGZoomEvent.idl:
2280         * xml/XPathEvaluator.idl:
2281
2282 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
2283
2284         Unreviewed, GTK build fix.
2285
2286         * bindings/gobject/GObjectEventListener.h:
2287
2288 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
2289
2290         Reviewed by Darin Adler.
2291
2292         Remove unnecessary includes in header files in WebCore/dom.
2293         https://bugs.webkit.org/show_bug.cgi?id=41941
2294
2295         * css/StyleMedia.h:
2296         * dom/BeforeLoadEvent.h:
2297         * dom/CustomEvent.h:
2298         * dom/DOMStringMap.h:
2299         * dom/DeviceOrientationEvent.h:
2300         * dom/EventListener.h:
2301         * dom/MessagePort.h:
2302         * dom/Node.cpp:
2303         * dom/NodeFilter.h:
2304         * dom/NodeRareData.h:
2305         * dom/RegisteredEventListener.h:
2306         * dom/SelectorNodeList.cpp:
2307         * dom/SelectorNodeList.h:
2308         * dom/StyleElement.h:
2309         * dom/Traversal.h:
2310
2311 2010-07-09  Tony Chang  <tony@chromium.org>
2312
2313         Reviewed by Ojan Vafai.
2314
2315         crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
2316         https://bugs.webkit.org/show_bug.cgi?id=38231
2317
2318         Test: editing/execCommand/indent-pre.html
2319
2320         * editing/IndentOutdentCommand.cpp:
2321         (WebCore::countParagraphs):
2322         (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
2323                                                        so moveParagraph doesn't get confused.
2324         (WebCore::IndentOutdentCommand::splitTextNodes):
2325         * editing/IndentOutdentCommand.h:
2326
2327 2010-07-09  Erik Arvidsson  <arv@chromium.org>
2328
2329         Reviewed by Darin Adler.
2330
2331         Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
2332         https://bugs.webkit.org/show_bug.cgi?id=41496
2333
2334         * css/CSSComputedStyleDeclaration.cpp:
2335         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2336         * css/CSSProperty.cpp:
2337         (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
2338         * css/CSSProperty.h:
2339         * css/CSSStyleSelector.cpp: Use helper function.
2340         (WebCore::CSSStyleSelector::applyProperty):
2341
2342 2010-07-09  Adam Barth  <abarth@webkit.org>
2343
2344         Reviewed by Eric Seidel.
2345
2346         HTML5 tree builder should pass some LayoutTests
2347         https://bugs.webkit.org/show_bug.cgi?id=41991
2348
2349         Before this patch, we weren't attaching text nodes to the render tree,
2350         which turns out to be important.  :)
2351
2352         This patch fixes more than 10,000 LayoutTests.
2353
2354         * html/HTMLConstructionSite.cpp:
2355         (WebCore::HTMLConstructionSite::attach):
2356         (WebCore::HTMLConstructionSite::attachAtSite):
2357
2358 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
2359
2360         Reviewed by Darin Adler.
2361
2362         [WINCE] Buildfix for TextEncodingRegistry
2363         https://bugs.webkit.org/show_bug.cgi?id=41992
2364
2365         Renamed TextCodecWince to TextCodecWinCE.
2366
2367         * platform/text/TextEncodingRegistry.cpp:
2368         (WebCore::buildBaseTextCodecMaps):
2369         (WebCore::extendTextCodecMaps):
2370
2371 2010-07-09  Leon Clarke  <leonclarke@google.com>
2372
2373         Reviewed by Adam Barth.
2374
2375         add support for link prefetching
2376         https://bugs.webkit.org/show_bug.cgi?id=3652
2377
2378         Test: fast/dom/HTMLLinkElement/prefetch.html
2379
2380         * Configurations/FeatureDefines.xcconfig:
2381         * html/HTMLLinkElement.cpp:
2382         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2383         (WebCore::HTMLLinkElement::process):
2384         * html/HTMLLinkElement.h:
2385         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
2386         * loader/Cache.cpp:
2387         (WebCore::createResource):
2388         * loader/CachedResource.cpp:
2389         (WebCore::CachedResource::data):
2390         (WebCore::CachedResource::didAddClient):
2391         * loader/CachedResource.h:
2392         (WebCore::CachedResource::):
2393         (WebCore::CachedResource::error):
2394         (WebCore::CachedResource::isPrefetch):
2395         (WebCore::CachedResource::schedule):
2396         * loader/CachedScript.cpp:
2397         * loader/CachedScript.h:
2398         * loader/DocLoader.cpp:
2399         (WebCore::DocLoader::requestLinkPrefetch):
2400         (WebCore::DocLoader::canRequest):
2401         (WebCore::DocLoader::incrementRequestCount):
2402         (WebCore::DocLoader::decrementRequestCount):
2403         * loader/DocLoader.h:
2404         * loader/loader.cpp:
2405         (WebCore::cachedResourceTypeToTargetType):
2406         (WebCore::Loader::determinePriority):
2407         (WebCore::Loader::load):
2408         (WebCore::Loader::Host::servePendingRequests):
2409         (WebCore::Loader::Host::didFinishLoading):
2410         (WebCore::Loader::Host::didFail):
2411         (WebCore::Loader::Host::didReceiveResponse):
2412         (WebCore::Loader::Host::cancelPendingRequests):
2413         * loader/loader.h:
2414         (WebCore::Loader::):
2415         * platform/network/ResourceRequestBase.h:
2416         (WebCore::ResourceRequestBase::):
2417
2418 2010-07-09  James Robinson  <jamesr@chromium.org>
2419
2420         Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.
2421
2422         * html/HTMLCanvasElement.cpp:
2423
2424 2010-07-09  James Robinson  <jamesr@chromium.org>
2425
2426         Reviewed by Darin Adler.
2427
2428         Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
2429         https://bugs.webkit.org/show_bug.cgi?id=42005
2430
2431         http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
2432         The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
2433         there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
2434         encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
2435         really needed we should just use HTMLCanvasElement when we want to talk about a canvas.
2436
2437         This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
2438         to be a bit more logical.
2439
2440         Refactor with no behavior change, thus no new tests.
2441
2442         * CMakeLists.txt:
2443         * GNUmakefile.am:
2444         * WebCore.gypi:
2445         * WebCore.pro:
2446         * WebCore.vcproj/WebCore.vcproj:
2447         * WebCore.xcodeproj/project.pbxproj:
2448         * dom/CanvasSurface.cpp: Removed.
2449         * dom/CanvasSurface.h: Removed.
2450         * html/HTMLCanvasElement.cpp:
2451         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2452         (WebCore::HTMLCanvasElement::willDraw):
2453         (WebCore::HTMLCanvasElement::setSurfaceSize):
2454         (WebCore::HTMLCanvasElement::toDataURL):
2455         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2456         (WebCore::HTMLCanvasElement::securityOrigin):
2457         (WebCore::HTMLCanvasElement::styleSelector):
2458         (WebCore::HTMLCanvasElement::createImageBuffer):
2459         (WebCore::HTMLCanvasElement::drawingContext):
2460         (WebCore::HTMLCanvasElement::buffer):
2461         (WebCore::HTMLCanvasElement::baseTransform):
2462         * html/HTMLCanvasElement.h:
2463         (WebCore::HTMLCanvasElement::setObserver):
2464         (WebCore::HTMLCanvasElement::width):
2465         (WebCore::HTMLCanvasElement::height):
2466         (WebCore::HTMLCanvasElement::size):
2467         (WebCore::HTMLCanvasElement::toDataURL):
2468         (WebCore::HTMLCanvasElement::setOriginTainted):
2469         (WebCore::HTMLCanvasElement::originClean):
2470         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
2471
2472 2010-07-09  Simon Fraser  <simon.fraser@apple.com>
2473
2474         Reviewed by Darin Adler.
2475
2476         Calling layoutTestController.layerTreeAsText() should update layout
2477         https://bugs.webkit.org/show_bug.cgi?id=41818
2478         
2479         Need to call updateLayout() before we check for any layers, not after,
2480         since layout will update compositing, and may create layers.
2481
2482         * page/Frame.cpp:
2483         (WebCore::Frame::layerTreeAsText):
2484
2485 2010-07-09  Kenneth Russell  <kbr@google.com>
2486
2487         Reviewed by Nate Chapin.
2488
2489         bufferSubData causes crash in WebGLBuffer::associateBufferSubData
2490         https://bugs.webkit.org/show_bug.cgi?id=42004
2491
2492         Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
2493
2494         * html/canvas/WebGLBuffer.cpp:
2495         (WebCore::WebGLBuffer::associateBufferData):
2496          - Allocate m_elementArrayBuffer for entry point taking only size.
2497            Guard against allocation failures of m_elementArrayBuffer.
2498         (WebCore::WebGLBuffer::associateBufferSubData):
2499          - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.
2500
2501 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
2502
2503         Unreviewed, but pre-approved by Eric Seidel.
2504
2505         Remove unnecessary includes in header files in WebCore/css.
2506         https://bugs.webkit.org/show_bug.cgi?id=41941
2507
2508         * css/CSSComputedStyleDeclaration.h:
2509         * css/CSSFontFaceSource.cpp:
2510         (WebCore::CSSFontFaceSource::getFontData):
2511         * css/CSSFontFaceSource.h:
2512         * css/CSSPrimitiveValueMappings.h:
2513         * css/StyleMedia.h:
2514
2515 2010-07-09  Eric Seidel  <eric@webkit.org>
2516
2517         Reviewed by Adam Barth.
2518
2519         Get rid of manual case maps in HTMLTreeBuilder
2520         https://bugs.webkit.org/show_bug.cgi?id=42000
2521
2522         No functional change, thus no tests.
2523
2524         * html/HTMLTreeBuilder.cpp:
2525
2526 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
2527
2528         Reviewed by Dimitri Glazkov.
2529
2530         Implement performance.timing.navigationStart
2531         https://bugs.webkit.org/show_bug.cgi?id=41815
2532
2533         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start
2534
2535         * loader/FrameLoader.cpp:
2536         (WebCore::FrameLoader::loadWithDocumentLoader):
2537         * loader/FrameLoaderTypes.h:
2538         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
2539         * page/Timing.cpp:
2540         (WebCore::Timing::navigationStart):
2541
2542 2010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2543
2544         Reviewed by Kenneth Rohde Christiansen.
2545
2546         [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
2547         https://bugs.webkit.org/show_bug.cgi?id=41954
2548
2549         Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
2550         implementation of GraphicsLayerQt::syncCompositingState and which targets
2551         the current layer only.
2552
2553         * platform/graphics/qt/GraphicsLayerQt.cpp:
2554         (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
2555         * platform/graphics/qt/GraphicsLayerQt.h:
2556
2557 2010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>
2558
2559         Reviewed by Darin Adler.
2560
2561         Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.
2562
2563         https://bugs.webkit.org/show_bug.cgi?id=41945
2564
2565         No functional changes, thus no tests.
2566
2567         * CMakeLists.txt:
2568
2569 2010-07-09  Eric Seidel  <eric@webkit.org>
2570
2571         Reviewed by Adam Barth.
2572
2573         Fix SVG tag name casing for HTMLTreeBuilder
2574         https://bugs.webkit.org/show_bug.cgi?id=41998
2575
2576         Tested by html5lib/runner.html
2577
2578         * html/HTMLTreeBuilder.cpp:
2579         (WebCore::):
2580
2581 2010-07-09  Eric Seidel  <eric@webkit.org>
2582
2583         Reviewed by Adam Barth.
2584
2585         Implement SVG attribute case mapping for HTMLTreeBuilder
2586         https://bugs.webkit.org/show_bug.cgi?id=41949
2587
2588         Tested by html5lib/runner.html.
2589
2590         * html/HTMLTreeBuilder.cpp:
2591
2592 2010-07-09  Andy Estes  <aestes@apple.com>
2593
2594         Reviewed by Adele Peterson.
2595
2596         Remove the workaround for a Core Animation bug on platforms where the
2597         bug has been fixed.
2598         https://bugs.webkit.org/show_bug.cgi?id=41927
2599         <rdar://problem/7920153>
2600
2601         * platform/graphics/mac/GraphicsLayerCA.mm:
2602         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
2603         a compile-time check for platforms that have a Core Animation bug that
2604         needs working around.
2605
2606 2010-07-08  Tony Gentilcore  <tonyg@chromium.org>
2607
2608         Reviewed by Nate Chapin.
2609
2610         Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
2611         https://bugs.webkit.org/show_bug.cgi?id=41332
2612
2613         Test: fast/dom/webtiming.html
2614
2615         * loader/FrameLoader.cpp:
2616         (WebCore::FrameLoader::stopLoading):
2617         (WebCore::FrameLoader::loadWithDocumentLoader):
2618         * loader/FrameLoader.h:
2619         (WebCore::FrameLoader::frameLoadTimeline):
2620         * loader/FrameLoaderTypes.h:
2621         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
2622         * page/DOMWindow.cpp:
2623         (WebCore::DOMWindow::dispatchLoadEvent):
2624         * page/Timing.cpp:
2625         (WebCore::Timing::navigationStart):
2626         (WebCore::Timing::unloadEventEnd):
2627         (WebCore::Timing::loadEventStart):
2628         (WebCore::Timing::loadEventEnd):
2629         * page/Timing.h:
2630         * page/Timing.idl:
2631
2632 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
2633
2634         Unreviewed, but pre-approved by Eric Seidel.
2635
2636         Remove all unnecessary includes from the header files in WebCore/accessibility/.
2637         https://bugs.webkit.org/show_bug.cgi?id=41941
2638
2639         * accessibility/AXObjectCache.h:
2640         * accessibility/AccessibilityListBox.cpp:
2641         * accessibility/AccessibilityListBox.h:
2642         * accessibility/AccessibilityMenuList.h:
2643         * accessibility/mac/AccessibilityObjectWrapper.h:
2644
2645 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
2646
2647         Reviewed by Kent Tamura.
2648
2649         [WINCE] Buildfix for EventHandlerWin
2650         https://bugs.webkit.org/show_bug.cgi?id=41909
2651
2652         Use Clipboard.h instead of ClipboardWin.h on WinCE.
2653
2654         * page/win/EventHandlerWin.cpp:
2655
2656 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2657
2658         Unreviewed, rolling out r62946.
2659         http://trac.webkit.org/changeset/62946
2660         https://bugs.webkit.org/show_bug.cgi?id=41965
2661
2662         AppCache inspector support should be enabled in WebKit ToT.
2663         (Requested by pfeldman_ on #webkit).
2664
2665         * inspector/front-end/StoragePanel.js:
2666         (WebInspector.StoragePanel):
2667         (WebInspector.StoragePanel.prototype.reset):
2668         (WebInspector.StoragePanel.prototype.addApplicationCache):
2669
2670 2010-07-09  François Sausset  <sausset@gmail.com>
2671
2672         Reviewed by Kenneth Rohde Christiansen.
2673
2674         Implement MathML mathcolor & mathbackground attributes
2675         https://bugs.webkit.org/show_bug.cgi?id=41895
2676
2677         Test: mathml/presentation/attributes.xhtml
2678
2679         * dom/MappedAttributeEntry.h:
2680         (WebCore::):
2681         * mathml/MathMLElement.cpp:
2682         (WebCore::MathMLElement::MathMLElement):
2683         (WebCore::MathMLElement::mapToEntry):
2684         (WebCore::MathMLElement::parseMappedAttribute):
2685         * mathml/MathMLElement.h:
2686         * mathml/mathattrs.in:
2687
2688 2010-07-09  Xiaomei Ji  <xji@chromium.org>
2689
2690         Reviewed by David Levin.
2691
2692         Fix characters with unicode-bidi-mirror property are not correctly
2693         mirrored in Linux.
2694         https://bugs.webkit.org/show_bug.cgi?id=41305
2695
2696         Since harfbuzz does not do mirroring, chromium should iterate each
2697         character in the string and mirror it if needed before passing the
2698         string to harfbuzz for shaping.
2699
2700         Test: fast/text/international/bidi-mirror-he-ar.html
2701
2702         * platform/graphics/chromium/FontLinux.cpp:
2703         (WebCore::TextRunWalker::TextRunWalker):
2704         (WebCore::TextRunWalker::~TextRunWalker):
2705         (WebCore::TextRunWalker::mirrorCharacters):
2706
2707
2708 2010-07-09  Anders Carlsson  <andersca@apple.com>
2709
2710         Reviewed by Simon Fraser.
2711
2712         Instantiate Netscape plug-ins, pass geometry information to Plugin
2713         https://bugs.webkit.org/show_bug.cgi?id=41960
2714
2715         * WebCore.exp.in:
2716         Export ScrollView::contentsToWindow.
2717
2718 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
2719
2720         Reviewed by Kent Tamura.
2721
2722         [WINCE] Buildfix for FrameWince after r47440
2723         https://bugs.webkit.org/show_bug.cgi?id=41904
2724
2725         * page/wince/FrameWince.cpp: Added property svn:eol-style.
2726         (WebCore::computePageRectsForFrame):
2727         (WebCore::imageFromSelection):
2728
2729 2010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>
2730
2731         Reviewed by Pavel Feldman.
2732
2733         [v8] Call JS gc in a fresh context to avoid retaining the current one.
2734         https://bugs.webkit.org/show_bug.cgi?id=41963
2735         http://crbug.com/46571
2736
2737         * bindings/v8/ScriptController.cpp:
2738         (WebCore::ScriptController::collectGarbage):
2739
2740 2010-07-09  Kenneth Russell  <kbr@google.com>
2741
2742         Reviewed by Dimitri Glazkov.
2743
2744         Crash with uniform array test
2745         https://bugs.webkit.org/show_bug.cgi?id=36028
2746
2747         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2748         (WebCore::vertexAttribAndUniformHelperf):
2749         (WebCore::uniformHelperi):
2750         (WebCore::uniformMatrixHelper):
2751          - Fixed type tests and casting of incoming arrays.
2752         * html/canvas/WebGLRenderingContext.cpp:
2753         (WebCore::WebGLRenderingContext::getUniform):
2754          - Fixed crash when null WebGLUniform is passed to getUniform.
2755
2756 2010-07-09  Chris Fleizach  <cfleizach@apple.com>
2757
2758         Reviewed by Darin Adler.
2759
2760         AX:  text editing not spoken by VO on web view contenteditable textbox
2761         https://bugs.webkit.org/show_bug.cgi?id=41912
2762
2763         Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html
2764
2765         * accessibility/AccessibilityRenderObject.cpp:
2766         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
2767
2768 2010-07-09  Michael Nordman  <michaeln@google.com>
2769
2770         Reviewed by Dumitru Daniliuc.
2771
2772         Use class ProgressEvent when raising appcache related progress events and
2773         set the 'total', 'loaded', and 'lengthComputable' attributes.
2774         Also raise the final progress event with the 'total' and 'loaded' attribute
2775         values are equal to one another to keep pace with the spec for this feature.
2776         https://bugs.webkit.org/show_bug.cgi?id=37602
2777
2778         Test: http/tests/appcache/progress-counter.html
2779
2780         * loader/appcache/ApplicationCacheGroup.cpp:
2781         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2782         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2783         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2784         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2785         (WebCore::CallCacheListenerTask::create):
2786         (WebCore::CallCacheListenerTask::performTask):
2787         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
2788         (WebCore::ApplicationCacheGroup::postListenerTask):
2789         * loader/appcache/ApplicationCacheGroup.h:
2790         (WebCore::ApplicationCacheGroup::postListenerTask):
2791         * loader/appcache/ApplicationCacheHost.cpp:
2792         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
2793         (WebCore::ApplicationCacheHost::stopDeferringEvents):
2794         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2795         * loader/appcache/ApplicationCacheHost.h:
2796         (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):
2797
2798 2010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2799
2800         Reviewed by Gustavo Noronha Silva.
2801
2802         Bug 41340 - [GStreamer] Subtle race condition during seeks
2803         https://bugs.webkit.org/show_bug.cgi?id=41340
2804
2805         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2806         (webKitWebSrcStop):
2807         (webKitWebSrcNeedDataMainCb):
2808         (webKitWebSrcNeedDataCb):
2809         (webKitWebSrcEnoughDataMainCb):
2810         (webKitWebSrcEnoughDataCb):
2811         (webKitWebSrcSeekDataCb):
2812         (StreamingClient::didFinishLoading):
2813         Fix two subtle race conditions that can happen during seeks:
2814         - The timeout callback could be called before the callback ID is
2815           assigned to the instance private data. This causes the ID to
2816           be set after the callback has finished and breaks all future
2817           processing.
2818         - The source must not go EOS while a seek is pending because
2819           this confuses appsrc due to the different threads involved here.
2820
2821 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
2822
2823         Reviewed by Tor Arne Vestbø.
2824
2825         [Qt] Removed hard-coded enabled default of video support
2826
2827         Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.
2828
2829         * WebCore.pri:
2830
2831 2010-07-09  Ben Murdoch  <benm@google.com>
2832
2833         Reviewed by Steve Block.
2834
2835         [Arm] Missing NaN check in XPath substring function
2836         https://bugs.webkit.org/show_bug.cgi?id=41862
2837
2838         Test: fast/xpath/substring-nan-position.html
2839
2840         * xml/XPathFunctions.cpp:
2841         (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
2842             to the value returned from evaluating the position
2843             argument and early out and return the empty string.
2844
2845 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
2846
2847         Reviewed by Tor Arne Vestbø.
2848
2849         [Qt] Prospective build fix.
2850
2851         Moved the media element detection from WebCore.pro into WebCore.pri, where
2852         all the features are detected. This is also used by build-webkit to determine
2853         the defaults, which may be the reason for the build breakage.
2854
2855         * WebCore.pri:
2856         * WebCore.pro:
2857
2858 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
2859
2860         Reviewed by Tor Arne Vestbø.
2861
2862         [Qt] Re-enable support for QtMultimediaKit as backend for the media elements
2863
2864         Experimental support is re-enabled if QtMobility is available and the Qt
2865         version is 4.7 or above.
2866
2867         * WebCore.pro:
2868         * platform/graphics/MediaPlayer.cpp:
2869         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2870         (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
2871         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2872         (WebCore::MediaPlayerPrivate::totalBytes):
2873
2874 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
2875
2876         Reviewed by Yury Semikhatsky.
2877
2878         Web Inspector: do not show default tooltip when detailed network info is available.
2879
2880         https://bugs.webkit.org/show_bug.cgi?id=41957
2881
2882         * English.lproj/localizedStrings.js:
2883         * inspector/front-end/ResourcesPanel.js:
2884         (WebInspector.ResourcesPanel):
2885         (WebInspector.ResourcesPanel.prototype.reset):
2886         (WebInspector.ResourcesPanel.prototype.showResource):
2887         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
2888         (WebInspector.ResourcesPanel.prototype._showPopover):
2889         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
2890
2891 2010-07-09  François Sausset  <sausset@gmail.com>
2892
2893         Reviewed by Beth Dakin.
2894
2895         Correct the default font variant of mtext (regular instead of italic).
2896         https://bugs.webkit.org/show_bug.cgi?id=41626
2897
2898         Add test to be sure that only <mi> elements use italic fonts by default.
2899         Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).
2900
2901         * css/mathml.css:
2902         (mi):
2903
2904 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
2905
2906         Reviewed by Dimitri Glazkov.
2907
2908         Implement performance.navigation.type
2909         https://bugs.webkit.org/show_bug.cgi?id=41564
2910
2911         Tests: fast/dom/navigation-type-back-forward.html
2912                fast/dom/navigation-type-navigate.html
2913                fast/dom/navigation-type-reload.html
2914
2915         * page/Navigation.cpp:
2916         (WebCore::Navigation::type):
2917         * page/Navigation.h:
2918         (WebCore::Navigation::):
2919         * page/Navigation.idl:
2920
2921 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
2922
2923         Reviewed by Yury Semikhatsky.
2924
2925         Web Inspector: hide AppCache until implemented.
2926
2927         https://bugs.webkit.org/show_bug.cgi?id=41858
2928
2929         * inspector/front-end/StoragePanel.js:
2930         (WebInspector.StoragePanel):
2931         (WebInspector.StoragePanel.prototype.reset):
2932         (WebInspector.StoragePanel.prototype.addApplicationCache):
2933
2934 2010-07-09  François Sausset  <sausset@gmail.com>
2935
2936         Reviewed by Kenneth Rohde Christiansen.
2937
2938         Set the good default behaviour for the columalign attribute on MathML mtable element
2939         https://bugs.webkit.org/show_bug.cgi?id=41631
2940
2941         Test update: mathml/tables.xhtml
2942
2943         * css/mathml.css:
2944         (math):
2945
2946 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2947
2948         Unreviewed, rolling out r62937.
2949         http://trac.webkit.org/changeset/62937
2950         https://bugs.webkit.org/show_bug.cgi?id=41955
2951
2952         Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
2953         /xslt-relative-path.xml, with assertion in
2954         XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
2955         #webkit).
2956
2957         * xml/XSLTProcessor.h:
2958         (WebCore::XSLTProcessor::XSLTProcessor):
2959         * xml/XSLTProcessorLibxslt.cpp:
2960         (WebCore::docLoaderFunc):
2961         (WebCore::setXSLTLoadCallBack):
2962         (WebCore::xsltStylesheetPointer):
2963         (WebCore::XSLTProcessor::transformToString):
2964
2965 2010-07-09  Yael Aharon  <yael.aharon@nokia.com>
2966
2967         Reviewed by Laszlo Gombos.
2968
2969         NotificationPresenter needs a cancelRequestPermission API
2970         https://bugs.webkit.org/show_bug.cgi?id=41783
2971
2972         Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
2973         Added new API NotificationPresenter::cancelRequestsForPermision
2974         The new API will be implemented and a test will be added in a followup patch.
2975
2976         * notifications/Notification.cpp:
2977         (WebCore::Notification::Notification):
2978         * notifications/NotificationCenter.cpp:
2979         (WebCore::NotificationCenter::checkPermission):
2980         (WebCore::NotificationCenter::requestPermission):
2981         (WebCore::NotificationCenter::disconnectFrame):
2982         * notifications/NotificationCenter.h:
2983         * notifications/NotificationPresenter.h:
2984
2985 2010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>
2986
2987         Reviewed by Alexey Proskuryakov.
2988
2989         Remove global variables from XSLTProcessorLibxslt.cpp
2990         https://bugs.webkit.org/show_bug.cgi?id=41348
2991
2992         Remove the globalProcessor and globalDocLoader global variables
2993         by using the _private field that exists on most libxml structs.
2994
2995         No new tests, existing tests covers this.
2996
2997         * xml/XSLTProcessor.h:
2998         (WebCore::XSLTProcessor::sourceNode):
2999         (WebCore::XSLTProcessor::XSLTProcessor):
3000         * xml/XSLTProcessorLibxslt.cpp:
3001         (WebCore::registeredXSLTProcessors):
3002         (WebCore::registeredXSLStyleSheets):
3003         (WebCore::docLoaderFunc):
3004         (WebCore::clearSavedStyleSheetPointers):
3005         (WebCore::xsltStylesheetPointer):
3006         (WebCore::XSLTProcessor::transformToString):
3007
3008 2010-07-09  Adam Barth  <abarth@webkit.org>
3009
3010         Unreviewed build fix.
3011
3012         We recently taught the HTMLTokenizer to recognize self-closing tags,
3013         <http://trac.webkit.org/changeset/62926>, but that confused the
3014         LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
3015         say a tag is self-closing.
3016
3017         * html/HTMLTreeBuilder.cpp:
3018         (WebCore::convertToOldStyle):
3019
3020 2010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
3021
3022         Reviewed by Rob Buis.
3023
3024         svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
3025         https://bugs.webkit.org/show_bug.cgi?id=41931
3026
3027         Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
3028         The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.
3029
3030         Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.
3031
3032         * svg/SVGUseElement.cpp:
3033         (WebCore::SVGUseElement::SVGUseElement):
3034         (WebCore::SVGUseElement::recalcStyle):
3035         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
3036         (WebCore::SVGUseElement::invalidateShadowTree):
3037         * svg/SVGUseElement.h:
3038         (WebCore::SVGUseElement::setUpdatesBlocked):
3039
3040 2010-07-09  Adam Barth  <abarth@webkit.org>
3041
3042         Reviewed by Eric Seidel.
3043
3044         Skip leading newlines in <textarea>
3045         https://bugs.webkit.org/show_bug.cgi?id=41947
3046
3047         We would have caught this earlier with the ASSERT.
3048
3049         * html/HTMLTokenizer.cpp:
3050         (WebCore::HTMLTokenizer::nextToken):
3051
3052 2010-07-08  Pavel Feldman  <pfeldman@chromium.org>
3053
3054         Reviewed by Yury Semikhatsky.
3055
3056         Web Inspector: Provide detailed network info in the resources panel.
3057
3058         https://bugs.webkit.org/show_bug.cgi?id=40227
3059
3060         * English.lproj/localizedStrings.js:
3061         * inspector/InspectorController.cpp:
3062         (WebCore::InspectorController::willSendRequest):
3063         (WebCore::InspectorController::didReceiveResponse):
3064         * inspector/InspectorController.h:
3065         * inspector/InspectorResource.cpp:
3066         (WebCore::InspectorResource::InspectorResource):
3067         (WebCore::InspectorResource::updateResponse):
3068         (WebCore::InspectorResource::updateScriptObject):
3069         (WebCore::InspectorResource::buildObjectForTiming):
3070         * inspector/InspectorResource.h:
3071         * inspector/front-end/ResourcesPanel.js:
3072         (WebInspector.ResourcesPanel):
3073         (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
3074         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
3075         (WebInspector.ResourcesPanel.prototype._showPopover):
3076         (WebInspector.ResourcesPanel.prototype.hide):
3077         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
3078         (WebInspector.ResourceGraph):
3079         * inspector/front-end/inspector.js:
3080         (WebInspector.updateResource):
3081         * platform/network/ResourceLoadTiming.h:
3082         (WebCore::ResourceLoadTiming::create):
3083         (WebCore::ResourceLoadTiming::deepCopy):
3084         (WebCore::ResourceLoadTiming::operator==):
3085         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
3086         * platform/network/ResourceRequestBase.h:
3087         (WebCore::ResourceRequestBase::reportLoadTiming):
3088         (WebCore::ResourceRequestBase::setReportLoadTiming):
3089         (WebCore::ResourceRequestBase::ResourceRequestBase):
3090         * platform/network/ResourceResponseBase.cpp:
3091         (WebCore::ResourceResponseBase::connectionID):
3092         (WebCore::ResourceResponseBase::setConnectionID):
3093         * platform/network/ResourceResponseBase.h:
3094
3095 2010-07-09  Eric Seidel  <eric@webkit.org>
3096
3097         Reviewed by Adam Barth.
3098
3099         Implement self closing start tag state in the tokenizer
3100         https://bugs.webkit.org/show_bug.cgi?id=41946
3101
3102         Amazingly we got this far w/o needing self closing.
3103         The LegacyHTMLTreeBuilder clearly uses the self-closing
3104         state, but the fact that we never exposed it seems to
3105         not have caused any test failures.  Sad.
3106
3107         The new HTMLTreeBuilder only needs the self closing state
3108         for foreign content mode (and a few parse error cases).
3109
3110         * html/HTMLToken.h:
3111         (WebCore::HTMLToken::setSelfClosing):
3112         * html/HTMLTokenizer.cpp:
3113         (WebCore::HTMLTokenizer::nextToken):
3114         * html/HTMLTreeBuilder.cpp:
3115         (WebCore::):
3116
3117 2010-07-09  Eric Seidel  <eric@webkit.org>
3118
3119         Reviewed by Adam Barth.
3120
3121         Add basic "in foreign content" support to the TreeBuilder
3122         https://bugs.webkit.org/show_bug.cgi?id=41943
3123
3124         This is covered by numerous tests in html5lib/runner.html.
3125
3126         "in foreign content" mode requires us to be able to process
3127         tokens using the "secondary insertion mode".  We have to set
3128         a fake insertion mode to do that, so much of this code is enabling
3129         setting of fake insertion modes, and then later restoration of the
3130         insertion mode after execution.
3131
3132         There is a lot more of foreign content mode to implement, but this is
3133         a good start resulting in huge test progressions.
3134
3135         * html/HTMLConstructionSite.cpp:
3136         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3137          - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
3138          - No need to include HTMLElementFactory in this file.
3139         * html/HTMLConstructionSite.h:
3140          - RedirectToFosterParentGuard does not need to be a friend class.
3141         * html/HTMLElementStack.cpp:
3142         (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
3143         * html/HTMLElementStack.h:
3144         * html/HTMLTreeBuilder.cpp:
3145         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3146         (WebCore::):
3147         * html/HTMLTreeBuilder.h:
3148         (WebCore::HTMLTreeBuilder::setInsertionMode):
3149         (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
3150         (WebCore::HTMLTreeBuilder::setFakeInsertionMode):
3151
3152 2010-07-09  Adam Barth  <abarth@webkit.org>
3153
3154         Reviewed by Eric Seidel.
3155
3156         Coalesce text nodes when foster parenting
3157         https://bugs.webkit.org/show_bug.cgi?id=41921
3158
3159         Introduces the notion of an AttachmentSite to the overall
3160         HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
3161         HTMLConstructionArea since we construct things all over the tree?  :)
3162
3163         There's something wrong in the internal layering in this class, but I
3164         can't quite see what it is.  I added a FIXME for the some of the
3165         symptoms.
3166
3167         * html/HTMLConstructionSite.cpp:
3168         (WebCore::HTMLConstructionSite::attach):
3169         (WebCore::HTMLConstructionSite::attachAtSite):
3170         (WebCore::HTMLConstructionSite::insertTextNode):
3171         (WebCore::HTMLConstructionSite::findFosterSite):
3172         (WebCore::HTMLConstructionSite::fosterParent):
3173         * html/HTMLConstructionSite.h:
3174
3175 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
3176
3177         Reviewed by Dirk Schulze.
3178
3179         RenderSVGRoot does not include border/padding while repainting
3180         https://bugs.webkit.org/show_bug.cgi?id=41854
3181
3182         RenderSVGRoot does not include border/padding in the repaint rect.
3183         clippedOverflowRectForRepaint() was missing. Affects all DRT results,
3184         as <svg> now gets properly sized.
3185
3186         Test: svg/custom/repaint-moving-svg-and-div.xhtml
3187
3188         * rendering/RenderSVGRoot.cpp:
3189         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
3190         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
3191         * rendering/RenderSVGRoot.h:
3192
3193 2010-07-09  Albert J. Wong  <ajwong@chromium.org>
3194
3195         Reviewed by Nikolas Zimmermann.
3196
3197         Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880
3198
3199         https://bugs.webkit.org/show_bug.cgi?id=41935
3200
3201         * bindings/generic/RuntimeEnabledFeatures.cpp:
3202         (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
3203                 Add in timeRangesEnabled() implementation.
3204         * bindings/generic/RuntimeEnabledFeatures.h:
3205                 Add in timeRangesEnabled() declaration.
3206
3207
3208 2010-07-09  Eric Seidel  <eric@webkit.org>
3209
3210         Reviewed by Adam Barth.
3211
3212         Add setInsertionMode setter in preparation for "in foreign content" mode
3213         https://bugs.webkit.org/show_bug.cgi?id=41942
3214
3215         "in foreign content" mode needs to be able to use a fake
3216         insertion mode for processing.  We need to be able to save the
3217         original insertion mode, set a fake one, and then restore the original
3218         if it wasn't changed.  To detect changes, we need all callsites to
3219         use a setInsertionMode accessor instead of m_insertionMode =
3220
3221         No functional changes, thus no tests.
3222
3223         * html/HTMLTreeBuilder.cpp:
3224         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3225         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
3226         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3227         (WebCore::HTMLTreeBuilder::processStartTag):
3228         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
3229         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
3230         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
3231         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3232         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
3233         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
3234         (WebCore::HTMLTreeBuilder::processEndTag):
3235         (WebCore::HTMLTreeBuilder::processCharacter):
3236         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
3237         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3238         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3239         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3240
3241 2010-07-09  Eric Seidel  <eric@webkit.org>
3242
3243         Reviewed by Adam Barth.
3244
3245         Add insertForeignElement in preparation for adding "in foreign content" support
3246         https://bugs.webkit.org/show_bug.cgi?id=41940
3247
3248         No functional changes, thus no tests.
3249
3250         * html/HTMLConstructionSite.cpp:
3251         (WebCore::HTMLConstructionSite::insertForeignElement):
3252         (WebCore::HTMLConstructionSite::createElement):
3253         (WebCore::HTMLConstructionSite::createHTMLElement):
3254         * html/HTMLConstructionSite.h:
3255
3256 2010-07-09  Adam Barth  <abarth@webkit.org>
3257
3258         Reviewed by Eric Seidel.
3259
3260         Implementing pending table characters
3261         https://bugs.webkit.org/show_bug.cgi?id=41916
3262
3263         This turned out to not be as scary as I thought it would be.
3264
3265         * html/HTMLTreeBuilder.cpp:
3266         (WebCore::HTMLTreeBuilder::processDoctypeToken):
3267         (WebCore::HTMLTreeBuilder::processStartTag):
3268         (WebCore::HTMLTreeBuilder::processEndTag):
3269         (WebCore::HTMLTreeBuilder::processComment):
3270         (WebCore::HTMLTreeBuilder::processCharacter):
3271         (WebCore::HTMLTreeBuilder::processEndOfFile):
3272         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
3273         * html/HTMLTreeBuilder.h:
3274
3275 2010-07-08  Adam Barth  <abarth@webkit.org>
3276
3277         Reviewed by Eric Seidel.
3278
3279         Handle whitespace correctly
3280         https://bugs.webkit.org/show_bug.cgi?id=41907
3281
3282         This patch introduces an extra memcpy in the character token pipeline.
3283         I'll remove the memcpy in a future patch.
3284
3285         * html/HTMLConstructionSite.cpp:
3286         (WebCore::HTMLConstructionSite::insertTextNode):
3287         * html/HTMLConstructionSite.h:
3288         * html/HTMLTreeBuilder.cpp:
3289         (WebCore::HTMLTreeBuilder::processCharacter):
3290         * html/HTMLTreeBuilder.h:
3291
3292 2010-07-09  Eric Seidel  <eric@webkit.org>
3293
3294         Reviewed by Adam Barth.
3295
3296         Move more mode handling into functions for later re-use
3297         https://bugs.webkit.org/show_bug.cgi?id=41939
3298
3299         No functional changes, thus no tests.
3300
3301         * html/HTMLTreeBuilder.cpp:
3302         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
3303         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
3304         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3305         (WebCore::HTMLTreeBuilder::processEndTag):
3306         * html/HTMLTreeBuilder.h:
3307
3308 2010-07-09  Eric Seidel  <eric@webkit.org>
3309
3310         Reviewed by Adam Barth.
3311
3312         Add new popUntilPopped functions to clean up code
3313         https://bugs.webkit.org/show_bug.cgi?id=41936
3314
3315         Pretty self explanatory.  Much awesome code reduction.
3316
3317         No functional changes, thus no tests.
3318
3319         * html/HTMLElementStack.cpp:
3320         (WebCore::HTMLElementStack::popUntilPopped):
3321         * html/HTMLElementStack.h:
3322         * html/HTMLTreeBuilder.cpp:
3323         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
3324         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3325         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3326         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
3327         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
3328         (WebCore::HTMLTreeBuilder::processEndTag):
3329
3330 2010-07-09  Eric Seidel  <eric@webkit.org>
3331
3332         Unreviewed.  Just renaming (discussed with Adam Barth).
3333
3334         Rename createElement* to createHTMLElement* to better reflect
3335         behavior.  This is in preparation for adding foreign content support.
3336
3337         * html/HTMLConstructionSite.cpp:
3338         (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
3339         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
3340         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
3341         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
3342         (WebCore::HTMLConstructionSite::insertHTMLElement):
3343         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3344         (WebCore::HTMLConstructionSite::createHTMLElement):
3345         * html/HTMLConstructionSite.h:
3346         * html/HTMLTreeBuilder.cpp:
3347         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3348
3349 2010-07-09  Eric Seidel  <eric@webkit.org>
3350
3351         Unreviewed.  Just renaming (discussed with Adam Barth).
3352
3353         Rename insertElement to insertHTMLElement and
3354         insertSelfClosingElement to insertSelfClosingHTMLElement
3355         to better reflect what they actually do.  This is in preparation
3356         for adding foreign content support.
3357
3358         * html/HTMLConstructionSite.cpp:
3359         (WebCore::HTMLConstructionSite::insertHTMLElement):
3360         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3361         (WebCore::HTMLConstructionSite::insertFormattingElement):
3362         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
3363         (WebCore::HTMLConstructionSite::fosterParent):
3364         * html/HTMLConstructionSite.h:
3365         * html/HTMLTreeBuilder.cpp:
3366         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
3367         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3368         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3369         (WebCore::HTMLTreeBuilder::processStartTag):
3370         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3371         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3372         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3373         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3374
3375 2010-07-08  Rob Buis  <rwlbuis@gmail.com>
3376
3377         Reviewed by Eric Seidel.
3378
3379         Implement SVGSVGElement.getElementById
3380         https://bugs.webkit.org/show_bug.cgi?id=41655
3381
3382         Implement getElementById for SVGSVGElement by trying to
3383         reuse Document.getElementById. If that fails to find an
3384         SVG element in the document fragent do a subtree search.
3385
3386         Test: svg/custom/svg-getelementid.xhtml
3387
3388         * svg/SVGSVGElement.cpp:
3389         (WebCore::SVGSVGElement::getElementById):
3390         * svg/SVGSVGElement.h:
3391         * svg/SVGSVGElement.idl:
3392
3393 2010-07-08  Eric Seidel  <eric@webkit.org>
3394
3395         Reviewed by Adam Barth.
3396
3397         Unwrap a few || blocks for easier readability
3398         https://bugs.webkit.org/show_bug.cgi?id=41838
3399
3400         No functional change, thus no tests.
3401
3402         * html/HTMLTreeBuilder.cpp:
3403         (WebCore::HTMLTreeBuilder::adjustedLexerState):
3404         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3405         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3406         (WebCore::HTMLTreeBuilder::processStartTag):
3407         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3408         (WebCore::HTMLTreeBuilder::processEndTag):
3409         (WebCore::HTMLTreeBuilder::processComment):
3410         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3411
3412 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
3413
3414         Reviewed by Simon Hausmann.
3415
3416         [Qt] for debugging purposes nice I'm contributing back my FPS
3417         counter in the AnimationQtBase
3418         https://bugs.webkit.org/show_bug.cgi?id=40381
3419
3420         Simply start a timer and count frames in the AnimationQtBase and
3421         spit out the FPS count at the end of a single animation.
3422
3423         No new tests: this is a simple debugging aid.
3424
3425         * platform/graphics/qt/GraphicsLayerQt.cpp:
3426         (WebCore::AnimationQt::updateState):
3427         (WebCore::AnimationQt::updateCurrentTime):
3428         (WebCore::TransformAnimationQt::updateState):
3429         (WebCore::OpacityAnimationQt::updateState):
3430
3431 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
3432
3433         Reviewed by Simon Hausmann.
3434
3435         [Qt] instance objects created for QObjects are somtimes GC'd
3436         https://bugs.webkit.org/show_bug.cgi?id=40352
3437
3438         In markAggregate loop over all the current fields and for any that
3439         still have a dynamic property or a child, mark them as
3440         well. Otherwise the proxy instance will go away and the JS that
3441         was bound to it will be lost.
3442
3443         * bridge/qt/qt_instance.cpp:
3444         (JSC::Bindings::QtInstance::getQtInstance):
3445         (JSC::Bindings::QtInstance::removeCachedMethod):
3446         (JSC::Bindings::QtInstance::markAggregate):
3447         (JSC::Bindings::QtInstance::getPropertyNames):
3448
3449 2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
3450
3451         Reviewed by Pavel Feldman.
3452
3453         WebInspector: migrate InspectorDOMAgent to the generated version of
3454         InspectorFrontend interface. This is the next step on the way to
3455         Remote Debugging.
3456
3457         * bindings/js/ScriptEventListener.cpp:
3458         (WebCore::eventListenerHandlerBody):
3459         (WebCore::eventListenerHandlerLocation):
3460         * bindings/js/ScriptEventListener.h:
3461         * bindings/v8/ScriptEventListener.cpp:
3462         (WebCore::eventListenerHandlerBody):
3463         (WebCore::eventListenerHandlerLocation):
3464         * bindings/v8/ScriptEventListener.h:
3465         * inspector/CodeGeneratorInspector.pm:
3466         * inspector/InspectorCSSStore.cpp:
3467         (WebCore::InspectorCSSStore::inspectorStyleSheet):
3468         * inspector/InspectorController.cpp:
3469         (WebCore::InspectorController::connectFrontend):
3470         * inspector/InspectorController.h:
3471         (WebCore::InspectorController::inspectorFrontend2):
3472         * inspector/InspectorDOMAgent.cpp:
3473         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3474         (WebCore::InspectorDOMAgent::setDocument):
3475         (WebCore::InspectorDOMAgent::handleEvent):
3476         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3477         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3478         (WebCore::InspectorDOMAgent::buildObjectForNode):
3479         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3480         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3481         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3482         (WebCore::InspectorDOMAgent::didInsertDOMNode):
3483         (WebCore::InspectorDOMAgent::getStyles):
3484         (WebCore::InspectorDOMAgent::getAllStyles):
3485         (WebCore::InspectorDOMAgent::getStyleSheet):
3486         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
3487         (WebCore::InspectorDOMAgent::getInlineStyle):
3488         (WebCore::InspectorDOMAgent::getComputedStyle):
3489         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
3490         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
3491         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
3492         (WebCore::InspectorDOMAgent::applyStyleText):
3493         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
3494         (WebCore::InspectorDOMAgent::setRuleSelector):
3495         (WebCore::InspectorDOMAgent::addRule):
3496         (WebCore::InspectorDOMAgent::buildObjectForStyle):
3497         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
3498         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
3499         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
3500         (WebCore::InspectorDOMAgent::buildObjectForRule):
3501         (WebCore::InspectorDOMAgent::toArray):
3502         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
3503         * inspector/InspectorDOMAgent.h:
3504         (WebCore::InspectorDOMAgent::create):
3505         * inspector/InspectorFrontend.cpp:
3506         * inspector/InspectorFrontend.h:
3507         * inspector/InspectorFrontend2.idl:
3508         * inspector/front-end/inspector.js:
3509         (WebInspector.dispatchMessageFromBackend):
3510
3511 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
3512
3513         Reviewed by Darin Adler.
3514
3515         compositing/iframes/iframe-resize.html displays incorrectly after the resize
3516         https://bugs.webkit.org/show_bug.cgi?id=41794
3517         
3518         The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
3519         from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
3520         layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
3521         call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
3522
3523         * rendering/RenderLayerBacking.cpp:
3524         (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
3525         and scroll layers of the iframe's content RenderLayerCompositor.
3526         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
3527         * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
3528         * rendering/RenderWidget.cpp:
3529         (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
3530
3531 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
3532
3533         Reviewed by Dan Bernstein.
3534
3535         Calling layoutTestController.layerTreeAsText() should update layout
3536         https://bugs.webkit.org/show_bug.cgi?id=41818
3537
3538         Call updateLayout() on the document before obtaining the layer tree.
3539         This will update compositing layers.
3540         
3541         * page/Frame.cpp:
3542         (WebCore::Frame::layerTreeAsText):
3543
3544 2010-07-08  Adam Barth  <abarth@webkit.org>
3545
3546         Reviewed by Eric Seidel.
3547
3548         Get my head wrapped around processCharacter
3549         https://bugs.webkit.org/show_bug.cgi?id=41812
3550
3551         The bulk of the patch is just stubbing out functions to document what
3552         the spec tells us to do.  I'll implement these functions in subsequent
3553         patches.
3554
3555         * html/HTMLConstructionSite.h:
3556         (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
3557         (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
3558         * html/HTMLTreeBuilder.cpp:
3559         (WebCore::HTMLTreeBuilder::processCharacter):
3560         * html/HTMLTreeBuilder.h:
3561         (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
3562
3563 2010-07-08  Tony Chang  <tony@chromium.org>
3564
3565         Reviewed by Ojan Vafai.
3566
3567         WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
3568         https://bugs.webkit.org/show_bug.cgi?id=30116
3569         Fixing the crash causes text insertions on hidden elements to get ignored
3570         (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342
3571
3572         Test: editing/inserting/return-key-in-hidden-textarea.html
3573
3574         * editing/InsertLineBreakCommand.cpp:
3575         (WebCore::InsertLineBreakCommand::doApply):
3576         * editing/InsertParagraphSeparatorCommand.cpp:
3577         (WebCore::InsertParagraphSeparatorCommand::doApply):
3578
3579 2010-07-08  Sam Weinig  <sam@webkit.org>
3580
3581         Reviewed by Oliver Hunt.
3582
3583         Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
3584         TimeRanges should expose a JS constructor
3585
3586         * html/TimeRanges.idl: Remove [OmitConstructor].
3587         * page/DOMWindow.idl: Add constructor.
3588
3589 2010-07-08  Erik Arvidsson  <arv@chromium.org>
3590
3591         Reviewed by Ojan Vafai.
3592
3593         Add missing padding-end and margin-end CSS properties.
3594         https://bugs.webkit.org/show_bug.cgi?id=25761
3595
3596         Tests: fast/css/margin-start-end.html
3597                fast/css/padding-start-end.html
3598
3599         * css/CSSComputedStyleDeclaration.cpp:
3600         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3601         * css/CSSParser.cpp:
3602         (WebCore::CSSParser::parseValue):
3603         * css/CSSPropertyNames.in:
3604         * css/CSSStyleSelector.cpp:
3605         (WebCore::CSSStyleSelector::applyProperty):
3606         * inspector/front-end/SourceCSSTokenizer.js:
3607         (WebInspector.SourceCSSTokenizer):
3608
3609 2010-07-08  Aaron Boodman  <aa@chromium.org>
3610
3611         Reviewed by Timothy Hatcher.
3612
3613         Add the ability for user scripts and user styles to affect just the top frame.
3614
3615         https://bugs.webkit.org/show_bug.cgi?id=41529
3616
3617         Tests: userscripts/user-script-all-frames.html
3618                userscripts/user-script-top-f